1. 背景:
SQL*Plusの実行を途中強制中断したたころ、テーブルがロックされてしまい、更新できない状態に陥りました。従って、ロック状態の確認及び解除が必要です。
2. oracle テーブルロック確認(テーブルをキー)
SELECT
object_name,
oracle_username,
s.sid,
s.serial#,
to_char(s.logon_time,'YYYY/MM/DD HH24:mi:SS DAY'),
s.program,
sql_address
FROM v$locked_object l,
dba_objects o,
v$session s
WHERE l.OBJECT_ID = o.OBJECT_ID
AND l.SESSION_ID = s.SID
AND object_name = 'テーブル名'
;
3. ロックを解除
//sid, serial#は確認結果の値で埋めます、例:'100,555'
alter system kill session 'sid, serial#'
コメント欄