Oracle
如何在 Oracle 11.2 中淘汰物理備用
我有一個帶有單節點物理備用的生產 Oracle 11gR2 RAC 數據庫。現在是時候淘汰舊的備用伺服器並將該角色傳遞給更新硬體上的 RAC。
我們不使用 Data Guard Broker。
我無法在這個特定的過程中找到很多東西,所以我想也許它並沒有那麼多。顯然,至少比我能想到的要多一點。
停止在舊備用數據庫上應用日誌後,我嘗試簡單地清除備用日誌目標並為日誌傳送設置一個新目標。然後 Oracle 抱怨新物理備用數據庫的 DB_UNQUE_NAME 不是目前 Data Guard 配置的一部分。
SQL> alter system set log_archive_dest_3=''; System altered. SQL> alter system checkpoint; System altered. SQL> alter system set log_archive_dest_3='SERVICE=PDB10SBY LGWR ASYNC REGISTER VALID_FOR=(online_logfile,primary_role) REOPEN=60 DB_UNIQUE_NAME=PDB11SBY' scope=both sid='*'; alter system set log_archive_dest_3='SERVICE=PDB10SBY LGWR ASYNC REGISTER VALID_FOR=(online_logfile,primary_role) REOPEN=60 DB_UNIQUE_NAME=PDB10SBY' scope=both sid='*' * ERROR at line 1: ORA-02097: parameter cannot be modified because specified value is invalid ORA-16053: DB_UNIQUE_NAME PDB10SBY is not in the Data Guard Configuration
對 v$dataguard_config 的快速查詢確認存在包含舊備用數據庫的 DB_UNIQUE_NAME 的活動配置。
SQL> select * from 2 v$dataguard_config; DB_UNIQUE_NAME ------------------------------ PDB10 PDB10_STBY
那麼問題來了,淘汰現有的 Data Guard 配置以部署新的物理備用數據庫需要哪些步驟?
Data Guard 配置中數據庫的唯一名稱在 log_archive_config 參數中以下列形式列出:
log_archive_config='DG_CONFIG=(PDB10,PDB10_STBY)'
您可以刪除舊的並將新的添加為:
alter system set log_archive_config='DG_CONFIG=(PDB10,PDB10SBY)';
在此之後,您可以將 log_archive_dest_N 設置為新的備用數據庫。