Oracle数据库中processes,sessions,transactions分别代表进程数、会话数及当前最大允许的交易量。

按照官方文档中描述,他们之间是有关系的。

以下是11.2.0.4数据库版本(一会儿测试也是11.2.0.4版本)

sessions=(1.5*processes)+22

transactions=1.1*sessions

在10g版本中

sessions=(1.1*processes) +5

transactions=1.1*sessions

我们在修改的时候,不用特意修改session和transaction的值。在修改processes值的时候,会自动修改session和transactions的参数。

如下:

SQL> show parameter processes

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

processes                            integer     300

SQL> show parameter sessions

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

sessions                             integer     472

shared_server_sessions               integer

SQL> show parameter transactions

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

transactions                         integer     519

transactions_per_rollback_segment    integer     5

SQL> 

SQL> alter system set processes=400 scope=spfile;

System altered.

SQL> startup force

ORACLE instance started.

Total System Global Area  835104768 bytes

Fixed Size                  2257840 bytes

Variable Size             591400016 bytes

Database Buffers          239075328 bytes

Redo Buffers                2371584 bytes

Database mounted.

Database opened.

SQL> 

SQL> 

SQL> 

SQL> show parameter processes

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

processes                            integer     400

SQL> show parameter sessions

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

sessions                             integer     622

shared_server_sessions               integer

SQL> show parameter transactions

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

transactions                         integer     684

transactions_per_rollback_segment    integer     5

SQL> 

可以看到,修改processes参数之后,sessions参数和transaction参数在重启后自动调整了。

但是如果修改sessions参数,则重启之后,processes参数不会变化,transaction参数会随之改变。

同样,如果修改transactions参数,sessions参数和processes参数也不会变化