2012-04-20 9 views
2

対ページロックは、OracleでのPGとテーブルロックとの間に違いはあります表ロックOracleの

ないテーブルロックで

select * from emp for update; 

結果?

そして

select * from emp where deptno=10 for update; 

結果ページロックでは?

答えて

6

Oracleではページロックのようなものはありません。 Oracleには行レベルのロックと表レベルのロックがあります。

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

関連する問題