使用oracle数据库的过程中有可能会因为某些操作导致锁表,一旦发生了锁表的情况程序就无法正常使用了,因此要学会如何查看与杀掉锁表的进程。 查看锁表进程 或者 杀掉锁表进程 如果能查询出来记录,说明有锁表,这时候需要记录下sid和serial#,用于解除锁表 ...
查看锁表进程SQL语句 : 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 ...
2015-12-29 18:14 0 5209 推荐指数:
使用oracle数据库的过程中有可能会因为某些操作导致锁表,一旦发生了锁表的情况程序就无法正常使用了,因此要学会如何查看与杀掉锁表的进程。 查看锁表进程 或者 杀掉锁表进程 如果能查询出来记录,说明有锁表,这时候需要记录下sid和serial#,用于解除锁表 ...
-- 1. 查看被锁的表 SELECT p.spid, a.serial#, c.object_name, b.session_id, b.oracle_username,b.os_user_name FROM v$process p, v$session a, v ...
背景 在操作Oracle时,多人同时操作oracle数据库的同一张表的时候,经常会造成锁表现象,这时需要手动进行解锁。 步骤 以dba身份登录Oracle数据库(否则用户缺少杀掉进程权限,需要给用户分配权限) sqlplus / as sysdba,如下图 ...
--查看数据库引起锁表的SQL语句 --查看锁表 --杀掉锁表进程 --分别为SID和SERIAL#号 ...
然后找到进程号trx_mysql_thread_id,然后执行: ...
...
一般再pl/sql中常用:kill掉这个死锁锁表的进程: alter system kill session ‘sid,serial#’; alter system kill session ‘23,678234’; 不行 ...
-- 查看被锁对象 select object_name,machine,s.sid,s.serial# from v$locked_object l,dba_objects o ,v$session s where l.object_id ...