ホームページ  >  記事  >  データベース  >  Oracle のロックされたテーブルをクエリする方法

Oracle のロックされたテーブルをクエリする方法

WBOY
WBOYオリジナル
2022-01-26 10:37:5264877ブラウズ

Oracle では、SELECT ステートメントを使用して、ロックされたテーブルをクエリできます。このステートメントは、単にデータ情報をクエリするために使用されます。構文は、「select*from v$locked_object a,dba_objects b where b.object_id=」です。 a.object_id" 。

Oracle のロックされたテーブルをクエリする方法

このチュートリアルの動作環境: Windows 10 システム、Oracle 11g バージョン、Dell G3 コンピューター。

Oracle でロックされたテーブルをクエリする方法

1. テーブルがロックされている理由をクエリします

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#;

2. ロックされたテーブルをクエリします

select b.owner,b.object_name,a.session_id,a.locked_mode from v$locked_object a,dba_objects b where b.object_id = a.object_id

3 .どのセッションが原因かを確認します

select b.username,b.sid,b.serial#,logon_time from  v$locked_object a,v$session b where a.session_id = b.sid order by b.logon_time

4.対応するプロセスを強制終了してロックを解除します

alter system kill session'135,397'

--135はsid、397はシリアル

#注: このユーザーDBA 権限が必要です。そうでない場合は、テーブルとビューが見つからないというメッセージが表示されます。

推奨チュートリアル: "Oracle Video Tutorial"

以上がOracle のロックされたテーブルをクエリする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。