パッチおよびメンテナンス・ウィンドウ情報の表示、パッチ・レベルの設定

Autonomous AI Databaseは、事前定義済のメンテナンス・ウィンドウを使用して、データベースに自動的にパッチを適用します。メンテナンスおよびパッチ情報を表示し、Autonomous AI Databaseのメンテナンス履歴の詳細を表示できます。

スケジュール済メンテナンスおよびパッチ適用について

Autonomous AI Databaseインスタンスはすべて、メンテナンス・ウィンドウで自動的に割り当てられ、インスタンスによって異なりますが、メンテナンス・ウィンドウで異なる場合があります。

Autonomous AI Databaseでは、これらのメンテナンス・ウィンドウを使用して、データベース・ソフトウェア、データベース・ディクショナリ、オペレーティング・システム、Exadataストレージ、ファームウェアなど、データベースの実行に使用されるスタック全体にパッチを適用します。

パッチには、バグ修正、セキュリティ修正および新機能が含まれます。クリティカルなセキュリティ修正は、使用可能になり次第、常に適用されます。パッチはすべてのデータベースに均一にデプロイされるため、個別パッチを追跡する必要はありません。1つのデータベースで発生した問題など、問題の修正が実装されると、その修正はすべてのAutonomous AI Databaseインスタンスにデプロイされます。

すべてのパッチは、継続的な統合および開発パイプラインの一部である厳格なテストおよび検証プロセスを受けます。修正は、早期パッチ・レベルおよびAlways Freeデータベースにデプロイされる前に、複数のステージおよび環境で検証され、続いて定期パッチ・レベル・データベースにデプロイされます。このパイプラインを使用すると、パッチがすべてのデータベースにデプロイされる前に、リグレッションを捕捉して修正できます。パッチ適用で回帰が発生する可能性が低い場合、Oracleには次のようなアクションを含め、問題を軽減するプロセスがあります。

  • パッチのサブセットまたはパッチ全体のロールバック。

  • データベース・パラメータを設定して、回帰が発生したパッチを無効にします。

  • オンライン・パッチを適用して、停止時間や接続の中断なしに問題を修正します。

自律型AIデータベースの自動回帰検出は、回帰のプロアクティブな処理を提供し、自動化された問題検出、診断および緩和を可能にします。 ⁇ これにより、問題およびファイル・サービス・リクエストを手動で調査する必要性を低減または排除できます。 ⁇ 自動回帰検出は、すべてのデータベースをモニターします。Earlyパッチ・レベルとRegularパッチ・レベルの両方ですが、早期⁇ パッチ・レベルのデータベースでワークロードをテストする場合に特に役立ちます。 ⁇Automatic Regression Detectionが問題を検出し、回帰を特定した場合、問題を診断するための詳細情報とともに自動的に報告します。継続的なデリバリ・パッチ適用サイクルの一環として、この自動レポートにより、Oracleは、変更が本番データベース(通常のパッチ・レベル・データベース)に到達する前に、問題を軽減または修正できます。自動回帰検出では、すべての問題を見つけることができない場合があります。問題に自分が表示されている場合は、サービス・リクエストを提出できます。

自動回帰検出には次のものが含まれます。

  • 自動回帰検出は、データベースをモニターし、インシデントが発生した場合、インシデントのバグを自動ワークロード・リポジトリから抽出された詳細な診断情報とともに報告します。

  • インシデント・レポート・システムでは、Oracle Automatic Incident Monitoringを使用して、Oracle Cloud Infrastructureの運用および開発チームに通知が生成されます。

  • 問題は、自動回帰検出アラートを分析することによって軽減されます。

  • 学習と改善は、自動回帰検出に対して継続的に行われます。

自律型AIデータベースの詳細ページには、今後のメンテナンス・ウィンドウの日時を含む「パッチ・レベル」フィールドおよび「次のメンテナンス」フィールドが表示されます。日付は、次のメンテナンス・ウィンドウのスケジュール時に自動的に更新されます。「履歴の表示」リンクには、過去のメンテナンスの詳細が表示されます。「ターゲット・コンポーネント」フィールドには、次のメンテナンス・ウィンドウで更新されるコンポーネントが表示されます。

adb_patch_level.pngの説明が続きます
図adb_patch_level.pngの説明

Autonomous Data Guardが有効になっている場合、コンソールにはローカル・スタンバイ・データベースのメンテナンス情報も表示されます。

「保守」領域には次の情報が含まれます。

メンテナンス・フィールド 摘要

パッチ・レベル

インスタンスのパッチ・レベルが表示されます。「通常」「早期」の2つのパッチ・レベル・オプションがあります。「編集」をクリックして、パッチ・レベルの設定を管理します。

詳細は、パッチ・レベルの設定を参照してください。

次回のメンテナンス

次のスケジュール済メンテナンス・ウィンドウの期間を指定します。過去のメンテナンスの詳細を表示するには、「履歴の表示」をクリックします。

詳細は、メンテナンス・イベント履歴の表示を参照してください。

ターゲット・コンポーネント

次回のメンテナンス・ウィンドウのターゲット・コンポーネントをリストします。指定可能な値は次のとおりです。

  • データベース: パッチがデータベース・ホームおよび実行可能ファイルに適用される場合。

  • ディクショナリ: パッチがデータ・ディクショナリおよびOracle APEXに適用される場合。

  • インフラストラクチャ: パッチがExadataハードウェアまたはGrid Infrastructureに適用される場合。

次回のメンテナンス(ローカル・ピア)

ローカルAutonomous Data Guardスタンバイの次のスケジュール済メンテナンス・ウィンドウの期間を指定します。過去のメンテナンスの詳細を表示するには、「履歴の表示」をクリックします。

ターゲット・コンポーネント(ローカル・ピア)

Autonomous Data Guardの今後のメンテナンス・ウィンドウのターゲット・コンポーネントをリストします。指定可能な値は次のとおりです。

  • データベース: パッチがデータベース・ホームおよび実行可能ファイルに適用される場合。

  • ディクショナリ: パッチがデータ・ディクショナリおよびOracle APEXに適用される場合。

  • インフラストラクチャ: パッチがExadataハードウェアまたはGrid Infrastructureに適用される場合。

顧客の連絡先

顧客の連絡先が設定されると、Oracleは、Autonomous AI Databaseサービス関連の問題について、指定された電子メール・アドレスに通知を送信します。

詳細は、運用上の問題およびお知らせに対する顧客担当者の表示および管理を参照してください。

スケジュール済メンテナンスおよびパッチ適用のノート:

  • 自律型AIデータベースの運用チームは、指定した期間にサービス・リクエストを通じて権限を明示的に付与しないかぎり、データにアクセスすることはありません。

  • メンテナンス・ウィンドウ中にデータベースが停止状態の場合は、データベースの起動時にパッチによるデータベースの変更が適用されます。

  • メンテナンス・ウィンドウ中もデータベースは使用可能なままです。データベースへの新しい接続は常に成功します。パッチを適用するコンポーネントによっては、既存のデータベース接続が短時間切断される場合がありますが、すぐに再接続してデータベースの使用を継続できます。

    • データベース・パッチの場合、既存の接続は、パッチ適用開始後のドレイン時間より長く実行されていると切断されることがあります。

    • インフラストラクチャ・パッチの場合、既存の接続は、パッチ適用開始後のドレイン時間より長く実行されていると切断されることがあります。

    • ディクショナリ・パッチの場合、パッチされているディクショナリ・オブジェクトのロックを保持している場合、既存の接続が切断されることがあります。そうしないと、既存の接続は影響を受けません。たとえば、パッチ適用中にアプリケーションがDBMS_CLOUDパッケージのプロシージャを実行していて、パッケージにパッチを適用する必要がある場合、そのパッケージを使用するセッションは切断される可能性があります。

      詳細は、SESSION_EXIT_ON_PACKAGE_STATE_ERRORを参照してください。

  • Oracle Cloud Infrastructure Eventsを使用すると、メンテナンスの開始時と終了時に通知されます。詳細は、Autonomous AI Databaseに関する情報イベントを参照してください。

  • 地域のローカル・タイム・ゾーンで土曜日または日曜日に割り当てられたメンテナンス・ウィンドウを別の2時間のウィンドウに変更する場合は、Oracle Cloud Supportにサービス・リクエストを提出します。

    地域のローカル・タイム・ゾーンの土曜日または日曜日にメンテナンス・ウィンドウに特定の期間が必要な場合は、同じサービス・リクエストを使用して期間をリクエストできます。メンテナンス・ウィンドウに特定の期間をリクエストした場合、変更できるのは、リクエストした期間がデータベースで使用可能である場合のみです。

  • データベースに割り当てられたストレージが384TBの場合、Oracle Cloud Supportでサービス・リクエストを送信することで、カスタムの2時間ウィンドウを選択できます(つまり、メンテナンス・ウィンドウの地域のローカル・タイム・ゾーンで土曜日または日曜日に特定の日時にリクエストするサービス・リクエストを申請できます)。

本番データベースからワークロードを取得し、ターゲットの早期パッチ・レベル・リフレッシュ可能クローンでワークロードをリプレイする方法の詳細は、「今後のパッチに対するワークロードのテスト」を参照してください。

Autonomous AI Databaseのゼロ回帰SLOの詳細は、ゼロ回帰サービス・レベル目標を参照してください。

保守イベント履歴の表示

タイトル、状態、開始時間、停止時間など、過去のメンテナンス・イベントの詳細について、Autonomous AI Databaseメンテナンス・イベント履歴を表示できます。

必要に応じて、次の前提条件ステップを実行します:

  • 「クラウド」の横にあるナビゲーション・アイコンをクリックして、Oracle Cloud Infrastructure Consoleを開きます。

  • Oracle Cloud Infrastructureの左側のナビゲーション・メニューから、「Oracle Database」をクリックし、「Autonomous AI Database」をクリックします。
  • 「自律型AIデータベース」ページで、「表示名」列の下のリンクから自律型AIデータベースを選択します。

メンテナンス履歴を表示するには、次を実行します:

  1. 「Autonomous AI Databaseの詳細」ページの「次のメンテナンス」で、「履歴の表示」をクリックします。
  2. Oracle Cloud Infrastructure Consoleに「メンテナンス履歴」ページが表示されます。
  3. (オプション)「検索およびフィルタ」セレクタを使用して、状態別にイベントをフィルタします。

    たとえば、「成功」を選択した場合、「メンテナンス履歴」ページには「成功」状態のメンテナンス・イベントのみが表示されます。

「メンテナンス履歴」ページには、次のような各メンテナンス・イベントの詳細が表示されます。
フィールド 摘要

タイトル

メンテナンス・イベントの名前。

メンテナンス・タイプ

計画済または未計画。

ターゲット・コンポーネント

メンテナンス・イベントが発生するリソースのタイプ(データベース、ディクショナリまたはインフラストラクチャ)。

状態

成功、失敗または進行中。

開始時間

メンテナンス開始時間

終了時間

メンテナンス終了時間

ノート

メンテナンス・イベント履歴は、2021年2月より後のメンテナンス・イベントから使用できます。

パッチ・レベルおよびパッチの詳細の表示

解決された問題およびコンポーネントのリストなど、Autonomous AI Databaseのパッチ情報を表示できます。

Autonomous AI Databaseインスタンスのパッチ・レベルの表示

Oracle Cloud Infrastructure ConsoleのAutonomous AI Databaseの詳細ページから、インスタンスのパッチ・レベルを表示できます。

  1. 「Autonomous AI Database」情報タブの「メンテナンス」領域に、インスタンスのパッチ・レベルが表示されます。選択肢は「通常」と「早期」です。
  2. パッチ・レベルを変更する場合は、「編集」をクリックします。

詳細は、パッチ・レベルの設定を参照してください。

DBA_CLOUD_PATCH_INFOビューは、報告されたバグに関連するパッチ情報を提供します(これは顧客が報告するバグのリストです)。この情報を使用して、報告されたバグが修正されたかどうかを判断し、その修正がAutonomous AI Databaseインスタンスに適用されたパッチ・バージョンを判断できます。パッチに顧客の不具合がなかった場合、DBA_CLOUD_PATCH_INFOにはそのパッチの行は含まれません。

特定のパッチのパッチ情報を表示するには、次の手順を実行します。

  1. 表示するAutonomous AI Databaseパッチを選択します。Oracle Cloud Infrastructure Consoleの「メンテナンス履歴」ページには、「タイトル」列の下にパッチのリストが表示されます。
  2. 選択したパッチについて、DBA_CLOUD_PATCH_INFOビューを問い合せて追加の詳細を検索します。

    たとえば、パッチADBS-25.4.4.2の場合は、次の問合せを使用します。

    SELECT * FROM DBA_CLOUD_PATCH_INFO WHERE PATCH_VERSION = 'ADBS-25.4.4.2';
  3. 関心のある問題については、ビューを問い合せて問題の詳細を取得します。
    SELECT * FROM DBA_CLOUD_PATCH_INFO WHERE PATCH_VERSION = 'ADBS-25.4.4.2' and BUG_NUM = bug_number;

使用可能なすべてのパッチのパッチ情報を表示するには:

SELECT * FROM DBA_CLOUD_PATCH_INFO;

パッチ情報の表示に関するノート:

  • ビューDBA_CLOUD_PATCH_INFOは、ADMINユーザーが使用できます。

  • パッチ情報および解決された問題の詳細は、ADBS-21.7.1.1以降から入手できます(2021年7月以降)。

  • ビューDBA_CLOUD_PATCH_INFOには、次の列があります。

    BUG_NUM, BUG_TITLE, COMPONENT_NAME, PATCH_VERSION

メンテナンス中に適用されたパッチの詳細は、メンテナンス・ステータス通知の表示を参照してください。

パッチ・レベルの設定

Autonomous AI Databaseインスタンスをプロビジョニングまたはクローニングする際、パッチ・レベルを選択して、今後のパッチに適用できます。Autonomous AI Databaseインスタンスのプロビジョニング後にパッチ・レベルを編集することもできます。「通常」「早期」の2つのパッチ・レベル・オプションがあります。

パッチ・レベル「早期」を選択すると、「通常」スケジュール済パッチの1週間前にAutonomous AI Databaseインスタンスにパッチが適用されます。Oracle Cloud Infrastructure Consoleの「次のメンテナンス」フィールドには、パッチ・レベルに基づくメンテナンス・ウィンドウの日時が反映されます。

Autonomous AI Databaseインスタンスをプロビジョニングするためのデフォルトのパッチ・レベルは、「標準」です。クローニングのデフォルトのパッチ・レベルは、ソース・データベースに指定されたパッチ・レベルです。

インスタンスをプロビジョニングまたはクローニングし、パッチ・レベルを「早期」に設定すると、今後のパッチをすべてのシステムに適用する前に使用およびテストできます。Oracle recommends you select the Early patch level for your development and test databases if you want to test the upcoming patches before the patches reach production. Oracle Real Application Testingを使用してワークロードをテストし、本番システム上のワークロードを取得して、早期パッチ・レベルでリプレイすることもできます。詳細は、「Oracle Real Application Testingを使用したワークロードのテスト」を参照してください。

ノート

パッチ・レベルの設定は、ECPUコンピュート・モデルを使用するAutonomous AI Databaseインスタンスでのみ使用できます。
インスタンスのプロビジョニングまたはクローニング中にパッチ・レベルを設定するには、次を実行します:

既存のAutonomous AI Databaseのパッチ・レベルを変更するには、次を実行します:

  1. 「Autonomous AI Databaseの詳細」ページの「メンテナンス」で、「パッチ・レベル」フィールドで「編集」をクリックします。
    ノート

    「編集」ボタンは、次の状況では無効にできます。
    • 使用しているリージョンでデータベース・バージョンに対して早期パッチ・レベルを使用できない場合。
    • データベースでAutonomous Data Guardが有効になっている場合。
    • データベースが早期パッチ・レベルであり、通常のパッチ・レベルに移動できない場合。この場合、次のメンテナンス・ウィンドウの後で再試行してください。
  2. パッチ・レベル「通常」または「早期」を選択し、「送信」をクリックします。

    パッチ・レベルの変更にかかる時間は、データベースのサイズによって異なります。この期間に短い接続が切断される場合があります。

Oracle Supportへのパッチの問題のレポート

早期パッチ・レベル・データベースの問題を報告すると、Oracle Supportは、問題が通常パッチ・レベル・データベースに伝播されないようにするために必要なアクションを実行します。可能なアクションの例を次に示します。

  • 問題の原因となったパッチは、通常のパッチ・レベル・データベースにパッチが適用される前に削除されます。

  • 問題の原因となったパッチは、通常のパッチ・レベルのデータベースに適用されているデータベース・パラメータを使用して無効化されます。

  • 通常のパッチ・レベル・データベースのパッチ適用は、修正処理が実行されるまで一時停止されます。

報告する問題がある場合は、Oracle Cloud Supportでサービス・リクエストを登録するか、サポート担当者に連絡してください。

Oracleは、本番データベースにゼロ・リグレッションのサービス・レベル目標を提供します。詳細は、ゼロ回帰サービス・レベル目標値を参照してください。

パッチ適用レベルのノート:

  • パッチ・レベルを設定するオプションは、すべてのリージョンで使用できるわけではありません。一部のリージョンでは、すべてのAutonomous AI Databaseインスタンスが通常パッチ・レベルでプロビジョニングまたはクローニングされます。

  • Autonomous Data Guardは、パッチ・レベル通常のインスタンスでのみ使用できます。パッチ・レベル早期のAutonomous AI Databaseインスタンスを構成する場合、Autonomous Data Guardを有効にできません。

  • Always Free Autonomous AI Databaseインスタンスは、「早期」パッチ・レベル・オプションを提供しません。

  • ソースAutonomous AI Databaseインスタンスのパッチ・レベルが「通常」の場合、「早期」パッチ・レベルをサポートするリージョンでは、クローンのパッチ・レベルを「早期」に設定できます。

保守ステータス通知の表示

DB_NOTIFICATIONSビューには、Autonomous AI Databaseインスタンスのメンテナンス・ステータス通知に関する情報が格納されます。

通知情報を表示するには:

  1. Autonomous AI Databaseインスタンスに接続します。
  2. 次の問合せを使用して、メンテナンス(パッチ適用)情報を表示します。
    SELECT * FROM DB_NOTIFICATIONS WHERE TYPE = 'MAINTENANCE';

次に、DESCRIPTIONフィールド値の詳細を示します。

  • メンテナンス実行が終了しました: メンテナンスが完了したことを指定します。MAINTENANCE_STATUSは、ACTUAL_START_DATEおよびACTUAL_END_DATEで完了したメンテナンスの開始タイムスタンプと終了タイムスタンプを持つ値COMPLETEDを示します。

  • メンテナンス実行がインスタンスにスケジュールされている: 新しいメンテナンスがスケジュールされていることを指定します。MAINTENANCE_STATUSは、EXPECTED_START_DATEおよびEXPECTED_END_DATEのスケジュール済メンテナンスの開始タイムスタンプと終了タイムスタンプを持つ値SCHEDULEDを示します。

  • メンテナンス実行が開始されました: メンテナンスが進行中であることを指定し、アクティブなメンテナンスの開始タイムスタンプを指定します。MAINTENANCE_STATUSは値IN_PROGRESSを示し、ACTUAL_START_DATEは開始タイムスタンプを格納します。

次の表に、DB_NOTIFICATIONS列とデータ型を示します。

データ型 摘要
TYPE VARCHAR2(128)

通知のタイプを指定します。

有効な値: MAINTENANCE

TIME TIMESTAMP(6) WITH TIME ZONE

通知エントリが追加された時間。

EXPECTED_START_DATE TIMESTAMP(6) WITH TIME ZONE

定期メンテナンスの開始時間。

EXPECTED_END_DATE TIMESTAMP(6) WITH TIME ZONE

スケジュール済メンテナンス終了時間。

ACTUAL_START_DATE TIMESTAMP(6) WITH TIME ZONE

実際のメンテナンス開始時間。

ACTUAL_END_DATE TIMESTAMP(6) WITH TIME ZONE

実際のメンテナンス終了時間。

MAINTENANCE_PRODUCT VARCHAR2(128)

保守がスケジュールされている/継続している製品/コンポーネント。

MAINTENANCE_STATUS VARCHAR2(128)

保守の現在のステータス。

DESCRIPTION VARCHAR2(128)

通知メッセージ詳細。

PATCH_ID VARCHAR2(128)

パッチ・バージョン

メンテナンスWindows中にアプリケーションの可用性を維持するためのベスト・プラクティス

アプリケーションの可用性を維持し、スケジュール済メンテナンス・ウィンドウ中のアプリケーションの中断を最小限に抑えるためのベスト・プラクティスに関する情報を提供します。

Autonomous AI Databaseのパッチは、スケジュール済メンテナンス・ウィンドウ中にローリング・パッチとして適用されます。ローリング・パッチを使用すると、Autonomous AI Databaseインスタンスは、実行中の元のノードでパッチ適用を開始する前に、新しいクラスタ・ノードで使用できるようになります。新しいクラスタ・ノードでデータベースが使用可能になると、すべての新しい接続が新しいノードに転送されます。つまり、データベースはオンラインのままであり、メンテナンス中も使用可能であり、メンテナンス・ウィンドウ中に新しいデータベース接続リクエストが成功します。

元のノードの既存のデータベース接続は、5分間排出される可能性があります脚注1。排出期間中、データベースはクライアントが既存の接続を解放するのを待機します。排出期間後、元のノードにデータベース接続が残っている場合、残りの接続は切断され、パッチ適用が開始されます。次のベスト・プラクティスは、排出期間中にデータベース接続が排出され、新しいノードに再接続されるため、アプリケーションがメンテナンス・ウィンドウ中に中断されないようにするのに役立ちます。

接続プールを使用し、プールに接続を返す

アプリケーションからスケジュール済メンテナンスを非表示にするには、接続プールを使用することをお薦めします。アプリケーションが次のことを行う場合、メンテナンス・ウィンドウ中にアプリケーションを実行しても、アプリケーションには影響しません。

  • 推奨設定で接続プールを使用します。
  • 接続プールから接続をチェックアウトします。
  • 排水時間(5分)未満の接続を使用します。
  • 接続プールへの接続を返します。

接続プールを使用するアプリケーションのベスト・プラクティスは、次のステップに従うことです。アプリケーションは接続をチェックアウトし、データベース処理のために接続を使用し、作業が完了するとすぐに接続プールに接続を解放します(これにより、他のスレッドで接続を使用できるようになります)。

排出期間が開始されると、接続プールでは、新しい接続が新しく使用可能なノードに接続されるように、接続プール内の使用可能な接続の再確立が処理されます。アプリケーションが新しい接続をチェックアウトしても、中断は発生しません(新しい接続は新しいノードを使用します)。ただし、メンテナンス開始前またはドレイン時間中に接続がチェックアウトされ、ドレイン時間を超えて継続する処理が実行されると、接続は切断されます。この場合、中断を回避するために、メンテナンス開始前にそのような長時間実行操作を停止し、メンテナンス終了時に再起動できます。次の項「情報イベントのサブスクライブ」で説明するように、長時間実行操作を停止するタイミングと再起動するタイミングを把握するために、イベントをサブスクライブできます。

次の表に、共通接続プール・タイプの一部と、推奨されるバージョンおよび設定を示します。

接続 プール バージョン Oracle JDBCドライバーのバージョン 推奨設定
ユニバーサル接続プール(UCP) 26ai 26ai デフォルト設定を使用します。
ユニバーサル接続プール(UCP) 19.12以降 19.13以降 ValidateConnectionOnBorrow=true

JDBCドライバの接続プロパティにoracle.jdbc.defaultConnectionValidation=LOCALを追加します。

Weblogic 14.1.1 以降 19.13以降

test-connections-on reserve=true

test-table-name=SQL ISVALID

seconds-to-trust-an-idle-pool-connection=0

バグ35731335のパッチを適用します。詳細は、Patch 35731335を参照してください。

Hikari 6.0.0 以上 19.21以降

com.zaxxer.hikari.aliveBypassWindowMsを-1に設定します。

JDBCプロパティでoracle.jdbc.defaultConnectionValidationSOCKETに設定します。

com.zaxxer.hikari.enableRequestBoundariestrueに設定します。

Tomcat 9.0 、10.0または11.0 任意のバージョン

UCPでTomcatを使用している場合は、上記のUCP推奨に従ってください。

JDBCドライバでTomcatを使用している場合は、Oracle JDBCドレインAPI (isValid()isUsable()pingDatabase()またはendRequest())をコールします。

JDBCプロパティでoracle.jdbc.defaultConnectionValidationSOCKETに設定します。

接続プールを使用できない場合、JDBCドライバでの接続テストの使用

接続プールを使用できない場合、Oracleクライアント・ドライバ19.13以降では接続がドレインされるため、アプリケーションには中断が見られません。接続が正しくドレインされるように、Oracle JDBCドレインAPI (isValid()isUsable()pingDatabase()またはendRequest())をコールできます。

情報イベントのサブスクライブ

アプリケーションで長時間実行されているデータベース操作がドレイン時間(5分)より長い場合、プールまたはJDBCドライバはドレイン時間の終了前に解放されないため、接続をドレインできません。このような長時間実行操作では、中断を回避するために、メンテナンス・ウィンドウ中またはメンテナンス・ウィンドウ直前にプロセスおよびジョブを開始しないでください。

Autonomous AI Databaseは、OCIイベント・サービスに情報イベントを公開し、次の情報イベント(イベント・カテゴリ「メンテナンス」)を含むメンテナンス・ウィンドウについて通知します。

  • 新しいメンテナンス・ウィンドウがスケジュールされている場合
  • パッチ適用開始の24時間前
  • パッチ適用開始の60分前
  • パッチ適用の開始時
  • パッチ適用の終了時

自律型AIデータベース情報イベントをサブスクライブし、オプションでイベント・カテゴリのメンテナンスを指定して、通知を受信し、メンテナンス・イベントに受信する通知を制限できます。その後、定義した通知およびルールに基づいて、長時間実行操作を停止し、メンテナンス終了後に再起動するアクションを実行できます。これらのイベントおよび長時間実行操作の知識を使用して、長時間実行操作を停止するタイミングおよび再起動するタイミングを決定できます。

詳細は、Autonomous AI Databaseイベントの使用を参照してください。

アプリケーションでPL/SQLを使用している場合のPL/SQLセッション状態の処理

データベース・パラメータSESSION_EXIT_ON_PACKAGE_STATE_ERRORは、セッションで実行されているステートフルPL/SQLパッケージの処理を指定します。Oracle提供オブジェクトの計画メンテナンス中など、このようなパッケージが変更された場合、そのパッケージがアクティブなインスタンス化されているセッションでは、パッケージの実行が試みられると次のエラーが発生します: ORA-04068: existing state of packages has been discarded.。ただし、ORA-4068エラーを受信するアプリケーション・コードでは、このエラーを再試行ロジックで処理できない場合があります。

SESSION_EXIT_ON_PACKAGE_STATE_ERRORTRUEに設定すると、このケースでは異なる処理が提供されます。SESSION_EXIT_ON_PACKAGE_STATE_ERRORTRUEの場合、パッケージ状態が破棄されるときにORA-4068エラーを発生させるのではなく、セッションはただちに終了します。これは、多くのアプリケーションが接続を自動的に透過的に再確立することでセッション終了を処理できるため、利点があります。

詳細は、SESSION_EXIT_ON_PACKAGE_STATE_ERRORを参照してください。



脚注の説明

脚注1: 今後のリリースでは、この排出時間が変更される可能性があることに注意してください。