如何在12.2版本ADG備庫生成AWR報告

巡完南山巡南山發表於2019-06-06

參考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/,如需轉載,請註明出處,否則將追究法律責任。

相關文章