自己常用的优化步骤

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读写速度是否正常。

posted @ 2014-03-06 09:30  纳兹波蛋  阅读(275)  评论(0编辑  收藏  举报