SQL 优化是一个复杂的工程,首先要讲究从整体到局部,数据库整体优化主要有以下五种性能工具:AWR,ASH,ADDM,AWRDD,AWRSQRPT.其中AWR是关注数据库的整体性能的报告,ASH是数据库中的等待事件与哪些SQL具体对应的报告,ADDM是Oracle给出的一些建议,AWRDD是Oracle针对不同时段的性能的一个比对报告,AWRSQRPT是针对具体SQL的报告。
1.AWR的获取与说明
AWR有两种获取方式:
一种是直接调后台脚本awrrpt.sql来获取,一般在sqlplus下执行‘@?/rdbms/admin/awrrpt.sql’;
二是直接通过调用命令包,获取dbms_workload_repository这个包的awr_report_html程序,用SQL命令的形式输出内容:
select output from table(dbms_workload_repository.awr_report_html(v_dbid,v_instance_number,v_min_snap_id,v_max_snap_id);
2.ASH也有两种获取方式:
一种是直接调后台脚本ashrpt.sql来获取,一般在sqlplus下执行‘@?/rdbms/admin/ashrpt.sql’;
二是直接通过调用命令包,获取dbms_workload_repository这个包的ash_report_html程序,用SQL命令的形式输出内容:
select output from table(dbms_workload_repository.ash_report_html(dbid,inst_num,l_btime,l_etime);
3.ADDM也有两种获取方式:
一种是直接调后台脚本ashrpt.sql来获取,一般在sqlplus下执行‘@?/rdbms/admin/addmrpt.sql’;
二是直接通过调用命令包,获取dbms_workload_repository这个包的addm_report_html程序,用SQL命令的形式输出内容:
select dbms_advisor.get_task_report(‘ADDM_02’,'TEXT','ALL') FROM DUAL;
4.AWRDD的获取和说明
一般用直接获取的方式,直接在sqlplus下执行‘@?/rdbms/admin/awrddrpt.sql’’
5. 4.AWRSQRPT的获取和说明
直接在sqlplus下执行‘@?/rdbms/admin/awrsqrpt.sql’’,其中需要输入sql_id,sql_id可以通过awr进行获取。
网友评论