DataGuard的功能主要是數據保護,故障恢復等,Linux系統下搭建DataGuard的時候,有時會出現ORA-12528報錯,遇到這種情況該如何處理呢?一起來學習下吧。
說明:在DataGuard的搭建中,運行rman恢復的時候報錯ORA-12528的錯誤;
腳本如下:RMAN》 connect auxiliary sys/Oracle@SCMPRD02
解決步驟:
1、檢查監聽是否啟動,腳本:tnsping SCMPRD02
方法一:配置數據庫的監聽為靜態參數步驟:在ORACLE_HOME/network/admin 下面檢查是否有listener.ora參數文件,如果沒有的話運行netca創建數據庫的監聽,配置完成的監聽文件如下:
代碼如下:
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = SCMPRDDB02)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
ADR_BASE_LISTENER = /u01/app/oracle
方法二:修改tnsnames.ora文件
SCMPRD02 =
(DESCRIPTION =
(ADDRESS =
(PROTOCOL = TCP)(HOST = WELL)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED) (
SERVICE_NAME = SCMPRD02)
(UR = A) //增加該備注//
)
)
總結:ORA-12528: TNS:listener: all appropriate instances are blocking new connections
因為我們復制數據庫只是在nomount下打開,而數據庫並沒有mount,在11g下所有的監聽都是動態監聽,而只有在數據庫mount以後,PMON進程起來以後,才能動態注冊。所以對輔助數據庫沒有辦法注冊,只能被鎖住。所以修改數據庫的監聽為靜態監聽,或者增加(UR=A)即可解決問題。
上面就是Linux下搭建DataGuard時出現ORA-12528報錯的處理方法了,上面有2種方法可以解決,趕緊選擇一個合適的方法進行處理吧。