自サーバのレプリケーショングループについて更新情報取得を開始または停止します。また、更新情報取得の開始/停止状態の通知と更新情報の有無を通知します。
記述形式
rpctldif {-s | -e | -t | -x} [-n] [-d DBMS種別] [-u ユーザ名 パスワード] レプリケーショングループ名 |
オプションの説明
s(更新情報取得の開始)
レプリケーショングループの更新情報取得が開始されます。差分同期の運用が可能な状態に変更されます。
e(更新情報取得の停止)
レプリケーショングループの更新情報取得が停止されます。差分同期を運用できない状態に変更されます。
t(更新情報の開始状態検査)
更新情報取得の開始状態を検査します。
コマンド復帰値は以下のとおりです。
0 : 更新情報取得が開始状態
1 : 更新情報取得が停止状態
x(更新情報の存在検査)
更新情報の存在を検査します。
コマンド復帰値は以下のとおりです。
0 : 更新情報ファイル内に更新データが格納されている
1 : 更新情報ファイル内に更新データが格納されていない
2 : 同期が実行中
3 : 更新情報取得が停止状態
-xオプションを指定したrpctldifコマンドのコマンド実行情報は、詳細メッセージ情報ファイルに出力しません。
n(エラーメッセージの抑止)
標準エラー出力へのエラーメッセージ出力を抑止します。("7.1 共通事項"参照)
d(DBMS種別)
対象とするDBMS種別を指定してください。("7.1 共通事項"参照)
u(データベース認証情報)
データベース認証のときにログイン情報を指定してください。("7.1 共通事項"参照)
レプリケーショングループ名
同期方式が差分方式のレプリケーショングループ名を指定してください。("7.1 共通事項"参照)
実行条件
このコマンドは、レプリケーション管理者、または対象レプリケーショングループの所有者だけが実行できます。
メッセージと復帰値
以下に、メッセージと復帰値を示します。
メッセージの内容 | 復帰値 |
---|---|
(正常終了/メッセージは表示されません) | 0 |
更新情報ファイルの使用中状態を強制解除しました。 | 1 |
コマンドの引数に誤りがあります。 | 10 |
レプリケーションサービスが起動されていません。 | 12 |
指定のレプリケーショングループが見つかりません。 | 21 |
指定のレプリケーショングループに対して処理を実行する権限がありません。 | 22 |
指定のレプリケーショングループに対する同期がすでに実行中です。 | 23 |
上記以外のエラー | 100 |
このコマンドの対象となるレプリケーショングループは、同期方式が差分方式でなければなりません。一括方式の場合、何も処理せず正常復帰します。
スケジュールが開始されている場合、rpctlschコマンドで停止してから実行してください。
同期対象のデータファイルがオープン中にこのコマンドを実行しないでください。誤って実行した場合、レプリケーション処理中に更新情報取得が停止状態となったり、データベース間の整合性の状態が正しく検出されない状態となったりします。
差分方式で同期対象のデータファイルのデータ更新中または同期実行中にシャットダウンや電源断を実行した場合、復帰コードに1が通知されることがあります。
この場合、更新情報ファイルの内容が異常状態になっている可能性があり、そのまま運用を継続すると、データ更新や同期実行時に重大なエラーが発生する場合があります。
復帰コードに1が通知された場合、更新情報ファイルを初期化するか該当グループに関するレプリケーション定義情報を再作成した後、一括同期を実行してください。
運用形態の設定にかかわらず、マスタ側とレプリカ側の両方で更新情報取得を開始状態にしてください。両方で更新情報取得が開始状態になっていないと、同期実行はエラーとなります。