ORA-16416 no viable physical standby switchover targets available

朋友有d1、d2兩台Oracle 11gR2的資料庫,建置了Data Guard,在一次IT廠商來測試的時候,下了指令要準備切換角色時,出現了錯誤:

SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY WITH SESSION SHUTDOWN;

ERROR at line 1:
ORA-16416: No viable Physical Standby switchover targets available

而查詢了兩台資料庫目前的Archive log,最後的sequence是不一致的,說明兩台之間並未同步。

最後朋友發現原因在於LOG_ARCHIVE_DEST_STATE_2這個參數的值是defer,表示暫停兩台之間的同步

修改LOG_ARCHIVE_DEST_STATE_2的值:

SQL> alter system set log_archive_state_2='enable' scope=both;

再試一次switchover就成功了,記錄一下。