コンシューマ・グループに割り当てられたCPU/IO共有によって、コンシューマ・グループが他のコンシューマ・グループに対して使用できるCPU/IOリソースが決まります。
各サービスに割り当てられたCPU共有によって、データベース内のCPU使用率が100%に達したときに、それらのサービスを使用するセッションが取得するCPUおよびIOの量が決まります。 その場合、各サービスは、割り当てられたCPU共有に比例してCPUおよびIOリソースを取得します。 Autonomous Databaseで自動タスクとして実行されるOracle内部プロセス(自動オプティマイザ統計収集など)は、リソース共有1で実行されます。
データベース・アクションまたはPL/SQLパッケージCS_RESOURCE_MANAGER.UPDATE_PLAN_DIRECTIVEを使用して、CPU/IO共有を設定できます。
データベース・アクションを使用してコンシューマ・グループのCPU/IO共有値を変更するには:
データベース・アクションを使用するかわりに、PL/SQLプロシージャCS_RESOURCE_MANAGER.UPDATE_PLAN_DIRECTIVEを使用して、コンシューマ・グループのCPU/IO共有値を変更できます。
たとえば、ADMINユーザーとして次のスクリプトを実行し、コンシューマ・グループTPURGENT、TP、HIGH、MEDIUMおよびLOWの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を使用してデフォルト設定に戻すことができます。
たとえば、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パッケージ」を参照してください。