2.114.1 pdrrprefの形式と規則
(1) 機能
リードレプリカ構成の参照DBを更新します。
アンロードログファイルを入力として,更新DBの更新内容を参照DBに反映します。
(2) 実行者
HiRDB管理者が実行できます。
(3) 形式
pdrrpref -d アンロードログファイル格納ディレクトリ名〔,アンロードログファイル格納ディレクトリ名〕…
(4) オプション
(a) -d アンロードログファイル格納ディレクトリ名〔,アンロードログファイル格納ディレクトリ名〕…
参照DBに反映するアンロードログファイルを格納しているディレクトリ名称を絶対パス名で指定します。
(5) 規則
-
アンロードログファイル格納ディレクトリ名とディレクトリ下のファイル名を組み合わせたパス名の長さが1023バイトを超えないようにしてください。
-
指定できるディレクトリ数は,最大128個です。
-
コマンド実行前に,更新DBで出力されたアンロードログファイルのうち,次の条件に合致するファイルをアンロードログファイル格納ディレクトリに格納してください。
-
参照DB構築後,初めてpdrrprefコマンドを実行する場合
更新DBから参照DBへのデータベース複製を行った以降,参照DBへのデータ反映手順のシステムログのアンロードフェーズで出力したアンロードログファイルまでのすべてのアンロードログファイル。(参照DBへのデータ反映手順の詳細は,マニュアル「HiRDBシステム運用ガイド」の「リードレプリカ機能の運用」を参照してください)
-
参照DB構築後,2回目以降にpdrrprefコマンドを実行する場合
前回のpdrrprefコマンド実行以降,参照DBへのデータ反映手順のシステムログのアンロードフェーズで出力したアンロードログファイルまでの全てのアンロードログファイル(参照DBへのデータ反映手順の詳細は,マニュアル「HiRDBシステム運用ガイド」の「リードレプリカ機能の運用」を参照してください)。
-
-
アンロードログファイル格納ディレクトリにアンロードログファイル以外のファイルがある場合は,そのファイルを無視します。
-
HiRDBファイルシステム領域は指定できません。
(6) 注意事項
-
pdrrprefコマンドのリターンコードを次に示します。
0:正常終了(参照DBの更新に成功した,又は更新対象のデータがなかった)
8:異常終了(参照DBの更新準備処理でエラーが発生した)
16:異常終了(参照DBの更新処理でエラーが発生した)
-
pdrrprefコマンドは,pd_read_replica_useオペランドにYを指定したときだけ実行できます。
-
pdrrprefコマンドは,HiRDB稼働中のときだけ実行できます。
-
pdrrprefコマンドを実行するには,各RDエリアがオープン状態であり,かつ閉塞解除状態である必要があります。
-
次に示すどれかの内容に該当する場合に,マニュアル「HiRDBシステム運用ガイド」の「リードレプリカ機能の運用」を参照して,参照DBのデータベースを再作成してください。
-
pdrrprefコマンドがリターンコード16で終了する。
-
pdrrprefコマンドが異常終了する(次に示すどちらかの方法で確認してください)。
・0,8,16以外のリターンコード(コマンドを実行したシェルがbashの場合,128+シグナル番号)でコマンドが終了する。
・KFPS01383-Iメッセージを出力しないでコマンドが終了する。
-
KFPS01819-IメッセージのUAP識別情報に「PROGRAM=pdrrpref」が出力される。
-
KFPS00988-IメッセージのUAP識別情報に「PROGRAM=pdrrpref」が出力される。
-
-
参照DBの更新処理を中断する場合は,次に示す手順を実施してください。
(ア)pdls -d prcコマンドを実行し,PROGRAM(UAPの識別情報)欄がpdrrprefのユーザサーバプロセスのプロセスIDを特定します。
(イ)pdcancelコマンド(-i プロセスID -d オプション指定)に(ア)で特定したプロセスIDを指定して実行してください。
(ウ)マニュアル「HiRDBシステム運用ガイド」の「リードレプリカ機能の運用」を参照して,参照DBのデータベースを再作成してください。
-
pdrrprefコマンドを同時に複数実行しないでください。同時に実行した場合,参照DBの更新に失敗するおそれがあります。参照DBの更新に失敗した場合,マニュアル「HiRDBシステム運用ガイド」の「リードレプリカ機能の運用」を参照して,参照DBのデータベースを再作成してください。
-
pdrrprefコマンドの実行例を次に示します。
$ pdrrpref -d /hirdb/log KFPS01382-I Reflection to readonly DB started. KFPS01383-I Reflection to readonly DB terminated, return code=0 $
-
pdrrprefコマンド実行時のsyslogfileへの出力例を次に示します。
KFPS01382-I Reflection to readonly DB started. KFPH27118-I Processing of unload log file, unload log file name = /hirdb/log/sds01_6660034c0 001_log01 ・・・※ : KFPS01383-I Reflection to readonly DB terminated, return code=0 ※アンロードログファイルごとに出力します