トランザクション ロックとユーティリティ ロックの比較 - Teradata Tools and Utilities

Teradata Archive/Recovery Utilityリファレンス

Product
Teradata Tools and Utilities
Release Number
16.20
Published
2018年4月
Language
日本語
Last Update
2018-09-07
dita:mapPath
ja-JP/byt1512701979771.ditamap
dita:ditavalPath
ja-JP/byt1512701979771.ditaval
dita:id
B035-2412
Product Category
Teradata Tools and Utilities

ブロッキングの観点からは、HUTロックの動作はトランザクション ロックと同じです。 例えば、読み取りロックを設定すると、別のジョブは書き込みロックまたは排他的ロックを要求できなくなります。 反対に、書き込みロックを設定すると、読み取りロック、書き込みロック、または排他的ロックを要求できなくなります。 排他的ロックは、他のすべての種類のロックを無効にします。 あるオブジェクトのHUTロックとトランザクション ロックが競合すると、両方がトランザクション ロックまたはHUTロックであるかのように、お互いをブロックします。

トランザクション ロックとHUTロックには、以下の2つの相違点があります。
  • 永続性

    トランザクション ロックは、トランザクションが継続している間だけ存在します。トランザクションが完了するかアボートされた後、ロックは解除されます。 HUTロックは、より長く続きます。 HUTロックは、RELEASE LOCKコマンドを明示的に発行するか、またはロック操作(ARCHIVEまたはRESTOREコマンドの実行など)が正常に完了し、かつ、RELEASE LOCKオプションが指定されていない限り、削除されません。 ロックは、コマンドが失敗した場合、ARCジョブが終了した場合、Teradataシステムが再始動した場合にも残ります。

  • スコープ

    トランザクション ロックには、セッション スコープがあります。つまり、このロックは、ロッキング トランザクションを実行しているセッションによって実行依頼されている任意のコマンドに適用されます。 同じオブジェクトに対して実行している別のセッションは、同じユーザーが実行している場合にも、独自のロックを要求します。

    HUTロックには、ユーザー スコープがあります。つまり、このロックは、ユーザーがオブジェクトに関して実行している任意のTeradata ARC操作に適用されます。 ユーザーは、1つのオブジェクトに対してHUTロックを一度に1つだけ所有する必要があります。 HUTロックを使用する場合、そのユーザーはTeradata ARC操作でロックされたオブジェクトにアクセスできますが、他のユーザーはオブジェクトに対して競合するHUTロックを取得できなくなります。 さらに、HUTロックは、オブジェクトに対して競合するトランザクション ロック試行をすべてブロックします。これは、トランザクション ロックが同じユーザーによって行なわれている場合も同様です。 HUTロックは1つしかありません。 したがって、そのユーザーの別のジョブがオブジェクトにアクセス中である場合にも、ユーザーがオブジェクトにRELEASE LOCK操作を行なった場合には、常に既存のHUTロックが解除されます。

別のTeradata Archive/Recovery Utilityジョブからアクセスされているデータベースまたはテーブルのユーティリティ ロックを解除すると、ARCMAINやデータベースでデータ破壊や予期しないエラーが発生する可能性があります。

解除されていないHUTロックは、RDBMSの再起動が発生した場合も有効です。

トランザクションのロッキングと処理については、<SQLリクエストとトランザクション処理、B035-1142>を参照してください。