Replication Manager Software Application Agent CLI ユーザーズガイド
カスケード構成でバックアップするにはユーザースクリプトファイルを作成する必要があります。ここでは,次の内容を説明します。
- ユーザースクリプトの概要
- ユーザースクリプトファイルの記述規則
- ユーザースクリプトファイルのサンプルスクリプト
- この項の構成
- (1) ユーザースクリプトファイルの概要
- (2) ユーザースクリプトファイルの記述規則
- (3) ユーザースクリプトファイルのサンプルスクリプト
drmsqlbackupコマンドに-scriptオプションを指定して実行した場合,ユーザーが指定したスクリプトファイルを読み込み,次の個所で,スクリプトファイルの記述に対応したコマンドを実行します。
- ShadowImageペアの再同期の後
- 静止化中
- 静止化解除の後
ユーザースクリプトが実行される個所を,次の図に示します。
ユーザースクリプトファイルには次の注意事項があります。
- ユーザースクリプトファイルに記述したスクリプトと対応するコマンドがない場合は,コマンドは実行されません。
- ユーザースクリプトファイルで,ローカルバックアップを実行しない設定をした場合(LOCAL_BACKUP項目にNOを指定した場合),ローカルサイトの副ボリュームに対するペア再同期,ペア分割,バックアップカタログ作成をしないで,ユーザースクリプトだけを実行します。
- drmsqlbackupコマンドは,ユーザースクリプトファイルに記述したコマンドを実行した場合,ユーザースクリプトファイルから実行したコマンドが終了するかタイムアウトになるまで待ち続けます。
- TIMEOUT=0と指定した場合,ユーザースクリプトファイルから実行したコマンドが終了しないかぎりdrmsqlbackupコマンドも終了しませんので,タイムアウト値の設定にはご注意ください。
- ユーザースクリプトファイルから実行したコマンドが応答しなくなったなどの理由で,実行したコマンドを中止する場合は,キーボードから[Ctrl]+[C]を入力するか,Windowsのタスクマネージャを使用して,コマンドのプロセス(drmsqlbackupコマンドのプロセスではなくユーザースクリプトファイルから実行したコマンドのプロセス)を終了させてください。
ユーザースクリプトファイルの記述規則については,「3.16.2 ユーザースクリプトの記述規則」を参照してください。
ここでは,ユーザースクリプトファイルのサンプルスクリプトを示します。
次の図に示すカスケード構成を例に挙げて,サンプルスクリプトについて説明します。
上の図で示したカスケード構成で,drmsqldisplayコマンドを実行した表示例を次に示します。
PROMPT> drmsqldisplay default -remote INSTANCE: default T DB OBJECT FILE L-COPY-GROUP R-COPY-GROUP PORT# TID# LUN# MU# LDEV# P/S SERIAL# D UserDB DATAFILE O:\UserDB_Data.MDF - - CL2-A 16 49 - 741 P 55014 - - - - SI01,sql01 - GL2-B 15 109 0 813 S 55014 - - - - SI02,sql01 - CL2-B 15 109 1 813 S 55014 - - - - SI03,sql01 - CL2-B 15 109 2 813 S 55014 - - - - TC01,sql01 TC01,sql01#0 - - - - 114 C 55555 D UserDB DATAFILE P:\UserDB_Data.NDF - - CL2-A 16 49 - 741 P 55014 - - - - SI01,sql02 - GL2-B 15 109 0 813 S 55014 - - - - SI02,sql02 - CL2-B 15 109 1 813 S 55014 - - - - SI03,sql02 - CL2-B 15 109 2 813 S 55014 - - - - TC01,sql02 TC01,sql02#0 - - - - 114 C 55555 T UserDB TRANSACT O:\UserDB_Log.LDF - - CL2-A 16 49 - 741 P 55014 - - - - SI01,sql01 - GL2-B 15 109 0 813 S 55014 - - - - SI02,sql01 - CL2-B 15 109 1 813 S 55014 - - - - SI03,sql01 - CL2-B 15 109 2 813 S 55014 - - - - TC01,sql01 TC01,sql01#0 - - - - 114 C 55555 PROMPT>ここでは,次の2つの処理についてのサンプルスクリプトを説明します。
- ローカルバックアップしない場合の処理
- ローカルバックアップする場合の処理
それぞれの場合の,スクリプト内で実行するペア操作の処理フロー図と,対応するスクリプト作成例を次に示します。
図6-32 ローカルバックアップしない場合のスクリプト内の処理フロー図
表6-6 ローカルバックアップしない場合のサンプルスクリプト作成例
スクリプト本文 解説 LOCAL_BACKUP=NO …(1) [RESYNC_PROC] …(2) # Target pair volumes: SI11 dev group [CMD] CMDLINE=C:\HORCM\etc\pairresync.exe -g TC01 -FBC 0 …(3) ENV=HORCC_MRCF= …(4) ENV=HORCMINST=0 …(5) END_CODE=TERMINATE_NZ …(6) TIMEOUT=10 …(7) [CMD] CMDLINE=C:\HORCM\etc\pairevtwait.exe -g TC01 -d sql01 -s pair -t 600 -FBC 0 …(8) ENV=HORCMINST=0 …(9) END_CODE=TERMINATE_NZ…(10) TIMEOUT=0 …(11) [CMD] CMDLINE=C:\HORCM\etc\pairevtwait.exe -g TC01 -d sql02 -s pair -t 600 -FBC 0 …(12) ENV=HORCMINST=0 …(13) END_CODE=TERMINATE_NZ …(14) TIMEOUT=0 …(15) [SPLIT_PROC] …(16) # Target pair volumes: SI11 dev group [CMD] CMDLINE=C:\HORCM\etc\pairsplit.exe -g TC01 -FBC 0 …(17) ENV=HORCC_MRCF= …(18) ENV=HORCMINST=0 …(19) END_CODE=TERMINATE_NZ …(20) TIMEOUT=10 …(21) [CMD] CMDLINE=C:\HORCM\etc\pairevtwait.exe -g TC01 -d sql01 -s psus -t 600 -FBC 0 …(22) ENV=HORCMINST=0…(23) END_CODE=TERMINATE_NZ…(24) TIMEOUT=0 …(25) [CMD] CMDLINE=C:\HORCM\etc\pairevtwait.exe -g TC01 -d sql02 -s psus -t 600 -FBC 0…(26) ENV=HORCMINST=0…(27) END_CODE=TERMINATE_NZ …(28) TIMEOUT=0…(29) [FINISH_PROC] …(30) #do nothing(1) ローカルサイトの副ボリュームにバックアップしない(リモートサイトの副ボリュームにだけバックアップする)
(2) ペア再同期ユーザー処理の開始
(3) ペアグループ指定の一括再同期
(4) リモートコピーを指定
(5) インスタンス番号の指定
(6) 戻り値が0以外のときはスクリプトがエラー終了
(7) 10秒待ってコマンドが終了しないとスクリプトがエラー終了
(8) sql01のペア状態確認処理
sql01がPAIR状態になるまで待つ
(9) インスタンス番号の指定
(10) 戻り値が0以外のときはスクリプトがエラー終了
(11) コマンドの終了を待つ
(12) sql02のペア状態確認処理
sql02がPAIR状態になるまで待つ
(13) インスタンス番号の指定
(14) 戻り値が0以外のときはスクリプトがエラー終了
(15) コマンドの終了を待つ
(16) ペア分割ユーザー処理
(17) ペアグループ指定の一括分割
(18) リモートコピーを指定
(19) インスタンス番号の指定
(20) 戻り値が0以外のときはスクリプトがエラー終了
(21) 10秒待ってコマンドが終了しないとスクリプトがエラー終了
(22) sql01のペア状態確認処理
sql01がPSUS状態になるまで待つ
(23) インスタンス番号の指定
(24) 戻り値が0以外のときはスクリプトがエラー終了
(25) コマンドの終了を待つ
(26) sql02のペア状態確認処理
sql02がPSUS状態になるまで待つ
(27) インスタンス番号の指定
(28) 戻り値が0以外のときはスクリプトがエラー終了
(29) コマンドの終了を待つ
(30) 終了ユーザー処理図6-33 ローカルバックアップする場合のスクリプト内の処理フロー図
表6-7 ローカルバックアップする場合のサンプルスクリプト作成例
スクリプト本文 解説 LOCAL_BACKUP=YES …(1) [RESYNC_PROC] …(2) # Target pair volumes: SI11 dev group [CMD] CMDLINE=C:\HORCM\etc\pairresync.exe -g TC01 -FBC 0 …(3) ENV=HORCC_MRCF= …(4) ENV=HORCMINST=0 …(5) END_CODE=TERMINATE_NZ …(6) TIMEOUT=10 …(7) [CMD] CMDLINE=C:\HORCM\etc\pairevtwait.exe -g TC01 -d sql01 -s pair -t 600 -FBC 0 …(8) ENV=HORCMINST=0 …(9) END_CODE=TERMINATE_NZ …(10) TIMEOUT=0 …(11) [CMD] CMDLINE=C:\HORCM\etc\pairevtwait.exe -g TC01 -d sql02 -s pair -t 600 -FBC 0 …(12) ENV=HORCMINST=0 …(13) END_CODE=TERMINATE_NZ …(14) TIMEOUT=0 …(15) [SPLIT_PROC]…(16) # Target pair volumes: SI11 dev group [CMD] CMDLINE=C:\HORCM\etc\pairsplit.exe -g TC01 -FBC 0 …(17) ENV=HORCC_MRCF= …(18) ENV=HORCMINST=0 …(19) END_CODE=TERMINATE_NZ …(20) TIMEOUT=10 …(21) [CMD] CMDLINE=C:\HORCM\etc\pairevtwait.exe -g TC01 -d sql01 -s psus -t 600 -FBC 0…(22) ENV=HORCMINST=0 …(23) END_CODE=TERMINATE_NZ …(24) TIMEOUT=0 …(25) [CMD] CMDLINE=C:\HORCM\etc\pairevtwait.exe -g TC01 -d sql02 -s psus -t 600 -FBC 0 …(26) ENV=HORCMINST=0 …(27) END_CODE=TERMINATE_NZ…(28) TIMEOUT=0 …(29) [FINISH_PROC] …(30) [CMD] CMDLINE="C:\Program Files\ORIGINAL\TERM.wsf" …(31) END_CODE=IGNORE …(32) #script end(1) ローカルサイトの副ボリュームにもバックアップする(マルチターゲット構成でバックアップする)
(2) ペア再同期ユーザー処理
(3) ペアグループ指定の一括再同期
(4) リモートコピーを指定
(5) インスタンス番号の指定
(6) 戻り値が0以外のときはスクリプトがエラー終了
(7) 10秒待ってコマンドが終了しないとスクリプトがエラー終了
(8) sql01のペア状態確認処理
sql01がPAIR状態になるまで待つ
(9) インスタンス番号の指定
(10) 戻り値が0以外のときはスクリプトがエラー終了
(11) コマンドの終了を待つ
(12) sql02のペア状態確認処理
sql02がPAIR状態になるまで待つ
(13) インスタンス番号の指定
(14) 戻り値が0以外のときはスクリプトがエラー終了
(15) コマンドの終了を待つ
(16) ペア分割ユーザー処理
(17) ペアグループ指定の一括分割
(18) リモートコピーを指定
(19) インスタンス番号の指定
(20) 戻り値が0以外のときはスクリプトがエラー終了
(21) 10秒待ってコマンドが終了しないとスクリプトがエラー終了
(22) sql01のペア状態確認処理
sql01がPSUS状態になるまで待つ
(23) インスタンス番号の指定
(24) 戻り値が0以外のときはスクリプトがエラー終了
(25) コマンドの終了を待つ
(26) sql02のペア状態確認処理
sql02がPSUS状態になるまで待つ
(27) インスタンス番号の指定
(28) 戻り値が0以外のときはスクリプトがエラー終了
(29) コマンドの終了を待つ
(30) 終了ユーザー処理
(31) シェルスクリプトの実行指定
(32) LOCAL_BACKUPがYESの場合,FINISH_PROC項目にはEND_CODEにはIGNOREを設定することを推奨
All Rights Reserved. Copyright© 2011, 2014, Hitachi, Ltd.