Oracle Fail Safeでは、クラスタ・システムでサービスの提供を継続したまま、ソフトウェアを次のリリースにアップグレードできます。この処理はローリング・アップグレードと呼ばれます。これは、各ノードが順番にアップグレードされた後で再起動され、最終的にすべてのサーバー・ノードとクライアント・ノードがアップグレードされるためです。ローリング・アップグレードを実行する理由は、次のとおりです。
Oracle Fail Safeソフトウェアをアップグレード、またはパッチをインストールする場合
可用性の高いOracleシングルインスタンス・データベースのアップグレードやパッチ適用を行う場合
その他のOracleソフトウェアのアップグレードやパッチ適用を行う場合
Oracleソフトウェアをアップグレードするときに、Oracle Fail Safe Manager操作またはMSCSクラスタ アドミニストレータ操作がグループで進行中の間は、インストール手順を開始しないでください。この付録に記載された手順を始める前に、クラスタ操作が停止するまで待つ必要があります。
注意: 停止時間を最短にし、クラスタで稼働中の他のソフトウェアで問題となりうる事柄を識別するため、実働クラスタをアップグレードする前に、同様に構成されたテスト・クラスタで、この付録に記載された操作をテストするようにしてください。 |
この付録では、次の項目について説明します。
ローリング・アップグレードの際には、計画的フェイルオーバーを実行して、ノード上で実行中のクラスタ・リソースを、別のノードに移動する必要があります。計画的フェイルオーバーによって、ユーザーは切断されます。そして、データベースが操作対象である場合、中断されてコミットされていない作業は、すべてロールバックされます。
この一時的な停止は通常は1分未満で、Oracle Fail Safeがインストールされていない場合にユーザーが経験する停止時間よりは常に短くなります。作業内容の喪失を防ぐため、ユーザーにシステムの停止を予定していることを通知し、フェイルオーバーが実行されるまでに、各自の作業をコミットしてログオフしておくよう要請します。データベースが別のクラスタ・ノードにフェイルオーバーした後で、再接続して作業を再開できる時点について、ユーザーに説明しておきます。
2ノード・クラスタをアップグレードする際には、フェイルバックが使用不可になり、クラスタが障害から保護されない点に注意してください。また、MSCSクラスタ アドミニストレータを使用して、ノード上でクラスタ・サービスを停止して再開するたびに、そのノードで実行中の、他のクラスタ・リソースすべてが、別のノードにフェイルオーバーされ、同様にサービスが短時間停止します。
データベース・ソフトウェアをアップグレードする場合、またはデータベース・ソフトウェアとOracle Fail Safeソフトウェアの両方をアップグレードする場合は、次の順序でクラスタ上のソフトウェアをアップグレードすることをお薦めします。
グループからデータベースを削除します。
Oracle DatabaseソフトウェアとOracle Fail Safeソフトウェア(必要な場合)をアップグレードします。どちらを先にアップグレードしてもかまいません。
データベースをグループに追加しなおします。
アップグレードするソフトウェアがOracle Fail Safeのみの場合、またはデータベース・ソフトウェアにパッチを適用している場合(ただし、データベース・ソフトウェアをアップグレードしない場合)は、アップグレードやパッチ適用の前にグループからデータベースを削除する必要はありません。
通常、パッチには、1つのリリースからリリース番号の4桁目または5桁目のみが変わっている別のリリースへのソフトウェア更新(たとえば、9.2.0.1から9.2.0.2)が含まれています。リリース番号の1桁目、2桁目または3桁目が変わっている(たとえば、9.0.1から9.2.0または9.0.1から10.0.1)場合にアップグレードが必要です。
この項では、Oracle Fail Safeを現在実行しているクラスタ上でOracle Fail Safeソフトウェアをアップグレードする(たとえば、Oracle Fail Safeリリース3.3.2からリリース3.3.3にクラスタをアップグレードする)場合にローリング・アップグレードを実行する方法について説明します。この項で説明されている作業は、現在のOracle Fail Safeのリリースよりも前の任意のOracle Fail Safeのリリースからのアップグレードに適用されます。
Oracle Fail Safeソフトウェアのローリング・アップグレードを実行する場合、Oracle Services for MSCSとOracle Fail Safe Managerソフトウェアをクラスタワイドにアップグレードする必要があります。同一のクラスタ上でOracle Services for MSCSソフトウェアの複数のリリースを実行することはできません。Oracle Fail Safe Managerの各種リリースとOracle Fail Safe ServerまたはOracle Services for MSCSの各種リリースとの互換性については、『Oracle Fail Safeリリース・ノート』を参照してください。
表A-1に示す手順を、1回に1つのクラスタ・ノードにのみ実行してください。
表A-1 Oracle Fail Safeへのアップグレードに必要な手順
手順 | 作業 | ツール | 説明 |
---|---|---|---|
1 |
グループごとにグループ属性を「フェイルバックしない」モードに変更します。 |
Oracle Fail Safe Manager |
Oracle Fail Safe Managerのツリー・ビューからグループを選択し、「フェイルバック」タブを選択してから、現在の設定をメモして設定を「フェイルバックしない」に変更します。クラスタのグループごとにこれらの手順を繰り返します。 フェイルバック属性を変更することによって、優先ノードの再起動(後述の手順6)後に、グループがノードにフェイルバックすることを防ぎます。 |
2 |
グループを、アップグレードの実行を予定しているノードから移動します。 |
Oracle Fail Safe Manager |
ツリー・ビューでグループ名を選択してから、「別のノードに移動」を選択します。ノード上のグループごとに繰り返します。グループを別のノードに移動することで、ユーザーが別のノード上のグループにアクセスしている間でも現在のノードをアップグレードできます。データベースが含まれているグループをこの方法で移動すると、Oracle Fail Safeによってチェックポイント操作が実行されます。 |
3 |
Oracle Fail Safe Managerを終了します。 |
Oracle Fail Safe Manager |
「ファイル」メニューから「終了」を選択します。 注意: 残りのアップグレード処理の間、手順10で |
4 |
Oracle Fail Safe ManagerおよびOracle Services for MSCSの前のリリースを削除します。 |
Oracle Universal Installer |
操作については、第4章を参照してください。 |
5 |
クラスタ・サービスのサービスを再起動します。 |
Windowsサービス |
Fail Safeの実行可能ファイルおよびメッセージ・ファイルへのすべての参照を削除するためにクラスタ・サービスのサービスを再起動する必要があります。 |
6 |
Oracle Fail Safeの現行リリースをインストールします。 |
Oracle Fail SafeのインストールCD-ROM |
クラスタ内のすべてのサーバー・ノードに同じリリースのOracle Fail Safeソフトウェアをインストールする必要があります。第2章のインストール手順に従います。 |
7 |
ノードを再起動します。 |
Microsoft Windows |
注意: 最初のノードの再起動が完了してから、他のノードへのOracle Fail Safeのインストールを開始してください。 |
8 |
Oracleデータベースを含むグループを、アップグレードされたノードに移動します。 |
MSCSアドミニストレータ |
Oracleデータベースを含むクラスタ・グループを、アップグレードされたノードに移動します。 注意: バージョンの不整合による問題の発生を避けるため、この作業の実行にはOracle Fail Safe Managerを使用せず、MSCSアドミニストレータを使用してください。 |
9 |
手順4から6を他のクラスタ・ノードで繰り返します。 |
各種ツール |
なし。 |
10 |
Oracle Fail Safe Managerをクライアント・ノードにインストールします。 |
Oracle Fail SafeのインストールCD-ROM |
Oracle Services for MSCSの各種リリースと併用できるOracle Fail Safe Managerのリリースについては、『Oracle Fail Safeリリース・ノート』を参照してください。 |
11 |
|
Oracle Fail Safe Manager |
ツリー・ビューでクラスタ名を右クリックし、「クラスタの検証」を選択します。 この手順では、クラスタ内の各ノードのリリース情報などを使用して、ソフトウェア・インストールに差異がないことを検証し、リソースDLLを登録します。 |
12 |
|
Oracle Fail Safe Manager |
各エラーまたは警告を慎重に確認し、必要に応じて修正処理を行います。 |
13 |
グループのフェイルバック・ポリシーの属性をリストアします。 |
Oracle Fail Safe Manager |
Oracle Fail Safe Managerのツリー・ビューでグループを選択し、「フェイルバック」タブを選択して、(手順1に示したように)元の設定をリストアします。クラスタ内の各グループについて繰り返します。 |
14 |
各グループを優先ノードに戻します。 |
Oracle Fail Safe Manager |
ツリー・ビューでグループを右クリックし、「別のノードに移動」を選択します。2ノード・クラスタで作業している場合には、他のノードへの移動を確認するよう求められます。3つ以上のノードを含むクラスタで作業している場合には、宛先ノードを選択するよう求められます。 この手順は、クラスタ内のノード間で、作業負荷を再配分します。 |
15 |
|
Oracle Fail Safe Manager |
ツリー・ビューでグループを右クリックして「グループの検証」を選択し、すべてのグループ内のすべてのリソースをチェックして、正しく構成されていることを確認します。クラスタ内の各グループについて繰り返します。
|
この項では、Oracle Fail Safeを使用して可用性が高まるように構成されているデータベースでローリング・アップグレードにパッチを適用する方法またはそのアップグレードを実行する方法について説明します。前に説明されているように、通常、パッチには1つのリリースからリリース番号の4桁目または5桁目のみが変わっている別のリリースへのデータベース更新(たとえば、9.2.0.1から9.2.0.2)が含まれています。リリース番号の1桁目、2桁目または3桁目が変わっている(たとえば、9.0.1から9.2.0または9.0.1から10.0.1)場合にアップグレードが必要です。
この項では、次の項目について説明します。
アップグレードでは、データベースの新しいバージョンをインストールする必要があります。通常は、前のバージョンのデータベースやOracle Fail Safeがインストールされたホームとは別の、独自のOracleホームにインストールされます。
時間を節約するために、古いバージョンのデータベースがOracle Fail Safeグループで稼働していても、各クラスタ・ノードに新バージョンのデータベースをインストールできます。
主要なアップグレードの前にはデータベースをバックアップすることを検討してください。
表A-2の手順を実行して、アップグレードを実行します。1つのクラスタ・ノードごとにこの手順を実行してください。
表A-2 可用性が高まるように構成されたデータベースのアップグレード手順
手順 | 作業 | ツール | 説明 |
---|---|---|---|
1 |
互換性をチェックします。 |
該当なし |
計画するアップグレード先のデータベースのリリースが、実行しているOracle Fail Safeのバージョンと互換性があることを確認します。『Oracle Fail Safeリリース・ノート』のソフトウェアの互換性に関する項を参照してください。Oracle DatabaseのリリースとOracle Fail Safeソフトウェアのリリースに互換性がない場合には、A.3項を参照してください。 |
2 |
各クラスタ・ノードにOracle Databaseソフトウェアをインストールします。 |
Oracle Universal Installer |
各クラスタ・ノードで、同じディレクトリとOracleホーム名を使用してください。 |
3 |
グループからデータベースを削除します。 |
Oracle Fail Safe Manager |
ツリー・ビューでデータベースを右クリックし、アップグレードを計画するデータベースごとに「グループから削除」を選択します。 |
4 |
各データベースをアップグレードします。 |
Database Migration Assistant(または手動で実行) |
アップグレードの実行に関する説明は、アップグレード先リリースのデータベースのアップグレード・マニュアル(または移行マニュアル)にあります。 |
5 |
各スタンドアロン・データベースを検証します。 |
Oracle Fail Safe Manager |
ツリー・ビューでデータベースを右クリックし、「スタンドアロン・データベースの検証」を選択します。報告された問題を修正します。 |
6 |
データベースを元のグループに追加しなおします。 |
Oracle Fail Safe Manager |
データベースを右クリックして「グループに追加」を選択し、リソースをグループに追加ウィザードの手順に従います。 |
可用性が高まるように構成されたデータベースにパッチを適用する際は、パッチ適用の前にグループからデータベースを削除する必要はありません。
表A-3は、2ノード・クラスタにおいて、可用性が高まるように構成されたデータベースにパッチを適用する方法を説明しています。これらの手順は、ノードAとノードBの2つのノードがあり、最初にノードAにパッチを適用することを想定しています。これらの手順を、1回に1つのクラスタ・ノードにのみ実行してください。
表A-3 可用性が高まるように構成されたデータベースへのパッチ適用手順
手順 | 作業 | ツール | 説明 |
---|---|---|---|
1 |
クラスタのグループごとにフェイルバック属性を「フェイルバックしない」に変更します。 |
Oracle Fail Safe Manager |
ツリー・ビューでグループ名を選択してから、「フェイルバック」タブを選択します。現在の設定をメモしてから、設定を「フェイルバックしない」に変更します。クラスタのグループごとにこれらの手順を繰り返します。 この手順は、ノードが再起動している間、またはクラスタ・サービスの再起動時に、グループが現行ノードにフェイルバックするのを防ぎます。 |
2 |
ノードA上のすべてのグループをノードBに移動します。 |
Oracle Fail Safe ManagerとMSCSクラスタ アドミニストレータ |
ツリー・ビューでノードAからグループを選択してから、「別のノードに移動」を選択します。ノードAのグループごとに繰り返します。 ノードAにクラスタ・グループが存在する場合には、MSCSクラスタ アドミニストレータを使用して移動します。 すべてのグループを他のノードに移動することによって、現行のノードで作業できます。Oracle Fail Safeは、移動されたグループ内のすべてのデータベースに対してチェックポイント処理を実行します。 |
3 |
Oracle Fail Safe Managerとクラスタ アドミニストレータを終了します。 |
Oracle Fail Safe ManagerとMSCSクラスタ アドミニストレータ |
「ファイル」メニューで「終了」を選択します。 (この手順は、Oracle Fail Safe ManagerとMSCSクラスタ アドミニストレータで同じです。) |
4 |
ノードAのクラスタ・サービスを停止します。 |
Microsoftコントロール パネル |
Microsoft Windowsの「サービス」ウィンドウを開き、クラスタ・サービスのサービスを停止します。 |
5 |
実行中のすべてのOracleアプリケーションと、残りのOracleサービスをすべて停止します。 |
Microsoftコントロール パネル |
Microsoft Windowsの「サービス」ウィンドウを開き、Oracle Fail SafeサービスやDistributed Transaction Coordinatorサービス(稼働している場合)など、稼働中のOracleサービスをすべて停止します。 |
6 |
ノードAの適切なホームに、データベース・パッチをインストールします。 |
Oracle Universal Installer |
パッチに付属する指示に従ってください。手順5でDistributed Transaction Coordinatorサービスを停止しなかった場合には、 |
8 |
必要に応じて、初期化パラメータ・ファイルを調整します。 |
pfileの場合は選択したエディタ、spfileの場合はSQLのALTER SYSTEM文 |
初期化パラメータ・ファイルへの変更は、データベースのフェイルバック前に行う必要があります。パラメータ・ファイルに必要な変更については、データベース・パッチに付属のreadmeファイルを参照してください。初期化パラメータ・ファイルのコピーを(プライベート・ディスクで管理しているために)複数保持している場合は、必ずデータベースを現行ノードに戻すときに使用するファイルを更新するようにしてください。パッチ・スクリプトの完了後、初期化パラメータ・ファイルを元の値に戻し、データベースを再起動します。 |
9 |
選択したノードにグループを戻します。 |
Oracle Fail Safe Manager |
グループをノードAに戻すと、それらが、データベース管理システムのパッチが適用されたバージョンで再起動および実行されます。したがって、グループを戻したらすぐにパッチのスクリプトを実行します。手順8で説明されているように初期化パラメータ・ファイルを変更しておくことで、データベースが確実にパッチの完了に必要なパラメータで開始されます。 |
10 |
新しいデータベースのリリースへの移行手順については、表A-4を参照してください。 |
各種ツール |
手順については、表A-4を参照してください。 |
11 |
アップグレードする各データベースに対するユーザー・アクセスを制限します。 |
SQL*Plus |
各データベースは選択したノード上でオンラインになるため、次のSQL文でユーザーのアクセスを制限してください。 ALTER SYSTEM ENABLE RESTRICTED SESSION; アップグレード・スクリプトの実行中にユーザーがデータベースに接続しないよう、データベース・インスタンスの起動後すぐにこの処理を実行してください。また、ユーザーがOracle Net接続を行うのを防止するため、グループのリスナー・サービスをオフラインにすることができます。 |
12 |
パッチ対象の各データベースに対して、パッチのアップグレード・スクリプトを実行します。 |
SQL*Plus |
データベース・パッチに付属のreadmeファイルを参照してください。 |
13 |
説明中のノードAをノードBで置き換えて、手順4から7を繰り返します。 |
各種ツール |
時間を節約するために、パッチをノードBにインストールしている間に、ノードAのデータベースに対してアップグレード・スクリプトを実行できます。 |
14 |
クラスタ内の各グループを検証します。 |
Oracle Fail Safe Manager |
ツリー・ビューでグループ名を右クリックし、クラスタのグループごとに「グループの検証」を選択します。 |
15 |
各データベースに対する制約セッションを終了します。 |
SQL*Plus |
次のSQL文で、各データベースに対する制約セッションを終了します。 SQL> ALTER SYSTEM DISABLE RESTRICTED SESSION; |
16 |
クラスタを検証します。 |
Oracle Fail Safe Manager |
ツリー・ビューでクラスタ名を右クリックし、「クラスタの検証」を選択します。 |
17 |
Oracle Fail Safe Manager |
Oracle Fail Safe Managerのツリー・ビューでグループを選択し、「フェイルバック」タブを選択して、(手順1に示したように)元の設定をリストアします。クラスタ内の各グループについて繰り返します。 |
|
18 |
各グループを優先ノードに戻します。 |
Oracle Fail Safe Manager |
ツリー・ビューでグループ名を右クリックし、「別のノードに移動」を選択します。クラスタ内の各ノードについて繰り返します。 この手順は、クラスタ内のノード間で、作業負荷を分散します。 |
データベースのアップグレードについては、『Oracle Fail Safe概要および管理ガイド』とOracle Database Upgrade Assistantのアップグレード手順を参照してください。
Oracleリリース9.2以上については、どのような種類のパッチを適用するときも、表A-4に示すように、MIGRATEオプションでデータベースを起動する必要があります。
表A-4 MIGRATEオプションでデータベースを起動する手順
手順 | 作業 | ツール | 説明 |
---|---|---|---|
1 |
データベースをオフラインにします。 |
Oracle Fail Safe Manager |
ツリー・ビューでデータベースを右クリックし、「オフラインに設定」を選択します。 |
2 |
Oracle Fail Safe Managerを終了します。 |
Oracle Fail Safe Manager |
「ファイル」メニューから「終了」を選択します。 |
3 |
インスタンスに対するサービスを手動で起動します。 |
Microsoft Windowsの「サービス」ウィンドウ |
インスタンス・サービス名は、ORACLESERVICESOFS1の形式です。 |
4 |
MIGRATEオプションでデータベースを起動します。 |
SQL*Plus |
たとえば、次のようになります。 c:\> SET ORACLE_SID=OFS1 c:\> SQLPLUS "/as sysdba" SQL> STARTUP MIGRATE |
5 |
パッチ対象の各データベースに対して、アップグレード・スクリプトを実行します。 |
SQL*Plus |
データベース・パッチに付属のreadmeファイルを参照してください。 |
6 |
データベースをシャットダウンし、サービスを停止します。 |
SQL*PlusとMicrosoft Windowsの「サービス」ウィンドウ |
データベース・パッチに付属のreadmeファイルを参照してください。 |
7 |
データベース・リソースをオンラインにします。 |
Oracle Fail Safe Manager |
ツリー・ビューでデータベースを右クリックし、「オンラインに設定」を選択します。 |
8 |
表A-3の手順12から再開します。 |
各種ツール |
表A-3の手順11は意図的にスキップします。 |
この項では、データベース以外のOracle製品ソフトウェアのアップグレードとOracle Fail Safeによって使用されているOracleサービスの停止に必要なパッチのインストールについて説明します。Oracle Databaseソフトウェアに関する同様の情報については、A.4項を参照してください。
クラスタがアクティブ/パッシブ構成の場合、パッシブ・クラスタ・ノード上でローリング・アップグレードを開始するとフェイルオーバーを省略できます。パッシブ・クラスタ・ノードでのアップグレードが終了したら、表A-5の手順4にスキップします。
この手順を、1回に1つのクラスタ・ノードにのみ実行してください。
表A-5 他のOracle製品ソフトウェアのアップグレードに必要な手順