使用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 ...