Autonomous DatabaseでのCPU/IOシェアの管理
Autonomous Databaseには、様々なコンシューマ・グループに割り当てられた事前定義済のCPU/IOシェアが付属しています。ワークロードに異なるCPU/IOリソース割り当てが必要な場合は、これらの事前定義済CPU/IOシェアを変更できます。
コンシューマ・グループに割り当てられたCPU/IOシェアによって、コンシューマ・グループが他のコンシューマ・グループに関して使用できるCPU/IOリソースが決まります。デフォルトのCPU/IOシェアは、Autonomous Databaseワークロードによって異なります。
各サービスに割り当てられたCPUシェアは、データベース内のCPU使用率が100%に達したときに、それらのサービスを使用するセッションが取得するCPUおよびIOの量を決定します。その場合、各サービスは、割り当てられたCPU共有に比例したCPUおよびIOリソースを取得します。自動オプティマイザ統計収集など、Autonomous Databaseで自動タスクとして実行されるOracle内部プロセスは、リソース共有1で実行されます。
ワークロード・タイプ | 詳細 |
---|---|
データ・ウェアハウス |
デフォルトでは、コンシューマ・グループHIGH、MEDIUM、LOWに割り当てられるCPU/IOシェアは、それぞれ4、2、1です。デフォルト設定では、コンシューマ・グループHIGHは、必要に応じて、LOWに比べて4倍のCPU/IOリソース、MEDIUMに比べて2倍のCPU/IOリソースを使用できます。コンシューマ・グループMEDIUMは、必要に応じて、LOWに比べて2倍多くのCPU/IOリソースを使用できます。 |
トランザクション処理 JSONデータベース |
デフォルトでは、コンシューマ・グループTPURGENT、TP、HIGH、MEDIUMおよびLOWに割り当てられるCPU/IOシェアは、それぞれ12、8、4、2、1です。デフォルト設定では、コンシューマ・グループTPURGENTは、必要に応じて、LOWに比べて12倍多くのCPU/IOリソースを使用できます。コンシューマ・グループTPは、必要に応じて、MEDIUMに比べて4倍多くのCPU/IOリソースを使用できます。 |
CPU/IO共有は、Database ActionsまたはPL/SQLパッケージCS_RESOURCE_MANAGER.UPDATE_PLAN_DIRECTIVE
を使用して設定できます。
データベース・アクションを使用してコンシューマ・グループのCPU/IO共有値を変更するには:
CPU/IOシェア値をデフォルトにリセットするには、「デフォルト値のロード」をクリックし、「変更の保存」をクリックして移入された値を適用します。
データベース・アクションを使用するかわりに、PL/SQLプロシージャCS_RESOURCE_MANAGER.UPDATE_PLAN_DIRECTIVE
を使用して、コンシューマ・グループのCPU/IOシェア値を変更できます。
たとえば、Autonomous Data Warehouseデータベースで、ADMIN
ユーザーとして次のスクリプトを実行し、コンシューマ・グループHIGH、MEDIUMおよびLOWに対してCPU/IO共有をそれぞれ8、2および1に設定します。これにより、コンシューマ・グループHIGHは、コンシューマ・グループMEDIUMに比べて4倍のCPU/IOリソースを、コンシューマ・グループLOWに比べて8倍のCPU/IOリソースを使用できるようになります:
BEGIN
CS_RESOURCE_MANAGER.UPDATE_PLAN_DIRECTIVE
(consumer_group => 'HIGH', shares => 8);
CS_RESOURCE_MANAGER.UPDATE_PLAN_DIRECTIVE
(consumer_group => 'MEDIUM', shares => 2);
CS_RESOURCE_MANAGER.UPDATE_PLAN_DIRECTIVE
(consumer_group => 'LOW', shares => 1);
END;
/
たとえば、Autonomous JSON DatabaseまたはAutonomous Transaction Processingデータベースで、ADMINユーザーとして次のスクリプトを実行し、コンシューマ・グループTPURGENT、TP、HIGH、MEDIUMおよびROWに対してCPU/IOシェアをそれぞれ12、4、2、1および1に設定します。これにより、コンシューマ・グループTPURGENTは、コンシューマ・グループTPに比べて3倍のCPU/IOリソースを、コンシューマ・グループMEDIUMに比べて12倍のCPU/IOリソースを使用できるようになります:
BEGIN
CS_RESOURCE_MANAGER.UPDATE_PLAN_DIRECTIVE
(consumer_group => 'TPURGENT', shares => 12);
CS_RESOURCE_MANAGER.UPDATE_PLAN_DIRECTIVE
(consumer_group => 'TP', shares => 4);
CS_RESOURCE_MANAGER.UPDATE_PLAN_DIRECTIVE
(consumer_group => 'HIGH', shares => 2);
CS_RESOURCE_MANAGER.UPDATE_PLAN_DIRECTIVE
(consumer_group => 'MEDIUM', shares => 1);
CS_RESOURCE_MANAGER.UPDATE_PLAN_DIRECTIVE
(consumer_group => 'LOW', shares => 1);
END;
/
デフォルトの共有値に戻す場合は、PL/SQLプロシージャCS_RESOURCE_MANAGER.REVERT_TO_DEFAULT_VALUES
を使用してデフォルト設定に戻すことができます。
たとえば、Autonomous Data Warehouseデータベースで、ADMIN
ユーザーとして次のスクリプトを実行し、コンシューマ・グループHIGH、MEDIUMおよびLOWのCPU/IOシェアをそれぞれデフォルト値に設定します。
BEGIN
CS_RESOURCE_MANAGER.REVERT_TO_DEFAULT_VALUES
(consumer_group => 'HIGH', shares => TRUE);
CS_RESOURCE_MANAGER.REVERT_TO_DEFAULT_VALUES
(consumer_group => 'MEDIUM', shares => TRUE);
CS_RESOURCE_MANAGER.REVERT_TO_DEFAULT_VALUES
(consumer_group => 'LOW', shares => TRUE);
END;
/
たとえば、Autonomous JSON DatabaseまたはAutonomous Transaction Processingデータベースで、ADMINユーザーとして次のスクリプトを実行し、コンシューマ・グループTPURGENT、TP、HIGH、MEDIUMおよびLOWのCPU/IO共有のデフォルト値を設定します:
BEGIN
CS_RESOURCE_MANAGER.REVERT_TO_DEFAULT_VALUES
(consumer_group => 'TPURGENT', shares => TRUE);
CS_RESOURCE_MANAGER.REVERT_TO_DEFAULT_VALUES
(consumer_group => 'TP', shares => TRUE);
CS_RESOURCE_MANAGER.REVERT_TO_DEFAULT_VALUES
(consumer_group => 'HIGH', shares => TRUE);
CS_RESOURCE_MANAGER.REVERT_TO_DEFAULT_VALUES
(consumer_group => 'MEDIUM', shares => TRUE);
CS_RESOURCE_MANAGER.REVERT_TO_DEFAULT_VALUES
(consumer_group => 'LOW', shares => TRUE);
END;
/
詳細は、CS_RESOURCE_MANAGERパッケージを参照してください。
親トピック: パフォーマンスのモニターおよび管理