6.2.4 SQL Serverデータベースを正ボリュームにリストアする
副ボリューム上にバックアップデータが保存されている場合に,SQL Serverデータベースをリカバリする例について説明します。この例では,副ボリュームと正ボリュームを再同期することでリストアします。オペレーションIDとして,「Operation_A」を使用します。
- この項の構成
- (1) SQL Serverデータベースをリストアする
- (2) drmsqlrecoverコマンドでSQL Serverデータベースをリカバリする
- (3) drmsqlrecovertoolダイアログボックスでSQL Serverデータベースをリカバリする
(1) SQL Serverデータベースをリストアする
SQL Serverデータベースをリストアするには:
- バックアップデータのバックアップIDを確認します。
リストアに使用するバックアップデータのバックアップIDを確認します。バックアップIDを確認するには,データベースサーバでdrmsqlcatコマンドを実行します。ここでは,SQL Serverのインスタンス名として規定のインスタンス(default)を使用します。
DBServer >drmsqlcat default
INSTANCE: default
BACKUP-ID: 0000000001 BACKUP-MODE: ONLINE INSTANCE: default ORIGINAL-ID: 0000000001
START-TIME:2002/06/01 10:00:00 END-TIME: 2002/06/01 10:03:00 HOSTNAME: DBServer
T DB OBJECT FILE FS DG DEVICE COPY-GROUP
M DB1 METAFILE D:¥MSSQL¥DBServer¥INSTANCE_1¥META D: - - -
D DB1 DATAFILE E:¥SQL¥data1 E: - Harddisk1 VG01,sqlvol01
T DB1 TRANSACT E:¥SQL¥tlog E: - Harddisk2 VG01,sqlvol01
:
なお,リストアコマンド実行時に-targetオプションを指定して,特定のデータベースを含むインスタンス単位でリストアする場合には,リストア対象を確認してください。
- バックアップID記録ファイルを作成します。
バックアップIDを指定してEX_DRM_BACKUPID_SETを実行し,バックアップID記録ファイルを作成します。
DBServer > EX_DRM_BACKUPID_SET Operation_A -backup_id 0000000001
- 副ボリュームのデータを正ボリュームへリストアします。
正ボリュームと副ボリュームを再同期することでリストアします。リストアするには,データベースサーバでEX_DRM_SQL_RESTOREを実行します。
DBServer > EX_DRM_SQL_RESTORE Operation_A -resync
EX_DRM_SQL_RESTOREに-undoオプションを指定して実行すると,データベースをスタンバイ状態(読み取り専用で使用できる状態)でリストアします。-undoオプションを省略したときは,リストアしたあとに,データベースはローディング状態となり,参照できません。なお,-undoオプションは,drmsqlinitコマンドでUNDOファイル格納ディレクトリが設定されていない場合は使用できません。
また,EX_DRM_SQL_RESTOREを実行するときは,SQL Serverに接続しないでください。
- SQL Serverデータベースをリカバリします。
SQL Serverデータベースをリカバリします。リカバリするにはデータベースサーバでdrmsqlrecoverコマンドまたはdrmsqlrecovertoolコマンドを実行します。
drmsqlrecoverコマンドおよびdrmsqlrecovertoolダイアログボックスの使用例を以降に示します。drmsqlrecoverコマンドおよびdrmsqlrecovertoolダイアログボックスの詳細については,マニュアル「Hitachi Command Suite Replication Manager Software Application Agent CLI リファレンスガイド」のdrmsqlrecoverコマンドまたはdrmsqlrecovertoolコマンドの説明を参照してください。
(2) drmsqlrecoverコマンドでSQL Serverデータベースをリカバリする
リカバリしたいデータベースが確定しているときや,複数ボリュームを同時にリカバリするときなどは,drmsqlrecoverコマンドを使うと便利です。
- インスタンス名を指定してdrmsqlrecoverコマンドを実行します。
drmsqlrecoverコマンドでリカバリする場合:
DBServer > drmsqlrecover default
KAVX0001-I drmsqlrecoverコマンドを開始します。
KAVX0002-I drmsqlrecoverコマンドを終了します。
DBServer >
インスタンス名を指定してdrmsqlrecoverコマンドを実行すると,データベースはフルアクセスできる状態となり,リカバリが完了します。
drmsqlrecoverコマンドに-undoオプションを指定して実行すると,データベースをスタンバイ状態(読み取り専用で使用できる状態)でリカバリします。-loadingオプションを指定して実行すると,データベースはローディング状態(読み込み中の状態)になり,アクセスできなくなります。-undoオプションは,drmsqlinitコマンドでUNDOファイル格納ディレクトリが設定されていない場合は使用できません。
(3) drmsqlrecovertoolダイアログボックスでSQL Serverデータベースをリカバリする
リカバリするデータベースの状態を確認しながらリカバリしたいときは,drmsqlrecovertoolダイアログボックスを使うと便利です。
drmsqlrecovertoolダイアログボックスでリカバリするには:
- インスタンス名を指定してdrmsqlrecovertoolコマンドを実行します。
DBServer > drmsqlrecovertool default
コマンドを実行すると,drmsqlrecovertoolダイアログボックスが表示されます。
![[図]](graphics/jc071400.gif)
- [Target database]からリカバリ先データベースを選択します。
- リカバリ後のデータベースの状態を選択します。
[Recovery mode]で,リカバリ後のデータベースの状態を選択します。
[Loading]:ローディング状態(読み込み中の状態)でリカバリする場合に選択します。
[Standby]:スタンバイ状態(読み取り専用で使用できる状態)でリカバリする場合に選択します。なお,[Standby]は,drmsqlinitコマンドでUNDOファイル格納ディレクトリが設定されていない場合は選択できません。
[Online]:データベースにフルアクセスできるようにする場合に選択します。
- ロールフォワードするかどうかを選択します。
トランザクションログを適用する(ロールフォワードする)場合には,[Roll forward?]に[Yes]を選択します。[Transaction log backup list]にトランザクションログを表示していない場合は,[Roll forward?]が[Yes]であっても[No]であってもかまいません。
- [Recovery]ボタンをクリックします。
[Recovery mode]に[Online]を選択したときは,[Target database]に表示されるファイル名に「*」が付加され,リカバリが完了します。