1.检查alert日志是否存在异常。
cat $ORACLE_BASE/admin/sid/bdump/alert_sid.log
2.生成业务高峰日期的AWR报告,分析查看存在哪些等待事件,以及Top SQL。
@?/rdbms/admin/awrrpti
3.分析AWR报告中Load profile、命中率相关信息和共享池统计信息,是否存在异常。
4.分析AWR报告中存在非正常的top等待事件,如有就需要分析是什么情况导致的等待。
5.分析AWR报告中的Top SQL,是否存在执行计划不正确。
查看每个对象的统计信息是否过期。
exec dbms_stats.flush_database_monitoring_info;
select owner, table_name name, object_type, stale_stats, last_analyzed
from dba_tab_statistics
where table_name in (table_name)
and owner = 'OWNER_NAME'
and (stale_stats = 'YES' or last_analyzed is null);
6.监控索引,是否存在建立了没有用过的索引。
alter index IDX_XXXX monitoring usage;
select * from V$OBJECT_USAGE;
7.查看初始化参数是否合理
Show parameter
8.查看V$SESSION_LONGOPS视图是否有超过6秒的操作
9.查看是否有使用分区表的地方,结合实际业务来分析分区表的分区字段或者分区间隔是否设置合理。
10.检查redo日志是否设置合理。
11.利用top、topas、vmstat、sar等命令检查OS层面,是否存在资源占用严重问题。
12.查看存储的io读写速度是否正常。