初期化パラメータ PROCESSES の設定について
初期化パラメータ PROCESSES (最大ユーザープロセス数)の設定
Oracle Databaseに同時に接続できるOSプロセスの最大数は、PROCESSES初期化パラメータによって決定します。また、PROCESSESは、SESSIONS(最大セッション数)とTRANSACTIONS(同時トランザクション最大数)にも影響するパラメータです。SESSIONSとTRANSACTIONSはPROCESSESの値から決められているので、その影響も考慮しておく必要があります。
- PROCESSES → 同時接続できるOSプロセス最大数
- SESSIONS → セッション最大数 PROCESSES*1.1+5
- TRANSACTIONS →同時トランザクション最大数 SESSIONS*1.1
PROCESSES変更
PROCESSESの値を500に変更する手順です。
sqlplusを起動します。
[oracle@server01:/home/oracle] sqlplus /nolog SQL*Plus: Release 11.2.0.4.0 Production on 金 10月 18 14:30:10 2013 Copyright (c) 1982, 2013, Oracle. All rights reserved. SQL> conn / as sysdba アイドル・インスタンスに接続しました。 SQL>
変更前のPROCESSESを確認します。
SQL> show parameter processes NAME TYPE VALUE ---------------------- ----------- ------------------------------ processes integer 150 SQL>
値を500に変更します。
SQL> alter system set processes=500 scope = spfile; システムが変更されました。 SQL>
DBインスタンスを再起動します。
[oracle@server01:/home/oracle] srvctl stop db -d db01 [oracle@server01:/home/oracle] srvctl start db -d db01 [oracle@server01:/home/oracle]
変更後の確認
変更が反映されていることを確認します。PROCESSESが「500」に変更されていました。
SQL> show parameter processes NAME TYPE VALUE ---------------------- ----------- ------------------------------ processes integer 500 SQL>
SESSIONSの値を確認します。SESSIONSはPROCESSES*1.1+5なので「555」になると思っていたのですが、そうはなっていませんでした。んー、なぜだろう・・・。
SQL> show parameter sessions NAME TYPE VALUE ---------------------- ----------- ------------------------------ sessions integer 776 SQL>
TRANSACTIONSの値を確認します。TRANSACTIONSはSESSIONS*1.1なので「853.6」になる予定でしたが、これはそうなってました。
SQL> show parameter transactions NAME TYPE VALUE ---------------------- ----------- ------------------------------ transactions integer 853 SQL>