カスケード構成でバックアップするにはユーザースクリプトファイルを作成する必要があります。ここでは,次の内容を説明します。
(1) ユーザースクリプトファイルの概要
drmsqlbackupコマンドに-scriptオプションを指定して実行した場合,ユーザーが指定したスクリプトファイルを読み込み,次の個所で,スクリプトファイルの記述に対応したコマンドを実行します。
ユーザースクリプトが実行される個所を,次の図に示します。
図7-30 ユーザースクリプトが実行される個所
ユーザースクリプトファイルには次の注意事項があります。
(2) ユーザースクリプトファイルの記述規則
ユーザースクリプトファイルの記述規則については,「4.16.2 ユーザースクリプトの記述規則」を参照してください。
(3) ユーザースクリプトファイルのサンプルスクリプト
ここでは,ユーザースクリプトファイルのサンプルスクリプトを示します。
次の図に示すカスケード構成を例に挙げて,サンプルスクリプトについて説明します。
図7-31 サンプルとなるカスケード構成
上の図で示したカスケード構成で,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>
ここでは,次の二つの処理についてのサンプルスクリプトを説明します。
それぞれの場合の,スクリプト内で実行するペア操作の処理フロー図と,対応するスクリプト作成例を次に示します。
図7-32 ローカルバックアップしない場合のスクリプト内の処理フロー図
表7-6 ローカルバックアップしない場合のサンプルスクリプト作成例
スクリプト本文 | 解説 |
---|---|
LOCAL_BACKUP=NO …(1) | (1) ローカルサイトの副ボリュームにバックアップしない(リモートサイトの副ボリュームにだけバックアップする) (2) ペア再同期ユーザー処理の開始 (3) ペアグループ指定の一括再同期 (4) HORC環境実行の指定 (5) インスタンス番号の指定 (6) 戻り値が0以外のときはスクリプトがエラー終了 (7) 10秒待ってコマンドが終了しないとスクリプトがエラー終了 (8) sql01のペア状態確認処理 sql01がPAIR状態になるまで待つ (9) インスタンス番号の指定 (10) 戻り値が0以外のときはスクリプトがエラー終了 (11) コマンドの終了を待つ (12) sql02のペア状態確認処理 sql02がPAIR状態になるまで待つ (13) インスタンス番号の指定 (14) 戻り値が0以外のときはスクリプトがエラー終了 (15) コマンドの終了を待つ (16) ペア分割ユーザー処理 (17) ペアグループ指定の一括分割 (18) HORC環境実行の指定 (19) インスタンス番号の指定 (20) 戻り値が0以外のときはスクリプトがエラー終了 (21) 10秒待ってコマンドが終了しないとスクリプトがエラー終了 (22) sql01のペア状態確認処理 sql01がPSUS状態になるまで待つ (23) インスタンス番号の指定 (24) 戻り値が0以外のときはスクリプトがエラー終了 (25) コマンドの終了を待つ (26) sql02のペア状態確認処理 sql02がPSUS状態になるまで待つ (27) インスタンス番号の指定 (28) 戻り値が0以外のときはスクリプトがエラー終了 (29) コマンドの終了を待つ (30) 終了ユーザー処理 |
図7-33 ローカルバックアップする場合のスクリプト内の処理フロー図
表7-7 ローカルバックアップする場合のサンプルスクリプト作成例
スクリプト本文 | 解説 |
---|---|
LOCAL_BACKUP=YES …(1) | (1) ローカルサイトの副ボリュームにもバックアップする(マルチターゲット構成でバックアップする) (2) ペア再同期ユーザー処理 (3) ペアグループ指定の一括再同期 (4) HORC環境実行の指定 (5) インスタンス番号の指定 (6) 戻り値が0以外のときはスクリプトがエラー終了 (7) 10秒待ってコマンドが終了しないとスクリプトがエラー終了 (8) sql01のペア状態確認処理 sql01がPAIR状態になるまで待つ (9) インスタンス番号の指定 (10) 戻り値が0以外のときはスクリプトがエラー終了 (11) コマンドの終了を待つ (12) sql02のペア状態確認処理 sql02がPAIR状態になるまで待つ (13) インスタンス番号の指定 (14) 戻り値が0以外のときはスクリプトがエラー終了 (15) コマンドの終了を待つ (16) ペア分割ユーザー処理 (17) ペアグループ指定の一括分割 (18) HORC環境実行の指定 (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を設定することを推奨 |