在12C版本之前ADG只能在主库抓取AWR报告,12C之后加入了新特性,先可以在ADGstandby中直接抓取AWR报告,来看一看具体是怎么做到的呢?
一.确认备库的open_mode和是否为standby role。
select inst_id,open_mode,database_role from gv$database order by 1;
select inst_id,open_mode,database_role from gv$database order by 1;
二.在主库中对sys.umf用户解锁并设置密码
因为sys u m f 用 户 默 认 是 被 锁 定 的 。 s y s umf用户默认是被锁定的。sys umf用户默认是被锁定的。sysumf用户是缺省的数据库用户它有访问系统级别远程管理框架(RMF)视图与表的所有权限。在RMF中所有AWR相关的操作只能通过sys$umf用户来执行。
alter user sys$umf identified by sysumf account unlock;
三.建立主库到备库的dblink和备库到主库的dblink
create database link DBL_DG12C_TO_DG12CSTD CONNECT TO sys$umf IDENTIFIED BY sysumf using 'dg12cstd';
create database link DBL_DG12CSTD_TO_DG12C CONNECT TO sys$umf IDENTIFIED BY sysumf using 'dg12c';
四.需要将数据库节点配置到拓朴(topology)结构中。
在拓朴结构中的每个数据库节点必须被指定一个唯一名(缺省值为db_unique_name),在这个例子中主库为dg12c,备库为dg12cstd,在主库中执行以下命令
exec dbms_umf.configure_node('dg12c');
五.在备库中执行以下命令,通过备库到主库的链路名来进行注册
exec dbms_umf.configure_node ('dg12cstd','DBL_DG12CSTD_TO_DG12C');
六.创建RMF拓朴,在主库中执行以下命令
exec DBMS_UMF.create_topology ('Topology_1');
七.执行以下语句来对上面的操作进行验证
八.向拓朴中注册备库,在主库中执行下面的命令
exec DBMS_UMF.register_node ('Topology_1', 'dg12cstd', 'DBL_DG12C_TO_DG12CSTD', 'DBL_DG12CSTD_TO_DG12C', 'FALSE', 'FALSE');
九.在主库上执行下面的操作把拓扑的ADG库dg12cstd的AWR service开启:
exec DBMS_WORKLOAD_REPOSITORY.register_remote_database(node_name=>'dg12cstd');
如果遇到“ORA-15766: already registered in an RMF topology" 那么要先执行DBMS_UMF.unregister_node清除注册的节点然而再次执行DBMS_UMF.register_node来注册节点
如果遇到"ORA-13519: Database id (1730117407) exists in the workload repository"那么要先执行DBMS_WORKLOAD_REPOSITORY.unregister_remote_database清除远程数据库然后再次执行
DBMS_WORKLOAD_REPOSITORY.register_remote_database注册远程数据库。
十.配置ADG的AWR功能就做完了,可以检查相关视图来验证这个拓扑配置
SQL> set line 132
SQL> col topology_name format a15
SQL> col node_name format a15
SQL> select * from dba_umf_topology;
SQL> select * from dba_umf_registration;
SQL> select * from dba_umf_service;
十一.使用RMF在主库上创建一个remote snapshot
exec dbms_workload_repository.create_remote_snapshot('dg12cstd');
至少执行两次去获得begin_snap和end_snap.
如果遇到 “ORA-13516: AWR Operation failed:Remote source not registered for AWR” 那么需要对主库执行alter system switch logfile命令
十二.创建awr报告
@?/rdbms/admin/awrrpti.sql