【DB笔试面试825】在Oracle中,如何获取ADDM报告?
【DB笔试面试825】在Oracle中,如何获取ADDM报告?
♣ 答案部分
有两种办法可以获取ADDM报告:
(1) 采用addmrpt.sql脚本。运行脚本:@?/rdbms/admin/addmrpt.sql
(2) 采用DBMS_ADVISOR包:
1DECLARE
2 TASK_NAME VARCHAR2(50) := 'HEALTH_CHECK_BY_LHR';
3 TASK_DESC VARCHAR2(50) := 'HEALTH_CHECK_BY_LHR';
4 TASK_ID NUMBER;
5BEGIN
6 DBMS_ADVISOR.CREATE_TASK('ADDM', TASK_ID, TASK_NAME, TASK_DESC, NULL);
7 DBMS_ADVISOR.SET_TASK_PARAMETER(TASK_NAME, 'START_SNAPSHOT', &_SNAP_ID);
8 DBMS_ADVISOR.SET_TASK_PARAMETER(TASK_NAME, 'END_SNAPSHOT', &_SNAP_ID1);
9 DBMS_ADVISOR.SET_TASK_PARAMETER(TASK_NAME, 'INSTANCE', &_INSTANCE_NUMBER);
10 DBMS_ADVISOR.SET_TASK_PARAMETER(TASK_NAME, 'DB_ID', &_DBID);
11 DBMS_ADVISOR.EXECUTE_TASK(TASK_NAME);
12END;
13/
14SELECT DBMS_ADVISOR.GET_TASK_REPORT('HEALTH_CHECK_BY_LHR', 'TEXT', 'ALL') ADDM_RESULTS FROM DUAL;
15
16SELECT * FROM DBA_ADDM_TASKS T ORDER BY T.TASK_ID;
17SELECT * FROM DBA_ADVISOR_TASKS T ORDER BY T.TASK_ID;
18SELECT DBMS_ADVISOR.GET_TASK_REPORT('HEALTH_CHECK_BY_LHR', 'TEXT', 'ALL') ADDM_RESULTS FROM DUAL;
其中,存储过程SET_TASK_PARAMETER是用来设置任务参数的。START_SNAPSHOT是起始快照ID,END_SNAPSHOT是结束快照ID,INSTANCE是实例号,对于单实例,一般是1,在RAC环境下,可以通过查询视图GV$INSTANCE得到,DB_ID是数据库的唯一识别号,可以通过查询V$DATABASE查到。
若普通用户使用DBMS_ADVISOR包获取ADDM报告,则必须使用SYS给这个普通用户赋予如下权限:
1GRANT EXECUTE ON DBMS_ADVISOR TO USER_LHR;
2GRANT ADVISOR TO USER_LHR;
& 说明:
有关ADDM的更多内容可以参考我的BLOG:http://blog.itpub.net/26736162/viewspace-2140642/
本文选自《Oracle程序员面试笔试宝典》,作者:小麦苗
==================================================================================================================
【干货来了|小麦苗IT资料分享】
★小麦苗DB职场干货:https://mp.weixin.qq.com/s/Vm5PqNcDcITkOr9cQg6T7w
★小麦苗数据库健康检查:https://share.weiyun.com/5lb2U2M
★小麦苗微店:https://weidian.com/?userid=793741433
★各种操作系统下的数据库安装文件(Linux、Windows、AIX等):https://pan.baidu.com/s/1hqff3Evv6oj2-Tn87MpFkQ
★小麦苗分享的资料:https://share.weiyun.com/57HUxNi
★小麦苗课堂资料:https://share.weiyun.com/5fAdN5m
★小麦苗课堂试听资料:https://share.weiyun.com/5HnQEuL
★小麦苗出版的相关书籍:https://share.weiyun.com/5sQBQpY
★小麦苗博客文章:https://share.weiyun.com/5ufi4Dx
★数据库系列(Oracle、MySQL、NoSQL):https://share.weiyun.com/5n1u8gv
★公开课录像文件:https://share.weiyun.com/5yd7ukG
★其它常用软件分享:https://share.weiyun.com/53BlaHX
★其它IT资料(OS、网络、存储等):https://share.weiyun.com/5Mn6ESi
★Python资料:https://share.weiyun.com/5iuQ2Fn
★已安装配置好的虚拟机:https://share.weiyun.com/5E8pxvT
★小麦苗腾讯课堂:https://lhr.ke.qq.com/
★小麦苗博客:http://blog.itpub.net/26736162/
★OCP培训:https://mp.weixin.qq.com/s/2cymJ4xiBPtTaHu16HkiuA
★12c的OCP培训:https://mp.weixin.qq.com/s/hMLHlyjMHhLmA0xN4hLvfw
★OCM培训:https://mp.weixin.qq.com/s/7-R6Cz8RcJKduVv6YlAxJA
★高可用(RAC+DG+OGG)培训:https://mp.weixin.qq.com/s/4vf042CnOdAD8zDyjUueiw
★小麦苗课堂腾讯视频:http://v.qq.com/vplus/71f69a319a24c6808cd6e6189ae90664
==================================================================================================================
● 本文作者:小麦苗,只专注于数据库的技术,更注重技术的运用
●作者博客地址:http://blog.itpub.net/26736162/abstract/1/
● 本系列题目来源于作者的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解
● 版权所有,欢迎分享本文,转载请保留出处
● QQ:646634621 QQ群:230161599、618766405
● 微信:lhrbestxh
● 微信公众号:DB宝
● 提供OracleOCP、OCM、高可用(rac+dg+ogg)和MySQL最实用的技能培训
● 题目解答若有不当之处,还望各位朋友批评指正,共同进步
长按下图识别二维码或微信扫描下图二维码来关注小麦苗的微信公众号:DB宝,学习最实用的数据库技术。
本文分享自微信公众号-DB宝(lhrdba)。
如有侵权,请联系support@oschina.cn删除。
本文参与“
- 【DB笔试面试821】在Oracle中,如何定时生成AWR报告?
- 【DB笔试面试842】在Oracle中,如何启动Oracle数据库的监听日志?
- 【DB笔试面试823】在Oracle中,如何查看过去某一段时间数据库系统的会话是否有问题?
- 【DB笔试面试385】Oracle的锁分为哪几种?每种锁各有什么用途?它们的兼容性如何?
- 【DB笔试面试238】在Oracle中,如何将信息写入Oracle的告警日志中?
- 【DB笔试面试822】在Oracle中,AWR报告中主要关注哪些方面内容?
- 【DB笔试面试857】在Oracle中,若一个主机上有多个Oracle实例,则如何确定哪些共享内存段属于想要清掉的实例的内存段?
- 【DB笔试面试856】在Oracle中,如何判定实例是否运行?
- 【DB笔试面试243】在Oracle中,如何启动Oracle数据库的监听日志?
- 【DB笔试面试571】在Oracle中,如何提高DML语句的效率?
- 【DB笔试面试458】在Oracle中,如何判断一个字符串是否全为数字?
- 【DB笔试面试234】在Oracle中,如何有效的删除一个大表(即表的EXTENT数很多)?
- 【DB笔试面试219】在Oracle中,如果发现有坏块,那么如何检索其它未坏的数据?
- 【DB笔试面试561】在Oracle中,如何预估即将创建索引的大小?
- 【DB笔试面试602】在Oracle中,如何从执行计划初步判断SQL的性能问题?
- 【DB笔试面试436】Oracle中如何导出存储过程、函数、包和触发器的定义语句?如何导出表的结构?如何导出索引的创建语句?
- 【DB笔试面试223】在Oracle中,如果丢失一个数据文件而且没有备份,也没有归档日志,那么应该如何打开数据库?
- 【DB笔试面试824】在Oracle中,什么是ADDM?
- 【DB笔试面试858】在Oracle中,ipcs和ipcrm命令的作用有哪些?
- 【DB笔试面试850】在Oracle中,造成错误“ORA-12547: TNS:lost contact”的常见原因有哪些?