17.10 - ROWKEY - Advanced SQL Engine - Teradata Database

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

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Release Date
2021年7月
Content Type
構成
Publication ID
B035-1102-171K-JPN
Language
日本語 (日本)

ROWKEYコマンドは、付与およびブロックされた行レベルのロックを表示します。

行レベルのロックを要求するためにロック マネージャは行キー値を使用します(ロックと行パーティションで説明)。これによりロック マネージャは単一パーティションの行に制限される行レベルのロックを要求できるようになります。
  • 行パーティション テーブルについて、ロック中の行キーのIPN部分がゼロ以外の値である場合、ロックは指定パーティションの行にのみ適用されます。これらの行にはロック中の行キーの行ハッシュ部分と一致する行ハッシュ値が含まれています。

    ロック中の行キーのIPN部分がゼロの場合、ロックは行キーの行ハッシュ部分に一致する、テーブルのすべてのパーティションの行に適用されます。

  • 非行パーティション テーブルの場合、行キーのパーティション番号部分は常にゼロで、行キーの行ハッシュ部分に一致する行ハッシュ値を持つテーブルの行がロックされます。

構文規則

{ ROWKEY | ROWK } [
  DBname.Tablename TypeAndIndex [,] Partition RowHash1 RowHash2 |
  ALL
]

構文要素

DBname
データベースの名前。
Tablename
DBnameのテーブルの名前。
TypeAndIndex
サブテーブルの識別子。
テーブルは論理上、1つまたは複数のサブテーブルからなっています。TypeAndIndexはこれらのサブテーブルの1つを指定します。例えば、次のようになります。
  • 0はテーブルのヘッダーです。
  • 16進の400 (10進の1024)はプライマリ サブテーブルです。
  • 16進値の404、408、40C (10進値の1028、1032、1036)およびそれ以上の+4増分値は、セカンダリ インデックス サブテーブルです。
  • 16進値の800、C00、1000 (10進値の2048、3072、4096)およびそれ以上の16進値400 (10進値1024)の倍数は、フォールバック サブテーブルです。
Partition
行キー ロックの内部パーティション番号。10進数および16進数の数値が可能です。10進数の後にはピリオドが続く必要があります。
非行パーティション テーブルの場合、Partitionはゼロです。
RowHash1
RowHash2
ロック情報が表示される行を表わす行ハッシュの1番目と2番目の部分。
10進数および16進数の数値が可能です。10進数の後にはピリオドが続く必要があります。
ALL
行キーまたは行ハッシュのロックが適用されているすべてのテーブルが対象になります。
オブジェクト名を指定しない場合は、ALLがデフォルトになります。

使用上の注意

次のテーブルは、ROWKEYコマンド出力の構成要素を示したものです。

構成要素 指定内容
Tran ロックが適用されている現在実行中のトランザクション。
Hash Locks トランザクションによって適用される行ハッシュ ロックの合計数。
Range Locks トランザクションによって適用される範囲ロックの合計数。
RowKey Locks トランザクションによって適用される行キー ロックの合計数。
Host 論理ホストID (トランザクションの起点)。
Session トランザクションのセッション番号。
Mode ロック モードのタイプ:
  • Access
  • Read
  • Write
  • Exclusive
User ロック リクエストの対象であるログオンID。
Database 付与またはブロックされたロックを持つデータベースの名前。
Table 付与またはブロックされたロックを持つテーブルの名前。
PLLKind 適用されるパーティション レベルのロックの種類。これは行パーティション テーブルのロックに対してのみ表示されます。
Subtable ID 行キー ロックが適用されるサブテーブルのID
Partition1とPartition2 ロックされている行の範囲を開始および終了する行キーの内部パーティション番号。ROWKEYコマンドで表示されるパーティション レベルのロックの場合、Partition1とPartition2は常に一致します。

内部パーティション番号は、物理行のrowidの部分です。16進で [[[hhhh.] hhhh.] [hhhh.hhhh]]、またはゼロと表示されます。

RowHash1とRowHash2 ロック情報が表示される行を表わす行ハッシュの1番目と2番目の部分。

10進数および16進数の数値が可能です。10進数の後にはピリオドが続く必要があります。

以下の例で、テーブルRPT1は行パーティション テーブルで、テーブルNOTRPT2は非パーティション テーブルです。

例: ROWKEYコマンドの例

この例では、以下の付与されたロック リクエストを示します。
  • デッドロックを防ぐためにロックのシリアル化に使用されるプロキシ ロック
  • 行パーティション テーブルに行ハッシュ31158,40503を持つ行上のWRITEロック。パーティション番号3の行のみがロックされます。
  • 非パーティション テーブルに行ハッシュ31158,40503を持つ行上のWRITEロック。
-> Please enter your selection from the list:
 rowkey
- The following amps are available:

    0     1     2     3

-> Which amp(s) do you want to request on (S=Sampling/A=all/C=cancel/Q=quit):
 1

---------------- AMP 1 REPORTS 5 LOCK ENTRIES -------------

                   GRANTED LOCK REQUEST(S):

Tran: 30719 00015DCA
Hash Locks     :          1

Range Locks    :          6

RowKey Locks   :          2

Host:  1025 Session:     0, 1003 Mode: Rd   User: EXAMPLE
Database: EXAMPLE  Table: RPT1
PLLKind:  RowHash + All Partitions    Subtable ID:  1024 
 PROXY LOCK 

                            : Partition1 :                   0 Row Hash1: 65535,65535
                            : Partition2 :                   0 Row Hash2: 65535,65535

Host:  1025 Session:     0, 1003 Mode: WR   User: EXAMPLE
Database: EXAMPLE  Table: RPT1
PLLKind:  RowKey                      Subtable ID:  1024

                            : Partition1 :                0003 Row Hash1: 31158,40503
                            : Partition2 :                0003 Row Hash2: 31158,40503

Host:  1025 Session:     0, 1003 Mode: WR   User: EXAMPLE
Database: EXAMPLE  Table: NOTRPT2 
 Row Hash Lock                        Subtable ID:  1024
 Row Hash1: 31158,40503

                   BLOCKED LOCK REQUEST(S):

Tran: 30719 00015E1B
Host:     0 Session:     0,    0 Mode: WR   User: ALL
Database: EXAMPLE  Table: RPT1#
PLLKind:  RowKey                      Subtable ID:  1024

                            : Partition1 :                0003 Row Hash1: 31158,40503
                            : Partition2 :                0003 Row Hash2: 31158,40503
Tran: 30719 00015E1C
Host:     0 Session:     0,    0 Mode: WR   User: ALL
Database: EXAMPLE  Table: NOTRPT2 
 Row Hash Lock                        Subtable ID:  1024
 Row Hash1: 31158,40503#



-> Please enter your selection from the list:
 rowkey example.rpt1 400, 3 31158. 40503.
- The following amps are available:

    0     1     2     3

-> Which amp(s) do you want to request on (S=Sampling/A=all/C=cancel/Q=quit):
 1

---------------- AMP 1 REPORTS 2 LOCK ENTRIES -------------

                   GRANTED LOCK REQUEST(S):

Tran: 30719 00015DCA
Hash Locks     :          1

Range Locks    :          6

RowKey Locks   :          1

Host:  1025 Session:     0, 1003 Mode: WR   User: EXAMPLE
Database: EXAMPLE  Table: RPT1
PLLKind:  RowKey                      Subtable ID:  1024

                            : Partition1 :                0003 Row Hash1: 31158,40503
                            : Partition2 :                0003 Row Hash2: 31158,40503

                   BLOCKED LOCK REQUEST(S):

Tran: 30719 00015E1B
Host:     0 Session:     0,    0 Mode: WR   User: ALL
Database: EXAMPLE  Table: RPT1#
PLLKind:  RowKey                      Subtable ID:  1024

                            : Partition1 :                0003 Row Hash1: 31158,40503
                            : Partition2 :                0003 Row Hash2: 31158,40503



-> Please enter your selection from the list:
 rowkey example.notrpt2 400, 0 31158. 40503.
- The following amps are available:

    0     1     2     3

-> Which amp(s) do you want to request on (S=Sampling/A=all/C=cancel/Q=quit):
 1

---------------- AMP 1 REPORTS 2 LOCK ENTRIES -------------

                   GRANTED LOCK REQUEST(S):

Tran: 30719 00015DCA
Hash Locks     :          1

Range Locks    :          6

Host:  1025 Session:     0, 1003 Mode: WR   User: EXAMPLE
Database: EXAMPLE  Table: NOTRPT2 
 Row Hash Lock                        Subtable ID:  1024
 Row Hash1: 31158,40503

                   BLOCKED LOCK REQUEST(S):

Tran: 30719 00015E1C
Host:     0 Session:     0,    0 Mode: WR   User: ALL
Database: EXAMPLE  Table: NOTRPT2 
 Row Hash Lock                        Subtable ID:  1024
 Row Hash1: 31158,40503#