您的位置:首页 > 数据库 > Oracle

Oracle DBA 每天、每周、每月应该做的工作

2013-06-15 15:17 274 查看
㈠ 每天的工作

① 检查 alert.log

② 环境确认

● 数据库实例是否正常工作

▼ ps –ef|grep ora_

▼ select status from v$instance

● 监听器是否正常工作

▼ lsnrctl status

● 表空间是否出故障

▼ select tablespace_name,status from dba_tablespace;

● 控制文件、日志文件是否正常

▼ v$controlfile

▼ v$log、v$logfile

③ 性能监测

● 按业务峰值情况,对数据库性能数据进行定时采集

● 检查数据库的主要性能指标

● 检查最消耗资源的SQL语句变化情况

● 检查是否有足够的资源、主要注意以下:

▼ 所有表空间的剩余空间情况

▼ 识别出一些异常的增长

▼ 检查CPU、内存、网络、存储等是否异常

④ 定时任务的检查

每天检查晚间定时执行脚本

● 备份脚本日志

● 统计信息采集脚本日志

● 定时数据抽取/转换/装载脚本

● 日志文件整理脚本

⑤ 坚持每天看Oracle 官方文档一个小时 -_-#

㈡ 每周的工作

① 空间使用分析

● 监测数据量总体增长情况

● 按表空间分析使用率增长情况

● 表空间碎片整理

=>alter tablespace <tablespace_name> coalesce;

● 各segment的数据碎片、chained row/migrate row等问题

根据具体情况制定相应的策略,同时也及时发现潜在的问题

② 索引碎片分析

● 监测索引的碎片情况,根据情况制定索引的重建频率以提高索引使用效率

=> analyze index <index_name> invalidate structure

=> select name,del_lf_rows_len,lf_rows_len,(del_lf_rows_len/lf_rows_len)*100 from index_stats

索引碎片率(%) = (被删除的索引长度/索引总长)*100

=> alter index <索引名> rebuild

=> alter index <索引名> coalesce

● 监测索引的使用情况,根据使用情况,删除未使用的索引,并添加能提高查询和处理性能的索引

=> alter index <索引名> monitoring usage

=> alter index <索引名> nomonitoring usage

=> select index_name,used from v$object_usage

③ 数据整理工作

● 清理和备份一周所产生的Alert日志、跟踪文件、dump文件

● 清理和备份过期的数据库性能数据,以保证数据库性能监控的连续性和有效性

㈢ 每月的工作

● 全面分析一次STATSPACK报告/AWR

● 数据库主要性能指标

● 数据库主要等待事件

● 最消耗内存资源的SQL语句

● 最消耗I/O资源的SQL语句

● 恢复演练以保证备份的有效性

..........

..........

..........

By David Lin

2013-06-14

Knowing youself is the height of wisdom
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: