Oracle会话及连接数优化
一、修改Oracle会话及最大连接数
1、查看最大连接数
SQL> show parameter processes;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
aq_tm_processes integer 0
db_writer_processes integer 3
gcs_server_processes integer 0
global_txn_processes integer 1
job_queue_processes integer 1000
log_archive_max_processes integer 4
processes integer 150
2、修改最大连接数
SQL> alter system set processes=500 scope=spfile;
系统已更改。
3、查看最大会话数
SQL> show parameters 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
sessions integer 264
shared_server_sessions integer
4、修改最大会话数
SQL> alter system set sessions=555 scope=spfile;
系统已更改。
5、连接数和会话数计算关系
sessions = 1.1 * process + 5
说明:连接数和会话数参数修改,Oracle必须重启
二、常用会话及连接数查询方法
1、查询数据库最大连接数
SQL> show parameter processes;
或者
SQL>select value from v$parameter where name = ‘processes‘;
2、修改数据库最大连接数(默认150)
SQL> alter system set processes=500 scope=spfile;
3、查询数据库当前连接数
SQL> select count(*) from v$process;
4、查看数据库最大会话数
SQL> show parameters sessions;
或者
SQL> select value from v$parameter where name = ‘sessions‘;
5、修改数据库最大会话数(默认248)
SQL> alter system set sessions=555 scope=spfile;
6、查看当前会话数
SQL> select count(*) from v$session;
7、查看当前并发(活动)会话数
SQL> select count(*) from v$session where status=‘ACTIVE‘;
8、查看当前会话详细信息
SQL> select sid,serial#,username,program,machine,status from v$session;
9、查看正在使用的用户
select osuser,
t1.username as username,
cpu_time / executions / 1000000 || ‘s‘ as runtimes,
sql_fulltext,
machine
from v$session t1, v$sqlarea t2
where t1.sql_address = t2.address
order by runtimes desc;
三、OS的参数区别
1、Linux和Windows系统,对sessions的处理是有区别的
Linux系统1会话对应1个进程处理
Windows系统1会话对应1个线程处理
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。