Oracle 进程及会话
当前进程数量
select count(*) from v$process;
查看进程数量上限
select value from v$parameter where name = 'process';
查看当前会话量
select count(*) from v$session;
会话数量上限
select value from v$parameter where name = 'sessions';
修改进程上限值:100
alter system set processes = 100 scope = spfile;
修改会话上限值:120,会话数与进程数有一个比例关系
alter system set sessions = 120 scope = spfile;
备注:
修改完之后备份下spfile,然后重启数据库
create pfile from spfile;
查看不用用户的连接数
select username,count(username) from v$session where username is not null group by username;
查看当前数据库建立的会话情况
-- SID 会话(session)的ID号;
-- SERIAL# 会话的序列号,和SID一起用来唯一标识一个会话;
-- USERNAME 建立该会话的用户名;
-- PROGRAM 这个会话是用什么工具连接到数据库的;
-- STATUS 当前这个会话的状态,ACTIVE表示会话正在执行某些任务,INACTIVE表示当前会话没有执行任何操作;
select sid,serial#,username,program,machine,status from v$session;
注:
SID 对应的username 列为空的会话,是Oracle 的后台进程,不要对这些会话进行任何操作。
DBA 手工断开某个会话
alter system kill session 'SID,SERIAL#';