OceanBaseデータベースは、V4.3.5 BP2バージョンから、DBMS_RESOURCE_MANAGERを使用してマテリアライズドビューの増分更新およびMLOG Purgeに対するリソース分離機能をサポートし、マテリアライズドビューが使用できるリソースの上限を制限できるようになりました。
例
リソースプラン
mview_taskを作成します。CALL DBMS_RESOURCE_MANAGER.CREATE_PLAN('mview_task','このリソースプランはマテリアライズドビュー処理用です');リソースプランの作成に関する詳細は、CREATE_PLANを参照してください。
リソースユーザーグループ
mview_groupを作成します。CALL DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP('mview_group','マテリアライズドビュー処理グループ');リソースユーザーグループの作成に関する詳細は、CREATE_CONSUMER_GROUPを参照してください。
CPUリソース使用率の上限を5%に制限するリソースプランディレクティブを作成します。
CALL DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE( PLAN => 'mview_task', GROUP_OR_SUBPLAN => 'mview_group', UTILIZATION_LIMIT => 5 );リソースプランディレクティブの作成に関する詳細は、CREATE_PLAN_DIRECTIVEを参照してください。
リソース使用グループ
mview_groupをFUNCTIONにバインドします。CALL DBMS_RESOURCE_MANAGER.SET_CONSUMER_GROUP_MAPPING( ATTRIBUTE => 'FUNCTION', VALUE => 'MVIEW', CONSUMER_GROUP => 'mview_group' );セッションをリソースグループのエントリにマッピングするに関する詳細は、SET_CONSUMER_GROUP_MAPPINGを参照してください。
リソース管理プラン
mview_taskを有効化します。SET GLOBAL resource_manager_plan = 'mview_task';リソース管理プランの有効化に関する詳細は、resource_manager_planを参照してください。
CPUリソース使用率の上限を30%に変更します。
CALL DBMS_RESOURCE_MANAGER.UPDATE_PLAN_DIRECTIVE( PLAN => 'mview_task', GROUP_OR_SUBPLAN => 'mview_group', NEW_UTILIZATION_LIMIT => 30 );リソースプランの更新に関する詳細は、UPDATE_PLAN_DIRECTIVEを参照してください。