- 1、本文档共131页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ORACLE_AWR_深入学习以及分析
HYPERLINK http://www.D http://www.D
文档作者:notmain
e_mail: notmain@163.com
QQ:476636971
AWR 深入分析
更多oracle资料下载,请收藏
HYPERLINK
一、 文档摘 要:
文档编写出发点:
网络上大量关于分析 AWR 报表的文档,此类文档没有提供相关的资料,有些描述有岐义。
导致很多新人只知其然不知所以然。
此文档目的帮助更加深入理解 AWR 报表,为 oracle 从业者与技术爱好做性能分析与性
能监控提供参考资料。
文档编写依据:
文档基于 oracle
包源码分析得出。
dbms_swrf_report_internal,test_dbms_workload_repository 二个
这二个包的源码是通过 wrap 加密保存的,需要用解密工具才能获得源码。
文档声明:
1、此文档内容纯属个人学习总结文档,不对文档内容完全准确负责。
2、由于分析 awr 生成存储过程工作量极大,此文档很多代码没有经过优化与完善只初
步对生成内容与 awr 报表对比正确。
3、此文档的 sql 语句 98%以上是根据源码解析而成,非 oracle 源码 sql
4、建议有兴趣的同学去学习一下 oracle plsql 编写技巧,能在 plsql 缩写技能与编程
思想上有所提升。
5、Awr 二个包的代码极其复杂,对学习者的 plsql 编写能力有要求。
6、对应的二个包还包括 ADDM,ASH 的源码,有兴趣的同学可以深入了解
学习困惑:
在编写此文档的过程中,很多人对此行为持不屑与不解的态度,认为有 awr 报表工具分
析这个代码完全没有意义。
感觉在 IT 行业混迹数年,一无事成。很多东西都不知道原理甚至使用都不清楚,分析
此报表为了更深入理解 oracle 性能分析原理,期望有更多的 IT 人士能把知识共享出来。今
后一段时间里我将致力于 oracle 一些原理的分析,希望我的学习经历能帮助别人缩短学习
时间。
后续:
1、将视情况会把每个 awr 报表对应说明,根据自己的理解做相应描述,以照顾新人。
2、过一段时间会把数据字典的一些分析与个人理解共享出来。
文档作者:notmain
e_mail: notmain@163.com
QQ:476636971
3、
二、 分析过 程
1、原本计划 3-5 天分析出此文档,oracle 公司的 plsql 编写能力叹为观止,时间进度
近半个月,分析时间达 80 个小时以上。
2、Awr 工作原理
1、调用 awr 脚本,awr 脚本调用 awrrpti
awrrpti 脚本调用
select output from table(dbms_workload_repository.
fn_name( :dbid,:inst_num,:bid,:eid,:rpt_options ));
2、fn_name 会根据用户输入选择调用 AWR_REPORT_HTML 或 AWR_REPORT_TEXT
3、AWR_REPORT_HTML 调用:
DBMS_SWRF_REPORT_INTERNAL.AWR_REPORT_MAIN(L_DBID, L_INST_NUM, L_BID,
L_EID, L_OPTIONS, DBMS_SWRF_REPORT_INTERNAL.TRUE_I);
4、AWR_REPORT_MAIN 核心操作说明:
----此存储过程会把报表需要的数据生成到
----prt_stats,rpt_params,prt_time_vals 三个数据定义表中
REPORT_INIT(L_DBID, L_INST_NUM, L_BID, L_EID, RPT_STATS, RPT_PARAMS,
RPT_TIME_VALS);
----生成 awr Main Report 之前的报表
REPORT_SUMMARY(L_DBID, L_INST_NUM,
L_BID, L_EID, L_OPTIONS, TO_HTML, FALSE_I);
----生成剩下的报表
DISPLAY_SUBTREES_OF(MAIN_REPT, TO_HTML, L_OPTIONS, L_DBID,
L_INST_NUM, L_BID, L_EID);
5、相关源代码会在附件中:
《PACKAGE dbms_workload_repository.txt》
《PACKAGE BODY dbms_workload_repository.txt》
《PACKAGE dbms_swrf_report_interna.txt》
《pac
文档评论(0)