1つ以上のインスタンスまたはノードを隔離する必要がある修復、アップグレードおよび変更のために、Oracle RACでは、アプリケーション・ユーザーに対するサービスの中断の影響を最小限に抑えて、サービスを再配置、無効化および有効化するインタフェースを使用できます。サービスを再配置する場合は、サービスが一時的に別のインスタンスで実行されるようにする必要があります。サービスを強制的に無効にすると、そのサービスはすべてのデータベース・インスタンスで停止され、使用できなくなります。無効化されたサービスは、自動的に再起動することはありません。サービスが停止または再配置された場合、計画済理由コード(通常はreason=user
)でFANが発行されます。操作を完了したら、サービスを通常の操作に戻すか、またはサービスを有効にしてから、再起動することができます。サービスが再起動されると、FANはUP
ステータス・コードで発行されます。
データベースを手動で停止すると、依存性のために、そのデータベースのすべてのサービスも自動的に停止されます。データベースを手動で再起したときにサービスが自動的に起動するようにする場合は、サービスの管理ポリシーをautomaticに設定する必要があります。サービスではなく、データベースの1つのインスタンスのみを停止する場合は、-f
パラメータを指定してsrvctl stop instance
コマンドを使用できます。このコマンドで-f
パラメータを使用すると、そのインスタンスで実行されていたデータベース・サービスは、可能な場合は別のインスタンスにフェイルオーバーされます。
関連項目:
ユーザー介入なしの計画済停止の管理
Oracleソフトウェアのアップグレード、パッチ適用、ハードウェアの置換えなど、様々な理由でデータベース・インスタンスを停止することが必要となる場合があります。この項の手順を使用すると、ユーザーへの影響が最小限になり、要求は中断されません。
計画済停止の場合の推奨される方法は、要求を制御期間にわたってFAN対応Oracle接続プールから排出することです。アプリケーション・コンティニュイティでは、割り当てられた時間内に完了しないこれらの要求に対してサービスを継続して提供します。
高速接続フェイルオーバーが構成されたFAN対応プール(OCIセッション・プール、Universal Connection Pool、Oracle WebLogic Server Active Gridlink for Oracle RAC、ODP.NETなど)を使用すると、FAN計画済DOWN
イベントの受信後にリクエスト 境界でセッションを排出できます。リクエストによって発行済作業は完了できるため、リクエストはトランザクションよりもはるかに重要です。
ユーザーの介入なしで計画済停止を管理するには、次の手順を実行します。
SRVCTLを使用して、インスタンスからサービスを再配置するか、またはUNIFORMサービスを使用している場合はインスタンス上のサービスを停止します。これらのコマンドで-force
フラグは使用しないでください。接続プールにより、要求境界で接続が自動的に解放されます。
FAN計画済DOWN
イベントにより、アイドル・セッションが接続プールからただちにクリアされ、次のチェックインで解放されるアクティブ・セッションがマークされます。これらのFANアクションにより、ユーザーの作業を妨げずにセッションがインスタンスから排出されます。
他のインスタンスの既存の接続は使用可能なままで、必要な場合はこれらのインスタンスに新しい接続をオープンできます。
どの場合でも、すべてのセッションが接続をプールにチェックインするわけではありません。インスタンスが強制的に停止され、残っているクライアント接続を削除するタイムアウト期間を設定するのが最適です。
アプリケーション・コンティニュイティ、Universal Connection PoolまたはOracle WebLogic Server Active Gridlink for Oracle RACを使用するように構成されたプールの場合、残っているセッションのリカバリを試行して、ユーザーおよびアプリケーションから停止をマスクします。
アップグレード、パッチまたは修復が完了したら、元のノードでインスタンスとサービスを再起動します。
サービスのFAN UP
イベントにより、新しいインスタンスが使用可能で、次の要求境界でこのインスタンス上にセッションを作成できることが接続プールに通知されます。