Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3672967
  • 博文数量: 715
  • 博客积分: 1860
  • 博客等级: 上尉
  • 技术积分: 7745
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-07 08:51
个人简介

偶尔有空上来看看

文章分类

全部博文(715)

文章存档

2023年(75)

2022年(134)

2021年(238)

2020年(115)

2019年(11)

2018年(9)

2017年(9)

2016年(17)

2015年(7)

2014年(4)

2013年(1)

2012年(11)

2011年(27)

2010年(35)

2009年(11)

2008年(11)

分类: Oracle

2021-11-02 22:45:22

从oracle 12.2开始可以生成备库的awr报告,前提是先配置一下。

基本原理是:由于备库不能写入,因此awr快照信息需要存放在主库(或其他可写的库),
通过数据库链可以将快照信息从备库抓过来,然后还是在主库上执行awrrpti.sql 来生成备库的awr报告。

为实现上述功能,oracle设计了一个远程管理框架 (RMF) 的东西,可以简单理解为一个工作组,组长采集各组员的状态,然后对外发布报告。底层实现是通过用户sys$umf、数据库链、dbms包、视图来完成的。

主库的db_unique_name: apex
库的db_unique_name: apexstd
主备库都设置了网络别名:tns_std、tns_pri

  1. 主库:
  2. alter user sys$umf identified by sysumf account unlock;

  3. create database link dbl_pri_to_std CONNECT TO sys$umf IDENTIFIED BY sysumf using 'tns_std';
  4. create database link dbl_std_to_pri CONNECT TO sys$umf IDENTIFIED BY sysumf using 'tns_pri';
  5.  select owner,db_link,username from dba_db_links;
  6. exec dbms_umf.configure_node ('apex');

  7. 备库:
  8. exec dbms_umf.configure_node ('apexstd','dbl_std_to_pri');

  9. 主库:
  10. exec DBMS_UMF.create_topology('Topology_1');


  11. exec DBMS_UMF.register_node('Topology_1', 'apexstd', 'dbl_pri_to_std', 'dbl_std_to_pri', 'FALSE', 'FALSE');
  12. exec DBMS_WORKLOAD_REPOSITORY.register_remote_database(node_name=>'apexstd');

  13. exec dbms_workload_repository.create_remote_snapshot('apexstd');
  14. 至少执行2次
然后还是在主库上生成备库的awr,操作如下:


生成的报告:


内容基本无差别,除了多出一项 Active Data Guard (ADG) Report



参考:
如何在 Active Data Guard 备库中生成AWR (Doc ID 2469650.1)

  1. https://docs.oracle.com/en/database/oracle/oracle-database/12.2/tgdba/gathering-database-statistics.html#GUID-309C107F-DC42-4119-9904-9504E9748B84



阅读(1291) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~