ora-00020超出最大程式數的解決方法

oo0yuki0oo發表於2010-05-26
ora-00020超出最大程式數的解決方法 一般原因是因為你的應用程式的連線數超過了ORACLE系統設定的最大連線數。你可以到ORACLE的OEM下,用SYS as/sysdba進入OEM,在Instance的 Configuration下開啟All initialization parameters,打到指定的Processes項,該項系統安裝一般預設為150,你可以修改到你想需要的,一般200~2000之間。修改之後需要重新啟動資料庫,建議最好重新啟動作業系統。當然你也可以在windows上,在dos命令符下鍵入:set oracle_sid=xxx ,一樣的道理。 ORACLE的連線數(sessions)與其引數檔案中的程式數(process)有關,它們的關係如下: sessions=(1.1*process+5) 但是我們增加process數時,往往資料庫不能啟動了。這因為我們還漏調了一個unix系統引數:它是/etc/system/ 中semmns,這是unix系統的訊號量引數。每個process會佔用一個訊號量。semmns調整後,需要重新啟動unix作業系統,引數才能生效。不過它的大小會受制於硬體的記憶體或ORACLE SGA。範圍可從200——2000不等。 semmns的計算公式為:SEMMNS>processes+instance_processes+system processes=資料庫引數processes的值 instance_processes=5(smon,pmon,dbwr,lgwr,arch) system=系統所佔用訊號量。系統所佔用訊號量可用下列命令查出:#ipcs -sb 其中列NSEMS顯示系統已佔用訊號量。 其它一些跟連線有關的引數,如 licence_max_sessions, licence_sessions_warning 等預設設定都為零,也就是沒有限制。我們可以放心大膽地使用資料庫了。 [@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8337095/viewspace-1033945/,如需轉載,請註明出處,否則將追究法律責任。

相關文章