1、檢視資料庫鎖,診斷鎖的**及型別: select object_id,session_id,locked_mode from v$locked_object; 或者用以下命令:
select b.owner,b.object_name,l.session_id,l.locked_mode from v$locked_object l, dba_objects b where b.object_id=l.object_id
select lpad(' ',decode(l.xidusn ,0,3,0))||l.oracle_username user_name, o.owner,o.object_name,o.object_type,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 order by o.object_id,xidusn desc
2、找出資料庫的serial#,以備殺死:
select t2.username,t2.sid,t2.serial#,t2.logon_time from v$locked_object t1,v$session t2 where t1.session_id=t2.sid order by t2.logon_time;
3、殺死該session
--alter system kill session 'sid,serial#';
alter system kill session '23, 1647';
用步驟2中查出來的記錄,對應進該語句刪除
-- 誰鎖了表 哪台機器鎖了表
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#;
-- 所有鎖住的表 和 被那個程式鎖的表
select /*+ rule */ s.username,
decode(l.type,'tm','table lock',
'tx','row lock',
null) lock_level,
o.owner,o.object_name,o.object_type,
s.sid,s.serial#,s.terminal,s.machine,s.program,s.osuser
from v$session s,v$lock l,dba_objects o
where l.sid = s.sid
and l.id1 = o.object_id(+)
and s.username is not null;
-- 詢到誰鎖了表,而誰在等待。
select /*+ rule */ lpad(' ',decode(l.xidusn ,0,3,0))||l.oracle_username user_name,
o.owner,o.object_name,o.object_type,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
order by o.object_id,xidusn desc;
-- 要執行的解鎖語句
select distinct 'alter system kill session ''' || s.sid || ',' ||s.serial# || '''' || ';'
from v$locked_object l, all_objects o, v$session s
where l.object_id = o.object_id
and l.session_id = s.sid;
給鎖住的行解鎖(oracle)
1 檢視資料庫鎖,診斷鎖的 及型別 select object id,session id,locked mode from v locked object 或者用以下命令 select b.owner,b.object name,l.session id,l.locked mode from v ...
oracle表鎖住 解鎖辦法
第一種方法 用系統賬戶如sys as sysdba 登入進去 1 檢視資料庫鎖,診斷鎖的 及型別 select object id,session id,locked mode from v locked object 或者用以下命令 select b.owner,b.object name,l.s...
Oracle給使用者解鎖的方法
紹oracle給使用者解鎖的方法,希望那個通過括在oracle中新增使用者 賦權 修改密碼 解鎖實現oracle給使用者解鎖。本文能給大家有所幫助。新增使用者 隨著使用者的建立,自動產生與使用者同名的schema create user tester profile default identifi...