以下の手動手順を使用して、DBC.Acctgテーブルの値を消去したり、Teradata Viewpointパフォーマンス データの収集ポートレットなどの自動方法を使用したりできます。 PDCRログの自動メンテナンスの設定を参照してください。
DBC.Acctg表は、ユーザーが各AMP上に所有するアカウントごとにCPU使用状況とI/O統計を記録します。
ステップにより影響を受ける各プロセッサ上での各AMPステップの間、テーブルへの更新が定期的に行なわれます。(実行時間の長いステップがあると、AMPUsageの数値は連続的に1つずつ増加するのではなく、定期的に大幅に増加します。)データはカウンターをゼロにリセットするまでは収集されて、テーブルにすでにあるデータに加算されていきます。
拡張アカウント列を使用する場合は、ASEコードが原因でテーブルの増大が速くなることがあります。DBC.Acctgを定期的に更新して値をクリアし、アキュムレータをリセットする必要が生じる可能性があります(詳細については、拡張アカウント列の有効化を参照してください)。ただし、ASEコードが指定されたアカウントを含む行を除去する際には、注意が必要です。
アカウント文字列にASE文字列が埋め込まれている場合は、適切なWHERE句を構築して、古い行をDBC.Acctgから慎重に除去してください。ASEは個別のフィールドではなくAccountNameテキスト文字列に埋め込まれているため、SQLのコーディングには注意が必要です。
以下のプロセスに従って、まずデータを保存し、次にDBC.Acctgを消去してからカウンタをリセットします。
- サイズの増加を制御するには、データベースDBCのすべてのAMPダンプと一緒に、DSAを使用して事前定義されたシステム テーブル セット全体をアーカイブします。アーカイブを再ロードするときに、アーカイブを作成したツールを使用できない場合は、BTEQ IMPORTコマンドを試してください。
- 累積されたAMPデータが正常に要約され、必要によりアーカイブされたら、以下のようにClearAccountingマクロを実行してCPUとI/Oの列の値をリセットします。
EXEC DBC.ClearAccounting;
ASEを使用しているが、どの行をDBC.Acctgから除去すべきかわからない場合は、以下を実行します。- 非固有プライマリ インデックス、日付、時刻の列がある、DBC.Acctgに似たテーブルを作成します。
- 関連するアカウンティング フィールドの合計を定期間隔で収集することにより、個々のアカウントのために作成された行のデータを、テーブルに挿入します。
- このテーブルに対して問合わせを実行します。変化がないことが示された項目が、除去対象の行の候補となります。