Replication Manager Application Agent CLI リファレンスガイド

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


2.7.6 drmsqlrecover(リストアしたSQL Serverデータベースをリカバリーする)

書式
drmsqlrecover インスタンス名
              [ -target データベース名 | -f 一括定義ファイル名 ]
              [ -transact_log_list トランザクションログ一括定義ファイル名 ]
              [ -undo | -loading ]
説明

drmsqlrestoreコマンドでリストアしたデータベースをリカバリーします。正ボリュームにリストアしたデータベースをバックアップしたときに取得したトランザクションログおよびトランザクションログ一括定義ファイルで指定したトランザクションログを適用し,ロールフォワードでリカバリーします。

コマンドの実行中は,アプリケーションサーバーなどのほかのコンピューターからリストアしたデータベースへ接続しないでください。コマンド実行中にほかのサーバーからデータベースへ接続された場合,コマンドにエラーが発生することがあります。

引数

インスタンス名

リカバリーするデータベースのインスタンスの名称を指定します。SQL Serverインスタンスが既定のインスタンスの場合,「DEFAULT」と指定します。

-target データベース名

特定のデータベースをリカバリーする場合に指定します。複数のデータベースをリカバリーする場合は,1つのデータベース名ごとにコンマで区切って指定します。空白文字を含んだデータベース名を指定する場合,「"」で囲んで指定します。

このオプションおよび-fオプションの両方を省略した場合は,インスタンス全体のリカバリーを実行します。

-f 一括定義ファイル名

このオプションは,-targetオプションと同様に,リカバリーするときに特定のデータベースをリストアしたい場合に指定します。-targetオプションと異なり,データベース名の一覧を記述した定義ファイルをあらかじめ作成しておき,そのファイルの名称を指定することで,データベース名を一度に指定できます。一括定義ファイル名は,絶対パスで指定します。空白文字を含んだ一括定義ファイル名を指定する場合,「"」で囲んで指定します。

このオプションには,指定したインスタンス上に存在するデータベースを必ず指定してください。別のインスタンス上のデータベースを指定した場合,そのデータベースに対するリカバリーは行われません。

-transact_log_list トランザクションログ一括定義ファイル名

リカバリーするときに適用するトランザクションログファイルの順序を指定する場合に指定します。トランザクションログ一括定義ファイルには,トランザクションログファイルを適用する順序を一覧で記載します。トランザクションログ一括定義ファイル名は絶対パスで指定します。空白文字を含んだトランザクションログ一括定義ファイル名を指定する場合,「"」で囲んで指定します。

適用するログはユーザーの運用によって異なります。drmsqllogbackupコマンドでバックアップされたログを確認して,適用するログを選択してください。

このオプションを省略した場合,トランザクションログを適用しないため,ロールフォワードでリカバリーできません。そのため,リカバリー時には,最新のバックアップ時の状態に戻ります。

-undo

リカバリーしたあとに,データベースをスタンバイ状態(読み取り専用)で使用する場合に指定します。drmsqlinitコマンドで指定したUNDOファイル格納ディレクトリーの下にデータベースごとに一時ファイルが作成されます。drmsqlinitコマンドでUNDOファイル格納ディレクトリーが設定されていない場合は,「drmsqlinitコマンドでパラメーターが設定されていません」というエラーメッセージが表示されます。drmsqlinitコマンドでUNDOファイル格納ディレクトリーを設定してください。

-undoオプションと-loadingオプションの両方を省略した場合は,リカバリーしたあとデータベースにフルアクセスできますが,そのあとトランザクションログの適用はできません。

-loading

リカバリーしたあとに,データベースをローディング状態(読み込み中)にする場合に指定します。ローディング状態(読み込み中)のときは,続けてトランザクションログを適用できます。

-loadingオプションを指定した場合は,-undoオプションを指定した場合のように一時ファイルが作成されないため,事前に一時ファイル格納ディレクトリーを作成しておく必要はありません。

-undoオプションと-loadingオプションの両方を省略した場合は,リカバリーしたあとデータベースにフルアクセスできますが,そのあとトランザクションログの適用はできません。

戻り値

0:正常終了した場合

0以外:エラーが発生した場合

使用例