BACKUP DATABASE コマンド (ADMIN_CMD プロシージャーを使用)
BACKUP DATABASE コマンドは、データベースまたは表スペースのバックアップ・コピーを作成します。データベースおよび関連する保管データのバックアップを作成して、データベース・サービスの停止が発生した場合のデータ損失を防ぐ必要があります。
異なるさまざまなオペレーティング・システムおよびハードウェア・プラットフォームの間でのデータベース・バックアップ操作の詳細は、『異なるオペレーティング・システムおよびハードウェア・プラットフォーム間のバックアップおよびリストア操作』を参照してください。
有効範囲
パーティション・データベース環境で、データベース・パーティションを指定しない場合、このコマンドはコマンドが実行されたデータベース・パーティションにのみ作用します。
パーティション・バックアップを実行するためのオプションが指定された場合、コマンドを呼び出すことができるのは、カタログ・データベース・パーティションに対してだけです。 すべてのデータベース・パーティション・サーバーをバックアップするためのオプションが指定されているなら、それは db2nodes.cfg ファイルの中にリストされているすべてのデータベース・パーティション・サーバーに影響を与えます。 そうでない場合は、コマンドで指定されたデータベース・パーティション・サーバーに作用します。
許可
- SYSADM
- SYSCTRL
- SYSMAINT
必要な接続
データベース。 既存のデータベース接続は、バックアップ操作の完了後はそのまま残ります。
コマンド構文
コマンド・パラメーター
- DATABASE | DB database-alias
- バックアップを取るデータベースの別名を指定します。別名は、サーバーで定義されたローカル・データベースでなければならず、また、ユーザーの接続先のデータベース名でなければなりません。データベース別名がユーザーの接続先のものでない場合は、SQL20322N エラーが戻されます。
- ON
- データベース・パーティションのセットに対してデータベースをバックアップします。この節は、カタログ・パーティションでのみ指定します。
- DBPARTITIONNUM db-partition-number1
- データベース・パーティション・リスト内のデータベース・パーティション番号を指定します。
- DBPARTITIONNUMS db-partition-number1 TO db-partition-number2
- データベース・パーティション番号の範囲を指定します。db-partition-number1 から db-partition-number2 までの間のすべてのパーティションがデータベース・パーティション・リストに含められます。
- ALL DBPARTITIONNUMS
- db2nodes.cfg ファイルで指定されたすべてのパーティションでデータベースをバックアップすることを指定します。
- EXCEPT
- db2nodes.cfg ファイルで指定されたパーティションのうち、データベース・パーティション・リストで指定されたパーティションを除くすべてのパーティションでデータベースをバックアップすることを指定します。
- DBPARTITIONNUM db-partition-number1
- データベース・パーティション・リスト内のデータベース・パーティション番号を指定します。
- DBPARTITIONNUMS db-partition-number1 TO db-partition-number2
- データベース・パーティション番号の範囲を指定します。db-partition-number1 から db-partition-number2 までの間のすべてのパーティションがデータベース・パーティション・リストに含められます。
- TABLESPACE tablespace-name
- バックアップを取る表スペースを指定するときに使用する名前のリスト。
- NO TABLESPACE
-
メタデータのみのバックアップを指定します。メタデータのみのバックアップには、表スペース・データは含まれません。 含まれるメタデータの中には、データベースのリカバリー履歴ファイルがあります。 このファイルは、RESTORE DATABASE コマンドの HISTORY FILE オプションを使用してリストアできます。
- ONLINE
-
オンライン・バックアップを指定します。 サポートされているモードは、デフォルトのこれのみです。 ONLINE 節を指定する必要はありません。
- INCREMENTAL
- 累積 (増分) バックアップ・イメージを指定します。
増分バックアップ・イメージとは、
正常に実行されたフルバックアップ操作のうち最新のものが実行されて以来変更された、
すべてのデータベース・データのコピーです。
- DELTA
- 非累積 (差分) バックアップ・イメージを指定します。 差分バックアップ・イメージとは、 正常に実行された任意のタイプのバックアップ操作のうち最新のものが実行されて以来変更された、 すべてのデータベース・データのコピーです。
- USE
-
- TSM
- バックアップで使用するターゲット・デバイスとして Tivoli® Storage Manager (TSM) を指定します。
- XBSA
- XBSA インターフェースを使用するように指定します。 バックアップ・サービス API (XBSA) は、バックアップやアーカイブの目的でデータ・ストレージ管理を必要とするアプリケーションまたは機能のための、オープン・アプリケーション・プログラミング・インターフェースです。
- SNAPSHOT
- スナップショット・バックアップを取ることを指定します。
SNAPSHOT パラメーターを以下のいずれかのパラメーターと一緒に使用することはできません。
- TABLESPACE
- INCREMENTAL
- WITH num-buffers BUFFERS
- BUFFER
- PARALLELISM
- COMPRESS
- UTIL_IMPACT_PRIORITY
- SESSIONS
スナップショット・バックアップのデフォルトの動作は、データベースを構成するすべてのパスをオフラインでバックアップするフル・データベース・バックアップです。 このバックアップには、すべてのコンテナー、ローカル・ボリューム・ディレクトリー、データベース・パス (DBPATH)、1 次ログとミラー・ログのパスが含まれます (EXCLUDE LOGS を明示的に指定しない限り、INCLUDE LOGS がすべてのスナップショット・バックアップのデフォルトです)。
- LIBRARY library-name
- IBM®
Db2® Server には、以下のストレージ・ハードウェアのための Db2 ACS API ドライバーが組み込まれています。
- IBM TotalStorage™ SAN ボリューム・コントローラー
- IBM Enterprise Storage Server® Model 800
- IBM Storwize® V7000
- IBM System Storage® DS6000™
- IBM System Storage DS8000®
- IBM System Storage N Series
- IBM XIV®
他のストレージ・ハードウェアを使用していて、そのストレージ・ハードウェア用の Db2 ACS API ドライバーがある場合、LIBRARY パラメーターを使用してその Db2 ACS API ドライバーを指定できます。
LIBRARY パラメーターの値は、完全修飾ライブラリー・ファイル名です。
- SCRIPT script-name
- スナップショット・バックアップ操作を実行できる実行可能スクリプトの名前。 スクリプト名は完全修飾ファイル名でなければなりません。
- OPTIONS
-
- "options-string"
- バックアップ操作で使用するオプションを指定します。ストリングは、二重引用符なしで、入力されたとおりに渡されます。
- @ file-name
- バックアップ操作で使用するオプションが、Db2 サーバー上のファイルに含まれていることを指定します。 このストリングは、ベンダー・サポートのライブラリーに渡されます。ファイル名は完全修飾ファイル名でなければなりません。
VENDOROPT データベース構成パラメーターを使用して、スナップショット・バックアップ操作のベンダー固有オプションを指定することはできません。これには、バックアップ・ユーティリティーの OPTIONS パラメーターを使用する必要があります。
- OPEN num-sessions SESSIONS
- Db2 製品と TSM 製品または他のバックアップ・ベンダー製品との間に作成する入出力セッションの数。このパラメーターは、テープ、ディスク、 または他のローカル装置にバックアップする場合には効果はありません。 オンライン・バックアップで INCLUDE LOGS パラメーターを指定した場合、最初のセッションがクローズされた後に、OPEN num-sessions SESSIONS パラメーターに対して追加のセッションが 1 つ作成されます。 Single System View (SSV) オンライン・バックアップを作成する場合、各ノード・バックアップで、最初のセッションがクローズされた後に OPEN num-sessions SESSIONS パラメーターに対して追加のセッションが 1 つ作成されます。TSM オプションでこのパラメーターを使用すると、履歴ファイルに作成される項目の数が、作成されるセッションの数と等しくなります。
- TO dir | dev | remote-storage
-
バックアップ・イメージの保管先となるリモート・ディレクトリーまたは磁気テープ装置のリスト。各ターゲット・ディレクトリーへの絶対パスを指定する必要があります。ターゲット・ディレクトリーまたはデバイスは、データベース・サーバー上でローカルにアドレス指定可能である必要があります。
リモート・ストレージ (IBM Cloud Object Storage や Amazon Simple Storage Service (S3) など) にバックアップするには、ストレージ・アクセス別名を使用してリモート・ストレージ・ロケーションを指定します。 リモート・ストレージ・サーバーに転送するバックアップ・イメージを一時的に格納するためには、ローカル・ステージング・スペースが必要です。リモート・ストレージのそれぞれのバックアップ・セッションの最大サイズは 5 GB で、データベース・バックアップ・イメージの合計サイズは 1 TB になります。 Db2 Warehouse のリモート・ストレージ要件は、Db2 バージョン 11.1 の要件と同じであり、リモート・ストレージ要件で説明されています。 リモート・ストレージ・ロケーションを指定する構文は、次のとおりです。Db2REMOTE://<alias>//<storage-path>パーティション・データベースでは、すべてのデータベース・パーティションにターゲット・ディレクトリーまたは装置が存在している必要があり、オプションで共有パスにすることができます。ディレクトリー名や装置名は、データベース・パーティション式を使用して指定できます。 データベース・パーティション式について詳しくは、『自動ストレージ・データベース』 を参照してください。
このパラメーターは、バックアップ・イメージが複数の宛先ディレクトリーや装置にわたる場合に、それらを指定するために繰り返すことができます。宛先が複数指定されている場合 (例えば、宛先 1、宛先 2、および宛先 3)、 宛先 1 が最初にオープンされます。メディア・ヘッダーおよび特殊ファイル (構成ファイル、表スペース表、 および履歴ファイルを含む) は、宛先 1 にあります。 他の残りの宛先は、オープンされており、これらはバックアップ操作のときに並列で使用されます。 Windows オペレーティング・システムの場合、汎用テープ装置はサポートされていないので、テープ装置のタイプごとに固有のデバイス・ドライバーが必要です。
テープ装置またはフロッピー・ディスクを使用すると、プロンプトおよびユーザー対話を必要とする可能性があります。その場合は、結果としてエラーが戻されます。
バックアップ・イメージを一意に参照できないテープ・システムの場合は、 同じテープに同じデータベースの複数のバックアップ・コピーを作成しないでください。
- LOAD library-name
- 使用するバックアップおよびリストア I/O ベンダー関数を含む共有ライブラリー (Windows オペレーティング・システムでは DLL) の名前。 絶対パスで指定することができます。 絶対パスを指定していない場合、デフォルトはユーザー出口プログラムが常駐しているパスになります。
- DEDUP_DEVICE
- データ非重複化をサポートするターゲット・ストレージ・デバイス用にバックアップ・イメージのフォーマットを最適化します。
- WITH num-buffers BUFFERS
- 使用するバッファーの数です。 指定するバッファーの数が足りなくて正常にバックアップを作成できない場合、このパラメーターでは、バックアップを完了するために必要な最小値が自動的に選択されます。 複数の場所にバックアップする場合は、パフォーマンスを改善するため、より大きな数値をバッファー数に指定することもできます。 COMPRESS パラメーターを指定する場合は、パフォーマンス改善に役立てるため、PARALLELISM パラメーターに指定する各表スペース用の追加のバッファーを追加できます。
- BUFFER buffer-size
- 4 KB ページごとの単位で表した、バックアップ・イメージを作成する際に使用するバッファーのサイズ。
値を明示的に指定しない場合、Db2 はこのパラメーターの最適値を自動的に選択します。このパラメーターの最小値は 8 ページです。
さまざまなブロック・サイズのテープを使用する場合は、 磁気テープ装置がサポートする範囲内にバッファー・サイズを削減してください。 この範囲内でないと、バックアップ操作は正常に実行されることもありますが、 作成されたイメージはリカバリー不能になることがあります。
Linux のほとんどのバージョンでは、SCSI テープ装置でバックアップ操作を行うときに、Db2 に用意されたデフォルトのバッファー・サイズを使用すると、エラー SQL2025N、理由コード 75 が表示されます。Linux 内部 SCSI バッファーがオーバーフローするのを防ぐには、以下の公式を使用してください。
bufferpages は BUFFER パラメーターと共に使用する値であり、bufferpages <= ST_MAX_BUFFERS * ST_BUFFER_BLOCKS / 4ST_MAX_BUFFERSとST_BUFFER_BLOCKSは drivers/scsi ディレクトリー中の Linux カーネルで定義されています。 - PARALLELISM n
- バックアップ・ユーティリティーによって同時に読み取り可能な表スペースの数を決定します。 値を明示的に指定しない場合、Db2 はこのパラメーターの最適値を自動的に選択します。
- UTIL_IMPACT_PRIORITY priority
- バックアップを、指定した優先順位によりスロットル・モードで実行することを指定します。スロットル・モードでは、バックアップ操作によるパフォーマンスの影響を調整できます。 優先順位 (priority) は 1 から 100 までの範囲の任意の数であり、 1 が優先順位最低、100 が優先順位最高を意味します。 優先順位の値なしで UTIL_IMPACT_PRIORITY キーワードが指定された場合は、 デフォルトの優先順位 50 でバックアップが実行されます。UTIL_IMPACT_PRIORITY を指定しない場合、バックアップは非スロットル・モードで実行されます。 バックアップをスロットル・モードで実行するためには、 util_impact_lim 構成パラメーターを設定することによって影響ポリシーが定義されていなければなりません。
- COMPRESS|ENCRYPT
- バックアップを圧縮または暗号化することを指定します。
両方のパラメーターを同時に指定することはできません。COMPRLIB または ENCRLIB も指定する場合に限り、COMPRESS パラメーターと ENCRYPT パラメーターはシノニムであり、どちらも同じものとして使用できます。
COMPRLIB なしで COMPRESS を指定した場合は、デフォルトの圧縮ライブラリー libdb2compr.so が圧縮に使用されます。
ENCRLIB なしで ENCRYPT を指定した場合は、デフォルトの暗号化ライブラリー libdb2encr.so が暗号化に使用されます。
別のライブラリーを指定する場合は、COMPRESS と ENCRYPT のどちらを使用してもかまいません。libdb2compr_encr.so ライブラリーは、COMPRLIB と ENCRLIB のどちらでも指定できます。encrlib および encropts データベース構成パラメーターが非 NULL 値に設定されている場合、COMPRLIB および ENCRLIB も、COMPROPTS および ENCROPTS も指定できません。注: ネイティブに暗号化されたデータベースの場合、データはバックアップ前に暗号化を解除されます。バックアップの暗号化は、BACKUP DATABASE コマンドの ENCRYPT パラメーターを使用して行うことができます。 バックアップの暗号化は、encrlib データベース構成パラメーターを使用して行うこともできます。バックアップは、データベースのネイティブ暗号化で構成された暗号またはアルゴリズムとは無関係に、指定された暗号化ライブラリーが使用するアルゴリズムを使用して暗号化されます。
- COMPRLIB|ENCRLIB name
- 圧縮プロセスまたは暗号化プロセスの際に使用するライブラリーの名前を示します。 例えば、Windows の場合は db2compr.dll、 Linux および UNIX オペレーティング・システムの場合は libdb2compr.so などです。 この名前は、サーバー上の 1 個のファイルを参照する完全修飾パスでなければなりません。 このパラメーターを指定しない場合、デフォルトの Db2 圧縮ライブラリーが使用されます。 指定されたライブラリーをロードできない場合、バックアップ操作は失敗します。
- EXCLUDE
- ライブラリーをバックアップ・イメージに格納しないことを指定します。
- COMPROPTS|ENCROPTS string
- バイナリー・データのうち、ライブラリーの初期設定ルーチンに渡すブロックを記述します。
データベース・マネージャーは、このストリングを直接クライアントからサーバーに渡します。バイト反転やコード・ページ変換の問題がある場合は圧縮ライブラリーで処理されます。データ・ブロックの最初の文字が「@」であれば、データの残りの部分はサーバー上のファイルの名前として解釈されます。
その場合、データベース・マネージャーは、ストリングの内容をそのファイルの内容で置き換え、その新しい値を初期設定ルーチンに渡します。
string の最大長は 1024 バイトです。
デフォルトの Db2 ライブラリー libdb2compr_encr.so (圧縮および暗号化) または libdb2encr.so (暗号化のみ) の場合、ENCROPTS string のフォーマットは次のようになります。
Cipher=cipher-name:Mode=mode-name:Key Length=key-length: Master Key Label=label-name-1...:Master Key Label=label-name-n- Cipher はオプションです。有効値は AES および 3DES です (デフォルトは AES)。
- Mode はオプションです。デフォルトは CBC です。
- key length はオプションです。AES の場合の有効値は 128、192、および 256 であり (デフォルトは 256)、3DES の場合の有効値は 168 のみです。
- Master Key Label はオプションです。デフォルトは、データベースのマスター鍵のラベルです。
- EXCLUDE LOGS
- バックアップ・イメージにログ・ファイルを含めないことを指定します。
オフライン・バックアップ操作を実行する場合は、このオプションを指定しなくても、ログは除外されます (ただし、スナップショット・バックアップは例外です)。
ログは、以下のバックアップ・シナリオにおいて、デフォルトで除外されます。
- 単一パーティション・データベースのオフライン・バックアップ。
- 単一システム・ビュー・バックアップを使用しない場合は、マルチ・パーティション・データベースのオンラインまたはオフラインのバックアップ。
スナップショット・バックアップで EXCLUDE LOGS を指定すると、バックアップ中のログ・ファイルへの書き込みが可能になります。 これらのログ・ファイルは、デフォルトでスナップショット・バックアップに含まれますが、リカバリーには使用できません。このバックアップをリストアした場合、バックアップからログ・ファイルを抽出してはなりません。 バックアップが取られたときにログ・パスがデフォルトに設定されていた場合は、ログ・ファイルをリストアから除外することはできず、バックアップのリストア後にそれらのログ・ファイルを手動で削除する必要があります。 ログ・パスがデフォルトではなかった場合、RESTORE DATABASE コマンドに LOGTARGET EXCLUDE オプションを指定して使用することで、ログ・ファイルをリストア時に除外することができます。
- INCLUDE LOGS
- このイメージをリストアし、整合性が取れた特定の時点までロールフォワードするために必要になる範囲のログ・ファイルをバックアップ・イメージに含めることを指定します。
オフライン・バックアップでは、このオプションは無効です。ただし、スナップショット・バックアップの場合は例外です。
INCLUDE LOGS は、常にオンライン・バックアップ操作のデフォルトのオプションです。ただし、各データベース・パーティションを独立してバックアップする (つまり、単一システム・ビュー・バックアップを使用しない場合の) 複数パーティションのオンライン・バックアップの場合は例外です。
バックアップで必要とされるいずれかのログ・ファイルが既にバックアップされていて、ログ・パスにはもうない場合、オーバーフロー・ログ・パスが既に設定されているのであれば、Db2 データベース・マネージャーはそのパスからバックアップ用にログ・ファイルを取り出します。 その他の場合には、データベース・マネージャーは現在のログ・パスまたはミラー・ログ・パスから、バックアップ用のログ・ファイルを取り出します。 これらのログ・ファイルは、バックアップ完了後にログ・パスから削除されます。
- WITHOUT PROMPTING
-
バックアップは、管理されることなく実行されるため、通常はユーザーの介入を必要とするアクションでエラー・メッセージが戻されるように指定されます。これはデフォルトです。
例
(Sun) CALL SYSPROC.ADMIN_CMD('backup db sample online use tsm')
(Mon) CALL SYSPROC.ADMIN_CMD
('backup db sample online incremental delta use tsm')
(Tue) CALL SYSPROC.ADMIN_CMD
('backup db sample online incremental delta use tsm')
(Wed) CALL SYSPROC.ADMIN_CMD
('backup db sample online incremental use tsm')
(Thu) CALL SYSPROC.ADMIN_CMD
('backup db sample online incremental delta use tsm')
(Fri) CALL SYSPROC.ADMIN_CMD
('backup db sample online incremental delta use tsm')
(Sat) CALL SYSPROC.ADMIN_CMD
('backup db sample online incremental use tsm')使用上の注意
- バックアップ内のデータは、データベース・サーバーによって保護されるわけではありません。 バックアップに LBAC で保護されたデータが含まれる場合は特に、バックアップを適切に保護しておく必要があります。
- テープへのバックアップの場合、可変ブロック・サイズの使用はサポートされていません。そのオプションを使用する必要がある場合は、リカバリーが正常に実行されるようにテストしたプロシージャーが使用できるようになっていることを確認し、また可変ブロック・サイズを指定して作成されたバックアップ・イメージを使用してください。
- バックアップ・ユーティリティーは、タイプ 2 接続で使用することはできません。
- 可変ブロック・サイズを使用する場合、使用している磁気テープ装置の最大限度以下のバックアップ・バッファー・サイズを指定する必要があります。 パフォーマンスを最適化するには、使用している装置のブロック・サイズの最大限度と等しい値をバッファー・サイズとして使用しなければなりません。
- スナップショット・バックアップは、ファイラー・システムまたはストレージ・システムで障害が発生した場合に備えて、通常のディスク・バックアップで補完する必要があります。
- 定期的にデータベースをバックアップしていくと、大きなデータベース・バックアップ・イメージ、多くのデータベース・ログ、およびロード・コピー・イメージが累積する場合があり、これらすべてが大量のディスク・スペースを占めることがあります。これらのリカバリー・オブジェクトの管理方法については、『リカバリー・オブジェクトの管理』を参照してください。
- プロキシー・ノードをサポートする TSM 環境では、OPTIONS パラメーターを使用してバックアップ操作を使用可能にすることができます。詳しくは、『Tivoli Storage Manager クライアントの構成』のトピックを参照してください。
- Db2_BCKP_PAGE_VERIFICATION レジストリー変数を使用して、バックアップ中の DMS および AS ページの妥当性検査を有効にすることができます。妥当性検査により、データ・ページ、索引ページ、XML オブジェクト・ページのチェックサム妥当性検査の失敗、およびこれらのページのメタ情報における異常を含む、多くのタイプの構造保全性の問題を識別できます。ただし、考えられるすべての保全性の問題を識別できるわけではありません。制限には以下のようなものがありますが、これだけに限定されるわけではありません。
- データ・ページのバージョンが、DB2 が最後にディスク上の表スペース・コンテナー・ファイルに書き込んだものを反映しているかどうか (つまり、書き込み I/O の欠落) が識別されない。
- ページ上のデータとこのデータと相関関係にあるオブジェクト (索引、制約、または MQT など) 間の論理的不連続が識別されない。
- 場所の誤ったデータ・ページが同じオブジェクト ID が想定されている場所の異なる表スペースにある場合に、データ・ページのバージョンが、Db2 が書き込むディスク上の表スペース・コンテナー・ファイル内の場所にあるかどうか (つまり、書き込み I/O の場所の誤り) が、検出されない。
- LOB または長フィールド・データ・ページの保全性の妥当性検査が実行されない。
- SMS 表スペースの場合、保全性の妥当性検査は、オブジェクトごとにページ・カウントが正しいことの確認に限定され、それ以上の妥当性検査が実行されない。
- DB2_BCKP_INCLUDE_LOGS_WARNING レジストリー変数を使用すると、いくつかのオンライン・バックアップについて、必要なログすべてが正常に組み込まれていなくても継続できるように指定できます。
- ONLINE オプションと INCLUDE LOGS オプションを指定して BACKUP DATABASE コマンドを発行すると、バックアップの終わりまでのロールフォワードに必要なすべてのログ・ファイルが、結果のバックアップ・データベース・イメージに含まれるようになります。
結果セット情報
| 列名 | データ・タイプ | 説明 |
|---|---|---|
| BACKUP_TIME | VARCHAR(14) | バックアップ・イメージに名前を付けるときに使用されたタイム・スタンプ・ストリングに対応します。 |
| DBPARTITIONNUM | SMALLINT | エージェントがバックアップ操作を実行したデータベース・パーティション番号。 |
| SQLCODE | INTEGER | 指定されたデータベース・パーティションにおけるバックアップ処理の最終的な SQLCODE 結果。 |
| SQLERRMC | VARCHAR(70) | 指定されたデータベース・パーティションにおけるバックアップ処理の最終的な SQLERRMC 結果。 |
| SQLERRML | SMALLINT | 指定されたデータベース・パーティションにおけるバックアップ処理の最終的な SQLERRML 結果。 |
SQLCODE、SQLERRMC、および SQLERRML は、指定されたデータベース・パーティションでバックアップによって戻された SQLCA の、同等の名前を持つメンバーを参照します。
