溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

oracle中出現(xiàn)ORA-12520錯(cuò)誤怎么辦

發(fā)布時(shí)間:2021-11-11 14:15:24 來(lái)源:億速云 閱讀:3026 作者:小新 欄目:關(guān)系型數(shù)據(jù)庫(kù)

這篇文章主要介紹了oracle中出現(xiàn)ORA-12520錯(cuò)誤怎么辦,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

ORA-12520: TNS: 監(jiān)聽(tīng)程序無(wú)法為請(qǐng)求的服務(wù)器類(lèi)型找到可用的處理程序

監(jiān)聽(tīng)日志太大;內(nèi)存耗盡;os進(jìn)程耗盡;CPU過(guò)忙;連接風(fēng)暴;共享池內(nèi)存收縮...都會(huì)導(dǎo)致這種情況
根據(jù)網(wǎng)上資料:
當(dāng)你碰到ORA-12520錯(cuò)誤時(shí),如下所示:

英文:
ORA-12520: TNS:listener could not find available handler for requested type of server
中文:
ORA-12520: TNS: 監(jiān)聽(tīng)程序無(wú)法為請(qǐng)求的服務(wù)器類(lèi)型找到可用的處理程序

一般你應(yīng)該從下面兩個(gè)方面考慮:
1:數(shù)據(jù)庫(kù)是專(zhuān)用服務(wù)器,但是在tnsname.ora配置文件中設(shè)置的連接方式是shared,這種情況需要修改tnsname.ora配置文件,這種錯(cuò)誤情況一般發(fā)生在第一次連接數(shù)據(jù)庫(kù)服務(wù)器。

如下所示,將數(shù)據(jù)庫(kù)服務(wù)器關(guān)閉共享服務(wù)器配置后,然后用PL/SQL Developer連接數(shù)據(jù)庫(kù),就會(huì)出現(xiàn)ORA-12520錯(cuò)誤。
alter system set shared_servers=0 scope=both;
 
System altered.


2:運(yùn)行正常的數(shù)據(jù)庫(kù)服務(wù)器,突然報(bào)ORA-12520錯(cuò)誤,一般是因?yàn)閜rocess不夠引起的。需要增大processes參數(shù)的值。


然而進(jìn)過(guò)檢查服務(wù)器、客戶(hù)端都是dedicated模式,且process參數(shù)足夠。。

接著查看監(jiān)聽(tīng)日志發(fā)現(xiàn)達(dá)到4g,現(xiàn)象是從1號(hào)開(kāi)始的,而監(jiān)聽(tīng)日志不寫(xiě)東西是從上個(gè)月31號(hào),現(xiàn)象基本符合,可能是由于監(jiān)聽(tīng)日志過(guò)大引起的

解決:
oracle 監(jiān)聽(tīng)器日志文件過(guò)大導(dǎo)致該文件無(wú)法更新
解決操作步驟 :

lsnrctl set log_status off ### 先把日志狀態(tài)停掉,這樣就不會(huì)寫(xiě)監(jiān)聽(tīng)器日志
現(xiàn)在就可以把 監(jiān)聽(tīng)器日志文件備份mv 或是 刪掉rm
lsnrctl set log_status on ### 重新打開(kāi)日志,開(kāi)始記錄監(jiān)聽(tīng)器日志。該文件會(huì)自動(dòng)創(chuàng)建

可以執(zhí)行 lsnrctl status ,檢查監(jiān)聽(tīng)器日志文件

切記 : 不能直接 cat /dev/null > listener_testdb1.log 除非在監(jiān)聽(tīng)器關(guān)閉的情況下。
否則,即便文件已經(jīng)被清空,監(jiān)聽(tīng)器還是無(wú)法執(zhí)行寫(xiě)入日志的。

另外也可以指定監(jiān)聽(tīng)器日志文件的名字,而不需要系統(tǒng)生成的文件名:

==========================
如何確定oracle數(shù)據(jù)庫(kù)的連接模式是專(zhuān)用,還是共享模式

這個(gè)問(wèn)題既與參數(shù)shared_servers、dispatchers有關(guān),還與服務(wù)器、客戶(hù)端的TNSname.ora文件有關(guān)系。

在DB端的shared_servers參數(shù)控制server是否能接受share server連接,但是,client可以通過(guò)在TNSname.ora 來(lái)設(shè)置強(qiáng)制使用DEDICATED

如下,4種情況:

DB shared_servers = 0 , TNSname.ora server=shared或者不設(shè)置 ==> DEDICATED連接

DB shared_servers = 0 , TNSname.ora server=DEDICATED ==> DEDICATED連接

DB shared_servers > 0 , TNSname.ora server=DEDICATED ==> DEDICATED連接

DB shared_servers > 0 , TNSname.ora server=shared或者不設(shè)置 ==> Shared連接


感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“oracle中出現(xiàn)ORA-12520錯(cuò)誤怎么辦”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI