Replication Manager Application Agent CLI ユーザーズガイド

[目次][索引][前へ][次へ]


6.3.3 SQL Serverデータベースをテープにバックアップする

SQL Serverデータベースをテープへオンラインバックアップする例について説明します。この例では,データベースサーバー「DBServer」のインスタンス「INSTANCE_1」をいったん副ボリュームにオンラインバックアップしたあと,副ボリュームからテープへバックアップします。オペレーションIDとして,「Operation_A」を使用します。

なお,クラスター環境でApplication Agentを使用する場合には,基本コマンドを実行する前に,次のようにコマンドプロンプトから環境変数DRM_HOSTNAMEを設定してください。

PROMPT> set DRM_HOSTNAME=<仮想サーバー名>
この項の構成
(1) コピーグループの再同期
(2) SQL Serverデータベースのバックアップ

(1) コピーグループの再同期

常時スプリット運用の場合,コピーグループを再同期してから,データをバックアップします。

常時ペア運用の場合は,バックアップの前にコピーグループを再同期する必要はありません。テープバックアップが終了してから,コピーグループを再同期して,初期状態に戻します。

コピーグループを再同期するには:

  1. 複数世代の運用の場合,次に使われるコピーグループを確認します。
    バックアップサーバーでdrmsqlcatコマンドを実行し,次に使われるコピーグループを確認します。
    コピーグループがロックされていない場合は,最もバックアップ終了時刻の古いコピーグループが上書きされます(コピーグループのロック状態は,drmcgctlコマンドを実行して確認できます)。
  2. 副ボリュームのキャッシュをクリアーします。
    バックアップする前に,バックアップサーバーのシステムキャッシュをクリアーします。
    システムキャッシュをクリアーするには,バックアップサーバーでEX_DRM_CACHE_PURGEを実行し,副ボリュームをマウント/アンマウントします。
    EX_DRM_CACHE_PURGEに指定するコピーグループ名が複数あるときは,あらかじめコピーグループ一括定義ファイルを作成し,コピーグループ一括定義ファイルを指定すると便利です。この例では,複数のコピーグループをコピーグループ一括定義ファイルCGLIST.txtで定義しています。
    BKServer > EX_DRM_CACHE_PURGE Operation_A -cg_file C:\temp\CGLIST.txt
  3. コピーグループを再同期します。
    データベースサーバーでEX_DRM_RESYNCを実行し,コピーグループを再同期します。副ボリュームへバックアップする時点で正ボリュームと副ボリュームの差分量が大きいと,バックアップの応答時間が長くなる場合があります。バックアップする前にコピーグループを再同期することで,バックアップを高速化できます。
    DBServer > EX_DRM_RESYNC Operation_A -cg_file C:\temp\CGLIST.txt -copy_size 7

(2) SQL Serverデータベースのバックアップ

SQL Serverデータベースをバックアップするには:

  1. SQL Serverデータベースを正ボリュームから副ボリュームへバックアップします。
    SQL Serverデータベースをオンラインバックアップします。バックアップするには,EX_DRM_SQL_BACKUPを実行します。引数として,オペレーションID「Operation_A」を指定します。
    システムデータベース(master,model,msdb)を含むデータベース全体をバックアップするときには,EX_DRM_SQL_BACKUPの引数として-systemオプションを指定します(-systemオプションを指定しないと,ユーザーデータベースだけがバックアップされます)。
    なお,システムデータベースを含むバックアップの場合は,オペレーション定義ファイルのTARGET_NAMEが空白でなければなりません。
    DBServer > EX_DRM_SQL_BACKUP Operation_A -system
  2. 正しくバックアップされていることを確認します。
    データベースサーバーでdrmsqlcatコマンドを実行して,正ボリュームから副ボリュームへのバックアップを実行した日付のバックアップ情報があることを確認します。
  3. 副ボリュームからテープにバックアップするときに必要なバックアップ情報をエクスポートします。
    EX_DRM_DB_EXPORTを実行すると,バックアップ情報がデータベースサーバーの拡張コマンド用一時ディレクトリーに格納されます。
    DBServer > EX_DRM_DB_EXPORT Operation_A
    コマンドの実行後,データベースサーバーの拡張コマンド用一時ディレクトリーに「<オペレーションID>.drm」ファイルが作成されます。コマンドを実行した日付のファイルが作成されていることを確認してください。
  4. VDIメタファイルをデータベース構成ファイルとは別のディレクトリーに配置した場合,拡張コマンド用一時ディレクトリーに退避します。
    VDIメタファイルは副ボリュームをリストアするときに必要です。VDIメタファイルを拡張コマンド用一時ディレクトリーに退避すると,エクスポートしたバックアップ情報とあわせてバックアップサーバーに転送できます。退避するには,EX_DRM_SQLFILE_PACKを実行します。
    DBServer > EX_DRM_SQLFILE_PACK Operation_A
    コマンドの実行後,データベースサーバーの拡張コマンド用一時ディレクトリーに「<バックアップID>_<データベースID>.dmp」ファイルが作成されます。コマンドを実行した日付のファイルが作成されていることを確認してください。
  5. エクスポートしたバックアップ情報(およびVDIメタファイル)をバックアップサーバーへ転送します。
    バックアップ情報(およびVDIメタファイル)をデータベースサーバーからバックアップサーバーへ転送します。転送するには,データベースサーバーでEX_DRM_FTP_PUTを実行します。ここでは,FTPサーバーにログオンするために使用するユーザーIDを「admin」,パスワードを「password」とします。バックアップ情報(およびVDIメタファイル)は,バックアップサーバーの拡張コマンド用一時ディレクトリーに格納されます。
    DBServer > EX_DRM_FTP_PUT Operation_A -server BKServer -user admin -password password
  6. データベースサーバーから転送したバックアップ情報をバックアップサーバーのバックアップカタログへインポートします。
    データベースサーバーから転送したバックアップ情報を,バックアップサーバーのバックアップカタログへインポートします。バックアップ情報をインポートするには,バックアップサーバーでEX_DRM_DB_IMPORTを実行します。
    BKServer > EX_DRM_DB_IMPORT Operation_A
    コマンドの実行後,<FTP_HOME_DIR値>\<FTP_SUB_DIR値>\<オペレーションID>\BK\ディレクトリーに「<オペレーションID>.bid」が作成されます。コマンドを実行した日付のファイルが作成されていることを確認してください。
  7. VDIメタファイルをデータベース構成ファイルとは別のディレクトリーに配置した場合,データベースサーバーから転送したVDIメタファイルをバックアップサーバーへ展開します。
    EX_DRM_SQLFILE_EXTRACTを実行し,データベースサーバーから転送したVDIメタファイルをバックアップサーバーに展開します。このとき,最新のVDIメタファイルだけがバックアップサーバーに展開されます。
    BKServer > EX_DRM_SQLFILE_EXTRACT Operation_A
  8. 副ボリュームのデータをテープへバックアップします。
    バックアップするには,バックアップサーバーでEX_DRM_TAPE_BACKUPを実行します。ここでは,副ボリュームのドライブ文字を「E:」とします。
    BKServer > EX_DRM_TAPE_BACKUP Operation_A -mount_pt E:
    なお,テープバックアップ用構成定義ファイル(NBU.DATなど)に定義されているマウントポイントと,実際にそのとき空いているマウントポイントが一致しているのであれば,-mount_ptオプションの指定を省略できます。
    バックアップを実行すると,このバックアップ操作に関する情報がバックアップカタログに新しいバックアップID「0000000002」で登録されます。