PRUNE HISTORY/LOGFILE コマンド (ADMIN_CMD プロシージャーを使用)

PRUNE HISTORY コマンドは、リカバリー履歴ファイルから項目を削除するために使用します。一方、PRUNE LOGFILE コマンドは、現在接続されているデータベース・パーティションのアクティブ・ログ・ファイル・パスからログ・ファイルを削除するために使用します。 リカバリー履歴ファイルからの項目の削除は、 ファイルが非常に大きくなったり保持期間が長くなっている場合に必要になることがあります。

PRUNE HISTORY コマンドは、履歴ファイルから項目を削除しますが、デフォルトでは、最新のリストア・セットに属する項目は常に保持します。これは、万が一障害が発生した場合にも、データベースをリカバリーできるようにするためです。最新のリストア・セットは、最新の完全なデータベース・バックアップ・イメージに属する項目と、そのイメージに関連付けられたその他のオブジェクト (例えば、ログ・アーカイブ、ロード・コピー・イメージ、表スペース・バックアップ・イメージ、増分/差分バックアップ・イメージ) で構成されます。最新のリストア・セットに属する項目が不要な場合は、PRUNE HISTORY コマンドで WITH FORCE OPTION を指定することによって、これらの項目を削除できます。

区画に分割された環境では、PRUNE HISTORY コマンドは、発行されたデータベース・パーティションに関してのみ実行されます。複数のパーティションに関して履歴を整理するには、PRUNE HISTORY コマンドをそれぞれ個々のデータベース・パーティションから発行するか、または db2_all 接頭部を使用して PRUNE HISTORY コマンドをすべてのデータベース・パーティションに対して実行します。

重要: PRUNE LOGFILE コマンドは非推奨になっており、将来のリリースで除去される可能性があります。代わりに PRUNE HISTORY コマンドを使用してください。

許可

以下の権限のいずれか。
  • SYSADM
  • SYSCTRL
  • SYSMAINT
  • DBADM

必要な接続

データベース

コマンド構文

構文図を読む構文図をスキップするPRUNEHISTORYtimestampWITH FORCE OPTIONAND DELETELOGFILE PRIOR TOlog-file-name

コマンド・パラメーター

HISTORY timestamp
削除される、リカバリー履歴ファイルにある項目範囲を識別します。 完全なタイム・スタンプ (書式 yyyymmddhhmmss)、 または最初の接頭部 (最小値 yyyy) を指定できます。 提供されているそのタイム・スタンプ以下のタイム・スタンプ付きのすべての項目は、 リカバリー履歴ファイルから削除されます。 最初の接頭部を指定した場合、指定されていないタイム・スタンプの構成要素は yyyy0101000000 と解釈されます。
WITH FORCE OPTION
最新のリストア・セットのいくつかの項目がファイルから削除されるとしても、指定したタイム・スタンプに従って項目を整理することを指定します。
AND DELETE
履歴ファイルの項目を削除する際に、 関連するログ・アーカイブを (ロケーション情報に基づいて) 物理的に削除することを指定します。 このオプションは、 ログ・アーカイブが不要になった場合に、 アーカイブ・ストレージ・スペースがリカバリーされるようにする上で、特に有用です。 ユーザー出口プログラムによりログをアーカイブしている場合は、 このオプションを使用してそれらのログを削除することはできません。

auto_del_rec_obj データベース構成パラメーターを ON に設定している場合、AND DELETE パラメーターを指定して PRUNE HISTORY を呼び出すと、バックアップ・イメージも物理的に削除され、その履歴ファイル項目が整理される場合にはコピー・イメージがロードされます。

LOGFILE PRIOR TO log-file-name
ログ・ファイル名を表すストリング (例: S0000100.LOG) を指定します。 指定したログ・ファイルより前のすべてのログ・ファイルは削除されます。 指定したログ・ファイルそのものは削除されません。 logarchmeth1 データベース構成パラメーターは、OFF 以外の値に設定する必要があります。
注: この値は、Db2® pureScale® 環境ではサポートされていません。

例 1 リカバリー履歴ファイルから、2003 年 12 月 31 日以前に書き込まれたすべての項目を除去します。
CALL SYSPROC.ADMIN_CMD ('prune history 20031231')
例 2: アクティブ・ログ・ファイル・パスから、S0000100.LOG より前のすべてのログ・ファイルを削除します (S0000100.LOG は削除しません)。
CALL SYSPROC.ADMIN_CMD('prune logfile prior to S0000100.LOG')

使用上の注意

WITH FORCE OPTION が使用されている場合、データベースの自動リストアに必要な項目を削除してしまう可能性があります。 その場合でも手動リストアは正常に動作します。 また、このコマンドを使用すると、db2ckrst ユーティリティーが、必要なバックアップ・イメージの完全なチェーンを正しく分析できなくなる可能性もあります。 PRUNE HISTORY コマンドを WITH FORCE OPTION なしで使用した場合、必要な項目が削除されることはありません。

状況が DB2HISTORY_STATUS_DO_NOT_DELETE の項目は整理されません。 WITH FORCE OPTION が使用されている場合、DB2HISTORY_STATUS_DO_NOT_DELETE というマークが付いたオブジェクトは、やはり整理または削除されます。 UPDATE HISTORY コマンド、UPDATE_HISTORY を指定した ADMIN_CMD、または db2HistoryUpdate API を使用して、リカバリー履歴ファイルの項目の状況を DB2HISTORY_STATUS_DO_NOT_DELETE に設定できます。 DB2HISTORY_STATUS_DO_NOT_DELETE 状況を使用して、キー・リカバリー履歴ファイルの項目が整理されないようにしたり、関連するリカバリー・オブジェクトが削除されないようにすることができます。

PRUNE HISTORY コマンドを使用してスナップショット・データベース・バックアップ履歴ファイルの項目を整理できますが、AND DELETE パラメーターを使用して関連する物理リカバリー・オブジェクトを削除することはできません。 スナップショット・バックアップ・オブジェクトを削除する唯一の方法は、db2acsutil コマンドを使用することです。

このコマンドは、アプリケーションが現在接続しているデータベース・パーティションだけに作用します。