成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

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

瀏覽:95日期:2023-05-30 16:13:46
目錄
  • 前言
  • 癥狀
  • 產(chǎn)生原因
  • 解決辦法
  • 總結(jié)

前言

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

癥狀

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

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

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

產(chǎn)生原因

ORA-12514錯(cuò)誤通常是由以下原因之一造成的:

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

oracle@Yao ~$ sqlplus sys/yaoyuan@localhost/orc1 as sysdbaSQL*Plus: Release 19.0.0.0.0 - Production on Wed Mar 1 16:00:59 2023Version 19.3.0.0.0Copyright (c) 1982, 2019, Oracle.  All rights reserved.ERROR:ORA-12514: TNS:listener does not currently know of service requested in connectdescriptor

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

oracle@yaoyuan ~$ sqlplus sys/yaoyuan@localhost/scott as sysdbaSQL*Plus: Release 19.0.0.0.0 - Production on Wed Mar 1 16:16:54 2023Version 19.3.0.0.0Copyright (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”不同。

解決辦法

針對(duì)ORA-12514錯(cuò)誤,可以采取以下措施來(lái)解決問(wèn)題:

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

oracle@Yao ~$ sqlplus sys/yaoyuan@localhost/orc1 as sysdbaSQL*Plus: Release 19.0.0.0.0 - Production on Wed Mar 1 16:29:24 2023Version 19.3.0.0.0Copyright (c) 1982, 2019, Oracle.  All rights reserved.ERROR:ORA-12514: TNS:listener does not currently know of service requested in connectdescriptorEnter user-name:oracle@Yao ~$ sqlplus sys/yaoyuan@localhost/orcl as sysdbaSQL*Plus: Release 19.0.0.0.0 - Production on Wed Mar 1 16:29:40 2023Version 19.3.0.0.0Copyright (c) 1982, 2019, Oracle.  All rights reserved.Connected to:Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - ProductionVersion 19.3.0.0.0

仔細(xì)看看就明白了,原來(lái)服務(wù)名是orcl被錯(cuò)誤的寫(xiě)成了orc1。當(dāng)然在生產(chǎn)環(huán)境,大部分時(shí)候服務(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中有個(gè)不容易察覺(jué)的錯(cuò)誤。

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

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

總結(jié)

到此這篇關(guān)于連接Oracle數(shù)據(jù)庫(kù)失敗(ORA-12514)故障排除的文章就介紹到這了,更多相關(guān)連接Oracle數(shù)據(jù)庫(kù)失敗ORA-12514內(nèi)容請(qǐng)搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!

標(biāo)簽: Oracle