ORA-00018: maximum number of sessions exceeded 超出最大會話數


 

ORA-00018: maximum number of sessions exceeded
ORA-00018: 超出最大會話數

Cause:
      All session state objects are in use.
      所有會話狀態對象都在使用中。

Action:
      Increase the value of the SESSIONS initialization parameter.
      增加會話初始化參數的值。

 

 

      Oracle 默認 Processes 的值是 150,導致實際的 Sessions 的值會超過設置值(Sessions 的數量是 Processes * 1.1 + 5),所以會出錯。

 

解決方法:
      建議將 Processes 的值往大了改(視硬件和系統實際配置而定)

 

 

# 查看當前系統中的Process
SQL> show parameter processes;
NAME                                 TYPE        VALUE
------------------------------------ ----------- -------
aq_tm_processes                      integer     1
db_writer_processes                  integer     1
job_queue_processes                  integer     10
log_archive_max_processes            integer     2
processes                            integer     150

SQL> show parameter sessions;
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
mts_sessions                         integer     165
sessions                             integer     170
shared_server_sessions               integer     165


# 將Process設置為500
SQL> alter system set processes=500 scope=spfile;
系統已更改。

重新啟動數據庫使改動生效。


SQL> shutdown immediate;
數據庫已經關閉。
已經卸載數據庫。
ORACLE 例程已經關閉。

SQL> startup
ORACLE 例程已經啟動。

 

# 再次查看,確實改過來了。
SQL> show parameter processes;
NAME                                 TYPE        VALUE
------------------------------------ ----------- -------
aq_tm_processes                      integer     1
db_writer_processes                  integer     1
job_queue_processes                  integer     10
log_archive_max_processes            integer     2
processes                            integer     500

 

SQL> show parameter sessions;
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
mts_sessions                         integer     550
sessions                             integer     555
shared_server_sessions               integer     550

注意:按照上面所述方法修改后如果還有問題的話請參照如下方法。
如果報:Ora-00020 Maximum Number of processes(500) execeed超出最大進程數的錯誤,證明問題並不是那么簡單

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM