連接Oracle數(shù)據(jù)庫失敗(ORA-12514)故障排除全過程

連接oracle數(shù)據(jù)庫失敗(ora-12514)故障排除全過程

 

前言

ora-12514的故障是很多新手在連接oracle數(shù)據(jù)庫時經(jīng)常遇到故障,它通常表示無法連接到數(shù)據(jù)庫實(shí)例,這里姚遠(yuǎn)老師告訴大家如何排除這類故障。

 

癥狀

當(dāng)嘗試連接到oracle數(shù)據(jù)庫實(shí)例時,可能會收到ora-12514錯誤消息。此錯誤通常會在oracle客戶端或應(yīng)用程序中顯示。

此外,還可能會在數(shù)據(jù)庫服務(wù)器上的日志文件中看到類似于以下消息的記錄:

tns-12514: tns:listener does not currently know of service requested in connect descriptor

 

產(chǎn)生原因

ora-12514錯誤通常是由以下原因之一造成的:

無效的服務(wù)名稱:連接描述符中指定的服務(wù)名稱不存在。例如,可能會發(fā)生拼寫錯誤或者數(shù)據(jù)庫實(shí)例名稱更改而未及時更新連接描述符的情況。

oracle@yao ~$ sqlplus sys/yaoyuan@localhost/orc1 as sysdba

sql*plus: release 19.0.0.0.0 - production on wed mar 1 16:00:59 2023
version 19.3.0.0.0

copyright (c) 1982, 2019, oracle.  all rights reserved.

error:
ora-12514: tns:listener does not currently know of service requested in connect
descriptor

監(jiān)聽程序未運(yùn)行:如果oracle數(shù)據(jù)庫監(jiān)聽程序未運(yùn)行,則無法連到數(shù)據(jù)庫實(shí)例。此情況可能是由于監(jiān)聽程序未正確啟動、網(wǎng)絡(luò)連接故障或服務(wù)器故障等原因引起的。

oracle@yaoyuan ~$ sqlplus sys/yaoyuan@localhost/scott as sysdba

sql*plus: release 19.0.0.0.0 - production on wed mar 1 16:16:54 2023
version 19.3.0.0.0

copyright (c) 1982, 2019, oracle.  all rights reserved.

error:
ora-12541: tns:no listener

注意:這里的提示是“no listener”,和前面的“listener does not currently know of service requested in connect descriptor”不同。

 

解決辦法

針對ora-12514錯誤,可以采取以下措施來解決問題:

檢查連接描述符:確保連接描述符中指定的服務(wù)名稱是正確的。如果服務(wù)名稱發(fā)生變化,請更新連接描述符。例如下面兩個連接,第一次失敗,第二次成功,大家看看是什么問題呢?

oracle@yao ~$ sqlplus sys/yaoyuan@localhost/orc1 as sysdba

sql*plus: release 19.0.0.0.0 - production on wed mar 1 16:29:24 2023
version 19.3.0.0.0

copyright (c) 1982, 2019, oracle.  all rights reserved.

error:
ora-12514: tns:listener does not currently know of service requested in connect
descriptor


enter user-name:
oracle@yao ~$ sqlplus sys/yaoyuan@localhost/orcl as sysdba

sql*plus: release 19.0.0.0.0 - production on wed mar 1 16:29:40 2023
version 19.3.0.0.0

copyright (c) 1982, 2019, oracle.  all rights reserved.


connected to:
oracle database 19c enterprise edition release 19.0.0.0.0 - production
version 19.3.0.0.0

仔細(xì)看看就明白了,原來服務(wù)名是orcl被錯誤的寫成了orc1。當(dāng)然在生產(chǎn)環(huán)境,大部分時候服務(wù)名是在tnsnames.ora文件中配置的:

oracle@yaoyuan ~$ cat /u01/app/oracle/product/19.3.0/db_1/network/admin/tnsnames.ora
...
orcl =
(description =
  (address_list =
    (address = (protocol = tcp)(host = oracleace)(port = 1521))
  )
  (connect_data =
    (service_name = orc1)
  )
)

注意這里的service_name中有個不容易察覺的錯誤。

其它可能的問題和對應(yīng)的解決方法包括:

  • 確認(rèn)監(jiān)聽程序已運(yùn)行:可以通過命令行或圖形界面工具來檢查監(jiān)聽程序是否正在運(yùn)行。如果監(jiān)聽程序未運(yùn)行,則需要啟動它。
  • 檢查網(wǎng)絡(luò)連接:如果存在網(wǎng)絡(luò)連接問題,則需要解決網(wǎng)絡(luò)問題。例如,可以檢查網(wǎng)絡(luò)配置、防火墻設(shè)置等。
  • 檢查數(shù)據(jù)庫實(shí)例狀態(tài):如果數(shù)據(jù)庫實(shí)例已停止或崩潰,則需要啟動數(shù)據(jù)庫實(shí)例。
    總之,ora-12514錯誤通常表示無法連接到數(shù)據(jù)庫實(shí)例。通過檢查連接描述符、監(jiān)聽程序狀態(tài)、網(wǎng)絡(luò)連接和數(shù)據(jù)庫實(shí)例狀態(tài)等方面,可以找到并解決問題。

 

總結(jié)

關(guān)于連接oracle數(shù)據(jù)庫失敗(ora-12514)故障排除的文章就介紹至此,更多相關(guān)連接oracle數(shù)據(jù)庫失敗ora-12514內(nèi)容請搜索碩編程以前的文章,希望以后支持碩編程!

下一節(jié):oracle導(dǎo)出數(shù)據(jù)到文本、從文本導(dǎo)入數(shù)據(jù)的詳細(xì)步驟

oracle數(shù)據(jù)庫

相關(guān)文章
學(xué)習(xí)MySQL
亚洲国产精品第一区二区,久久免费视频77,99V久久综合狠狠综合久久,国产免费久久九九免费视频