oracle/mysql查看锁表与解锁表

来源:互联网 发布:犀牛软件官网 编辑:程序博客网 时间:2024/05/16 11:17

在开发的时候,有时候不管是通过cmd操作数据库、还是通过数据库工具操作数据库,有时候不正当的操作会将表锁了:从开发的角度来看,表现为当在程序中通过代码对数据库进行更新、删除、添加操作时候,代码执行无效,有时候还会等待与异常抛出。

在ORCLA与MYSQL中,如何查看锁表与解锁表

1 oracle

  • 查看锁表进程SQL:
select * from v$session t1, v$locked_object t2 where t1.sid = t2.SESSION_ID;  
  • 杀掉进程解锁 (在查锁sql执行后有记录说明有锁表,记录结果的SID,在下面的SQL中进行执行,可解除LOCK)
alter system kill session 'SID';  

2 mysql

  • 查看是否有锁表SQL:(注意大小写)
show OPEN TABLES where In_use > 0;  
  • 杀掉锁表进程解锁表:
show processlist; (查看锁表的进程-得到PROCESSID)  
kill pid;