テーブルをさまざまなマップに再割り当てするために推奨されるアクションを確認することが重要です。推奨される変更を行なう前に解決が必要な問題を探します。また、推奨されるアクションがサイトに最適かどうかも考慮してください。
- マップ分析中に見つかった問題を隔離します。ActionsTblの問題を問合わせます。 例えば、
SELECT * FROM tdmaps.ActionsVX WHERE Issues='Y' OR Action <> 'alter';
説明列は問題を説明します。
- 推奨されるマップ再割り当てを妨げる可能性のある領域の問題を確認します。特に、テーブルが再分散された後にデータベースに残る領域を一覧表示するFractionOfDBFreePermを確認します。例えば、データベースの固定領域が100 MB、再分散されるテーブルが1 MBである場合、FractionOfDBFreePermは .99となります。これはデータベース内の固定領域の99%がテーブルの再分散後に空きのままになることを示しています。テーブル ヘッダーを各AMPに書き込む必要があるため、システム拡張後にこの値を確認することが特に重要です。例えば、2-AMPシステムから100-AMPシステムにアップグレードする場合、テーブル ヘッダーは、テーブルが同じサイズであっても、以前よりも50倍の領域を使用します。テーブルを別のマップに再割り当てするには、テーブルが必要とする固定領域の2倍の量を使用するINSERT-SELECTが必要です。
- 必要に応じて、再割り当てするテーブルに追加の固定領域を付与します。
- 他の問題を探します。例えば、次の一般的な問題の種類を含めることができます。
- テーブルはスパース マップを使用し、連続マップに再割り当てされます。
- このテーブルで永久ジャーナリングが有効になっているため、マップの再割り当ては失敗します。永久ジャーナルがあるテーブルは、デフォルトのマップを使用する必要があります。
- テーブルが新しいマップに割り当てられる場合、結合インデックスまたはハッシュ インデックスは無効になります。DBAは、マップの再割り当て後に、結合インデックスまたはハッシュ インデックスを削除し、再度作成する必要があります。これは、結合インデックスまたはハッシュ インデックスが次の種類のテーブルに基づいている場合に発生します。
- プライマリAMPインデックス(PA)
- 非パーティション プライマリ インデックス(NOPI)
- 列パーティション プライマリ インデックス(CPPI)
- テーブルが新しいマップに割り当てられる場合、ユーザー作成の結合インデックスまたはハッシュ インデックスは転送されません。DBAは、ユーザー作成の結合またはハッシュインデックスに対して個別のALTER TABLEリクエストを発行する必要があります。
システム定義の結合インデックスは、新しいマップを自動的に使用します。