我以前認為oracle processes引數只是規定程序數的上限,隨便設定多大都可以,於是設定了個一千萬,結果重啟資料庫的時候發現啟動不了。
其實processes設定的值還是會佔用oracle記憶體的,設定過大的話,你sga中沒有足夠的記憶體分配,資料庫便無法啟動。
你可以自己實驗對比下,
當你設定不同processes值時候,shared_pool中的processes池,大小也會隨之變化
select * from v$sgastat where pool="shared pool" and name="processes";
-----------------------------------------------------------------------------------------------------
目前我所見到的生產環境中的庫,大點的話,一般processes在3000左右就夠用了,當然你的環境要是超大型oltp型別的,那麼另說了,總的來說就是要根據你業務情況來了。
另外,你可以透過下面語句看看歷史會話數的峰值是多少,來判斷是否需要調整processes
select sessions_current,sessions_highwater from v$license;
我以前認為oracle processes引數只是規定程序數的上限,隨便設定多大都可以,於是設定了個一千萬,結果重啟資料庫的時候發現啟動不了。
其實processes設定的值還是會佔用oracle記憶體的,設定過大的話,你sga中沒有足夠的記憶體分配,資料庫便無法啟動。
你可以自己實驗對比下,
當你設定不同processes值時候,shared_pool中的processes池,大小也會隨之變化
select * from v$sgastat where pool="shared pool" and name="processes";
-----------------------------------------------------------------------------------------------------
目前我所見到的生產環境中的庫,大點的話,一般processes在3000左右就夠用了,當然你的環境要是超大型oltp型別的,那麼另說了,總的來說就是要根據你業務情況來了。
另外,你可以透過下面語句看看歷史會話數的峰值是多少,來判斷是否需要調整processes
select sessions_current,sessions_highwater from v$license;