千家信息网

oracle中怎么单为PDB创建AWR报告

发表于:2025-01-22 作者:千家信息网编辑
千家信息网最后更新 2025年01月22日,小编给大家分享一下oracle中怎么单为PDB创建AWR报告,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!只有12.2才有
千家信息网最后更新 2025年01月22日oracle中怎么单为PDB创建AWR报告

小编给大家分享一下oracle中怎么单为PDB创建AWR报告,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

只有12.2才有这个功能

http://docs.oracle.com/database/122/TGDBA/gathering-database-statistics.htm#TGDBA-GUID-D64AEB01-18FF-47EF-BB5C-A0611117D180

参考oracle官方博客

https://blogs.oracle.com/database4cn/122-%e5%a6%82%e4%bd%95%e5%8d%95%e4%b8%bapdb%e5%88%9b%e5%bb%baawr%e6%8a%a5%e5%91%8a

步骤如下:

1)设置PDB的awr_pdb_autoflush_enabled=true:

alter session set container=PDB1;

alter system set awr_pdb_autoflush_enabled=true;

2)设置AWR snpashot时间间隔为1小时:

select * from cdb_hist_wr_control;

DBID SNAP_INTERVAL RETENTION TOPNSQL CON_ID

2580889417 +40150 00:01:00.0 +00008 00:00:00.0 DEFAULT 3

execute dbms_workload_repository.modify_snapshot_settings(interval => 60);

select * from cdb_hist_wr_control;

DBID SNAP_INTERVAL RETENTION TOPNSQL CON_ID

2580889417 +00000 01:00:00.0 +00008 00:00:00.0 DEFAULT 3

3)同时注意AWR_SNAPSHOT_TIME_OFFSET这个参数建议设置成1000000 以防止过多PDB同时启动snapshot收集导致性能问题

http://docs.oracle.com/database/122/REFRN/AWR_SNAPSHOT_TIME_OFFSET.htm#REFRN10325

alter system set AWR_SNAPSHOT_TIME_OFFSET=1000000 scope=both;

4)等一段时间,等snapshot生成之后就可以生成AWR报告了:

SQL> select * from awr_pdb_snapshot;

或者,您也可以手工创建snapshot:

SQL> connect / as sysdba

SQL> alter session set container=PDB1;

SQL> exec dbms_workload_repository.create_snapshot();

执行生成AWR报告:

@?/rdbms/admin/awrrpt

Specify the location of AWR Data

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

AWR_ROOT - Use AWR data from root (default)

AWR_PDB - Use AWR data from PDB <<<<<<<

以上是"oracle中怎么单为PDB创建AWR报告"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

0