ARCHIVE/RESTORE/COPY/BUILD文にSKIP JOIN INDEXオプションが追加されました。 SKIP JOIN INDEXオプションの目的は、それぞれの文での結合インデックスの処理をスキップすることです。 ARCHIVEの場合は、結合/ハッシュ インデックスを再作成するためにDDLを読み取ってアーカイブするロジックが排除されます。 RESTORE/COPYおよびBUILDの場合は、ターゲット システム上で復元/コピーまたは作成処理を行なうテーブルに既存の結合/ハッシュ インデックスがあれば、復元/コピーまたは作成処理の前に削除するロジックが排除されます。
SKIP JOIN INDEXを指定した場合、Teradata Tools and Utilities 13.00.00より前まであった結合/ハッシュ インデックスの手動処理に戻る必要がはいます。特に復元/コピーおよび再ビルドの場合は、ターゲット システム上のすべての既存の結合/ハッシュ インデックスを手動で破棄し、指定のテーブルを復元、コピー、または作成した後で手動で再作成する必要がはいます(結合インデックスの削除と再作成を参照)。
必要な場合にユーザーが結合/ハッシュ インデックスを削除しなかった場合は、指定したテーブルを復元しようとすると、Teradata Databaseから次のエラー メッセージが返されます。
5468: Cannot delete database because either this database has a join or hash index in it or one of its tables has a join or hash index defined on it.(このデータベース内に結合インデックスまたはハッシュ インデックスがあるか、テーブルのいずれかに結合インデックスまたはハッシュ インデックスが定義されているために、データベースを削除できません。)
ARCHIVE、RESTORE/COPY、およびBUILDスクリプト内でSKIP JOIN INDEXオプションを指定する場合のユース ケースを下記のテーブルに示します。また、復元/コピーまたは作成操作の前にユーザーが手動で結合/ハッシュインデックスを削除する必要があるかどうかも示します。
SKIP JOIN INDEXの設定 | |||||
---|---|---|---|---|---|
使用ケース | Archive | Restore | Build | 結合インデックスの削除 | ケースを使用する可能性 |
ケース1 | 0(1) | 0 | 0 | Teradata ARC | 可能 |
ケース2 | 0 | 0 | 1 | ユーザー | 不可能 |
ケース3 | 0 | 1(2) | 0 | ユーザー | 不可能 |
ケース4 | 0 | 1 | 1 | ユーザー | 不可能 |
ケース5 | 1 | 0 | 0 | Teradata ARC | 可能 |
ケース6 | 1 | 0 | 1 | ユーザー | 不可能 |
ケース7 | 1 | 1 | 0 | ユーザー | 不可能 |
ケース8 | 1 | 1 | 1 | ユーザー | 不可能 |
(1)値0は、スクリプト内にSKIP JOIN INDEXを指定しないことを意味します。 (2)値1は、スクリプト内にSKIP JOIN INDEXを指定することを意味します。 |
- ARCHIVEで指定した場合、アーカイブ ファイルには結合インデックス情報が含まれません。
- RESTOREで指定した場合、結合インデックス情報は復元されません。
- BUILDで指定した場合、結合インデックス情報は作成されません。
SKIP JOIN INDEXオプションを設定しているARCHIVE、RESTORE、BUILDの各スクリプトの例を以下に示します。 上記のテーブルを踏まえて、このオプションが不要な場合には、skip join indexが指定されている行を削除してください。