ロックを解除するには、そのロックを保持するセッションを切る必要があります。
セッションを切るには
ALTER SYSTEM KILL SESSION 'SID,SERIAL#'
を実行します。ロックを保持しているSID,SERIAL#は、V$SESSIONとV$LOCKから取得します。
SELECT SID,SERIAL#,USERNAME,STATUS,SERVER,SCHEMANAME,OSUSER,MACHINE,PROGRAM
FROM V$SESSION
WHERE SID IN (SELECT SID FROM V$LOCK)
セッションのステータスがKILLEDとなり、その後セッション削除され、それに紐付くロックも解除されます。(V$LOCK参照)
セッションがKILLEDとなったままで、ロックも解除されない場合は、OSのkill -9コマンドでサーバプロセスをkillする必要があります。
OSのプロセスIDは、V$SESSIONとV$PROCESSから取得します。
SELECT SES.SID, SES.SERIAL#, PROC.SPID, SES.STATUS
FROM V$PROCESS PROC, V$SESSION SES
WHERE PROC.ADDR = SES.PADDR
上記SQLから取得したSPIDをkillします。
killコマンドは以下のように使用します。この場合、spidは12220としています。