程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> ORA-12520錯誤解決方法

ORA-12520錯誤解決方法

編輯:Oracle教程

ORA-12520監聽程序無法為請求的服務器類型找到可用的處理程序
引用別人的文章:

1)數據庫是專用服務器,但是在tnsname.ora配置中設置了連接方式為shared,這種情況下打開tnsname.ora,

把(server = shared)改成(server = dedicate)

2)是由於process不夠引起的

後來查看到v$process一直漲到140多,而我的數據庫設置的是150.據此大致能斷定process不夠,

用以下語句修改數據庫的processes值

alter system set processes=500 scope=spfile(由於processes是靜態參數,scope只能為spfile,

在v$sgastate條件為'procesees'中可以看到會每個process會點4個字節),
重新啟動數據庫使新改的processes生效.再重新跑eclipse,就能正常啟動了.
note:如果在hibernate中的hibernate.connection.provider_class選擇的是c3p0的就會出這種情況,其它的好像不會.

很奇怪為什麼c3p0會打開那麼多個processs, 在shared連勢接方式下,shared_server即是一直連在數據庫的process值,注意這點

當前的連接數

select count(*) from v$process; 
select value from v$parameter where name = 'processes'; 
alter system set processes = 500 scope = spfile; 

至於第二條我查看下連接數確實很高。我設置的最大連接數為500,當前連接數已達490多。所以肯定是這個問題

我沒有進行修改最大連接數 而是重啟下oracle 當前連接數就一下子回到了兩位數。問題解決

修改最大連接數後記得要重啟oracle

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved