2014年4月8日 星期二

ORA-12514: TNS: 監聽程序當前無法識別連接描述符中請求的服務解决

將資料庫重啟時,發生ORA-12514問題。

在網路上找到解決方法,並記錄如下:

監聽程序找不到服務的原因,在於LISTENER沒有確切的指定到要求服務的資料庫。
因此LISTENER設定中加入服務的SID,就能夠正確抓到指定的服務。

打開%Oracle_Home%/network/admin/listener.ora
會看到內容如下,
SID_LIST_LISTENER=    (SID_DESC =      (SID_NAME = CLRExtProc)      (ORACLE_HOME = H:\Oracle\product\11.2.0\dbhome_1)      (PROGRAM = extproc)      (ENVS ="EXTPROC_DLLS=ONLY:D:\Oracle\product\11.2.0\dbhome_1\bin\oraclr11.dll")    )  )

將內容更改如下,

SID_LIST_LISTENER=
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = H:\Oracle\product\11.2.0\dbhome_1)
      (PROGRAM = extproc)
      (ENVS ="EXTPROC_DLLS=ONLY:H:\Oracle\product\11.2.0\dbhome_1\bin\oraclr11.dll")
  (SID_LIST =
         (SID_DESC =
      (GLOBAL_DBNAME = Your_DB_SID)
      (ORACLE_HOME =D:\Oracle\product\11.2.0\dbhome_1)
      (SID_NAME = Your_DB_SID)
    )
    )
  )

接著就能順利開啟資料庫了。

沒有留言:

張貼留言