資料庫中的表被鎖了

2021-06-13 10:57:08 字數 839 閱讀 9320

1.下面的語句用來查詢哪些物件被鎖:

select object_name,machine,s.sid,s.serial#

from v$locked_object l,dba_objects o ,v$session s

where l.object_id = o.object_id and l.session_id=s.sid;

2.下面的語句用來殺死乙個程序:

alter system kill session '24,111'; (其中24,111分別是上面查詢出的sid,serial#)

【注】以上兩步,可以通過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資料庫表被鎖

1 資料庫表被鎖的現象 在運算元據庫時,有的時候我們會很突然的遇到資料庫報下面這個錯誤 sql view plain copy ora 00054 resource busy andacquire with nowait specified 第乙個可能的原因是在lock table 和select ...

mysql資料庫中查詢表是否被鎖

檢視表是否被鎖 直接在mysql命令列執行 show engine innodb status g。檢視造成死鎖的sql語句,分析索引情況,然後優化sql.然後show processlist,檢視造成死鎖占用時間長的sql語句。show status like lock 檢視表被鎖狀態和結束死鎖步...

MySQL 資料庫中查詢是否被鎖表

直接在mysql命令列執行 show engine innodb status g。檢視造成死鎖的sql語句,分析索引情況,然後優化sql.然後show processlist,檢視造成死鎖占用時間長的sql語句。show status like lock 1.檢視表被鎖狀態show open ta...