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サーバをバージョンアップすると,予約語が追加されることがあります。
追加される予約語の一覧を次の表に示します。
|
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サーバが正常終了していることを確認してください。
-
adbls -d srvコマンドを実行する
出力項目STATUSに出力されるHADBサーバの状態が,"STOP"であることを確認してください。
"STOP"である場合は,さらに手順2.または手順3.のどちらかに進んでください。
-
サーバメッセージログファイルを確認する
サーバメッセージログファイル($ADBDIR/spool/adbmessageXX.log※)を開き,KFAA91154-Iメッセージに出力される終了モードが,"normally"であることを確認してください。
- 注※
-
XXは通番であり,01〜04のどれかになります。
-
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 バックアップの取得方法」を参照して,バックアップを取得してください。