ORA-12528問題的解決

wangyiou1988發表於2014-10-09
今天遇到了問題:
ORA-12528: TNS:listener: all appropriate instances are blocking new connections
ORA-12528問題是因為監聽中的服務使用了動態服務,例項雖然啟動,但沒有註冊到監聽。例項是透過PMON程式註冊到監聽上的,而PMON程式需要在MOUNT狀態下才會啟動。所以造成了上面的錯誤。

解決這個問題,有三種方法:1、把監聽設定為靜態,2、在tnsnames.ora中追加(UR=A),3、重新啟動服務。

一、透過修改listener.ora的引數,把listener.ora動態註冊設定為靜態註冊,然後重新啟動監聽

# listener.ora Network Configuration File:
$ORACLE_HOME\network\admin\listener.ora
# Generated by Oracle configuration
tools.

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = [IP])(PORT = 1521))
    )
  )
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = [DBNAME])
      (ORACLE_HOME = [$ORACLE_HOME])
      (SID_NAME = [SID])
    )
  )
   
靜態註冊的風險:如果在instance執行中,lisener重新啟動,就找不到instance了。靜態註冊需要先啟動lisener,再啟動instance。且靜態模式下,lisener
status顯示的是unknown


    二、啟動到nomount狀態,透過修改tnsnames.ora的引數
#
tnsnames.ora Network Configuration File:
$ORACLE_HOME\network\admin\tnsnames.ora
# Generated by Oracle configuration
tools.
SYK =
  (DESCRIPTION =
    (ADDRESS =
(PROTOCOL = TCP)(HOST = [IP])(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = SYK)
      (UR=A)
    )
  )
    然後連線上資料庫
    SQL>alter database mount;
    SQL>alter database open;


三、重啟ORACLE或者重啟ORACLE服務

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25116248/viewspace-1293469/,如需轉載,請註明出處,否則將追究法律責任。

相關文章