Oracle Fail Safeでは、クラスタ・システムでサービスの提供を継続したまま、ソフトウェアを次のリリースにアップグレードできます。この処理はローリング・アップグレードと呼ばれます。これは、各ノードが順番にアップグレードされた後で再起動され、最終的にすべてのサーバー・ノードとクライアント・ノードがアップグレードされるためです。ローリング・アップグレードを実行する理由は、次のとおりです。
Oracle Fail Safeソフトウェアをアップグレード、またはパッチをインストールする場合
可用性の高いOracleシングルインスタンス・データベースのアップグレードやパッチ適用を行う場合
その他のOracleソフトウェアのアップグレードやパッチ適用を行う場合
Oracleソフトウェアをアップグレードするときに、Oracle Fail Safe Manager操作またはMicrosoft Windowsフェイルオーバー・クラスタ・マネージャ操作がグループで進行中の間は、インストール手順を開始しないでください。この付録に記載された手順を始める前に、クラスタ操作が停止するまで待つ必要があります。
注意: 停止時間を最短にし、クラスタで稼働中の他のソフトウェアで問題となりうる事柄を識別するため、実働クラスタをアップグレードする前に、同様に構成されたテスト・クラスタで、この付録に記載された操作をテストするようにしてください。 |
この付録では、次の項目について説明します。
ローリング・アップグレードの際には、計画的フェイルオーバーを実行して、ノード上で実行中のクラスタ・リソースを、別のノードに移動する必要があります。計画的フェイルオーバーによって、ユーザーは切断されます。そして、データベースが操作対象である場合、中断されてコミットされていない作業は、すべてロールバックされます。
この一時的な停止は通常は1分未満で、Oracle Fail Safeがインストールされていない場合にユーザーが経験する停止時間よりは常に短くなります。作業内容の喪失を防ぐため、ユーザーにシステムの停止を予定していることを通知し、フェイルオーバーが実行されるまでに、各自の作業をコミットしてログオフしておくよう要請します。データベースが別のクラスタ・ノードにフェイルオーバーした後で、再接続して作業を再開できる時点について、ユーザーに説明しておきます。
2ノード・クラスタをアップグレードする際には、フェイルバックが使用不可になり、クラスタが障害から保護されない点に注意してください。また、Microsoft Windowsフェイルオーバー・クラスタ・マネージャ使用して、ノード上でクラスタ・サービスを停止して再開するたびに、そのノードで実行中の、他のクラスタ・リソースすべてが、別のノードにフェイルオーバーされ、同様にサービスが短時間停止します。
データベース・ソフトウェアをアップグレードする場合、またはデータベース・ソフトウェアとOracle Fail Safeソフトウェアの両方をアップグレードする場合は、次の順序でクラスタ上のソフトウェアをアップグレードすることをお薦めします。
グループからデータベースを削除します。
Oracle DatabaseソフトウェアとOracle Fail Safeソフトウェア(必要な場合)をアップグレードします。どちらを先にアップグレードしてもかまいません。
データベースをグループに追加しなおします。
アップグレードするソフトウェアがOracle Fail Safeのみの場合、またはデータベース・ソフトウェアにパッチを適用している場合(ただし、データベース・ソフトウェアをアップグレードしない場合)は、アップグレードやパッチ適用の前にグループからデータベースを削除する必要はありません。
通常、パッチには、1つのリリースからリリース番号の4桁目または5桁目のみが変わっている別のリリースへのソフトウェア更新(たとえば、11.1.0.6から11.1.0.7)が含まれています。リリース番号の1桁目、2桁目または3桁目が変わっている(たとえば、11.1.0から11.2.0または11.2.0から12.1.0)場合にアップグレードが必要です。
関連項目: Windowsの新しいOracleホームを準備する前提条件の詳細は、『Oracle Databaseアップグレード・ガイド』を参照してください。 |
この項では、Oracle Fail Safeを現在実行しているクラスタ上でOracle Fail Safeソフトウェアをアップグレードする(たとえば、Oracle Fail Safeリリース4.1.0からリリース4.1.1にクラスタをアップグレードする)場合にローリング・アップグレードを実行する方法について説明します。この項で説明されている作業は、現在のOracle Fail Safeのリリースよりも前の任意のOracle Fail Safeのリリースからのアップグレードに適用されます。
Oracle Fail Safeソフトウェアのローリング・アップグレードを実行する場合、Oracle Fail SafeとOracle Fail Safe Managerソフトウェアをクラスタワイドにアップグレードする必要があります。同じクラスタ上で、Oracle Fail Safeソフトウェアの複数のリリースは稼働できません。Oracle Fail Safe Managerの各種リリースとOracle Fail Safe ServerまたはOracle Fail Safeの各種リリースとの互換性については、『Oracle Fail Safeリリース・ノートfor Microsoft Windows』を参照してください。
表A-1に示す手順を、1回に1つのクラスタ・ノードにのみ実行してください。
表A-1Oracle Fail Safeへのアップグレードに必要な手順
手順 | 作業 | ツール | 説明 |
---|---|---|---|
1 |
グループごとにグループ属性を「フェイルバックしない」モードに変更します。 |
Microsoft Windowsフェイルオーバー・クラスタ・マネージャ |
Microsoft Windowsフェイルオーバー・クラスタ・マネージャのツリー・ビューからグループを選択し、「Failover」タブを選択する前に「Actions」メニューの上部に示されている「Properties」アクションを選択し、現在の設定をメモしてから、設定を「Prevent Failback」に変更します。クラスタのグループごとにこれらの手順を繰り返します。 フェイルバック属性を変更することによって、優先ノードの再起動(後述の手順6)後に、グループがノードにフェイルバックすることを防ぎます。 |
2 |
グループを、アップグレードの実行を予定しているノードから移動します。 |
Microsoft Windowsフェイルオーバー・クラスタ・マネージャ |
ツリー・ビューでグループを右クリックし、「移動」を選択します。ノード上のグループごとに繰り返します。グループを別のノードに移動することで、ユーザーが別のノード上のグループにアクセスしている間でも現在のノードをアップグレードできます。データベースを含むグループをこの方法で移動するとき、Oracle Fail Safeによってチェックポイント処理が実行されます。 |
3 |
Microsoft Windowsフェイルオーバー・クラスタ・マネージャを終了します。 |
Microsoft Windowsフェイルオーバー・クラスタ・マネージャ |
「ファイル」メニューから「終了」を選択します。 注意: 残りのアップグレード処理の間、手順11でクラスタの「検証」を実行するまでは、他のクラスタ・ノードのOracle Fail Safe Managerを使用しないでください。 |
4 |
Oracle Fail Safe ManagerおよびOracle Fail Safeの前のリリースを削除します。 |
Oracle Universal Installer |
操作については、第4章を参照してください。 |
5 |
Oracle Fail Safeの現行リリースをインストールします。 |
Oracle Fail Safeのインストール・キット |
クラスタ内のすべてのサーバー・ノードに同じリリースのOracle Fail Safeソフトウェアをインストールする必要があります。第2章のインストール手順に従います。 |
6 |
Oracleデータベースを含むグループを、アップグレードされたノードに移動します。 |
Microsoft Windowsフェイルオーバー・クラスタ・マネージャ |
Oracleデータベースを含むクラスタ・グループを、アップグレードされたノードに移動します。 注意: バージョンの不整合による問題の発生を避けるため、この作業の実行にはOracle Fail Safe Managerを使用せず、Microsoft Windowsフェイルオーバー・クラスタ・マネージャを使用してください。 |
7 |
手順4から6を他のクラスタ・ノードで繰り返します。 |
各種ツール |
なし。 |
8 |
Oracle Fail Safe Managerをクライアント・ノードにインストールします。 |
Oracle Fail Safeのインストール・キット |
Oracle Fail Safeの各種リリースと併用できるOracle Fail Safe Managerのリリースについては、『Oracle Fail Safeリリース・ノートfor Microsoft Windows』を参照してください。 |
9 |
「検証」クラスタ操作を実行します。 |
Oracle Fail Safe Manager |
ツリー・ビューでクラスタ名を右クリックし、「検証」を選択します。 この手順では、クラスタ内の各ノードのリリース情報などを使用して、ソフトウェア・インストールに差異がないことを検証し、リソースDLLを登録します。 |
10 |
「検証」レポートを確認します。 |
Oracle Fail Safe Manager |
各エラーまたは警告を慎重に確認し、必要に応じて修正処理を行います。 |
11 |
グループのフェイルバック・ポリシーの属性をリストアします。 |
Microsoft Windowsフェイルオーバー・クラスタ・マネージャ |
Microsoft Windowsフェイルオーバー・クラスタ・マネージャのツリー・ビューからグループを選択し、「Failover」タブを選択する前に「Actions」メニューの上部に示されている「Properties」アクションを選択し、(手順1に示したように)元の設定をリストアします。クラスタ内の各グループについて繰り返します。 |
12 |
各グループを優先ノードに戻します。 |
Oracle Fail Safe Manager |
ツリー・ビューでグループを右クリックし、「移動」を選択します。2ノード・クラスタで作業している場合には、他のノードへの移動を確認するよう求められます。3つ以上のノードを含むクラスタで作業している場合には、宛先ノードを選択するよう求められます。 この手順は、クラスタ内のノード間で、作業負荷を再配分します。 |
13 |
すべてのグループで「検証」グループ操作を実行します。 |
Oracle Fail Safe Manager |
ツリー・ビューでグループを右クリックして「検証」を選択し、すべてのリソースをチェックして、正しく構成されていることを確認します。クラスタ内の各グループについて繰り返します。 Oracleリソースの構成の検証グループ操作中に実行される検証テストの説明は、『Oracle Fail Safe概要および管理ガイドfor Microsoft Windows』を参照してください。 |
注意: Windowsで、サービスまたはアプリケーション、あるいはクラスタ化されたロールがグループと呼ばれることもあります。 |
通常、パッチには、1つのリリースからリリース番号の4桁目または5桁目のみが変わっている別のリリースへのデータベース更新(たとえば、11.1.0.6から11.1.0.7)が含まれています。リリース番号の1桁目、2桁目または3桁目が変わっている(たとえば、11.1.0から11.2.0または11.2.0から12.1.0)場合にアップグレードが必要です。
関連項目: Oracle Databaseの新しいリリースのアップグレードの詳細は、『Oracle Databaseアップグレード・ガイド』を参照してください。 |
この項では、次の項目について説明します。
アップグレードでは、データベースの新しいリリースをインストールする必要があります。Oracle Databaseのアップグレードを実行する前に、新しいOracle Databaseリリースのソフトウェアをインストールする必要があります。新しいOracle Database 12cリリース1(12.1)のインストール手順を実行すると、Oracleソフトウェアが新しいOracleホームにインストールされます。
アップグレードを実行する前にデータベースをバックアップすることをお薦めします。
表A-2の手順に従って、アップグレードを実行します。1つのクラスタ・ノードごとにこの手順を実行してください。
表A-2 可用性が高まるように構成されたデータベースのアップグレード手順
手順 | 作業 | ツール | 説明 |
---|---|---|---|
1 |
互換性をチェックします。 |
該当なし |
計画するアップグレード先のデータベースのリリースが、実行するOracle Fail Safeのバージョンと互換性があることを確認します。『Oracle Fail Safeリリース・ノートfor Microsoft Windows』のソフトウェアの互換性に関する項を参照してください。Oracle DatabaseのリリースとOracle Fail Safeソフトウェアのリリースに互換性がない場合には、A.3項を参照してください。 |
2 |
各クラスタ・ノードにOracle Databaseソフトウェアをインストールします。 |
Oracle Universal Installer |
各クラスタ・ノードで、同じディレクトリとOracleホーム名を使用してください。 |
3 |
グループからデータベースを削除します。 |
Oracle Fail Safe Manager |
ツリー・ビューで、「Oracleリソース」を選択し、「クラスタ内のOracleリソース」リストからデータベースを選択し、「アクション」メニューから「削除」アクションを選択します。 |
4 |
各データベースをアップグレードします。 |
Database Migration Assistant(または手動で実行) |
アップグレードの実行に関する説明は、アップグレード先リリースのデータベースのアップグレード・マニュアル(または移行マニュアル)にあります。 |
5 |
各スタンドアロン・データベースを検証します。 |
Oracle Fail Safe Manager |
ツリー・ビューで、「Oracleリソース」を選択し、「使用可能なOracleリソース」リストからデータベースを選択し、「アクション」メニューから「検証」アクションを選択します。 |
6 |
データベースを元のグループに追加しなおします。 |
Oracle Fail Safe Manager |
ツリー・ビューで、「Oracleリソース」を選択し、「使用可能なOracleリソース」リストからデータベースを選択し、「アクション」メニューから「リソースの追加」アクションを選択して、リソースの追加ウィザードの手順に従います。 |
可用性が高まるように構成されたデータベースにパッチを適用する際は、パッチ適用の前にグループからデータベースを削除する必要はありません。
Oracle Database 12cリリース1(12.1)は、Oracle Databaseのすべての最新パッチと更新を含む完全なリリースです。このリリースのアップグレード処理に進む前に、パッチ・セットの更新を確認する必要はありません。ただし、データベース管理の一部として、パッチおよびパッチ・セットの更新を定期的に確認することをお薦めします。
表A-3は、2ノード・クラスタにおいて、可用性が高まるように構成されたデータベースにパッチを適用する方法を説明しています。これらの手順は、ノードAとノードBの2つのノードがあり、最初にノードAにパッチを適用することを想定しています。これらの手順を、1回に1つのクラスタ・ノードにのみ実行してください。
表A-3 可用性が高まるように構成されたデータベースへのパッチ適用手順
手順 | 作業 | ツール | 説明 |
---|---|---|---|
1 |
クラスタのグループごとにフェイルバック属性を「フェイルバックしない」に変更します。 |
Microsoft Windowsフェイルオーバー・クラスタ・マネージャ |
Microsoft Windowsフェイルオーバー・クラスタ・マネージャのツリー・ビューからグループを選択し、「Failover」タブを選択する前に「Actions」メニューの上部に示されている「Properties」アクションを選択します。現在の設定をメモしてから、設定を「Prevent Failback」に変更します。クラスタのグループごとにこれらの手順を繰り返します。 フェイルバック属性を変更することによって、優先ノードの再起動(後述の手順6)後に、グループがノードにフェイルバックすることを防ぎます。 |
2 |
ノードA上のすべてのグループをノードBに移動します。 |
Microsoft Windowsフェイルオーバー・クラスタ・マネージャ |
ツリー・ビューでグループを右クリックし、「移動」を選択します。ノードAのグループごとに繰り返します。 ノードA上にある場合、Microsoft Windowsフェイルオーバー・クラスタ・マネージャを使用してクラスタ・グループを移動します。 グループを別のノードに移動することで、ユーザーが別のノード上のグループにアクセスしている間でも現在のノードをアップグレードできます。データベースを含むグループをこの方法で移動するとき、Oracle Fail Safeによってチェックポイント処理が実行されます。 |
3 |
Oracle Fail Safe ManagerおよびMicrosoft Windowsフェイルオーバー・クラスタ・マネージャを終了します。 |
Microsoft Windowsフェイルオーバー・クラスタ・マネージャ |
「ファイル」メニューで「終了」を選択します。 (手順はOracle Fail Safe ManagerおよびMicrosoft Windowsフェイルオーバー・クラスタ・マネージャで同じです。) |
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で説明されているように初期化パラメータ・ファイルを変更しておくことで、データベースが確実にパッチの完了に必要なパラメータで開始されます。 |
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 |
Microsoft Windowsフェイルオーバー・クラスタ・マネージャ |
Microsoft Windowsフェイルオーバー・クラスタ・マネージャのツリー・ビューからグループを選択し、「Failover」タブを選択する前に「Actions」メニューの上部に示されている「Properties」アクションを選択し、(手順1に示したように)元の設定をリストアします。クラスタ内の各グループについて繰り返します。 |
|
18 |
各グループを優先ノードに戻します。 |
Oracle Fail Safe Manager |
ツリー・ビューでグループ名を右クリックし、「移動」を選択します。クラスタ内の各ノードについて繰り返します。 この手順は、クラスタ内のノード間で、作業負荷を分散します。 |
Oracle Database Upgrade Assistant (DBUA)を使用して異なるリリース間でシングルインスタンス・フェイルセーフ・データベースをアップグレードする手順、あるいは異なるOracleホーム間でシングルインスタンスOracleデータベースを移動する手順は、『Oracle Fail Safe概要および管理ガイドfor Microsoft Windows』を参照してください。
関連項目: DBUAを使用したデータベースのアップグレードの詳細は、『Oracle Databaseアップグレード・ガイド』を参照してください。 |
この項では、データベース以外のOracle製品ソフトウェアのアップグレードとOracle Fail Safeによって使用されているOracleサービスの停止に必要なパッチのインストールについて説明します。Oracle Databaseソフトウェアに関する同様の情報については、A.4項を参照してください。
クラスタがアクティブ/パッシブ構成の場合、パッシブ・クラスタ・ノード上でローリング・アップグレードを開始するとフェイルオーバーを省略できます。パッシブ・クラスタ・ノードでのアップグレードが終了したら、表A-4の手順4にスキップします。
この手順を、1回に1つのクラスタ・ノードに実行してください。
表A-4 他のOracle製品ソフトウェアのアップグレードに必要な手順