開發與維運

Oracle運維筆記之通過duplicate創建DG時遇到的ORA-12528問題

通過duplicate方式搭建DG,用rman連接主備庫的時候,會遇到ORA-12528: TNS:listener: all appropriate instances are blocking new connections。
圖片.png
圖片.png
出現這個錯誤的原因是備庫的實例處於nomount階段,所以沒有被註冊在監聽裡,當處於mount階段時,PMON進程才會註冊實例到監聽,因此,從監聽狀態來看,實例為blocked狀態。
圖片.png
圖片.png
結合MOS上的文章419440.1,下面給出常用的2個方案:

  1. 在備庫的listener.ora中註冊靜態監聽
    格式為:

SID_LIST_LISTENER =
(SID_LIST =

(SID_DESC =
  (GLOBAL_DBNAME = <db_name>)
  (ORACLE_HOME = <oracle_home>)
  (SID_NAME = <oracle_sid>)
)

)
圖片.png
圖片.png
重啟監聽後,查看監聽狀態。
圖片.png
圖片.png

  1. 使用Oracle10G的特性,在tnsname文件中,在備庫的連接串中加入(UR=A),但此方法不適用於ACTIVE DUPLICATE
    格式為:

=
(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = <host_name>)(PORT = 1521))
(CONNECT_DATA =
  (SERVER = DEDICATED)
  (SERVICE_NAME = <service_name>)(UR=A)
)

)
測試連接方法:

  1. sqlplus sys/@ as sysdba
  2. startup nomount
  3. shutdown immediate;
  4. exit
  5. sqlplus sys/@ as sysdba
  6. startup nomount;

Leave a Reply

Your email address will not be published. Required fields are marked *