日期:2014-05-16  浏览次数:20603 次

oracle 性能问题分析方法2
适用未知问题寻找
1 生成一遍快照,一段时间后再执行一遍生成一遍快照,
conn / as sysdba
exec dbms_workload_repository.create_snapshot;

2 生成报告
@ ?/rdbms/admin/awrrpt.sql 【?会被解析为$ORACLE_HOME】
Enter value for report_type:【这里直接回车,输出默认的HTML文件】
Enter value for num_days:1【系统列出1天内的报告列表】
出现如下报告选择
                                                        Snap
Instance     DB Name        Snap Id    Snap Started    Level
------------ ------------ --------- ------------------ -----
xxx          xxx               7236 28 Dec 2010 00:00      1
….
                               7258 28 Dec 2010 21:25      1
                               7259 28 Dec 2010 21:25      1

Enter value for begin_snap:7258【输入起始的快照】
Enter value for end_snap:7259【输入结束的快照】
Enter value for report_name: /home/oracle/awrrpt_1_7258_7259.html【输入报告文件名,可以不输入,直接用默认的文件名】

3 分析
查看报告中sql,针对有问题的sql,查看实际执行计划,如下其中12345表示awr中sql编号,查询是否执行计划有问题
SQL> select * from table(dbms_xplan.display_cursor('12345', null, 'allstats last'));