最初由 lawrencium 發布
我寫的指令碼,有點慢,將就著用吧
--kill session語句
alter system kill session'50,492';
--以下幾個為相關表
select * from v$lock;
select * from v$sqlarea;
select * from v$session;
select * from v$process ;
select * from v$locked_object;
select * from all_objects;
select * from v$session_wait;
--1.查出鎖定object的session的資訊以及被鎖定的object名
select l.session_id sid, s.serial#, l.locked_mode,l.oracle_username,
l.os_user_name,s.machine, s.terminal, o.object_name, s.logon_time
from v$locked_object l, all_objects o, v$session s
where l.object_id = o.object_id
and l.session_id = s.sid
order by sid, s.serial# ;
--2.查出鎖定表的session的sid, serial#,os_user_name, machine name, terminal和執行的語句
--比上面那段多出sql_text和action
select l.session_id sid, s.serial#, l.locked_mode, l.oracle_username, s.user#,
l.os_user_name,s.machine, s.terminal,a.sql_text, a.action
from v$sqlarea a,v$session s, v$locked_object l
where l.session_id = s.sid
and s.prev_sql_addr = a.address
order by sid, s.serial#;
--3.查出鎖定表的sid, serial#,os_user_name, machine_name, terminal,鎖的type,mode
select s.sid, s.serial#, s.username, s.schemaname, s.osuser, s.process, s.machine,
s.terminal, s.logon_time, l.type
from v$session s, v$lock l
where s.sid = l.sid
and s.username is not null
order by sid;
Oracle 鎖表 鎖表查詢 結束鎖表程序
1.oracle 鎖表 lock table 表名字in exclusive mode 所記錄 select from 表名字 for update 2.oracle 鎖表查詢 selectb.owner,b.object name,a.session id,a.locked mode from v...
鎖表原因查詢
下午測試人員報告prplrforecast表不能for upadate了,問是不是這張表被鎖了。通過以下sql查詢果然發現此表被鎖。發現prplrforecast表果然被鎖。從machine結果看所表的sql是從應用伺服器caic16上發出的。檢視sid 336的session在等待什麼。從等待事件...
informix 查詢 鎖表
在informix中查詢select,表有千百萬條資料,結構導致松鼠死掉,沒有理會!繼續在此表中查詢,但是一直查不出來,sql一直在執行。原來是上個select造成鎖表,導致這個查詢無法進行。1 查詢出執行select語句的sql onstat g sql grep select 4855470 s...