Oracle sessions & processes关系
来源:互联网 发布:珠宝绘图软件 编辑:程序博客网 时间:2024/04/29 07:13
第一:一个连接可能产生多个session,一个session可能产生多个processes,同样,一个processes可能对应多个sessions(看到过一个processes只对应一个session?)
第二:会话sessions和进程processes的关系 每个DB login称为一个连接(connection),而每个连接,可以产生一个或多个会话,如果数据库运行在专用服务器方式, 一个会话对应一个服务器进程(process),如果数据库运行在共享服务器方式
第三:session & process的关系: sessions=1.1*processes + 5,修改processes和sessions值必须重启oracle服务器才能生效
第四:session状态解析(SELECT * FROM v$session WHERE username='***' ORDER BY status)
a. SPINED状态的session问题,根据@dbsnake大拿的意思,这种状态是Oralce自身判断需要kill -9干掉OS进城后的状态,但该session还在V$session,这时只能用alter system干掉该session。至于上述"SPID不是OS进程的ID么"的问题,则是因为Oracle内部已经用kill -9干掉该进程了,那当然提示no such process等错误。
b. KILL状态的session,是使用alter system从Oracle级干掉的session,等待事务回滚。
c. INACTIVE状态表示当前的这个session处于非活动状态,比如打开一个PLSQL但没有操作。
d.ACTIVE表示正处于active,例如当前在一个PLSQL的SQL Window。
1. 使用SQL命令行操作验证 sessions=1.1*processes + 5:
1. 1 打开sql命令行,接入数据库(cmd: conn username/password@db_username)
1.2 查看processes数量:150 (cmd: show parameter process)
1.3 查看session数量:170(cmd:show parameter session )
1.4 验证公式 1.1*150+5 = 170 (cmd: select 1.1*150+5 from dual;)
2.常用SQL语句
select * from v$resource_limit; --通过v$resource_limit视图可以查询/监控相关重要资源的限制值和使用情况:
select count(*) from v$process; --查询数据库当前进程的连接数:
select count(*) from v$session; --查看数据库当前会话的连接数:
select count(*) from v$session where status='ACTIVE'; --查看数据库的并发连接数:
select sid,serial#,username,program,machine,status from v$session; --查看当前数据库建立的会话情况:
select name,value from v$parameter where name in ('processes','sessions','open_cursors'); --查看当前DB中的进程、会话、游标的设置情况;
alter system set processes = 300 scope = spfile; --修改数据库允许的最大连接数:(需要重启数据库才能实现连接数的修改)
select osuser,a.username,cpu_time/executions/1000000||'s',sql_fulltext,machine
from v$session a,v$sqlarea b
where a.sql_address = b.address
order by cpu_time/executions desc; --查看当前有哪些用户正在使用数据:
3. 常用SQL命令行
启动oracle:su - oracle
进入sql: sqlplus system/pwd as sysdba
启动数据库: startup
启动监听:lsnrctl start
关闭数据库:shutdown immediate;
启动数据库:startup mount;
alter database open;
- Oracle sessions & processes关系
- Oracle sessions,processes 和 transactions 参数 关系 说明
- oracle修改processes与sessions
- Oracle 修改sessions和processes
- ORACLE修改processes和sessions参数
- Oracle11gr2 sessions,processes 和 transactions 参数 关系 说明
- 修改oracle配置参数processes、sessions的值
- 修改Oracle的进程数[processes]及会话数[sessions]
- oracle最大进程数 processes sessions 概念与修改
- oracle 9i 关于processes,sessions,transactions这三个参数
- Oracle的sessions和processes的数计算公式
- Oracle数据库中Sessions and Processes的概念总结
- Oracle open_cursors、sessions、processes的理解与监控
- Processes, sessions and open_cursors
- open_cursors、sessions、processes
- Oracle调优--修改Oracle的进程数[processes]及会话数[sessions]
- Oracle9i 修改Oracle的进程数[processes]及会话数[sessions]
- processes与sessions参数的学习
- webservice之cxf实现[web项目中基于maven与spring整合]
- Qandroid环境配置(一)--android SDK设置方法
- 嵌入式软件使用POSIX接口的优缺点
- ES6学习——新加API:Number
- 三天学会HTML5——SVG和Canvas的使用
- Oracle sessions & processes关系
- gdi+ 裁剪圆形图片
- BUG
- 年底谈谈对工作的理解
- union和union all
- 代码段
- xulingbo/xulingbo.github.io 大牛文章,要看看
- Mysql中文乱码问题完美解决方案
- BZOJ 4260: Codechef REBXOR|Trie树