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'));