1.5.3 HiRDBの稼働中に入れ替え
HiRDBの稼働中に入れ替えるには,次の方法があります。
-
インストーラによる入れ替え
インストーラを使用して修正版HiRDBと入れ替えます。
-
修正パッチをWebから入手して適用
稼働中のHiRDBと,バージョン及びリビジョン番号が同じ場合,修正パッチを適用することで最新版に入れ替えできます。修正パッチは,Webからダウンロードして入手できます。
なお,どの方法についても,修正版HiRDBの入れ替え後にpdopsetupコマンドを実行して付加PPを再登録する必要はありません。
- 〈この項の構成〉
(1) 前提条件
HiRDBの稼働中に入れ替えができるのは,次の条件を満たしている場合です。
-
バージョン,HiRDBサーバの種別,アドレッシングモード
修正版HiRDBと稼働中のHiRDBとで次に示す項目が同じである必要があります。なお,次の項目はpdadmvrコマンドで確認できます。
-
バージョン番号,リビジョン番号
-
HiRDBサーバの種別(HiRDB/シングルサーバか,HiRDB/パラレルサーバか)
-
アドレッシングモード(32ビットモードか,64ビットモードか)
-
-
OSのオペレーティングシステムパラメタ
入れ替え後のHiRDBが必要なOSのオペレーティングシステムパラメタの見積もりが,現在の設定されているカーネルパラメタの値の範囲内である必要があります。
-
HiRDB運用ディレクトリ
インストールディレクトリと稼働中のHiRDB運用ディレクトリが異なるディレクトリである必要があります。
-
ライブラリの共用化
マルチHiRDBの場合,ライブラリを共用化していない必要があります。
-
ディスクの空き容量
HiRDB運用ディレクトリに,現在稼働中のHiRDBと修正版HiRDBの両方が格納できる程度のディスクの空き容量が必要です。修正版HiRDBを格納するのに必要な空き容量はリリースノートを参照してください。
-
HiRDBクライアント
オンライン業務をしているHiRDBクライアントは,入れ替えをするHiRDBサーバ以外で稼働している必要があります。HiRDBクライアントが入れ替えをするHiRDBサーバ上で稼働している場合,HiRDBクライアントを停止し,オンライン業務を停止する必要があります。
-
クライアントライブラリ
オンライン業務をしているHiRDBクライアントが利用しているHiRDB/Developer's Kit及びHiRDB/Run Timeのバージョンは07-00以降である必要があります。07-00より前のバージョンを使用している場合,入れ替えの途中で接続中のHiRDBクライアントとの接続が切断されます。
-
自動再接続機能の適用
HiRDBに接続するHiRDBクライアントは,自動再接続機能(PDAUTORECONNECT=YES)を使用する必要があります。自動再接続機能を使用していない場合,入れ替えの途中で接続中のクライアントとの接続が切断されます。自動再接続機能については,マニュアル「HiRDB UAP開発ガイド」を参照してください。
(2) 入れ替えの手順
修正版HiRDBへの入れ替え手順を次に示します。
-
修正版HiRDBのインストール
修正版HiRDBを上書きインストールします。HiRDB/パラレルサーバの場合,全ユニットで修正版HiRDBを上書きインストールしてください。インストーラによる入れ替えの場合,インストール方法については「インストール」を参照してください。修正パッチをWeb から入手して適用する場合,適用手順については修正パッチに添付されているRELEASE.TXT又はRELEASE.EUCを参照してください。
-
入れ替え用ディレクトリに修正版HiRDBをコピー
"修正版HiRDBのインストールディレクトリ/bin/pdprgcopy 稼働中のHiRDB運用ディレクトリ"コマンドを実行して,インストールディレクトリに格納されている修正版HiRDBをHiRDB運用ディレクトリ下の入れ替え用ディレクトリ($PDDIR/renew)にコピーしてください。HiRDB/パラレルサーバの場合はシステムマネジャがあるユニットでpdprgcopyコマンドを実行してください。
-
HiRDBがオンライン状態であるかどうかの確認
-
修正版HiRDBへの入れ替え
"修正版HiRDBのインストールディレクトリ/bin/pdprgrenew 稼働中のHiRDB運用ディレクトリ"コマンドを実行して,HiRDBの入れ替えをします。このコマンドを実行すると,稼働中のHiRDBをバックアップ用ディレクトリ($PDDIR/renew_bak)に退避した後,稼働中のHiRDBを2.でコピーした入れ替え用ディレクトリの修正版HiRDBと入れ替えます。HiRDB/パラレルサーバの場合はシステムマネジャがあるユニットでpdprgrenewコマンドを実行してください。
(3) 系切り替え機能使用時の入れ替え手順
系切り替え機能を使用している場合,HiRDBの稼働中に入れ替えができるのは次の場合です。
-
スタンバイ型系切り替えの場合
実行系が現用系で稼働中のときだけです。実行系が予備系で稼働中のときは,系を切り替えてコマンドを実行してください。
-
スタンバイレス型系切り替えの場合
すべての正規BESが稼働中のときだけです。代替中は入れ替えできません。
系切り替え機能使用時の修正版HiRDBへの入れ替え手順を次に示します。
-
サーバモードで運用している場合
スタンバイ型系切り替え
-
予備系が実行系の場合,現用系が実行系になるように系を切り替えてください。
-
待機系のHiRDBを停止してください。
-
実行系で修正版HiRDBへの入れ替えを実行してください。
-
待機系のHiRDBをpdsetup -dコマンドでOSから削除してください(KFPS00036-Qメッセージにyを応答)。
-
待機系に修正版HiRDBを上書きインストールしてください。
-
待機系のHiRDBをpdsetupコマンドでOSに登録してください。
-
1.で停止させた待機系のHiRDBを再起動します。待機系のHiRDBでpdstartコマンド(HiRDB/パラレルサーバの場合はpdstart -qコマンド)を実行してください。
1:1スタンバイレス型系切り替え
-
代替BESが稼働中の場合,系を切り戻してください。
-
代替BESユニットの代替部の待機状態を解除してください。解除方法については,マニュアル「HiRDB システム運用ガイド」を参照してください。
-
実行系の正規BESユニットで修正版HiRDBへの入れ替えを実行してください。
2.で待機状態を解除した代替部はpdprgrenewコマンドを実行すると自動的に待機状態になるため,これ以降の操作は不要です。
影響分散スタンバイレス型系切り替え
-
受け入れユニットのゲストBESが稼働中の場合,正規ユニットに系を切り戻してください。
-
HAグループに属する,すべての稼働していないゲストBESの受け入れ可能状態を解除してください。
-
実行系の正規ユニットで修正版HiRDBへの入れ替えを実行してください。
2.で受け入れ可能状態を解除したゲストBESは,pdprgrenewコマンドを実行すると自動的に受け入れ可能状態になるため,これ以降の操作は不要です。
-
-
モニタモードで運用している場合
-
予備系が実行系の場合,現用系が実行系になるように系を切り替えてください。
-
実行系で修正版HiRDBへの入れ替えを実行してください。
-
待機系のHiRDBをpdsetup -dコマンドでOSから削除してください(KFPS00036-Qメッセージにyを応答)。
-
待機系に修正版HiRDBを上書きインストールしてください。
-
待機系のHiRDBをpdsetupコマンドでOSに登録してください。
-
(4) 注意事項
-
修正版HiRDBへ入れ替えの実行不可
HiRDBの稼働状況によっては,修正版HiRDBの入れ替えが実行できないことがあります。詳細については,マニュアル「HiRDB コマンドリファレンス」のpdprgrenewコマンドの説明を参照してください。
-
UAPのレスポンス遅延
pdprgrenewコマンドを実行している時間は,UAPのレスポンスが遅くなります。このため,比較的トラフィックが低い時間帯に実行することをお勧めします。
-
定義の変更
修正版HiRDBへの入れ替えに伴って,必要となるメモリサイズが変わり,システム定義の変更が必要となる場合があります。その場合は事前にシステム構成変更コマンド(pdchgconfコマンド)でHiRDBシステムの定義を変更する必要があります。システム構成変更コマンドの使用方法については,マニュアル「HiRDB システム運用ガイド」を参照してください。
-
運用コマンド,ユティリティの実行
pdprgrenewコマンド実行中は運用コマンドやユティリティを実行しないでください。実行すると,HiRDBが停止している旨のエラーが表示されたり,HiRDBの入れ替え作業が失敗することがあります。
-
系切り替え機能使用不可
修正版への入れ替え中は系切り替え機能は使用できません。
-
ホールダブルカーソルの無効
修正版への入れ替えではカーソル保持ができないので,ホールダブルカーソルを使用するUAPは入れ替え前後で実行できません。そのため,UAPはエラーとなります。
-
UNTIL DISCONNECT指定のLOCK文が無効
修正版への入れ替えではUNTIL DISCONNECT指定の排他を保持できないため,UNTIL DISCONNECT指定のLOCK文を使用するUAPは修正版への入れ替え前後で実行できません。そのため,UAPはエラーとなります。
(5) 運用上の注意事項
修正版HiRDBへ入れ替えるときの運用上の注意事項を次に示します。
-
データベース構成変更ユティリティ(pdmod)で割り当てたグローバルバッファが無効になります。そのため,入れ替え後に再度グローバルバッファを割り当てる必要があります。
-
pd_spool_cleanup_intervalオペランドの時間のカウント開始時点が入れ替え時の時刻にリセットされます。
-
pd_spool_cleanupオペランドにnormal,又はforceを指定している場合,入れ替え時に出力済みのトラブルシュート情報は削除されます。
-
pdstbeginコマンドやpdstendコマンドを使用して,統計情報の取得条件をpd_statisticsオペランドやpdstbeginオペランドの指定と異なる値に変更していた場合,次のようになります。
-
pd_statisticsオペランドやpdstbeginオペランドを指定しないで起動した環境でpdstbeginコマンドで統計情報を取得していた場合,入れ替え後には統計情報を取得しなくなります。そのため,再度pdstbeginコマンドを実行する必要があります。
-
pd_statisticsオペランドにA若しくはYを指定,又はpdstbeginオペランドを指定して起動した環境でpdstendコマンドで統計情報取得を中止した場合や,pdstbeginコマンドを実行して取得する統計情報の種類を変更していた場合,入れ替え後にはシステム共通定義に記述した指定で統計情報を取得します。そのため,再度pdstendコマンドやpdstbeginコマンドを実行する必要があります。
-
-
絞込み検索で使用しているリストがなくなるため,入れ替え後にASSIGN LIST文でリストを再作成する必要があります。
-
pdchprcコマンドで変更した常駐プロセス数はHiRDBシステム定義で指定した常駐プロセス数に戻るため,入れ替え後に再度pdchprcコマンドを実行する必要があります。
-
修正版HiRDBへの入れ替えをすると,システムログファイルが切り替わります。入れ替え前に,スワップできるシステムログファイルがあることを確認し,不足している場合は次の対処をしてください。
-
スワップできるシステムログファイルがない場合
アンロード待ち状態のファイルがあれば,アンロードしてください。アンロード待ち状態のファイルがなければ,システム構成変更コマンド(pdchgconfコマンド)を使用してスワップできるログファイルを追加してください。システム構成変更コマンドの使用方法については,マニュアル「HiRDB システム運用ガイド」を参照してください。
スワップできるシステムログファイルがない状態で入れ替えを実行すると,KFPS01256-Eメッセージを出力後,Psjnf07又はPsjn381のコードでアボートしてHiRDBが停止します。この場合は,スワップできるファイルを準備してからpdstartコマンドでHiRDBを起動してください。
-
スワップできるシステムログファイルが一つだけの場合
修正版HiRDBへの入れ替えはできますが,入れ替え中にスワップできるファイルがないことを示すKFPS01224-Iメッセージが出力されます。入れ替え後にスワップできるシステムログファイルを準備してください。
-
-
修正版HiRDBへの入れ替えをすると,メッセージログファイルが切り替わります。ただし,メッセージログファイルの切り替えを知らせるメッセージ(KFPS01910-Iなど)は表示されません。メッセージログファイル中のメッセージを保存したい場合は,入れ替え前にメッセージログファイルをバックアップしてください。
(6) 関連製品の制限及び注意事項
-
プラグイン
プラグインを利用している場合もHiRDBの稼働中に修正版HiRDBへ入れ替えができます。ただし,プラグインの入れ替えはできません。
-
HiRDB Datareplicator連携機能
HiRDB Datareplicatorを使用してデータ抽出中のHiRDBに対してpdprgrenewコマンドを実行しないでください。オンライン業務を停止しないで修正版HiRDBへの入れ替えをする場合,抽出側のHiRDB Datareplicatorを終了させる必要があります。ただし,HiRDB Datareplicator連携は中止させないでください(pdrplstopコマンドは実行しないでください)。HiRDB Datareplicator連携を中止させると,抽出側DBと反映側DBが不整合になることがあります。
(7) 障害時の運用
(a) エラー発生時の対処
修正版HiRDBへの入れ替え実行中にエラーが発生した場合,pdprgrenewコマンドは自動的に入れ替え前のHiRDBに戻してHiRDBを動作させようとします。エラー発生後に,コマンドがリターンコード12のKFPS04646-Iメッセージを出力して終了した場合,HiRDBを入れ替え前に戻す作業が失敗しています。そのため,標準エラー出力やsyslogfileに出力されたエラーメッセージとKFPS04647-Iメッセージを参照して対処してください。
修正版HiRDBへの入れ替え中にエラーが発生した場合の対処方法を次の図に示します。
-
pdprgrenewコマンドがエラーになった要因を取り除いて,pdprgrenewコマンドを再度実行してください。
-
HiRDBのサーバプロセスがあれば,pdstop -fコマンドでHiRDBを強制終了してからpdprgrenew -bコマンドを実行してください。HiRDBのサーバプロセスがなければ,pdprgrenew -bコマンドを実行してください。pdprgrenew -bコマンドを実行すると,回復処理として,入れ替え前のHiRDBで再開始しようとします。
また,HiRDBの終了処理失敗に関するエラーメッセージ及びアボートコードが表示されることがあります。メッセージの対処方法に従って,入れ替え前のHiRDBの稼働環境を確認し,対処してください。
-
HiRDBのサーバプロセスがあれば,pdstop -fコマンドでHiRDBを強制終了してからpdprgrenew -bコマンドを実行してください。HiRDBのサーバプロセスがなければ,pdprgrenew -bコマンドを実行してください。pdprgrenew -bコマンドを実行すると,回復処理として,修正版HiRDBを入れ替え用ディレクトリに戻します。
また,HiRDBの開始処理失敗に関するエラーメッセージ及びアボートコードが表示されることがあります。入れ替え後の修正版HiRDBが動作するための環境に問題がある可能性があるので,表示されるメッセージに従って対処してください。
(b) 入れ替え失敗時にHiRDBが入れ替え前の状態に戻っているかどうかの確認
修正版HiRDBへの入れ替えに失敗したとき,入れ替え前のHiRDBに戻っているかどうかは,次の項目をチェックして確認できます。次の項目を満たしていれば,入れ替え前のHiRDBに戻っています。
-
pdadmvr -sコマンドで表示されるバージョンが入れ替え前のHiRDBバージョンと一致する
-
HiRDBがオンライン状態(pdlsコマンドの結果,全ユニットが「ACTIVE」と表示)である
-
バックアップ用ディレクトリ($PDDIR/renew_bak)がない