oracle强制关闭session,Oracle终止session
有时候,oracle终止当前的session是必要的。例如,你想执行一个管理操作,需要终止所有非管理员的session。下面描述的是终止sess
有时候,Oracle终止当前的session是必要的。例如,你想执行一个管理操作,需要终止所有非管理员的session。下面描述的是终止session的各个方面,包括以下:
1.标识哪些session需要终止
2.终止一个Active Session
3.终止一个Inactive Session
当一个session被终止,session的任何活动事务回滚,并且立即释放所有的资源,比如locks and memoryareas。
使用ALTERSYSTEM KILL SESSION终止一个会话。下面的例句sid 7,serial# 15:
ALTER SYSTEMKILL SESSION '7,15';
1. 标识哪些session需要终止
为了标识需要终止的session,需要知道session的sid和serial#,可以查询v$session得到。例如,下面的查询标识了用户wxlun的所有session:
SQL> SELECT SID, SERIAL#, STATUS FROM V$SESSION WHERE USERNAME ='WXLUN';
SID SERIAL#STATUS
---------- ---------- --------
81 19713 ACTIVE
95 27537 INACTIVE
当一个session正在调用数据库,session状态为ACTIVE,当一个session非正在调用数据库,session状态为INACTIVE。
2. 终止一个Active Session
如果一个用户session正在处理事务(ACTIVE),终止这个会话,则事务回滚,用户立即收到下面的信息:
ORA-00028: your session has been killed
如果,接到ORA-00028错误后,再重新连接数据库前继续执行语句,,oracle会返还下面的信息:
ORA-01012: not loggedon(使用不同的工具连接到数据库可能收到的信息不同,但是类似,都是指和库的session断了)
当一个session正在执行网络I/O或者事务回滚时,是不能终止的。这类session只能等操作完成才可以终止。这种情况下,直到session终止,资源才会释放。另外,发出ALTERSYSTEM去终止session的会话,等待60秒后没有终止session,会收到一个信息表明session已标识为终止。被标记为终止的session在v$seession的status为KILLED,某些终止服务status可能为PSEUDO。
3. 终止一个Inactive Session
如果终止一个InactiveSession,并不会立即收到ORA-00028错误。直到用户接着使用被终止的session才会收到ORA-00028错误。
当一个inactivesession,session的status变成KILLED,当用户再次使用这个session和收到ORA-00028错误,这个终止的session会从v$session删除。
下面是一个终止inactive session的例子。
SQL> SELECT SID, SERIAL#, STATUS FROM V$SESSION WHERE USERNAME ='WXLUN';
SID SERIAL#STATUS
---------- ---------- --------
95 27591 INACTIVE
SQL> alter system kill session '95,27591';
System altered.
SQL> SELECT SID, SERIAL#, STATUS FROM V$SESSION WHERE USERNAME ='WXLUN';
SID SERIAL#STATUS
---------- ---------- --------
95 27591 KILLED
SQL>
相关阅读:
Oracle 10 DBMS_MONITOR跟踪和分析其它session SQL
快速找到跟踪其他session产生的trc文件
Oracle 彻底 kill session
MySQL主从故障处理--session 级别参数复制错误
如何查看Oracle数据库的session阻塞
本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉
本文系统来源:php中文网
oracle强制关闭session,Oracle终止session相关推荐
- oracle 强制 断开,ORA-01092: ORACLE 例程终止 强行断开连接
今天测试部门的人叫我过去,说是数据库当了,起不来了. 我过去看了看情况,做了如下操作 SQL> shutdown immediate 数据库已经关闭. 已经卸载数据库. Oracle 例程已经关 ...
- oracle不一致性关闭下次,Oracle DataGuard
```1.文档介绍 本实施方案主要对Oracle DataGuard实施部署作相应的说明.以便实施人员能根据当前业务特点,规划.建设符合高可用.高可靠的数据库集群系统.具体由Oracle DG环境拓扑 ...
- oracle强制执行计划,Oracle里另外一些典型的执行计划
在之前的文章里写了Oracle里常见的执行计划,可以参考文章:http://hbxztc.blog.51cto.com/1587495/1901416,这篇文章里介绍的是其他的一些典型的执行计划. 1 ...
- oracle数据库关闭失败,Oracle数据库关闭时出现ORA-03113错误
Oracle数据库关闭时,出现ORA-03113错误: SQLgt; shutdown immediateORA-03113: end-of-file on communication channel ...
- oracle 强制 断开,ORA-01092: ORACLE 例程终止。强行断开连接
dataguard服务器不能open,需要重启主服务器才能解决. 如下: SQL> conn as sysdba; 已连接到空闲例程. SQL> startup nomount; ORAC ...
- oracle 强制 断开,ORA-01092 ORACLE 实例终止。强制断开连接 解决方案(下)
原因: Oracle数据库升级后,数据字典没有升级,或者数据字典升级失败 解决: oracle dba用户执行catupgrd.sql.cataproc.sql和catlog.sql 1.以start ...
- oracle强制关闭用户连接
我在删除用户的时候,提示我无法删除当前已连接的用户,特此Google一下,整理了几种方法,来杀掉用户连接: 第一种方法: 1.通过管理员登录 2.使用视图:v$session 查询当前连接的用户 se ...
- oracle怎么关闭约束,Oracle约束enable/disablenovalidate
oracle 对constraint的开启和关闭共有四种:enable validate;enable novalidate;disable validate;disable novalidate.启 ...
- oracle立即关闭数据库,Oracle数据库的起步和关闭
Oracle数据库的启动和关闭 要启动和关闭数据库,必须要以具有Oracle 管理员权限的用户登陆,通常也就是以具有SYSDBA权限的用户登陆,启动一个数据库需要三个步骤: 1. 创建一个Oracle ...
最新文章
- 三数之和(三数不重复)
- 在SIMULINK实现各类优化类算法的仿真——粒子群算法、细菌觅食、
- python正态检验_Python怎么检验数据的正态分布
- 关闭系统进程,以及如何调用cmd并执行命令
- 计算机地址码特点,电脑摇头灯的地址码的设定问题你必须要注意的
- centos 6.5 x64安装php 7
- Wireshark 常用过滤
- 【线性代数】思维脑图
- DM7数据库安装图文教程
- hive 漫威the_2021年即将上映的漫威电影
- SQL连接MYSQL出现对象名无效_SQL数据库时提示对象名'XXX' 无效
- 关于原生ajax的那些事
- Android电量统计
- TensorFlow 使用 slim 模块搭建复杂网络
- 两个hc05蓝牙模块在两块单片机上通信(附完整代码)
- 如何把JAR发布到maven中央仓库
- 第三周总结(2018-03-12~2018-03-16)
- 这年头,能坐上火箭的东西不多啊,Java版本号算一个
- python 不知什么原因的坑1
- Chrome浏览器如何设置代理?如何快速切换代理?