Hitachi

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


7.7.1 バージョンアップ前に実施すること

HADBサーバをバージョンアップする前に,次に示すことを必ず実施してください。

注意事項

環境変数LANG,ADBLANG,およびADBCLTLANGに設定した値は変更しないでください。変更した場合,HADBサーバを正しくバージョンアップできないおそれがあります。

〈この項の構成〉

(1) ディクショナリ用DBエリアおよびシステム表用DBエリアの容量を確認する

HADBサーバをバージョンアップすると,ディクショナリ用DBエリアおよびシステム表用DBエリアの容量が増加することがあります。「5.11 ディクショナリ用DBエリアの容量見積もり」および「5.12 システム表用DBエリアの容量見積もり」を参照して,DBエリアの容量を再見積もりしてください。

(2) メモリ所要量を確認する

HADBサーバをバージョンアップすると,HADBサーバのメモリ所要量が増加することがあります。「6.3 HADBサーバのメモリ所要量の見積もり」を参照して,メモリ所要量を再見積もりしてください。

(3) サーバ定義を確認する

バージョン02-00のHADBサーバをバージョンアップする場合,サーバ定義adb_log_usrfile_numオペランドの指定値を確認してください。adb_log_usrfile_numオペランドに1を指定している場合は,HADBサーバが正常終了しているときに2以上に変更してください。そのあとで,adbstartコマンドでHADBサーバを開始し,adbstopコマンドで正常終了してください。

(4) 追加される予約語を確認する

HADBサーバをバージョンアップすると,予約語が追加されることがあります。

追加される予約語の一覧を次の表に示します。

表7‒11 追加される予約語の一覧

HADBサーバのバージョン

追加される予約語

02-01

CURRENT_USER_IS_DBA

03-00

MILLISECOND,MILLISECONDS,NANOSECOND,NANOSECONDS,PICOSECOND,PICOSECONDS

予約語を表や列の名称としてSQL文中に指定できません。追加される予約語と同じ文字列をSQL文中で指定している場合,HADBサーバのバージョンアップ後にSQL文がエラーとなります。

そのため,追加される予約語と同じ文字列を,SQL文中で指定していないかどうかを確認してください。指定している場合は,予約語と同じ文字列を二重引用符(")で囲んでください。詳細については,マニュアル「HADB SQLリファレンス」の「基本項目」の「予約語」を参照してください。

(5) スキーマの数を確認する

バージョン02-00のHADBサーバで作成したデータベースに,HADBユーザが定義したスキーマが1つもない状態でHADBサーバをバージョンアップしようとすると,バージョンアップに失敗します。そのため,HADBユーザが定義したスキーマが1つ以上あることを確認してください。

また,バージョン02-00のHADBサーバで作成したデータベースに,HADBユーザが定義したスキーマの数が30,001以上ある状態でHADBサーバをバージョンアップしようとすると,バージョンアップに失敗します。そのため,DROP SCHEMA文で不要なスキーマを削除して,スキーマの数を30,000以下にしておいてください。

(6) スキーマ名を確認する

バージョン02-00のHADBサーバからバージョンアップした場合,ディクショナリ表(実表)のSQL_SCHEMATA表に格納されているスキーマ名を基に,HADBユーザが作成されます。作成されるHADBユーザの認可識別子およびパスワードは,スキーマ名と同じになります。

バージョンアップ後のHADBサーバに接続するために,定義されているスキーマ名を確認してください。スキーマ名を確認するSQL文の指定例を次に示します。

指定例
SELECT "SCHEMA_NAME" FROM "MASTER"."SQL_SCHEMATA"

なお,HADBサーバのバージョンアップが完了したら,「7.7.3(3) HADBユーザのパスワードと権限を見直す(バージョン02-00)」を参照して,必ずHADBユーザのパスワードと権限を見直してください。

(7) APおよびコマンドを停止する

HADBサーバをバージョンアップする前に,実行中のAPおよびコマンドがある場合は,すべて終了してください。

(8) 更新不可状態の実表がないことを確認する

HADBサーバをバージョンアップする前に,更新不可状態の実表がないことを確認してください。また,更新不可状態の実表がある場合は,更新不可状態を解除してください。

実表が更新不可状態かどうかを確認する方法については,「9.8.2(1) 実表が更新不可状態かどうかを確認する場合」を参照してください。

実表の更新不可状態を解除する方法については,「13.8.1 実表が更新不可状態になった場合」を参照してください。

(9) HADBサーバを正常終了する

HADBサーバをバージョンアップする前に,adbstopコマンドでHADBサーバを正常終了してください。

すでにHADBサーバが終了している場合は,次に示す手順でHADBサーバが正常終了していることを確認してください。

  1. adbls -d srvコマンドを実行する

    出力項目STATUSに出力されるHADBサーバの状態が,"STOP"であることを確認してください。

    "STOP"である場合は,さらに手順2.または手順3.のどちらかに進んでください。

  2. サーバメッセージログファイルを確認する

    サーバメッセージログファイル($ADBDIR/spool/adbmessageXX.log)を開き,KFAA91154-Iメッセージに出力される終了モードが,"normally"であることを確認してください。

    注※

    XXは通番であり,01〜04のどれかになります。

  3. syslogを確認する

    syslogを開き,KFAA91154-Iメッセージに出力される終了モードが,"normally"であることを確認してください。

手順1.の確認結果が"STOP"であり,かつ手順2.または手順3.の確認結果が"normally"である場合は,HADBサーバは正常終了しています。

もし,HADBサーバが正常終了していない場合は,adbstartコマンドでHADBサーバを開始したあとで,adbstopコマンドで正常終了してください。

[マルチノード機能]

マルチノード構成のHADBサーバが正常終了していない場合は,全ノードのHADBサーバを開始したあとで,全ノードのHADBサーバを正常終了させてください。このとき,HAモニタを停止させる必要はありません(monstopコマンドの実行は不要です)。

マルチノード構成のHADBサーバを開始して,正常終了させる方法については,「14.4.1 マルチノード構成のHADBサーバの開始方法」と「14.4.2 マルチノード構成のHADBサーバの終了方法」を参照してください。

(10) サーバディレクトリのバックアップを取得する

HADBサーバをバージョンアップする前に,サーバディレクトリのバックアップを取得してください。

HADBサーバが異常終了したまま,誤ってHADBサーバをバージョンアップしてしまうと,HADBサーバが開始できなくなります。そのため,サーバディレクトリのバックアップを取得しておいてください。

取得したバックアップは,HADBサーバのバージョンアップが完了したあとで削除します。

バックアップを取得する方法については,「9.3.1(3) バックアップを取得する手順」を参照してください。

[マルチノード機能]

マルチノード機能を使用している場合は,全ノードのHADBサーバでサーバディレクトリのバックアップを取得してください。

(11) データベースのバックアップを取得する

HADBサーバをバージョンアップする前に,必ずデータベースのフルバックアップを取得してください。フルバックアップを取得する方法については,「9.3.1(3) バックアップを取得する手順」を参照してください。

取得したバックアップは,不要であればHADBサーバのバージョンアップが完了したあとで削除します。

[マルチノード機能]

マルチノード機能を使用している場合は,「14.8.1 バックアップの取得方法」を参照して,バックアップを取得してください。