セッションログインとランタイムプロパティに基づき、SET_CONSUMER_GROUP_MAPPINGプロシージャは、セッションとリソースグループのマッピング関係を追加、削除、または変更するために使用され、リソースのきめ細かい管理を実現します。
構文
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 | ログ再生 |
例
1. ユーザーによるマッピング
CALL DBMS_RESOURCE_MANAGER.SET_CONSUMER_GROUP_MAPPING(
attribute => 'USER',
value => 'user1',
consumer_group => 'group1'
);
2. テーブルフィールド条件によるマッピング
CALL DBMS_RESOURCE_MANAGER.SET_CONSUMER_GROUP_MAPPING(
attribute => 'COLUMN',
value => 't2.c3 = 3 for user1',
consumer_group => 'group1'
);
3. バックグラウンドタスクタイプによるマッピング
CALL DBMS_RESOURCE_MANAGER.SET_CONSUMER_GROUP_MAPPING(
attribute => 'FUNCTION',
value => 'COMPACTION_HIGH',
consumer_group => 'group2'
);