EXCLUDE TABLESキーワード - 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

データベース レベルのRESTORE時には、EXCLUDE TABLESオプションを使用して、アーカイブ ファイルからターゲット データベースへの1つまたは複数のオブジェクトの復元をスキップすることができます。 オブジェクトを除外した場合、Teradata ARCは指定したオブジェクトのディクショナリ情報やオブジェクト データを一切復元しません。 指定したオブジェクトが復元先のデータベースにすでに存在している場合、データベース内のオブジェクトはRESTORE操作の影響を受けません。 指定したオブジェクトの情報もデータも復元されないので、EXCLUDE TABLESオプションは、復元時に復元先データベースから既存のオブジェクトが削除されないようにする目的で使用することも可能です。

EXCLUDE TABLESオプションを使用すれば、アーカイブ ファイルからのオブジェクトの復元をスキップすることができます。 そのオブジェクトが復元先のデータベースにすでに存在している場合、データベース内のオブジェクトはRESTORE操作の影響を受けません。 EXCLUDE TABLESオプションを指定せずにRESTOREを実行した場合は、ターゲット オブジェクトが削除され、アーカイブ ファイル内に保存されているそのオブジェクトのディクショナリ情報およびデータで置き換えられます。

EXCLUDE TABLESオプションを使用すれば、アーカイブ ファイルから除外されたオブジェクトの復元をスキップすることができます。 アーカイブ時にオブジェクトを除外した場合、そのオブジェクトに対してアーカイブされるのは、ディクショナリ情報とテーブル ヘッダーだけです。オブジェクト データはアーカイブされません。 除外されたオブジェクトを復元した場合は、ターゲット オブジェクトが削除され、そのオブジェクトのディクショナリ情報で置き換えられます。 しかし、アーカイブ ファイル内にはそのオブジェクトに対応するデータがないので、データは復元されず、空のオブジェクトが作成されます。 アーカイブの時点でオブジェクトが除外されていたことが原因で既存のオブジェクトが空のオブジェクトに置換されるような事態を防ぐためには、EXCLUDE TABLESオプションを使用して、そのようなオブジェクトの復元をスキップします。 EXCLUDE TABLESオプションを使用することにより、復元先データベースにそのオブジェクトが存在している場合であっても、そのオブジェクトはRESTORE操作の影響を受けなくなります。

EXCLUDE TABLESオプションを使用すれば、復元先データベースから新規オブジェクトが削除されないようにすることができます。 データベース レベル オブジェクトの通常のRESTORE時には、アーカイブ ファイルからオブジェクトが復元される前に、復元先データベース内の全オブジェクトが削除されます。 アーカイブ処理以降に新しいオブジェクトが復元先データベースに追加されていた場合には、アーカイブ ファイル内にはその新規オブジェクトに対応するアーカイブ データがないという状況になります。 EXCLUDE TABLESオプションを指定せずにRESTOREを実行した場合は、その新規オブジェクトに対応する復元対象のデータがアーカイブ ファイル内に存在しないにもかかわらず、復元先データベースからそのオブジェクトが削除されます。 復元時に新規オブジェクトが削除されないようにするためには、EXCLUDE TABLESオプションを使用して、復元先データベース内の新規オブジェクトを指定します。 それにより、復元時に復元先データベースからそのオブジェクトを削除しないようにという指示がTeradata ARCに伝達されます。 EXCLUDE TABLESオプションを使用することにより、復元先データベース内の新規オブジェクトはRESTORE操作の影響を受けなくなります。

オブジェクト名の後にALLキーワードが指定されている場合は、非修飾オブジェクト名(先頭にデータベース名がないもの)または完全修飾オブジェクト名(databasename.tablename)をEXCLUDE TABLESのリストに指定できます。 非修飾オブジェクト名を指定した場合は、RESTORE文内でそのオブジェクトが関連付けられているデータベースに属していると見なされます。

オブジェクト名の後にALLキーワードが指定されている場合は、EXCLUDE TABLESのリストに指定できるのはdatabasename.tablenameの形式の完全修飾テーブル名のみです。

EXCLUDE TABLESオプションは、データベース レベルのオブジェクトに対してしか使用できません。

ALL FROM ARCHIVEが指定されている場合は、EXCLUDE TABLESオプションを使用できません。

指定したオブジェクトがアーカイブ ファイルにも復元先データベースにもない場合、データベースの復元はスキップされます。

RESTOREのEXCLUDE TABLES句に指定可能な個々のオブジェクト タイプの一覧については、テーブルの除外を参照してください。

EXCLUDE TABLES句には、明示的な最大長はありませんが、 指定されたEXCLUDE TABLES句が長すぎてSQLバッファに入りきらないと、SQLリクエストをデータベースに送信することができなくなります。 EXCLUDE TABLES句をデータベースに送信するためのバッファには最大長があるので、EXCLUDE TABLESはそのバッファに完全に収まる必要があります。 バッファには他のデータがあって、可変長である可能性があるため、EXCLUDE TABLES句の最大サイズを決めることはできません。 このような状況が発生すると、次のエラー メッセージが表示されます。ARC0127: "EXCLUDE TABLES list is too long to fit in the SQL buffer(EXCLUDE TABLESリストが長すぎてSQLバッファに入りません)"。EXCLUDE TABLESリストのサイズを小さくして、ジョブを再実行依頼します。