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個線程處理
總結
以上是生活随笔為你收集整理的Oracle会话及连接数优化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Oracle 用shutdown+imm
- 下一篇: brtools备份与恢复