17.10 - DBC.Acctg表内の値の手動消去 - Advanced SQL Engine - Teradata Database

Teradata Vantage™- データベースの管理

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Release Date
2021年7月
Content Type
管理
Publication ID
B035-1093-171K-JPN
Language
日本語 (日本)
以下の手動手順を使用して、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を消去してからカウンタをリセットします。

  1. サイズの増加を制御するには、データベースDBCのすべてのAMPダンプと一緒に、DSAを使用して事前定義されたシステム テーブル セット全体をアーカイブします。
    アーカイブを再ロードするときに、アーカイブを作成したツールを使用できない場合は、BTEQ IMPORTコマンドを試してください。
  2. 累積されたAMPデータが正常に要約され、必要によりアーカイブされたら、以下のようにClearAccountingマクロを実行してCPUとI/Oの列の値をリセットします。
    EXEC DBC.ClearAccounting;
    ASEを使用しているが、どの行をDBC.Acctgから除去すべきかわからない場合は、以下を実行します。
    1. 非固有プライマリ インデックス、日付、時刻の列がある、DBC.Acctgに似たテーブルを作成します。
    2. 関連するアカウンティング フィールドの合計を定期間隔で収集することにより、個々のアカウントのために作成された行のデータを、テーブルに挿入します。
    3. このテーブルに対して問合わせを実行します。変化がないことが示された項目が、除去対象の行の候補となります。