如何在12.2版本ADG备库生成AWR报告

来源:这里教程网 时间:2026-03-03 13:52:46 作者:

参考MOS文章,如何在 Active Data Guard 备库中生成AWR (文档 ID 2469650.1),可以一步一步完成测试。 从 Oracle Database 12.2开始,可以为 Active Data Guard(ADG)备库生成AWR报告,备库不再需要statspack去分析性能了。 主库和备库位于2节点RAC上 主库(db_unique_name = pridb)节点prihost1,prihost2 备库(db_unique_name = stbdb)节点stbhost1,stbhost2 1) 确认备库上的打开模式和数据库角色: SQL> select inst_id, open_mode, database_role from gv$database order by 1; INST_ID    OPEN_MODE            DATABASE_ROLE ---------- -------------------- ----------------          1 READ ONLY WITH APPLY PHYSICAL STANDBY          2 READ ONLY WITH APPLY PHYSICAL STANDBY 2) 在主库上 SYS$UMF 用户是默认具有访问系统级远程管理框架(RMF)视图和表的所有权限的数据库用户。RMF 中的所有 AWR 相关操作只能由 SYS$UMF 用户执行。 SYS$UMF 用户默认处于锁定状态,在部署RMF拓扑之前必须将其解锁: SQL> alter user sys$umf identified by sysumf account unlock;  3) 在主库和备库之间分别创建database link: 在主库上 create database link dbl_pridb_to_stbdb CONNECT TO sys$umf IDENTIFIED BY sysumf using 'stbdb'; create database link dbl_stbdb_to_pridb CONNECT TO sys$umf IDENTIFIED BY sysumf using 'pridb';  4) 我们需要配置数据库节点以添加到拓扑中。必须为拓扑中的每个数据库节点分配唯一名称(默认为DB_UNIQUE_NAME): 在这个例子中,我们为主库选择名字“prim”,为备库选择名字“stby” 在主库上 exec dbms_umf.configure_node ('prim'); 5) 把备库远程注册到主库。我们可以通过相应的database link注册它。 在备库上 exec dbms_umf.configure_node ('stby','dbl_stbdb_to_pridb'); 6) 创建RMF拓扑: 在主库上 exec DBMS_UMF.create_topology ('Topology_1'); 7) 验证到目前为止所完成的步骤: set line 132 col topology_name format a15 col node_name format a15 select * from dba_umf_topology; select * from dba_umf_registration; For example SQL> select * from dba_umf_topology; TOPOLOGY_NAME TARGET_ID TOPOLOGY_VERSION TOPOLOGY --------------- ---------- ---------------- -------- Topology_1 2014871576 1 ACTIVE SQL> select * from dba_umf_registration; TOPOLOGY_NAME NODE_NAME NODE_ID NODE_TYPE AS_SO AS_CA STATE --------------- --------------- ---------- ---------- ----- ----- -------------------- Topology_1 prim 2014871576 0 FALSE FALSE OK 8) 注册备库到拓扑。 在主库上: exec DBMS_UMF.register_node ('Topology_1', 'stby', 'dbl_pridb_to_stbdb', 'dbl_stbdb_to_pridb', 'FALSE', 'FALSE'); PL/SQL procedure successfully completed. 在节点上启用 AWR 服务: exec DBMS_WORKLOAD_REPOSITORY.register_remote_database(node_name=>'stby'); PL/SQL procedure successfully completed. 如果遇到“ORA-15766: already registered in an RMF topology请注销以下节点,然后重新运行“DBMS_UMF.register_node”注册: exec DBMS_UMF.unregister_node ('Topology_1', 'stby'); PL/SQL procedure successfully completed. “ORA-13519: Database id (1730117407) exists in the workload repository"” 请按如下所示注销远程数据库,然后重新运行“DBMS_WORKLOAD_REPOSITORY.register_remote_database”: exec DBMS_WORKLOAD_REPOSITORY.unregister_remote_database('stby','Topology_1',TRUE); PL/SQL procedure successfully completed.     验证 set line 132 col topology_name format a15 col node_name format a15 SQL> select * from dba_umf_topology; TOPOLOGY_NAME TARGET_ID TOPOLOGY_VERSION TOPOLOGY --------------- ---------- ---------------- -------- Topology_1 2014871576 6 ACTIVE SQL> select * from dba_umf_registration; TOPOLOGY_NAME NODE_NAME NODE_ID NODE_TYPE AS_SO AS_CA STATE --------------- --------------- ---------- ---------- ----- ----- -------------------- Topology_1 prim 2014871576 0 FALSE FALSE OK Topology_1 stby 1730117407 0 FALSE FALSE OK SQL> select * from dba_umf_service; TOPOLOGY_NAME NODE_ID SERVICE --------------- ---------- ------- Topology_1 1730117407 AWR 9) RMF创建远程快照 在主库上 exec dbms_workload_repository.create_remote_snapshot('stby'); 我们需要运行至少两次来获取begin_snap和end_snap。 如果您遇到“ORA-13516: AWR Operation failed: Remote source not registered for AWR”,则在主库上手动切换几(2-3)个日志文件: alter system switch logfile; 10) 创建AWR报告 @?/rdbms/admin/awrrpti.sql 根据dbid和host找到备库即可

相关推荐