ホームページ  >  記事  >  データベース  >  Oracle がロック テーブルをクエリするためのステートメントは何ですか?

Oracle がロック テーブルをクエリするためのステートメントは何ですか?

WBOY
WBOYオリジナル
2022-01-25 11:47:2723975ブラウズ

Oracle では、select ステートメントを使用して、テーブルをロックするステートメントをクエリできます。このステートメントは、テーブル データに対して単純なクエリを実行するために使用されます。構文は「select*from v$session t1」です。 ,v$locked_object t2 (t1.sid= t2.SESSION_ID)。

Oracle がロック テーブルをクエリするためのステートメントは何ですか?

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

ロック テーブルをクエリする Oracle のステートメントは何ですか?

--ロック テーブル プロセスの SQL ステートメントを表示します。SQL ステートメント 1:

--ロックされたオブジェクト テーブル、データベース オブジェクト テーブル、データ セッション テーブル ロックされたオブジェクトに対応するセッションを取得するための関連付け;

select sess.sid, 
sess.serial#, 
lo.oracle_username, 
lo.os_user_name, 
ao.object_name, 
lo.locked_mode 
from v$locked_object lo, 
dba_objects ao, 
v$session sess 
where ao.object_id = lo.object_id and lo.session_id = sess.sid;

--ロック テーブル プロセス SQL ステートメントを表示します。 2:

select * from v$session t1, v$locked_object t2 where t1.sid = t2.SESSION_ID;

--ロックの原因となった SQL ステートメントを表示します。 table to be

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

--ロック テーブル プロセスを強制終了します:

--上記のクエリを通じて SID とシリアル番号を取得し、次の x、y を置き換えると、ロック状態のロックを解除できます。

alter system kill session 'x,y';

推奨チュートリアル: 「Oracle ビデオ チュートリアル

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

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