2
対ページロックは、OracleでのPGとテーブルロックとの間に違いはあります表ロックOracleの
ないテーブルロックで
select * from emp for update;
結果?
そして
select * from emp where deptno=10 for update;
結果ページロックでは?
対ページロックは、OracleでのPGとテーブルロックとの間に違いはあります表ロックOracleの
ないテーブルロックで
select * from emp for update;
結果?
そして
select * from emp where deptno=10 for update;
結果ページロックでは?
Oracleではページロックのようなものはありません。 Oracleには行レベルのロックと表レベルのロックがあります。
これらのステートメントは両方とも、クエリが返すすべての行に対して行レベルのロックを作成します。最初のクエリは、クエリが実行されたSCNの時点でEMP
テーブルにあったすべての行に行レベルのロックを作成します。 2番目は、照会が実行されたSCNのDEPTNO
が10であるEMP
表にあったすべての行に行レベルのロックを作成します。どちらのクエリでも、テーブルの共有ロックが作成され、他のセッションでDDLを実行できないようにしますが、テーブルロックについて話している人はほとんどありません。