用工具对SQL整体优化

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进行获取。

你可能感兴趣的:(用工具对SQL整体优化)