5.2.2.1 Setting Up Consumer Groups and Categories
Consumer groups and categories are set up with the procedures in the PL/SQL DBMS_RESOURCE_MANAGER
package.
You can create new consumer groups and categories, or use one of the predefined consumer groups or categories. You do not need to set up categories if you are not planning on using a category plan.
Note:
Consumer groups and categories are created in the database and cannot be created explicitly on a cell.
Before running the DBMS_RESOURCE_MANAGER
procedures for administering consumer groups and categories, you must first create a pending area. You must have the system privilege ADMINISTER_RESOURCE_MANAGER
to run the procedures in the DBMS_RESOURCE_MANAGER
PL/SQL package.
The following PL/SQL commands are used with consumer groups and categories:
-
To manage categories:
CREATE_CATEGORY()
,DELETE_CATEGORY()
, andUPDATE_CATEGORY()
-
To manage consumers groups:
CREATE_CONSUMER_GROUP()
andUPDATE_CONSUMER_GROUP()
-
To assign consumer groups to categories:
CREATE_CONSUMER_GROUP()
orUPDATE_CONSUMER_GROUP()
In addition to the consumer groups that you set up, the database contains predefined consumer groups. The DBA_RSRC_CONSUMER_GROUPS
view displays information about consumer groups, and the DBA_RSRC_CATEGORIES
view displays information about categories in the database.
Example 5-1 Setting Up Consumer Groups and Categories with PL/SQL in the Database
This example shows how to set up consumer groups and categories in a database. The MAINTENANCE
category is predefined, and is not created in this example.
BEGIN
DBMS_RESOURCE_MANAGER.CREATE_PENDING_AREA();
DBMS_RESOURCE_MANAGER.CREATE_CATEGORY(
CATEGORY => 'dss',
COMMENT => 'DSS consumer groups');
DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(
CONSUMER_GROUP => 'critical_dss',
CATEGORY => 'dss',
COMMENT => 'performance-critical DSS queries');
DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(
CONSUMER_GROUP => 'normal_dss',
CATEGORY => 'dss',
COMMENT => 'non performance-critical DSS queries');
DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(
CONSUMER_GROUP => 'etl',
CATEGORY => 'maintenance',
COMMENT => 'data import operations');
DBMS_RESOURCE_MANAGER.SUBMIT_PENDING_AREA();
END;
/
Example 5-2 Consumer Groups and Categories in an Oracle Database
This example shows a query on the DBA_RSRC_CONSUMER_GROUPS
view.
SQL> SELECT consumer_group, category FROM DBA_RSRC_CONSUMER_GROUPS where
consumer_group not like 'ORA%' ORDER BY category;
CONSUMER_GROUP CATEGORY
------------------------------ ------------------------------
SYS_GROUP ADMINISTRATIVE
ETL_GROUP BATCH
BATCH_GROUP BATCH
DSS_GROUP BATCH
CRITICAL_DSS DSS
NORMAL_DSS DSS
DSS_CRITICAL_GROUP INTERACTIVE
INTERACTIVE_GROUP INTERACTIVE
ETL MAINTENANCE
LOW_GROUP OTHER
OTHER_GROUPS OTHER
AUTO_TASK_CONSUMER_GROUP OTHER
DEFAULT_CONSUMER_GROUP OTHER
13 rows selected
Related Topics
Parent topic: Administering Database Resource Management