2013年6月5日

ORA-12528


資料來源:http://blog.sina.com.cn/s/blog_636415010100x3lc.html

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 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服務

沒有留言:

張貼留言