- 特定のサブテーブルの行IDがその他のサブテーブルの行IDと矛盾していないかどうかをチェックします。これは、さまざまなサブテーブルの行IDのリストを他のサブテーブルの行IDのリストと比較することによって行ないます。
- 基本およびフォールバック行のチェックサムを計算して比較します。
- ハッシュ コードがそれぞれのサブテーブルの行位置を正しく反映しているかどうかも検証します。
次のテーブルは、特定のレベル2のチェックについて要約しています。これらのチェックは、すべてのチェック レベルで実行された一般的なチェックに加えて行なわれます。これらの一般的なチェックの詳細については、CheckTableの一般的なチェックを参照してください。
| チェックされたオブジェクト | CheckTableが行なう事柄 |
|---|---|
| データ サブテーブル |
レベル2のチェックはオンライン状態の全AMPにあるすべての基本およびフォールバック データ行で実行されます。CheckTableは、ダウンしているAMPのデータはチェックしません。利用不能なAMPがあった場合は、行の代替(基本またはフォールバック)コピーがそのAMPにあったものとみなし、行に対する基本とフォールバックのデータについてチェックは実行されません。しかし、CheckTableはすべてのサブテーブルをスキャンして、基本とフォールバックの間に矛盾以外の問題がないかどうかのチェックを継続します。 |
| LOBサブテーブル |
|
| USI |
基本行とフォールバック行を比較するチェックの場合、CheckTableはフォールバックを持つテーブルのみをチェックします。 CheckTableは、AMPが利用不能であるために参照できない基本またはフォールバック行はチェックしません。 |
| NUSI |
|
| 参照インデックスのチェック |
参照インデックス サブテーブルがフォールバックの場合、Teradata Databaseはサブテーブルの基本コピーから参照インデックス行の行IDを使用します。
|
| SJI |
SJIは、テンポラル固有性制約のあるテンポラル テーブルのTeradata Databaseにより生成されます。テンポラル テーブルと制約の詳細については、<Teradata Vantage™ テンポラル テーブル サポート、B035-1182>を参照してください。 |
レベル2チェックのスプール領域要件
- RID = 32,020 * (# of rows / 3,200)
- SIS = (52 * # of rows) + (3,000,000 * # of AMPs)
行数を計算するためには、基本データ テーブル内の行数を計算しなければなりません(プライマリ インデックス テーブルと同じ)。次のテーブルは、上記の公式で必要な値とスプール領域を示しています。
| 値 | このスプール領域を必要とするもの |
|---|---|
| RID | データのサブテーブル。 |
| SIS | 最大のセカンダリ インデックス サブテーブル。固有か非固有かは関係ありません。 |
したがって、セカンダリ インデックスを含んだフォールバックでないテーブルでレベル2のチェックを実行するのに、SIS は次の値に等しい合計スプール領域が必要になります。
RID + (SIS*2)テーブルにフォールバックが含まれている場合には、SIS は、以下の計算式で求めたスプール領域が必要になります。
2 *(RID + (SIS*2))PARALLELモードが指定されている場合には、必要なスプール領域の合計は、チェック対象となっている各表で必要なスプール領域の合計になります。