oracle安装后新建数据库实例及配置
?
ORA-12514?TNS?監(jiān)聽程序當(dāng)前無法識(shí)別連接描述符中請(qǐng)求服務(wù)?的解決方法
?(2011-01-20 13:50:37) 轉(zhuǎn)載▼標(biāo)簽:? it | 分類:?技術(shù) |
早上同事用PL/SQL連接虛擬機(jī)中的Oracle數(shù)據(jù)庫,發(fā)現(xiàn)又報(bào)了“ORA-12514 TNS 監(jiān)聽程序當(dāng)前無法識(shí)別連接描述符中請(qǐng)求服務(wù)”錯(cuò)誤,幫其解決后,發(fā)現(xiàn)很多人遇到過這樣的問題,因此寫著這里。
也許你沒有遇到過,原因如下:
你oracle安裝成功后,一直未停止數(shù)據(jù)庫(即數(shù)據(jù)庫是啟動(dòng)的),客戶端配置成功后,應(yīng)該一直不會(huì)有什么問題。
而一旦你和我同事一樣,有時(shí)把Oracle安裝在虛擬機(jī)中,而且Oracle安裝完畢后,沒在進(jìn)行任何監(jiān)聽的配置,則虛擬機(jī)再啟動(dòng),則就會(huì)出現(xiàn)ORA-12514的問題。如下圖
如下是解決思路:
根據(jù)出錯(cuò)信息判斷出客戶端未監(jiān)聽到實(shí)例服務(wù)名
1、通過重啟服務(wù)的方式啟動(dòng)數(shù)據(jù)庫,再次連接仍無法連接服務(wù)器。
2、既然第一種方法不能解決問題,那就第二種方法。考慮監(jiān)聽listener.ora
???監(jiān)聽配置文件listener.ora中可以不必指定監(jiān)聽的服務(wù)名(安裝Oracle10g后也是沒有指定的)。正常情況下一般只要數(shù)據(jù)庫啟動(dòng),客戶端連接數(shù)據(jù)庫也沒有什么問題,但是有時(shí)重復(fù)啟動(dòng)關(guān)閉也會(huì)出現(xiàn)ORA-12514錯(cuò)誤。
???既然listener.ora中沒有指定監(jiān)聽,我們可以在listener.ora文件中指定監(jiān)聽的實(shí)例名,這樣該問題應(yīng)該可以連接。
步驟如下:
- 在oracle服務(wù)器Oracle安裝目錄(我的在E:\Oracle10g下,每個(gè)人的不一樣,根據(jù)自己的情況查找)Network/admin目錄下找到listener.ora 我的如下圖所示
# listener.ora Network Configuration File: E:\Oracle10g\network\admin\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
??(SID_LIST =
????(SID_DESC =
??????(SID_NAME = PLSExtProc)
??????(ORACLE_HOME = E:\Oracle10g)
??????(PROGRAM = extproc)
????)
???(SID_DESC =
????(GLOBAL_DBNAME = ORCL)
????(ORACLE_HOME = E:\Oracle10g)
????(SID_NAME = ORCL)
????)
?)
LISTENER =
??(DESCRIPTION_LIST =
????(DESCRIPTION =
??????(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
??????(ADDRESS = (PROTOCOL = TCP)(HOST = onest)(PORT = 1521))
????)
??)
標(biāo)紅的為我添加的部分,ORCL為監(jiān)聽的實(shí)例名。
- 然后在Oracle服務(wù)器的服務(wù)中重新啟動(dòng)監(jiān)聽服務(wù),然后在oracle客戶端通過再次配置對(duì)Orcl實(shí)例的監(jiān)聽,如下圖所示
- 結(jié)果出現(xiàn)如下圖的提示。
- 這時(shí)我們不要著急,只需要oracle服務(wù)器重新啟動(dòng)一下,再次連接即成功。這也是我們配置完listener.ora 監(jiān)聽后,經(jīng)常忘記的。再次嘗試,可以看到客戶端可以連接上oracle服務(wù)器了,而且PL/SQL再次連接也沒有問題了。
而有些朋友在配置客戶端時(shí),連接數(shù)據(jù)庫成功,而使用PL/SQL時(shí),又出現(xiàn)了如下圖所示的問題。這又如何解決呢?為什么oracle客戶端已經(jīng)連接成功了,而PL/SQL確不行呢?
出現(xiàn)如上的原因是,可能是大家再配置oracle客戶端時(shí),雖然鏈接成功了,步驟上可能有些錯(cuò)誤。大家使用Net Cofiguration Assistant客戶端時(shí)重新配置了Orcl,而不是添加,我們應(yīng)該如下步驟處理,就不會(huì)出問題了。
1、如果Net Cofiguration Assistant中已經(jīng)有了Orcl。我們可以重新配置
2、如果Net Cofiguration Assistant中沒有Orcl,我們應(yīng)該添加??具體界面如下圖所示。
如果大家該步處理也沒有問題了,listener.ora 修改成功,并且重新啟動(dòng)了oracle服務(wù)器,無論oracle客戶端還是PL/SQL都能夠成功連接數(shù)據(jù)庫了。
總結(jié)一下。當(dāng)大家遇到“ORA-12514 TNS 監(jiān)聽程序當(dāng)前無法識(shí)別連接描述符中請(qǐng)求服務(wù)”錯(cuò)誤的解決步驟:
1、通過重啟服務(wù)的方式啟動(dòng)數(shù)據(jù)庫,再次連接嘗試。
2、如果第一種方法不可行,我們采用第二種方法
- 正確添加listener.ora;
- 重新啟動(dòng)了oracle服務(wù)器,并檢查oracle所有服務(wù)是否啟動(dòng);
- oracle客戶端Net Cofiguration Assistant正確添加或重新配置實(shí)例名?
希望該篇博文,能夠解決大家的問題。
轉(zhuǎn)載于:https://www.cnblogs.com/zmxie/p/3790096.html
總結(jié)
以上是生活随笔為你收集整理的oracle安装后新建数据库实例及配置的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 北京密云云蒙山山居酒店周围有哪些景点和活
- 下一篇: 一天一道算法题--6.15--卡特兰数