美文网首页数据库我爱编程
oracle杀掉锁表会话

oracle杀掉锁表会话

作者: 王滕辉 | 来源:发表于2017-03-17 14:25 被阅读42次

查看锁表进程SQL语句1:

select sess.sid, 
  sess.serial#, 
  lo.oracle_username, 
  lo.os_user_name, 
  ao.object_name, 
  lo.locked_mode 
from v$locked_object lo, 
    dba_objects ao, 
    v$session sess 
where ao.object_id = lo.object_id and lo.session_id = sess.sid; 

查看锁表进程SQL语句2:

select * from v$session t1, v$locked_object t2 where t1.sid = t2.SESSION_ID; 

杀掉锁表进程:
如有記錄則表示有lock,記錄下SID和serial# ,將記錄的ID替換下面的738,1429,即可解除LOCK

alter system kill session '738,1429';

【注】以上两步,可以通过Oracle的管理控制台来执行。

3.如果利用上面的命令杀死一个进程后,进程状态被置为"killed",但是锁定的资源很长时间没有被释放,那么可以在os一级再杀死相应的进程(线程),首先执行下面的语句获得进程(线程)号:

select spid, osuser, s.program 
 from v$session s,v$process p 
where s.paddr=p.addr and s.sid=24 (24是上面的sid) 

4.在OS上杀死这个进程(线程):
1)在unix上,用root身份执行命令:

kill -9 12345(即第3步查询出的spid) 

2)在windows(unix也适用)用orakill杀死线程,orakill是oracle提供的一个可执行命令,语法为:

orakill sid thread 

其中:
sid:表示要杀死的进程属于的实例名
thread:是要杀掉的线程号,即第3步查询出的spid。
例:

c:>orakill orcl 12345

相关文章

  • oracle杀掉锁表会话

    查看锁表进程SQL语句1: 查看锁表进程SQL语句2: 杀掉锁表进程:如有記錄則表示有lock,記錄下SID和se...

  • Oracle临时表

    Oracle临时表 临时表分为两种 会话级别(ON COMMIT PRESERVE ROWS;) 会话级临时表是指...

  • 临时表的合理运用

    oracle 可以创建两种临时表 1. 会话持有的临时表 CREATE GLOBAL TEMPORARY ( ...

  • mysql表级锁

    InnoDB表锁 - 读锁(显示指定) 语句: 结论: 表级读锁/会话session读操作写操作当前session...

  • MySQL锁表和解锁操作

    1、确定mysql有锁表的情况则使用以下命令查看锁表进程 2、杀掉查询结果中已经锁表的trx_mysql_thre...

  • Oracle 用户被锁解决方案

    一、先查询用户的session会话。 二、kill语句杀掉被锁进程(必须使用immediate语句,立即释放资源)...

  • Oracle锁表

    一、首先PL/SQL要以管理员的账号(system/admin等)登录,管理员的账号和密码根据个人设置而来,连接为...

  • Oracle 锁表

    问题报错 ORA-14411 该 DDL 不能与其他 DDL 并行运行处理办法 产生原因 数据库增删改语句未执行完...

  • Oracle锁表查询及解锁

    Oracle锁表查询及解锁kill进程简介

  • oracle表解锁2019-03-25

    oracle表解锁 第一步 查询被锁表(object_name),锁表对象(session_id) select ...

网友评论

    本文标题:oracle杀掉锁表会话

    本文链接:https://www.haomeiwen.com/subject/hxuenttx.html