有时,Oracle中造成一些表被死锁或者会话异常退出,如执行了更新记录操作后,既没有commit也没有rollback,网络就断开了,也会造表或记录被锁住,待到超时后才会被解开,那样都会造成应用操作被阻塞。
可以以Oralce管理员权限用户登录Oracle数据,查询到被锁的对象,然后杀除指定的会话。
用下面的语句查询被锁的对象,可以带上更多约束条件,如schemaname等更精确的匹配。
- SELECT a.object_id, a.session_id, b.object_name, c.*
- FROM v$locked_object a, dba_objects b, v$session c
- WHERE a.object_id = b.object_id
- AND a.SESSION_ID = c.sid(+)
杀Seesion的SQL语句语法如下:
- alter system kill session 'sid, serial#'
如上面查出来的一条记录的sid是53, serial#为663,就执行以下的语句
- alter system kill session '53,663'
如果要一次性杀死多个会话,一个一个填写sid和serial#十分的繁琐,应该在查询被锁对象的同时拼凑出多条的杀会话语句,以分号分隔,一起复制下来,然后就可以批量的执行了。
拼凑kill语句的方式如下,下面加了一个过滤条件和一个排序,杀除真正关心的表,并且着重注意超时时间过长的会话。
相关推荐
一、问题的提出很多的时候我们迅速的杀掉Oralcle的一些session,理由大体如下: 1、 一些时候,由于我们的数据量很大,相应的事务大并且多,在做shutdown immediate的时候会花费好多的时间,而我们却想用shutdown ...
在ORACLE数据库杀掉会话进程有三种方式: 1:ALTER SYSTEM KILL SESSION 关于KILL SESSION Clause ,官方文档描述alter system kill session实际上不是真正的杀死会话,它只是将会话标记为终止。等待PMON进程来清除...
Oracle疑难:session无法完全删除问题
主要介绍了oracle ORA-00031:session marked for kill(标记要终止的会话)解决方法 ,需要的朋友可以参考下
使用Oracle时,发现有表被锁,又不知道是谁(或者哪个程序)锁的,怎么办 ?... 'ALTER SYSTEM KILL SESSION '''|| S.SID || ', '|| S.SERIAL#||''';' AS KILL_COMMAND FROM V$LOCKED_OBJECT L, V$SESSION
系统级的环境变量一般在/etc/profile 文件中定义 在 CAMS 系统 与数据库 相关的环境变量就定义在/etc/profile 文件中 如下所示 export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/...
方式一:通过SQL查询 select ‘alter system kill session ‘,””||trim(t2.sid)||’,’||trim(t2.serial#)||”’;’ from v$locked_object t1,v$session t2 where t1.session_id=t2.sid order by t2.logon_time; ...
然后用 kill 命令杀此进程号。 五、SQL*PLUS使用 a、近入SQL*Plus $sqlplus 用户名/密码 退出SQL*Plus SQL>exit b、在sqlplus下得到帮助信息 列出全部SQL命令和SQL*Plus命令 SQL>help 列出某个特定的命令的信息...
可以找到有关杀死会话的各种方法的详细说明。 这个包提供了立即作业和会话终止的方法。 通常,此任务由 DBA 执行,而不是由开发人员执行。 但有时它可以简化 DBA 和开发人员的频繁编译过程(通过为后者提供更多权限...
接着通过sqldevelpdev客户端查询有没有锁等待之类会话事件,果然有,而且是两个session持有TX锁,然后通过下面的sql查询从oracle和linux级别kill掉了相应session,以为风波此平静,结果过了不
(1)要kill掉所有连接到数据库中的会话,所有会话都会回滚。 (2)立即重启的话,不能获取并保留分析数据库挂起原因的信息,在后续分析问题时,没有足够信息用于分析问题产生的根本原因。 一般正常重启的话,都...
在Oracle应用程序的开发过程中,访问数据库对象和编写SQL程序是一件乏味且耗费时间的工作,对数据库进行日常管理也是需要很多SQL脚本才能完成的。Quest Software为此提供了高效的Oracle应用开发工具-Toad(Tools of ...