萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> oracle教程 >> Oracle數據庫ORA-12514錯誤的解決辦法

Oracle數據庫ORA-12514錯誤的解決辦法

   問題提示

  錯誤提示:ERROR:ORA-12514: TNS:listener could not resolve SERVICE_NAME given in connect

  解決方法:

  代碼如下

  1. 打開/network/admin/listener.ora文件,找到:

  SID_LIST_LISTENER =

  (SID_LIST =

  (SID_DESC =

  (SID_NAME = PLSExtProc)

  (ORACLE_HOME = D:oracleproduct10.1.0db_1)

  (PROGRAM = extproc)

  )

  )

  2. 添加:

  代碼如下

  (SID_DESC =

  (GLOBAL_DBNAME = ORACLE)

  (ORACLE_HOME = D:oracleproduct10.1.0db_1)

  (SID_NAME = ORACLE)

  )

  3. 最後變成:

  代碼如下

  SID_LIST_LISTENER =

  (SID_LIST =

  (SID_DESC =

  (SID_NAME = PLSExtProc)

  (ORACLE_HOME = D:oracleproduct10.1.0db_1)

  (PROGRAM = extproc)

  )

  (SID_DESC =

  (GLOBAL_DBNAME = ORACLE)

  (ORACLE_HOME = D:oracleproduct10.1.0db_1)

  (SID_NAME = ORACLE)

  )

  )

  4. 保存文件,重啟服務中的TNSListener,OK!

  注意,一定要重啟TNSListener,

  方法:命令模式

  代碼如下

  C:>lsnrctl

  LSNRCTL>stop

  LSNRCTL>start

  搞定,好使了.

  另一種出一這種問題的情況是:Ora-12514:TNS:無監聽程序

  解決辦法:TNSListener服務沒有啟動,把服務啟動就可以了。

  通常的名字:OracleOraDb10g_home1TNSListener:

  該服務對應 %Oracle_HoembinTNSLSNR.EXE

  Ora-12514:TNS:監聽程序當前無法識別鏈接描述符中請求的服務。

  對於這個錯誤,網上的做法通常是這樣的:

  打開:%Oracle_Hoem%/network/admin/listener.ora文件

  在

  代碼如下

  SID_LIST_LISTENER =

  (SID_LIST =

  (SID_DESC =

  (SID_NAME = PLSExtProc)

  (ORACLE_HOME = D:OracleOracle10g)

  (PROGRAM = extproc)

  )

  後面添加:

  代碼如下

  (SID_DESC =

  (GLOBAL_DBNAME = ORACLE)

  (ORACLE_HOME = D:OracleOracle10g)

  (SID_NAME = ORACLE)

  )

  最後變成:

  代碼如下

  SID_LIST_LISTENER =

  (SID_LIST =

  (SID_DESC =

  (SID_NAME = PLSExtProc)

  (ORACLE_HOME = D:OracleOracle10g)

  (PROGRAM = extproc)

  ) (SID_DESC =

  (GLOBAL_DBNAME = ORACLE)

  (ORACLE_HOME = D:OracleOracle10g)

  (SID_NAME = ORACLE)

  )

  )

  不過我覺得不用這麼費力。首先關閉監聽器服務,然後關閉數據庫服務,啟動數據庫服務,啟動監聽器服務。就是這麼簡單。

copyright © 萬盛學電腦網 all rights reserved