查殺被鎖資源的程序 LINUX作業系統下

2021-04-30 08:54:02 字數 1071 閱讀 9318

問題描述:出現錯誤號為'ora-04021 等待鎖定物件..' 的錯誤資訊

0.以dba身份登入資料庫

一句等於下面三句sql:

select t.name,t2.sid,t2.serial# from v$db_object_cache t

join v$access t1 on t.name = t1.object

join v$session t2 on t1.sid = t2.sid

where t.owner='cwt3_taxi1

'and locks!='0'

and t.name = 'taxi_transaction';

注:黑體下劃線為變數

1.查詢被鎖的資源

select * from v$db_object_cache where owner='cwt3_taxi1' and locks!='0';

2.根據資源名查詢此資源對應的sid

select * from v$access where owner='cwt3_taxi1' and object ='taxi_transaction';

3.根據sid查詢t.serial#

select t.sid,t.serial# from v$session t where t.sid = '496';

4.殺掉此session

alter system kill session '496,26791';(496:sid ; 26791:serial#)

說明:如果在執行第4步的時候,出現"ora-00031 ..." 錯誤,說明你在資料庫中殺不了此程序

1.查詢linux系統中,此資源對應的程序號

select spid, osuser, s.program from v$session s,v$process p where s.paddr=p.addr and s.sid = '496';

2.在linux理把它kill掉

檢視程序:ps   -ef|more

殺掉程序:kill   -9  程序號

5.ok,大功告成

Linux下查殺程序的方法說明

1 查程序 有些平台會對有些引數不支援,這點請注意 比如有的平台支援ps a,有的平台不支援,但是ps x是支援的,比如我當時使用的乙個板子是aml t962e android7.1的板子就出現過這情況。ps 命令查詢與程序相關的pid號 ps a 顯示現行終端機下的所有程式,包括其他使用者的程式。...

確定程序被鎖住的其他資源

確定程序被鎖住的其他資源 if exists select from master.sys.sysprocesses where spid in select blocked from master.sys.sysprocesses begin 確定程序被鎖住的其他資源 select spid 程序...

linux 程序的資源使用

linux核心追蹤每個程序使用的資 比如 堆疊 段 資料段 執行的位置 int getrusage int who struct rusage usage 檢查程序本身,子程序或者兩者之和的資源使用 函式返回乙個usage結構,存放程序使用的資源 usage是很長的linux只用前五項 who指明使...