Hitachi

Hitachi Advanced Data Binder システム構築・運用ガイド


8.6.4 バージョンアップに失敗した場合の対処方法

HADBサーバのバージョンアップに失敗した場合の対処方法について説明します。

対処方法

  1. メッセージを確認する

    サーバメッセージログファイルをテキストエディタで開き,出力されているエラーメッセージを確認してください。サーバメッセージログファイルは,サーバディレクトリ下のspool/adbmessageXX.logになります。ファイル名のXXは通番であり,0104のどれかになります。最終更新日時が最も新しいファイルを開いてください。

    次に示すメッセージが出力されていない場合は,手順2.に進んでください。

    次に示すメッセージが出力されている場合は,参照先に従って対処してください。

  2. メッセージの対策欄に従って対処する

    出力されているエラーメッセージのIDを基に,マニュアルHADB メッセージを参照してください。対策欄に従って,対処してください。

    対策欄に「弊社問い合わせ窓口に連絡してください。」と記載されている場合は,手順3.に進んでください。

  3. adbinfogetコマンドを実行する

    対策欄に「弊社問い合わせ窓口に連絡してください。」と記載されている場合は,障害の原因を調査するためのトラブルシュート情報を取得する必要があります。

    この場合,adbinfogetコマンドを実行して,トラブルシュート情報を取得してください。操作手順については,「15.2 トラブルシュート情報の取得(adbinfogetコマンド)」を参照してください。

    取得したトラブルシュート情報は,弊社問い合わせ窓口に連絡する際,あわせて送付してください。

    メモ

    障害情報(コアファイル)は,次のどれかのディレクトリ下に出力されます。

    • /var/lib/systemd/coredumpディレクトリ

    • サーバ定義のadb_core_pathオペランドに指定したディレクトリ

    • $DBDIR/SPOOLディレクトリ

対処後,再度HADBサーバを開始してもエラーとなり,バージョンアップに失敗した場合は,データベースをバックアップから回復する必要があります。「(5) データベースをバックアップから回復する」を参照してください。

〈この項の構成〉

(1) KFAA30811-Eメッセージが出力された場合

定義されているスキーマの数が30,001以上あるため,バージョンアップに失敗しました。HADBサーバのバージョンを,いったん旧バージョンに戻してから,対策する必要があります。

HADBサーバを旧バージョンに戻して対策する手順を次に示します。

手順

  1. サーバディレクトリを削除する

    8.12.1 HADBサーバのアンインストール手順」の「(1) サーバディレクトリの削除」を参照して,サーバディレクトリを削除してください。

  2. 旧バージョンのサーバディレクトリをバックアップから回復する

    あらかじめ取得しておいたバックアップから,旧バージョンのサーバディレクトリをコピーして,手順1.で削除した格納先に戻してください。

  3. HADBサーバを開始する

    adbstartコマンドで,HADBサーバを開始してください。

  4. スキーマの数を30,000以下に減らす

    DROP SCHEMA文で不要なスキーマを削除して,定義されているスキーマの数を30,000以下にしてください。スキーマの数が30,001以上あると,バージョンアップできません。

  5. HADBサーバを終了する

    adbstopコマンドでHADBサーバを終了してください。

  6. HADBサーバが正常終了したことを確認する

    8.6.1 バージョンアップ前に実施すること」の「(12) HADBサーバを正常終了する」を参照して,HADBサーバが正常終了したかどうかを確認してください。

HADBサーバが正常終了したことを確認したら,「8.6.2 バージョンアップする」を参照して,再度バージョンアップをしてください。

(2) KFAA41210-Eメッセージが出力された場合

ユーザログファイル数が不足しているため,バージョンアップに失敗しました。HADBサーバのバージョンを,いったん旧バージョンに戻してから,対策する必要があります。

HADBサーバを旧バージョンに戻して対策する手順を次に示します。

手順

  1. サーバディレクトリを削除する

    8.12.1 HADBサーバのアンインストール手順」の「(1) サーバディレクトリの削除」を参照して,サーバディレクトリを削除してください。

  2. 旧バージョンのサーバディレクトリをバックアップから回復する

    あらかじめ取得しておいたバックアップから,旧バージョンのサーバディレクトリをコピーして,手順1.で削除した格納先に戻してください。

  3. サーバ定義adb_log_usrfile_numオペランドの指定値を確認する

    サーバ定義adb_log_usrfile_numオペランドの指定値に,1が指定されているかどうかを確認してください。1が指定されている場合は,2以上に変更してください。

  4. HADBサーバを開始・終了する

    adbstartコマンドで,HADBサーバを開始してください。そのあとで,adbstopコマンドでHADBサーバを終了してください。

  5. HADBサーバが正常終了したことを確認する

    8.6.1 バージョンアップ前に実施すること」の「(12) HADBサーバを正常終了する」を参照して,HADBサーバが正常終了したかどうかを確認してください。

HADBサーバが正常終了したことを確認したら,「8.6.2 バージョンアップする」を参照して,再度バージョンアップをしてください。

(3) KFAA50038-Eメッセージが出力された場合

KFAA50038-Eメッセージの変数aa....aaに出力された内容によって,対処方法が異なります。

(a) 変数aa....aaがof an abnormal termination the last time it endedの場合

HADBサーバが異常終了していたため,バージョンアップに失敗しました。HADBサーバのバージョンを,いったん旧バージョンに戻してから,対策する必要があります。

[マルチノード機能]

マルチノード機能を使用している場合は,全ノードのHADBサーバを,旧バージョンに戻してください。

HADBサーバを旧バージョンに戻して対策する手順を次に示します。

手順

  1. サーバディレクトリを削除する

    8.12.1 HADBサーバのアンインストール手順」の「(1) サーバディレクトリの削除」を参照して,サーバディレクトリを削除してください。

    [マルチノード機能]

    マルチノード機能を使用している場合は,全ノードで実施してください。

  2. 旧バージョンのサーバディレクトリをバックアップから回復する

    あらかじめ取得しておいたバックアップから,旧バージョンのサーバディレクトリをコピーして,手順1.で削除した格納先に戻してください。

    [マルチノード機能]

    マルチノード機能を使用している場合は,全ノードで実施してください。

  3. HADBサーバを開始・終了する

    adbstartコマンドで,HADBサーバを開始してください。そのあとで,adbstopコマンドでHADBサーバを終了してください。

    [マルチノード機能]

    マルチノード機能を使用している場合は,「18.5.1 マルチノード構成のHADBサーバの開始方法」を参照して,マルチノード構成のHADBサーバを開始してください。そのあとで,「18.5.2 マルチノード構成のHADBサーバの終了方法」を参照して,マルチノード構成のHADBサーバを終了してください。

  4. HADBサーバが正常終了したことを確認する

    8.6.1 バージョンアップ前に実施すること」の「(12) HADBサーバを正常終了する」を参照して,HADBサーバが正常終了したかどうかを確認してください。

HADBサーバが正常終了したことを確認したら,「8.6.2 バージョンアップする」を参照して,再度バージョンアップをしてください。

(b) 変数aa....aaがthe adbstart command was never been executed in previous versionsの場合

旧バージョンのときに一度もHADBサーバを開始していないため,バージョンアップに失敗しました。

adbinitコマンドを実行して,データベースの初期設定をする必要があります。データベースの初期設定については,「9.2 データベースを初期設定する(データ用DBエリアを作成する)」を参照してください。

(c) 変数aa....aaがof using the multiple node facilityの場合

バージョン03-00より前のバージョンのHADBサーバで,バージョンアップ,およびマルチノード機能を使用するシステムへの変更を同時に実行しようとしたため,バージョンアップに失敗しました。

バージョンアップを実施する前に,サーバ定義にマルチノード機能のオペランドを指定すると,バージョンアップに失敗します。バージョンアップを実施したあとに,マルチノード機能を使用するシステムへの変更を実施してください。

手順

  1. サーバ定義adb_sys_multi_node_infoオペランドの指定を削除する

    マルチノード機能を使用しないようにするため,サーバ定義adb_sys_multi_node_infoオペランドの指定を削除してください。

    または,サーバ定義adb_sys_multi_node_infoオペランドをコメントにしてください。オペランドの指定行の先頭にシャープ(#)を記述すると,その行全体の指定がコメントになります。

  2. HADBサーバを開始する

    マルチノード機能を使用しない状態で,adbstartコマンドを実行して,HADBサーバを開始してください。バージョンアップ処理が開始されます。

    adbstartコマンドの実行後,データベースをバージョンアップしてよいかを確認するKFAA91107-Qメッセージが出力されます。y(またはY)を入力して,データベースをバージョンアップしてください。

    adbstartコマンドが正常終了すると,HADBサーバのバージョンアップは完了です。

  3. HADBサーバを正常終了する

    adbstartコマンドが正常終了し,バージョンアップが完了したら,HADBサーバを正常終了します。adbstopコマンドを実行して,HADBサーバを正常終了してください。

  4. サーバ定義adb_sys_multi_node_infoオペランドを指定する

    バージョンアップが完了したら,マルチノード機能を使用できます。手順1.で削除したサーバ定義adb_sys_multi_node_infoオペランドを指定してください。

  5. マルチノード構成のHADBサーバを開始する

    サーバ定義adb_sys_multi_node_infoオペランドを指定したら,「18.5.1 マルチノード構成のHADBサーバの開始方法」を参照して,マルチノード構成のHADBサーバを開始してください。

(4) KFAA51400-Eメッセージが出力された場合

バージョン02-00のHADBサーバで作成したデータベースに,スキーマが1つもない状態でバージョンアップしようとしたため,バージョンアップに失敗しました。

adbinitコマンドを実行して,データベースの初期設定をする必要があります。データベースの初期設定については,「9.2 データベースを初期設定する(データ用DBエリアを作成する)」を参照してください。

(5) データベースをバックアップから回復する

HADBサーバのバージョンアップに失敗して,出力されたメッセージに従って対処したあとで,再度HADBサーバを開始してもエラーとなった場合は,データベースをバックアップから回復する必要があります。

データベースをバックアップから回復して,旧バージョンのHADBサーバを再構築する手順を次に示します。

[マルチノード機能]

マルチノード機能を使用している場合は,全ノードのHADBサーバに対して実施してください。

手順

  1. サーバディレクトリを削除する

    8.12.1 HADBサーバのアンインストール手順」の「(1) サーバディレクトリの削除」を参照して,サーバディレクトリを削除してください。

    [マルチノード機能]

    マルチノード機能を使用している場合は,全ノードで実施してください。

  2. 旧バージョンのサーバディレクトリをバックアップから回復する

    あらかじめ取得しておいたバックアップから,旧バージョンのサーバディレクトリをコピーして,手順1.で削除した格納先に戻してください。

    [マルチノード機能]

    マルチノード機能を使用している場合は,全ノードで実施してください。

  3. DBディレクトリをバックアップから回復する

    10.3.2 バックアップからの回復方法」を参照して,DBディレクトリをバックアップから回復してください。

    [マルチノード機能]

    マルチノード機能を使用している場合は,「18.9.2 バックアップからの回復方法」を参照して,DBディレクトリをバックアップから回復してください。

  4. サーバ定義adb_db_pathオペランドの指定値を確認する

    手順3.で回復したDBディレクトリのパス名が,サーバ定義adb_db_pathオペランドに指定されているかどうか確認してください。

  5. HADBサーバを開始・終了する

    adbstartコマンドで,HADBサーバを開始してください。そのあとで,adbstopコマンドでHADBサーバを終了してください。

    [マルチノード機能]

    マルチノード機能を使用している場合は,「18.5.1 マルチノード構成のHADBサーバの開始方法」を参照して,マルチノード構成のHADBサーバを開始してください。そのあとで,「18.5.2 マルチノード構成のHADBサーバの終了方法」を参照して,マルチノード構成のHADBサーバを終了してください。

  6. HADBサーバが正常終了したことを確認する

    8.6.1 バージョンアップ前に実施すること」の「(12) HADBサーバを正常終了する」を参照して,HADBサーバが正常終了したかどうかを確認してください。

HADBサーバが正常終了していれば,旧バージョンのHADBサーバを再構築できています。HADBサーバのバージョンアップが必要な場合は,「8.6.2 バージョンアップする」を参照してください。