您好,登錄后才能下訂單哦!
這篇文章主要介紹了oracle中出現ORA-12520錯誤怎么辦,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
ORA-12520: TNS: 監聽程序無法為請求的服務器類型找到可用的處理程序
監聽日志太大;內存耗盡;os進程耗盡;CPU過忙;連接風暴;共享池內存收縮...都會導致這種情況
根據網上資料:
當你碰到ORA-12520錯誤時,如下所示:
英文:
ORA-12520: TNS:listener could not find available handler for requested type of server
中文:
ORA-12520: TNS: 監聽程序無法為請求的服務器類型找到可用的處理程序
一般你應該從下面兩個方面考慮:
1:數據庫是專用服務器,但是在tnsname.ora配置文件中設置的連接方式是shared,這種情況需要修改tnsname.ora配置文件,這種錯誤情況一般發生在第一次連接數據庫服務器。
如下所示,將數據庫服務器關閉共享服務器配置后,然后用PL/SQL Developer連接數據庫,就會出現ORA-12520錯誤。
alter system set shared_servers=0 scope=both;
System altered.
2:運行正常的數據庫服務器,突然報ORA-12520錯誤,一般是因為process不夠引起的。需要增大processes參數的值。
然而進過檢查服務器、客戶端都是dedicated模式,且process參數足夠。。
接著查看監聽日志發現達到4g,現象是從1號開始的,而監聽日志不寫東西是從上個月31號,現象基本符合,可能是由于監聽日志過大引起的
解決:
oracle 監聽器日志文件過大導致該文件無法更新
解決操作步驟 :
lsnrctl set log_status off ### 先把日志狀態停掉,這樣就不會寫監聽器日志
現在就可以把 監聽器日志文件備份mv 或是 刪掉rm
lsnrctl set log_status on ### 重新打開日志,開始記錄監聽器日志。該文件會自動創建
可以執行 lsnrctl status ,檢查監聽器日志文件
切記 : 不能直接 cat /dev/null > listener_testdb1.log 除非在監聽器關閉的情況下。
否則,即便文件已經被清空,監聽器還是無法執行寫入日志的。
另外也可以指定監聽器日志文件的名字,而不需要系統生成的文件名:
==========================
如何確定oracle數據庫的連接模式是專用,還是共享模式
這個問題既與參數shared_servers、dispatchers有關,還與服務器、客戶端的TNSname.ora文件有關系。
在DB端的shared_servers參數控制server是否能接受share server連接,但是,client可以通過在TNSname.ora 來設置強制使用DEDICATED
如下,4種情況:
DB shared_servers = 0 , TNSname.ora server=shared或者不設置 ==> 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或者不設置 ==> Shared連接
感謝你能夠認真閱讀完這篇文章,希望小編分享的“oracle中出現ORA-12520錯誤怎么辦”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。