サンプル集  >  other  >  Oracle ロック解除
Oracle ロック解除
2017/05/19

Oracleでロックが発生した場合の解除手順です。

◆環境
OS Windows Server 2012 R2 Datacenter 64bit
Oracle 12c Release 12.1.0.1.0 64bit
SQL*Plus 11.2.0.3.0 64bit

ロックが発生しているか調べます。

SQL> select sid, serial# from v$session where sid in (select sid from v
$lock where type in ('TM', 'TX'));

 SID  SERIAL#
---- --------
  98    59671
  42    38777
  69    54833

ロックが3つ発生しています。

ロックが発生しているセッションをkillします。

SQL> alter system kill session '98, 59671';
SQL> alter system kill session '42, 38777';
SQL> alter system kill session '69, 54833';

SQL文まで確認したい場合、v$sqltextをjoinします。

SQL> SELECT vs.SID, vs.SERIAL#, vt.sql_text FROM V$SESSION
JOIN v$sqltext vt
ON vs.sql_address = vt.address
AND vs.sql_hash_value = vt.hash_value
WHERE vs.SID IN (
SELECT SID FROM V$LOCK
WHERE TYPE IN ('TM','TX')
)

▲ PageTop  ■ Home


Copyright (C) 2017 ymlib.com