システム テーブルからの古いログ データの手動削除 - Advanced SQL Engine - Teradata Database

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

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Published
2021年7月
Language
日本語
Last Update
2021-09-23
dita:mapPath
ja-JP/upb1600054424724.ditamap
dita:ditavalPath
ja-JP/wrg1590696035526.ditaval
dita:id
B035-1093
Product Category
Software
Teradata Vantage

古いログ データを削除する前に、削除対象のデータセットのレコードを保存する必要があるかどうか判別します。例えば、Teradataでは最低でも90日から180日おきにログ データを除去することを推奨していますが、サイトによってはセキュリティ ポリシーによりアクセス ログ データの保存期間をより長くする必要が生じる場合があります。

30日経過していないデータを削除することはできません。

古いログ データをシステム テーブルから削除する際には、以下の手順を使用します。

  1. サイトでログ データの長期保存が必要な場合は、以下のようにします。
    1. CREATE TABLE文のCopy Table構文を使用して、重複ログ テーブルを別のデータベース内に作成します。
      CT DBC.tablename AS databasename.tablename

      Copy Table構文の使用法の詳細については、<Teradata Vantage™ - SQLデータ定義言語-構文規則および例、B035-1144>の「Create Table」を参照してください。

    2. サイトのバックアップ ポリシーに従って、テーブルをテープ記憶装置にバックアップします。
      ヒント: ログのバックアップ/削除のスケジュールが、システム テーブルにローカルに保持するログ データの量と一致するようにしてください。例えば、システム テーブルにログ データを90日保持するには、まず120日分バックアップしてから、ログ内の過去30日分のデータを削除するようにしてください。その後、30日おきにログ データをバックアップしてください。
    3. DROP TABLE文を使用して、重複テーブルを削除します。
  2. DBADMINか、データベースDBCに対するDELETE権限を持つ別の管理ユーザーとして、SQL Administratorにログオンします。
  3. クエリー ウィンドウで、SQL文を入力して、古いログ項目を除去します。

    例:

    DELETE FROM DBC.object_name WHERE (Date - LogDate) > number_of_days ;
    object_name
    データベース ログについてで示されている、ログの削除を許可するDBCオブジェクトの名前。例えば、DeleteAccessLogVはアクセス ログの削除オブジェクトです。
    Date
    現在の日付に関するSQL構文要素。
    LogDate
    ログ ビューのLogDate列に入っている日付。現在の日付からnumber_of_daysに指定された日数を引いたものに基づく。
    number_of_days
    データをシステム テーブルに保存する日数。この日数は、現在の日付から最も古いLOGDATEまでの範囲の日数が保存されます。