ITPub博客

首页 > 数据库 > Oracle > 如何在12.2版本ADG备库生成AWR报告

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

原创 Oracle 作者:巡完南山巡南山 时间:2019-06-06 09:32:55 0 删除 编辑

参考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找到备库即可


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26964624/viewspace-2646897/,如需转载,请注明出处,否则将追究法律责任。

下一篇: oracle的并行世界
请登录后发表评论 登录
全部评论

注册时间:2016-04-11

  • 博文量
    39
  • 访问量
    26360