自動データ・マイグレーションの規則と要件
ターゲット・ノード上で再パーティション化される出力ファイルの生成に適用されるすべての規則と要件が、自動データ・マイグレーション機能にも適用されます。
以下の規則と要件が、自動データ・マイグレーション機能に適用されます。
- Optim™ High Performance Unload をソースとターゲットの両方のシステムにインストールする必要がある。
- ターゲット Db2® インスタンスでロード・サイドを実行するユーザーに対して、ターゲット環境に関連するローカル・タイプの資格情報を作成する必要があります。
- マイグレーションを目的とする場合、FORMAT 節内での INTO オプションは SELECT レベルでのみ使用できます。 グローバル INTO オプションを使用すると、すべての選択要求に対してアンロードされるデータが同じ表に再ロードされることになり、それによってターゲット・データベースで並行アクセスの問題が発生する可能性があります。
- MIGRATE ブロックが指定される場合は、TARGET ENVIRONMENT 節も指定する必要があります。 この節は GLOBAL ブロックか MIGRATE ブロックのどちらかに指定できます。 TARGET ENVIRONMENT 節を INSTANCE オプションと共に指定する必要があります。それは、ターゲット環境がソース環境と異なることを指定できる唯一のオプションだからです。
- データを移行する際、 Optim High Performance Unload 一時ファイルを使用して出力を保持します。 これらのファイルは、開始されたターゲットLOADステップによって読み込まれます。 Optim High Performance Unload。 したがって、 Optim High Performance Unload MIGRATEブロックで指定されたOUTFILE句は無視されます。
- データをマイグレーションするときに FORMAT 節を指定できますが、使用できるのは DEL、DELIMITED、IXF、ASC、または MIGRATION キーワードだけです。
- MIGRATION フォーマットは、MIGRATE ブロックの中でのみ指定できます。
- DEL形式は自動データ移行で自動的に使用されるため、 Optim High Performance Unload 自動データ移行に使用されるため、また、LOBおよびXMLデータはこのフォーマットと完全に互換性があるわけではないため、 Optim High Performance Unload LOBまたはXMLカラムを含むテーブルの移行は、他のすべてのデータタイプをサポートするのと同じ方法では内部的にサポートされていません。 以下の相違点を考慮してください。
- LOB または XML 列を持つ表を移行しようとする場合、データは一時ファイルにアンロードされます。 アンロード・ステップが完了すると、ロード・ステップがそれらの一時ファイルを使って開始されます。
- LOB または XML 列を持たない表を移行しようとする場合、アンロードとロードのステップは並行して実行され、データは名前付きパイプにアンロードされます。 ロード・ステップは、それらの名前付きパイプを使って開始されます。
- 同じ MIGRATE ブロックを使用して複数の表をマイグレーションする場合、それらの表が処理される順序は保証されません。 表が、それらの表自体の間に制約を持つ場合は、それらの制約に従った順序で表を個々に処理する必要があります。
- 表スペース全体またはデータベース全体を移行するときは、所定のデータベースからのデータを同じデータベースに移行することはできません。 ソース・データベースとまったく同じターゲット・データベースを定義するTARGET ENVIRONMENT句を指定した場合、 Optim High Performance Unload エラーが返されます。
- 特定の表を移行するときは、そのデータを同じデータベース内の同じ表に移行することはできません。 この表のマイグレーション・プロセスに、ソース・レベルとターゲット・レベルの両方で同じデータベースが関係している場合には、ターゲット表とソース表が異なっている必要があります。 FORMAT 節の INTO オプションを使用することにより、別の表を指定することができます。 ターゲットテーブルとソーステーブルが同じ場合、 Optim High Performance Unload エラーが返されます。
- 同じデータベース上で、表スペースの集合上で定義されている表から、そのソース表スペースと交差する表スペースの集合上で定義されている別の表へと自動マイグレーションを実行する場合、FLUSH BUFFERPOOLS YES オプションまたは LOCK YES オプションを指定してマイグレーションを開始することはできません。
- 対象の表に REAL または DOUBLE データ・タイプの列があるデータ・マイグレーションでは、ASC フォーマットを使用することが最良の方法であると考えられます。 これらの列値をマイグレーションするときに精度が失われないようにするには、マイグレーションに使用するデータ・ストリームに対して列値をバイナリーで処理する必要があります。 IXF フォーマットには、これらのデータ・タイプのバイナリー表記があります。 しかし、データを DPF データベースにロードする際に、この点を考慮することができません。 そのため、REAL 列または DOUBLE 列のある表のデータを DPF データベースにマイグレーションする場合、この処理を正確に実行する唯一の方法は、数値のバイナリー表記を使用可能にして ASC フォーマットを使用する方法です。 これを使用可能にするには、FORMAT ASC 節の MODIFIED BY オプションに BINARYNUMERICS 修飾子を指定します。 REAL 列または DOUBLE 列のある表のマイグレーションが、それらの値の拡張表記を持つフォーマットを使用して実行される場合、近似値がターゲット表にロードされる可能性があります。 さらに、REAL 列または DOUBLE 列のある表の、分散キーへのマイグレーションが、それらの値の拡張表記を持つフォーマットを使用して実行される場合、データが不適切に再パーティション化されるというエラーが発生する可能性もあります。