ORA-12514:TNS監聽程式不能解析在連線描述符中給出的 SERVICE_NAME 錯誤

與刃爭鋒發表於2013-12-26

資料庫關閉後輸入startup mount出現錯誤提示:ORA-12514

>set oracle_sid=bob
>sqlplus /nolog

sql>connect sys/**** as sysdba

連線成功,有點費解,直接用sqlplus sys/****@bob as sysdba就不行,是不是需要顯式指定一下sid才可以?


網上找了另一個解決辦法,麻煩,但有時不得不這麼改.
1. 開啟/network/admin/listener.ora檔案,找到:

  SID_LIST_LISTENER =
   (SID_LIST =
     (SID_DESC =
       (SID_NAME = PLSExtProc)
       (ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
       (PROGRAM = extproc)
     )
   )
2. 新增:
      SID_DESC =
       (GLOBAL_DBNAME = BOB)
       (ORACLE_HOME = D:\oracle\product\10.2.0\db_1)  
       (SID_NAME = BOB)
      )
3. 最後變成:
 SID_LIST_LISTENER =
   (SID_LIST =
     (SID_DESC =
       (SID_NAME = PLSExtProc)
       (ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
       (PROGRAM = extproc)
     )
     (SID_DESC =
       (GLOBAL_DBNAME = BOB)
       (ORACLE_HOME = D:\oracle\product\10.2.0\db_1)  
       (SID_NAME = BOB)
      )
   )
4. 儲存檔案,重啟服務中的TNSListener.


上面的方法我沒用過,有機會驗證一下.

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

相關文章