用工具对SQL整体优化

作者: wqh8384 | 来源:发表于2019-07-07 21:38 被阅读12次

    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整体优化

        本文链接:https://www.haomeiwen.com/subject/sjtihctx.html