Teradata Database メッセージ 5955 - 17.00 - 5955 - Teradata Database

Teradata Vantage™ - Database Messages

prodname
Advanced SQL Engine
Teradata Database
vrm_release
17.00
created_date
2020年6月
category
プログラミング リファレンス
featnum
B035-1096-170K-JPN
メッセージ
Warning: Table headers have been revalidated but correct partitioning of the rows needs to be verified.
説明
DROP/ADD RANGEを使用して新しいパーティション式を定義するALTER TABLE中、またはREVALIDATE PRIMARYオプションを指定しWITHオプションを指定しないALTER TABLE中に、指定された表の表ヘッダーを再検証した場合、表の表ヘッダーは修正されますが、行のパーティション化は、表ヘッダーが更新されるたびに矛盾していく可能性があります。その場合、パーティション除去を指定して実行された問合わせの結果が正しくないことがあります。この警告は、以前のリリースでパーティション基本索引によって表の表ヘッダーが作成され、パーティション式の1つまたは複数が非確定的であった(タイムゾーンまたはAT LOCAL句なしで時刻またはタイムスタンプ定数が含まれる)こと、または表ヘッダーの矛盾の原因となる何らかの内部エラーが発生したことを示しています。
生成もと
Opt.
対象ユーザー
エンド・ユーザーおよびシステム・サポート担当者
注意
これは警告ですが、行が正しくパーティション分割されていることを確認するには、次の対処方法の手順に従うことが重要です。
対処法
この処置の適用については、システム サポート担当者に支援を依頼することを推奨します。次のクエリーを実行して、行が正しくパーティション化されているかどうかを確認します。SELECT COUNT(*) AS "TOTAL ROWS", SUM( CASE WHEN PARTITION#L1<>partitioning_expression_1 OR PARTITION#L2<>partitioning_expression_2 OR ... OR PARTITION#Ln<>partitioning_expression_n THEN 1 ELSE 0 END) AS "ROWS INCORRECTLY PARTITIONED" FROM table_name;。正しくパーティション化されていない行の数がゼロである場合、それ以上の操作は必要ありません。正しくパーティション化されていない行の数が、行の総数より大幅に少ない(1%未満)場合、またはテーブルが小さい場合は、ALTER TABLE table_name REVALIDATE PRIMARY INDEX WITH DELETE/INSERT文を実行して、行を正しくパーティション化します(どのパーティションにも属さない場合に削除される可能性がある行をキャプチャする場合は、WITH INSERTオプションを使用します)。正しくパーティション化されていない行が多数ある場合は、テーブルを再作成して再入力する方がおそらく効率的です。元のテーブルの行を、元のテーブルから新しいテーブルに挿入/選択できます。なお、システムに十分な空き領域がない場合は、バックアップから新しいテーブルに自動入力し直すこともできます。