ORA-12519 錯誤 進程錯誤
系統正常運行一個月後,上線第一天出現了下列錯誤,想了很久沒有思路。後來排查出資料庫監聽異常,發現是ORA-12519拒絕錯誤。後來發現是資料的串連池達到的極致。
具體解決方案如下:
--首先檢查process和session的使用方式,在sqlplus裡面查看。
SQL> show parameter processes
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
aq_tm_processes integer 0
db_writer_processes integer 6
gcs_server_processes integer 0
job_queue_processes integer 0
log_archive_max_processes integer 2
processes integer 150
SQL> select count(*) from v$process;
COUNT(*)
----------
147
--明顯process已經幾乎達到了頂峰。
SQL> show parameter session
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
java_max_sessionspace_size integer 0
java_soft_sessionspace_limit integer 0
license_max_sessions integer 0
license_sessions_warning integer 0
logmnr_max_persistent_sessions integer 1
session_cached_cursors integer 20
session_max_open_files integer 10
sessions integer 160
shared_server_sessions integer
SQL>
SQL> select count(*) from v$session;
COUNT(*)
----------
153
--同樣幾乎達到頂峰。
--修改Oracle的process和session值,加大他們最大串連數。
--Oracle文檔要求,SESSIONS和TRANSACTIONS的初始化參數應該源於PROCESSES參數,根據預設設定SESSIONS = PROCESSES * 1.1 + 5
SQL> alter system set processes=300 scope=spfile;
System altered.
SQL> alter system set sessions=335 scope=spfile;
System altered.
--重啟資料庫後參數修改完成
SQL> shutdown --如果長時間沒反應可能是串連請求沒又關閉,也可以使用 abort參數直接關閉
SQL> startup --可以用 force參數 關閉當前運行資料庫後正常啟動。
修改完畢之後,在進行壓力測試的時候,問題解決。也可參考其他解決方案。
--------------------------------------分割線 --------------------------------------
在CentOS 6.4下安裝Oracle 11gR2(x64)
Oracle 11gR2 在VMWare虛擬機器中安裝步驟
Debian 下 安裝 Oracle 11g XE R2
--------------------------------------分割線 --------------------------------------