セッションのログインとランタイムの属性に基づき、SET_CONSUMER_GROUP_MAPPING プロシージャは、セッションをリソースグループにマッピングするエントリを追加、削除、または変更します。
機能の適用範囲
この内容はOceanBaseデータベースEnterprise Editionにのみ適用されます。OceanBaseデータベースCommunity EditionはMySQLモードのみを提供します。
構文
DBMS_RESOURCE_MANAGER.SET_CONSUMER_GROUP_MAPPING(
attribute IN VARCHAR2,
value IN VARCHAR2,
consumer_group IN VARCHAR2 DEFAULT NULL);
パラメータ説明
パラメータ |
説明 |
|---|---|
| attribute | 追加または変更するマッピング属性。現在のバージョンでは USER(データベースのユーザー名)、COLUMN 属性値、および FUNCTION のみがサポートされています。OceanBaseデータベースのバックグラウンドで実行されるメジャーコンパクション、ダンプ、バックアップ・リカバリ、データ補完などのタスクは、マクロレベルではユーザー領域に属さず、タスク実行時に他のユーザーやタスクのCPU、I/Oリソースを占有する可能性が高いため、OceanBaseデータベースの異なるバックグラウンドタスクに対して FUNCTION マッピング関係を指定することで、バックグラウンドタスクのリソースを対応するリソースグループ内に制限できます。 |
| value | 一致する属性値。絶対マッピングと正規表現を含みます。 |
| consumer_group | マッピングの使用グループ名です。NULL の場合、マッピングを削除します。 |
使用方法
指定された属性と値にマッピングが存在しない場合、指定された使用グループのマッピングが作成されます。指定された属性と値のマッピングが既に存在する場合、そのマッピングの使用グループは指定された使用グループに更新されます。consumer_group パラメータが NULL の場合、指定された属性と値から派生するすべてのマッピングが削除されます。
次の表は、OceanBaseデータベースで事前定義されている FUNCTION リソースグループのマッピングルールです。DBMS_RESOURCE_MANAGER.SET_CONSUMER_GROUP_MAPPING プロシージャを使用して、これらのマッピングルールを変更または削除できます。
属性名 |
値 |
説明 |
|---|---|---|
| FUNCTION | COMPACTION_HIGH | Mini MergeおよびDDL KV Mergeタスク |
| FUNCTION | COMPACTION_MID | Minor Mergeタスク |
| FUNCTION | COMPACTION_LOW | Major Mergeタスク |
| FUNCTION | HA_HIGH | レプリケーション、Rebuild、リカバリタスク |
| FUNCTION | HA_MID | 移行タスク |
| FUNCTION | HA_LOW | バックアップ、バックアップクリーンアップなどのタスク |
| FUNCTION | DDL | 一意インデックス検証、列削除、データ補完操作 |
| FUNCTION | DDL_HIGH | DDL MemTableのダンプ操作 |
| FUNCTION | CLOG_HIGH | clogログコミットタスク |
| FUNCTION | CLOG_MID | ログアーカイブのローカルディスク読み取りなどのタスク |
| FUNCTION | CLOG_LOW | 物理スタンバイデータベースおよびCDC読み取りタスク |
| FUNCTION | OPT_STATS | 統計情報収集タスク |
| FUNCTION | GC_MACRO_BLOCK | マクロブロックの回収および再利用タスク |
| FUNCTION | SQL_AUDIT | SQL監査ログのディスク永続化 |
| FUNCTION | IMPORT | インポートタスク |
| FUNCTION | MVIEW | マテリアライズドビューの増分更新、MLOG PurgeのI/O、CPUリソース使用操作 |
| FUNCTION | REPLAY_HIGH | ログ再生 |
例
obclient> CALL DBMS_RESOURCE_MANAGER.SET_CONSUMER_GROUP_MAPPING(
attribute => 'COLUMN' ,
value => 't2.c3 = 3 for user1',
consumer_group => 'group1');
Query OK, 0 rows affected