Autonomous DatabaseでのCPU/IOシェアの管理
Autonomous Databaseには、様々なコンシューマ・グループに割り当てられた事前定義済CPU/IOシェアが付属しています。ワークロードで異なるCPU/IOリソース割当てが必要な場合は、これらの事前定義済CPU/IO共有を変更できます。
コンシューマ・グループに割り当てられたCPU/IOシェアによって、コンシューマ・グループが他のコンシューマ・グループに関して使用できるCPU/IOリソースが決まります。デフォルトのCPU/IO共有は、Autonomous Databaseワークロードによって異なります。
ワークロード・タイプ | 詳細 |
---|---|
データ・ウェアハウス |
デフォルトでは、コンシューマ・グループ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リソースを使用できます。 |
データベース・アクションで、またはPL/SQLパッケージCS_RESOURCE_MANAGER.UPDATE_PLAN_DIRECTIVE
を使用して、CPU/IOシェアを設定できます。
データベース・アクションを使用してコンシューマ・グループの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データベースまたはAutonomous Transaction Processingデータベースで、次のスクリプトをADMINユーザーとして実行して、コンシューマ・グループTPURGENT、TP、HIGH、MEDIUMおよびLOWに対してCPU/IOシェアをそれぞれ12、4、2、1および1に設定します。これにより、コンシューマ・グループTPURGENTは、コンシューマ・グループTPと比較して3倍多くのCPU/IOリソースを、コンシューマ・グループMEDIUMと比較して12倍多く使用できます:
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パッケージを参照してください。
親トピック: パフォーマンスのモニターおよび管理