ARCHIVE LOG コマンド

ARCHIVE LOG コマンドは、リカバリー可能データベースのアクティブ・ログ・ファイルをクローズし、切り捨てます。

許可

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

必要な接続

None. このコマンドは、コマンドの持続期間の間、データベース接続を確立します。

コマンド構文

Read syntax diagramSkip visual syntax diagramARCHIVE LOG FORDATABASEDBdatabase-aliasUSERusernameUSINGpassword On Database Partition Number Clause
On Database Partition Number Clause
Read syntax diagramSkip visual syntax diagramONDatabase Partition Number List ClauseALL DBPARTITIONNUMSEXCEPTDatabase Partition Number List Clause
Database Partition Number List Clause
Read syntax diagramSkip visual syntax diagramDBPARTITIONNUMDBPARTITIONNUMS (,db-partition-numberTOdb-partition-number)

コマンド・パラメーター

DATABASE database-alias
アーカイブするアクティブ・ログを持つデータベースの別名を指定します。
USER username
接続を試みるユーザー名を指定します。
USING password
ユーザー名を認証するためのパスワードを指定します。
ON ALL DBPARTITIONNUMS
コマンドをdb2nodes.cfgファイルのすべてのデータベースパーティションに発行する必要があることを指定します。 データベース・パーティション番号節が指定されていない場合、これがデフォルトです。
EXCEPT
データベース・パーティション番号リストに指定されたものを除き、db2nodes.cfgファイルのすべてのデータベース・パーティションでコマンドを発行するように指定します。
ON DBPARTITIONNUM | ON DBPARTITIONNUMS
指定されたデータベースのログをデータベース・パーティションのセットでアーカイブすることを指定します。
db-partition-number
データベース・パーティション番号リスト内のデータベース・パーティション番号を指定します。
TO db-partition-number
ログをアーカイブするデータベース・パーティションの範囲を指定するときに使用されます。 指定された最初のデータベース・パーティション番号から 2 番目のデータベース・パーティション番号までのすべてのデータベース・パーティションが データベース・パーティション・リストに含まれます。

使用上の注意

このコマンドは、ある時点までのログ・データの完全なセットを収集するために使用できます。 次に、そのログ・データを使用してスタンバイ・データベースを更新することができます。

ARCHIVE LOG コマンドが発行される時点までのログ・データがログ・ファイルの途中である場合、このログ・ファイルは切り捨てられ、ロギングは次のファイルで続行されます。

このコマンドは、起動側アプリケーションまたはシェルに、指定されたデータベースへのデータベース接続がないときにしか実行できません。 これにより、コミットされていないトランザクションでユーザーがコマンドを 実行するのを防ぎます。 実際に、ARCHIVE LOG コマンドは、ユーザーの不完全なトランザクションを コミットしません。 起動側アプリケーションまたはシェルに、指定されたデータベースへのデータベース接続が既に存在している場合は、コマンドは終了してエラーを戻します。 このコマンドを実行したときに、指定されたデータベースで進行中の トランザクションが別のアプリケーションにあった場合には、 コマンドがログ・バッファーをディスクにフラッシュするため、 パフォーマンスがやや低下する可能性があります。 ログ・レコードをバッファーに書き込む別のトランザクションは、 フラッシュが完了するまで待機しなければなりません。

パーティション・データベース環境で使用する場合は、 データベース・パーティション番号節を使用してデータベース・パーティションのサブセットを指定できます。 データベース・パーティション番号節が指定されていない場合、このコマンドのデフォルトの動作は、 クローズしてすべてのデータベース・パーティションのアクティブ・ログをアーカイブすることです。

このコマンドを使用すると、 アクティブ・ログ・ファイルの切り捨てのために、 アーカイブ・ログ・スペースの部分を使い果たします。 アクティブ・ログ・スペースは、 切り捨てられたログが非アクティブになると前のサイズを再開します。 このコマンドを頻繁に使用すると、 トランザクションで使用できるアクティブ・ログ・スペースの量が劇的に削減できます。 使用可能な十分のログ・スペースがない場合には、このコマンドは SQL0964C で失敗します。

ARCHIVE LOG コマンドは非同期です。 ARCHIVE LOG コマンドを発行すると、ログがクローズされてアーカイブの実行が可能になります。 ログが直ちにアーカイブされるわけではありません。したがって、このコマンドを実行依頼してからログがアーカイブされるまで遅延が生じることがあります。 この遅延は、ARCHIVE LOG コマンドを発行した直後にデータベースを非活動化した場合に特に顕著です。 ログのアーカイブは db2logmgr プロセスによって行われます。 次回のデータベース・アクティブ化までログがアーカイブされないことがあります。

このコマンドは、 ARCHIVE LOG コマンドを発行するとき、または Db2® pureScale® 環境で db2ArchiveLog API を呼び出すときに、データベースがアクセスできるすべてのメンバーに配布されます。 メンバー が整合している (オンラインまたはオフラインのいずれか) 場合、 ARCHIVE LOG はその メンバーをスキップします。これは、 メンバー が最後に正常にシャットダウンしたときに、最後のログ・ファイルが既に切り捨てられていたためです。 オフライン・ メンバー が整合していない場合、 ARCHIVE LOG は切り捨ての前に MCR が完了するのを待機します。