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

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


6.12.5 カスケード構成でリストアする

リモートサイトの副ボリュームからテープにバックアップしたSQL Serverデータベースのデータを,ローカルサイトにリストアする(カスケード構成でリストアする)手順について説明します。

  1. ローカルサイトで,SQL Serverサービスを停止します。
  2. ローカルサイトで,正ボリュームをアンマウントします。
  3. テイクオーバーを実行します。
    現用系と待機系を意図的に切り替える場合など,ローカルサイトの正ボリュームがリモートサイトの副ボリュームと通信できる状態の場合は,horctakeoverコマンドを使用してテイクオーバーを実行してください。リモートサイトで実行します。
    PROMPT> horctakeover -g TC01 -d sql01
  4. TrueCopyの常時ペアをペア分割します。
    TrueCopyの常時ペアをペア分割します。分割するには,pairsplitコマンドをリモートサイトで実行します。
    PROMPT> pairsplit -g TC01 -d sql01 -rw
  5. テープからのデータ復元をするため,副ボリュームをマウントします。
    バックアップID「0000000002」を指定して,副ボリュームをマウントします。
    ここでは副ボリュームのマウントポイントを「E:」とします。リモートサイトのバックアップサーバーで実行します。
    PROMPT> drmmount 0000000002 -mount_pt E:
  6. バックアップしたデータをテープから副ボリュームへリストアします。
    リストアするには,リモートサイトのバックアップサーバーでdrmmediarestoreコマンドを実行します。
    PROMPT> drmmediarestore 0000000002
    リストアを実行すると,リモートサイトのバックアップサーバーのバックアップカタログに,このリストア操作に関する情報が新しいバックアップID「0000000003」で登録されます。このとき,副ボリュームの状態が更新されるため,更新前の副ボリュームの状態を管理していたバックアップID「0000000001」は,バックアップサーバーのバックアップカタログから削除されます。
  7. 副ボリュームをアンマウントします。
    マウント時に指定したバックアップID「0000000002」を指定して,副ボリュームをアンマウントします。リモートサイトのバックアップサーバーで実行します。
    PROMPT> drmumount 0000000002
  8. テープから副ボリュームへのリストアの実行結果を確認します。
    リストアが正常に完了したかを確認します。確認するには,リモートサイトのバックアップサーバーでdrmsqlcatコマンドを実行します。
    PROMPT> drmsqlcat default -template
  9. バックアップカタログを一時ファイルへエクスポートします。
    副ボリュームから正ボリュームへリストアするには,副ボリュームへのリストア操作に関するバックアップカタログを,リモートサイトのデータベースサーバーにコピーする必要があります。drmdbexportコマンドを実行して,バックアップ情報をFTPルートフォルダーにエクスポートします。ここではFTPルートフォルダーを「C:\FTP_ROOT」とし,バックアップ情報を「C:\FTP_ROOT\EX-FILE1.drm」にエクスポートします。
    PROMPT> drmdbexport 0000000003 -f C:\FTP_ROOT\EX-FILE1.drm
  10. バックアップサーバー上でエクスポートした一時ファイルをデータベースサーバーで取得します。
    バックアップサーバー上でエクスポートした一時ファイル「C:\FTP_ROOT\EX-FILE1.drm」をリモートサイトのデータベースサーバーから取得します。手順9で作成した一時ファイル「C:\FTP_ROOT\EX-FILE1.drm」をデータベースサーバーに取得するには,ftpコマンド(ファイル転送プロトコル)を実行します。一時ファイルはカレントディレクトリーに格納されます。ここではカレントディレクトリーを「C:\」とします。
    PROMPT> ftp <バックアップサーバー名>
    ftp> Username: (ログイン名を入力)
    ftp> password: (パスワードを入力)
    ftp> binary
    ftp> put C:\temp\EX-FILE1.drm
    ftp> quit
    PROMPT>
  11. バックアップサーバーから取得した一時ファイルをデータベースサーバーのバックアップカタログへインポートします。
    手順10でバックアップサーバーから取得した一時ファイル「C:\EX-FILE1.drm」をデータベースサーバーのバックアップカタログへインポートします。一時ファイルをインポートするには,リモートサイトのデータベースサーバーでdrmdbimportコマンドを実行します。
    drmdbimportコマンドを実行します。
    PROMPT> drmdbimport -f C:\EX-FILE1.drm
    コマンドを実行すると,データベースサーバーのバックアップカタログに,新しいバックアップID「0000000002」でバックアップ情報が登録されます。また,テープから副ボリュームへのリストアが実行されたことがデータベースサーバーのバックアップカタログに反映されるため,更新前の副ボリュームの状態を管理していたバックアップID「0000000001」は,データベースサーバーのバックアップカタログから削除されます。
  12. リストアに使用するコピーグループのバックアップカタログを確認します。
    確認するには,リモートサイトのデータベースサーバーでdrmsqlcatコマンドを実行します。
    PROMPT> drmsqlcat default -template
  13. リモートサイトで,正ボリュームをマウントします。
  14. リモートサイトで,SQL Serverサービスを起動します。
  15. 副ボリュームのデータを正ボリュームへリストアします。
    正ボリュームと副ボリュームを再同期することでリストアします。リストアするには,リモートサイトのデータベースサーバーでdrmsqlrestoreコマンドを実行します。テンプレートカタログのバックアップIDを指定して実行する場合は,-template オプションを指定する必要があります。
    PROMPT> drmsqlrestore 0000000003 -resync -template
  16. トランザクションログファイルを適用します。
    トランザクションログファイルのバックアップファイルをデータベースに適用して,SQL Serverデータベースをリカバリーします。リモートサイトのデータベースサーバーでdrmsqlrecovertoolコマンドを実行します。
    PROMPT> drmsqlrecovertool default  
    drmsqlrecovertoolダイアログボックスが表示されます。
  17. SQL Serverデータベースを,リカバリーします。
    ウィンドウに従ってSQL Serverデータベースをリカバリーします。
    ローカルサイトで過去のトランザクションログファイルのバックアップファイルを適宜削除していない場合,リカバリーに使用しないトランザクションログファイルのバックアップファイルもローカルサイトに存在していることがあります。そのときは,ファイルの作成日時やファイル名を参考にして,リカバリーに必要なファイルを選択してから実行する必要があります。
  18. リモートサイトで,SQL Serverサービスを停止します。
  19. リモートサイトで,正ボリュームをアンマウントします。
  20. リモートサイトで,ShadowImageペアをスプリットし,TrueCopyのペアをPAIR状態にします。
    PROMPT> set HORCC_MRCF=1 
    PROMPT> pairsplit -g SI11 -d sql01
    PROMPT> set HORCC_MRCF=

    リモートサイトが正ボリュームの場合
    PROMPT> pairresync -g TC01 -d sql01

    ローカルサイトが正ボリュームの場合
    PROMPT> pairsplit -g TC01 -d sql01 -S
    PROMPT> paircreate -g TC01 -d sql01 -vl -f never
  21. ローカルサイトでテイクオーバーを実行し,ローカルサイトを正ボリュームに切り替えます。
    ローカルサイトでhorctakeoverコマンドを実行します。
    PROMPT> horctakeover -g TC01 -d sql01
  22. ローカルサイトで正ボリュームをマウントし,SQL Serverサービスを開始します。

この手順を実行するには,次のことに注意してください。

トランザクションログファイルのバックアップは,最後にSQL Serverデータベースを完全にバックアップしたときのバックアップカタログに関連づけされます。しかし,ユーザースクリプトファイルのLOCAL_BACKUP項目にNOを設定してバックアップした場合,バックアップIDが発生しません。そのため,drmsqllogbackupコマンドに-vオプションを指定して実行してトランザクションログバックアップの情報を表示すると,バックアップカタログとトランザクションログファイルの関連が正しくないので,その情報を使用してリカバリーできません。このような場合は,drmsqlrecovertoolダイアログボックスを使用して,リカバリーに必要なトランザクションログバックアップファイルを選択してリカバリーしてください。