専用Exadataインフラストラクチャ上のAutonomous Databaseのコンピュート・モデル

Autonomous Database on Dedicated Exadata Infrastructureでは、Autonomous Databaseリソースの構成中に2つのコンピュート・モデルが提供されます。それらを次に示します:
  • ECPU: ECPUは、コンピュート・リソースの抽象化された尺度です。ECPUは、コンピュートおよびストレージ・サーバーのプールから柔軟に割り当てられたコア数に基づいています。Autonomous Databaseをプロビジョニングするには、少なくとも2つのECPUが必要です。

    新しいデータベースのプロビジョニング、既存のデータベースのクローニングおよび既存のデータベースのCPUリソースのスケール・アップまたはスケール・ダウを行う場合、CPU数はデフォルトで2 ECPU (1単位)になります。たとえば、2を超える次の使用可能なECPU数は3です。

    ECPUベースのコンテナ・データベースにAutonomous Database for Developersインスタンスを作成できます。開発者が新しいアプリケーションの構築とテストに使用できる無料のAutonomous Databasesです。詳細は、開発者のためのAutonomous Databaseを参照してください。

  • OCPU: OCPUは、コンピュート・リソースの物理的な尺度です。OCPUは、ハイパースレッドが有効なプロセッサの物理コアに基づきます。

    ノート

    OCPUはレガシー請求メトリックであり、専用Exadataインフラストラクチャ上のAutonomous Databaseに対してリタイアされています。Oracleでは、新規および既存のすべてのAutonomous DatabaseデプロイメントにECPUを使用することをお薦めします。詳細は、Oracle Supportドキュメント2998755.1を参照してください。

    新しいデータベースのプロビジョニング、既存のデータベースのクローニングおよび既存のデータベースのCPUリソースのスケール・アップまたはスケール・ダウンの場合:

    • CPU数のデフォルトは1 OCPUで、単位は1です。たとえば、次に使用可能な1を超えるOCPUの数は2です。
    • 全体OCPUを必要としないデータベースの場合、0.1から0.9までのOCPUを0.1 OCPU単位で割り当てることができます。これにより、CPUをオーバープロビジョニングし、各インフラストラクチャ・インスタンスでより多くのデータベースを実行できます。詳細は、CPUオーバープロビジョニングを参照してください。

Autonomous Exadata VMクラスタ・リソースのプロビジョニング中にコンピュート・モデルを選択できます。Autonomous Exadata VMクラスタに選択したコンピュート・タイプは、そのすべてのAutonomous Container DatabaseおよびAutonomous Databaseインスタンスに適用されます。

コンピュート管理

Autonomous Databaseインスタンスは、Autonomous Exadata VMクラスタ(AVMC)およびその子Autonomous Container Database(ACD)のいずれかにデプロイされます。Exadataインフラストラクチャでは、複数のAVMCを実行できます。AVMCリソースのプロビジョニング中に割り当てるCPUは、そのAutonomous Databasesで使用可能な合計CPUになります。複数のAVMCを作成する場合、各AVMCはCPU合計に独自の値を設定できます。

複数VM Autonomous Database機能の起動前に作成されたExadataインフラストラクチャ(EI)リソースのOracle Public Cloudデプロイメントでは、複数のVM Autonomous Exadata VMクラスタを使用できません。複数AVMC機能の起動後に作成されたX8M生成以上のExadataインフラストラクチャ・リソースの場合、各AVMCは、選択したExadataシステム・シェイプのサーバーごとに1つのクラスタ・ノードを使用して作成されます。異なるユーザー・グループ間でこれらの合計CPUを制約する方法の詳細は、コンパートメント割当てがCPU管理に与える影響を参照してください。

ノート

特定のExadataインフラストラクチャで作成できるAVMCおよびACDリソースの最大数は、ハードウェアの生成によって異なります。各世代の制約の詳細は、リソース制限およびインフラストラクチャ・シェイプの特性を参照してください。

AVMCまたはACDレベルで、データベースの作成に使用できるCPUの合計数を使用可能なCPUと呼ばれます。AVMCリソース・レベルでは、最初のACDを作成するまで、使用可能なCPUはCPU合計と等しくなります。ACDを作成すると、ノード当たり8 ECPUまたは2 OCPUがAVMCの使用可能なCPUから新しいACDに割り当てられます。したがって、AVMCリソース・レベルで使用可能なCPUは、それに応じて減少します。そのACDで最初のAutonomous Databaseを作成すると、新しいデータベースは、最初に割り当てられたCPU(ノード当たり8 ECPUまたは2 OCPU)を使用します。新しいデータベースに必要なECPUが8を超える場合、またはOCPUが2を超える場合は、親AVMCの使用可能なCPUから割り当てられるため、親AVMCレベルで使用可能なCPUは少なくなります。ACDをさらに作成し、各ACD内でAutonomous Databasesをプロビジョニングすると、それに応じて使用可能なCPU値が変化します。

Autonomous Exadata VMクラスタ・レベルで使用可能なCPUは、そのすべてのAutonomous Container Databaseに適用されます。自動スケーリング時のCPU割当てで説明されているように、自動スケーリング機能を使用している場合、コンテナ・データベースで使用可能なこのCPU数は重要です。

同様に、Autonomous DatabaseのCPUを手動でスケール・アップすると、親のAVMCレベルで使用可能なCPUからCPUが消費され、それに応じて値が変更されます。

Autonomous Databaseを作成すると、デフォルトでは、Oracleは追加のCPUを予約して、ノード障害が発生した場合でもデータベースが50%以上の容量で実行されるようにします。ACDのプロビジョニング中に、ノード間で予約されているCPUの割合を0%または25%に変更できます。手順については、Autonomous Container Databaseの作成ノード・フェイルオーバー予約を参照してください。これらの追加CPUは、請求に含まれません。

Autonomous Databaseが実行されている場合、初期作成時に指定されたか、手動スケーリング操作によって後で指定されたかに関係なく、データベースに現在割り当てられているCPUの数に対して請求されます。また、データベースの自動スケーリングが有効になっている場合は、自動的にスケール・アップした結果としてデータベースで使用されている追加CPUの秒ごとに請求されます。請求を測定および計算する方法の詳細は、CPU請求の詳細を参照してください。

Autonomous Database停止している場合、請求されません。ただし、割り当てられたCPUの数は、デプロイメント全体の親AVMCレベルの使用可能なCPUに戻されません。

Autonomous Databaseが終了またはスケール・ダウンされると、そのデータベースに割り当てられているCPUの数は、デプロイメント全体について、親AVMCレベルの使用可能なCPUにすぐに戻されるわけではありません。その親コンテナ・データベースが再起動されるまでは、引き続き親コンテナ・データベースで使用可能なCPUの数に含まれます。これらのCPUは、再生可能CPUと呼ばれます。親AVMCレベルの再利用可能なCPUは、そのすべてのACDの再利用可能なCPUの合計です。ACDが再起動すると、すべての再利用可能なCPUが親AVMCレベルの使用可能なCPUに返されます。

Autonomous Container Database (ACD)の再起動は、クラスタ全体でローリング方式で実行されるオンライン操作であり、透過的アプリケーション・コンティニュイティを使用するためのベスト・プラクティスに従って構成されている場合、アプリケーションの停止時間は発生しません。

ヒント:

この記事で説明する様々なコンピュート(CPU)属性は、Autonomous Exadata VMクラスタ(AVMC)またはAutonomous Container Database (ACD)の「詳細」ページから追跡できます。ガイダンスは、リソース使用状況トラッキングを参照してください。

自動スケーリング時のCPU割当て

自動スケーリング機能により、Autonomous Databaseは、割り当てられたCPU数の最大3倍のCPUおよびIOリソースを使用できます。CPUオーバープロビジョニングの場合、CPU数が3倍になると値が1未満になると、次の整数に丸められます。CPUオーバープロビジョニングは、OCPUでのみサポートされています。詳細は、CPUオーバープロビジョニングを参照してください。

Oracle Autonomous Database on Dedicated Exadata Infrastructureは、プールで使用可能なすべてのCPUを制限制御として使用するために、単一のAutonomous Databaseを自動スケール・アップできないようにするために、Autonomous Container Databaseを制限制御として使用します。

ACDでの自動スケーリングが有効なAutonomous Databaseのプロビジョニング中に、そのACDの使用可能なCPUが新しいデータベースの3X CPU値より小さい場合、そのACDで追加のCPUが予約されます。これらのCPUは、予約済CPUと呼ばれます。予約済CPUは、ACDレベルで使用可能なCPUが、そのACDで最大の自動スケーリング対応データベースの3x CPU値以上であることを常に保証します。これらの予約済CPUは、このACDでAutonomous Databasesを作成または手動でスケーリングするために使用できます。

Autonomous Databaseを自動的にスケール・アップする場合、Oracle Autonomous Database on Dedicated Exadata Infrastructureでは、親コンテナ・データベース内のアイドルCPUが検索されます。アイドルCPUが使用可能な場合、Autonomous Databaseはスケール・アップされます。それ以外の場合、スケール・アップされません。データベースには本質的にアイドル時間が多いため、自動スケーリングは、コストを制御しながらリソース使用率を最大化し、他のAutonomous Container Database内のデータベースから適切な分離を維持する方法です。

Autonomous Databaseの自動スケーリングに使用されるCPUが、負荷が軽く、割り当てられたすべてのCPUを使用していない別の実行中のAutonomous Databaseからのものである場合、Oracle Autonomous Database on Dedicated Exadata Infrastructureは、他のデータベースの負荷が増加し、割り当てられたCPUを戻す必要がある場合に、自動スケーリングされたデータベースを自動的にスケール・ダウンします。

自動スケーリングが有効になっている4 CPUのAutonomous Databasesを実行している4つのAutonomous Container DatabaseをホストするAutonomous Container Databaseの例について考えてみます。このコンテナ・データベースで自動スケーリング目的に使用できるCPUの数は12です。負荷の増加により、これらのデータベースの1つを4 CPUを超えて自動スケーリングする必要がある場合、Oracle Autonomous Database on Dedicated Exadata Infrastructureは、他の1つ以上のデータベースの負荷が軽く、割り当てられているすべてのCPUを使用していない場合にのみ、自動スケーリング操作を実行します。4つの4 CPUデータベースが常に実行されているため、この例の請求コストは少なくとも16 CPUです。

対照的に、2 CPU Autonomous Databasesを実行している4つをホストするAutonomous Container Databaseの例を考えてみましょう。すべて自動スケーリングが有効になっており、1つは8 CPU Autonomous Databaseを停止しています。また、このコンテナ・データベースで自動スケーリング目的に使用できるCPUの数は16です。負荷の増加により、実行中のデータベースの1つを2 CPUを超えて自動スケーリングする必要がある場合、Oracle Autonomous Database on Dedicated Exadata Infrastructureは、停止した8 CPUデータベースに割り当てられているCPUを使用して操作を実行できます。この例では、4つの実行中データベースは、相互に割り当てられたCPUを消費することなく、同時に合計8つの追加CPUを消費できます。4つの2 CPUデータベースのみが常に実行されているため、この例の請求コストは少なくとも8つのCPUです。

Autonomous Data Guardサービス・インスタンス(ローカルまたはクロスリージョン)の場合、追加価格は、自動スケーリングが有効かどうかに関係なく、プライマリ・サービス・インスタンスを作成または明示的にスケーリングしたときに予約したECPUまたはOCPUの数になります。プライマリ・サービス・インスタンスでの自動スケーリング関連のECPUまたはOCPU消費は、Autonomous Data Guardスタンバイ・サービス・インスタンスでは発生しません。

CPU管理へのコンパートメント割当て制限の影響

通常、Autonomous Databaseを作成またはスケール・アップする場合、リクエストを満たすOracle Autonomous Database on Dedicated Exadata Infrastructureの機能は、デプロイメント全体の単一CPUプール内の未割当てCPUの可用性にのみ依存します。

ただし、Oracle Cloud Infrastructureのコンパートメント割当て機能を使用して、コンパートメントごとに、各ワークロード・タイプ(データ・ウェアハウスまたはトランザクション処理)の自律型データベースの作成、手動スケーリングおよび自動スケーリングに使用できるCPUの数をさらに制限できます。

簡単に言うと、コンパートメントの割当て制限の機能を使用するには、setunsetおよびzeroポリシー・ステートメントを作成して、特定のコンパートメント内の特定のリソースの可用性を制限します。詳細および手順は、コンパートメントの割当て制限を参照してください。

VMクラスタ・ノードのCPU管理への影響

前述のCPU管理および割当て状態の説明では、AVMCリソースのプロビジョニング中にノード当たりのCPU数を選択することで、複数のAutonomous Exadata VMクラスタ(AVMC)リソースを作成できます。

この項では、Oracle Cloud InfrastructureがVMクラスタ・ノードに自律型データベースを配置する方法、および自動スケーリングおよびパラレル処理におけるこのような配置の結果について詳細に説明します。

  • Autonomous Databaseを作成する場合、指定したCPU数がACDレベルで定義されたデータベース分割しきい値またはAVMCのノード当たりのCPU数(どちらか小さい方)より大きい場合、そのCPU割当ては複数のVMクラスタ・ノードに分割されます。

    たとえば、2つのノードと40 ECPUのノードを持つAVMCリソースを作成し、データベース分割しきい値を64に設定してこのAVMCにACDを作成したとします。40は64より小さいため、40を超えるCPU要件を持つAutonomous Databaseは、複数のノード間で分割およびオープンされ、それらのノード間でDMLリクエストが可能になります。ただし、AVMCが2つのノードおよびノード当たり80 ECPUで作成された場合、ECPU要件が64を超えるデータベースは分割され、複数のノードにまたがってオープンされます。

  • Autonomous Databaseを手動でスケーリングすると、そのCPU割当ては、この同じ割当てモデルと一致するようにリバランスされます単一のVMクラスタ・ノードは、ACDレベルで設定されたデータベース分割しきい値以下のCPU数、またはAVMCリソースのノード当たりのCPU数(いずれか)に使用されますCPU数がACDレベルで設定されたデータベース分割しきい値またはAVMCリソースのノード当たりのCPU数のいずれか小さい方より大きい場合は、複数のVMクラスタ・ノードに分割されます。

Autonomous DatabaseのCPU割当てがVMクラスタ・ノード全体に分散される方法は、次の操作に影響します:
  • 自動スケーリング:
    • 自動スケーリングは、パラレル化不可能なDMLの場合は単一のVMクラスタ・ノード内で、DMLがパラレル化可能な場合はVMクラスタ・ノード間で発生する可能性があります。
    • パラレル化不可能な問合せを含む複数の同時セッションをクラスタ内のすべてのノードにルーティングできるため、マルチノード・データベースのすべてのノードを効率的に自動スケーリングできます。
  • パラレル処理:
    • SQL文のパラレル処理は、オープンされているAutonomous Exadata VMクラスタ・ノード内で、最初に単一ノード内で、次に隣接するオープン・ノードで発生します。前述のように、Autonomous Exadata VMクラスタのサイズによって異なります。

各ノードのリソース使用率に基づいて、使用可能なCPUのすべての値を使用してAutonomous Databaseをプロビジョニングまたはスケーリングできるわけではありません。たとえば、AVMCレベルで使用可能なCPUが20個ある場合、ノード・レベルのリソース可用性に応じて、1から20のCPUのすべての値をAutonomous Databaseのプロビジョニングまたはスケーリングに使用できるわけではありません。Autonomous Databaseのプロビジョニングまたはスケールに使用できるCPU値のリストは、プロビジョニング可能なCPUと呼ばれます。

OCIコンソールからAutonomous Databaseをプロビジョニングまたはスケーリングしようとすると、「CPU」フィールドに、プロビジョニング可能なCPUのリストがドロップダウンに表示されます。または、次のAPIを使用して、暫定的なCPU値のリストを取得できます:
  • GetAutonomousContainerDatabaseは、指定されたAutonomous Container Databaseで新しいAutonomous Databaseの作成に使用できるプロビジョニング可能なCPU値のリストを返します。詳細については、GetAutonomousContainerDatabaseを参照してください。

  • GetAutonomousDatabaseは、特定のAutonomous Databaseのスケーリングに使用できるプロビジョニング可能なCPU値のリストを返します。詳細については、GetAutonomousDatabaseを参照してください。