ロック モード - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - データベース ユーティリティ

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Published
2021年7月
Language
日本語
Last Update
2021-09-23
dita:mapPath
ja-JP/xha1591998860283.ditamap
dita:ditavalPath
ja-JP/wrg1590696035526.ditaval
dita:id
B035-1102
Product Category
Software
Teradata Vantage
データベース オブジェクトに対して、以下のロック モードを指定できます:
  • Access
  • Read
  • Write
  • Exclusive

ロック モードの競合

すべての未解決ロック リクエストについては、ロック モードの競合を調べることにより、データベース オブジェクトに対して同時に付与されるロック リクエストを判別できます。競合の内容を以下のテーブルにまとめておきます。

ロック モード 暗黙Access 暗黙Read 暗黙Write 暗黙Exclusive Access Read Write Exclusive
暗黙Access X X X X X X X  
暗黙Read X X X X X X    
暗黙Write X X X X X      
暗黙Exclusive X X X X        
Access X X X   X X X  
Read X X     X X    
Write X       X      
Exclusive                

明示および暗黙ロック モード

明示ロック モードは、データベース オブジェクトに対するアクセスを制限するための実際のロックです。通常は、実際のトランザクション処理の開始時点で取得されます。

暗黙ロック モードは、Teradataロック マネージャが明示ロックを取得する過程で使用する先取りロックです。先取りロックが使用されるのは、明示ロックが1つのステップではなく一連のステップによって取得される場合です。

例えば、テーブル レベルの明示ロックの取得について考えてみましょう。テーブル レベルの明示ロックを取得する前に、データベース レベルの暗黙ロックとテーブル レベルの暗黙ロックをまず取得しなければなりません。

ロック モードは、Lock Display出力のモード フィールドに表示されます。暗黙ロックには、アスタリスク(*)が付いているので、見分けがつきます。明示ロックの場合は、アスタリスクが付きません。

ロック リクエストのステータス

データベース オブジェクトに対するロック リクエストが認められるか、それともブロックされるかは、以下の条件によって決まります:
  • すべての未解決ロック リクエストに関するロック モードの競合
  • リクエストのロック レベルに基づくすべての暗黙ロックの取得が成功したかどうか

Lock Display出力には、認められたロック リクエストと、ブロックされたロック リクエストのセクションがそれぞれ別個に設けられています。ブロックされたリクエストの場合は、出力内のデータベース オブジェクトのレベルに関連したフィールドにハッシュ記号(#)が付きます。例えば、テーブル レベルのリクエストがブロックされた場合は、テーブルのフィールドに#記号が付くことになります。