Skip Headers

Oracle9i Supplied PL/SQL Packages and Types Reference
Release 2 (9.2)

Part Number A96612-01
Go To Documentation Library
Home
Go To Product List
Book List
Go To Table Of Contents
Contents
Go To Index
Index

Master Index

Feedback

Go to previous page Go to beginning of chapter Go to next page

DBMS_RESOURCE_MANAGER, 2 of 2


Summary of DBMS_RESOURE_MANAGER Subprograms

Table 58-1 DBMS_RESOURCE_MANAGER Package Subprograms
Subprogram Description

CREATE_PLAN Procedure

Creates entries which define resource plans.

CREATE_SIMPLE_PLAN Procedure

Creates a single-level resource plan containing up to eight consumer groups in one step.

UPDATE_PLAN Procedure

Updates entries which define resource plans.

DELETE_PLAN Procedure

Deletes the specified plan as well as all the plan directives it refers to.

DELETE_PLAN_CASCADE Procedure

Deletes the specified plan as well as all its descendants (plan directives, subplans, consumer groups).

CREATE_CONSUMER_GROUP Procedure

Creates entries which define resource consumer groups.

UPDATE_CONSUMER_GROUP Procedure

Updates entries which define resource consumer groups.

DELETE_CONSUMER_GROUP Procedure

Deletes entries which define resource consumer groups.

CREATE_PLAN_DIRECTIVE Procedure

Creates resource plan directives.

UPDATE_PLAN_DIRECTIVE Procedure

Updates resource plan directives.

DELETE_PLAN_DIRECTIVE Procedure

Deletes resource plan directives.

CREATE_PENDING_AREA Procedure

Creates a work area for changes to resource manager objects.

VALIDATE_PENDING_AREA Procedure

Validates pending changes for the resource manager.

CLEAR_PENDING_AREA Procedure

Clears the work area for the resource manager.

SUBMIT_PENDING_AREA Procedure

Submits pending changes for the resource manager.

SET_INITIAL_CONSUMER_GROUP Procedure

Assigns the initial resource consumer group for a user.

SWITCH_CONSUMER_GROUP_FOR_SESS Procedure

Changes the resource consumer group of a specific session.

SWITCH_CONSUMER_GROUP_FOR_USER Procedure

Changes the resource consumer group for all sessions with a given user name.

CREATE_PLAN Procedure

This procedure creates entries which define resource plans. For release 8.2, max_active_sess_target_mth was renamed active_sess_pool_mth and new_queueing_mth was added.

Syntax

DBMS_RESOURCE_MANAGER.CREATE_PLAN (
   plan                       IN VARCHAR2, 
   comment                    IN VARCHAR2, 
   cpu_mth                    IN VARCHAR2 DEFAULT 'EMPHASIS', 
   active_sess_pool_mth        IN VARCHAR2 DEFAULT 'ACTIVE_SESS_POOL_ABSOLUTE', 
   parallel_degree_limit_mth  IN VARCHAR2 DEFAULT 
                              'PARALLEL_DEGREE_LIMIT_ABSOLUTE',
   queueing_mth               IN VARCHAR2 DEFAULT 'FIFO_TIMEOUT',); 

Parameters

Table 58-2 CREATE_PLAN Procedure Parameters
Parameter Description

plan

Name of resource plan.

comment

User's comment.

cpu_mth

Allocation method for CPU resources.

active_sess_pool_mth

Allocation method for maximum active sessions.

parallel_degree_limit_mth

Allocation method for degree of parallelism.

new_queueing_mth

Specifies type of queuing policy to use with active session pool feature.

CREATE_SIMPLE_PLAN Procedure

This procedure creates a single-level resource plan containing up to eight consumer groups in one step. You do not need to create a pending area manually before creating a resource plan, or use the CREATE_CONSUMER_GROUP and CREATE_RESOURCE_PLAN_DIRECTIVES procedures separately.

Syntax

DBMS_RESOURCE_MANAGER.CREATE_SIMPLE_PLAN (
   SIMPLE_PLAN      IN  VARCHAR2  DEFAULT,
   CONSUMER_GROUP1  IN  VARCHAR2  DEFAULT,
   GROUP1_CPU       IN  NUMBER    DEFAULT,
   CONSUMER_GROUP2  IN  VARCHAR2  DEFAULT,
   GROUP2_CPU       IN  NUMBER    DEFAULT,
   CONSUMER_GROUP3  IN  VARCHAR2  DEFAULT,
   GROUP3_CPU       IN  NUMBER    DEFAULT,
   CONSUMER_GROUP4  IN  VARCHAR2  DEFAULT,
   GROUP4_CPU       IN  NUMBER    DEFAULT,
   CONSUMER_GROUP5  IN  VARCHAR2  DEFAULT,
   GROUP5_CPU       IN  NUMBER    DEFAULT,
   CONSUMER_GROUP6  IN  VARCHAR2  DEFAULT,
   GROUP6_CPU       IN  NUMBER    DEFAULT,
   CONSUMER_GROUP7  IN  VARCHAR2  DEFAULT,
   GROUP7_CPU       IN  NUMBER    DEFAULT,
   CONSUMER_GROUP8  IN  VARCHAR2  DEFAULT,
   GROUP8_CPU       IN  NUMBER    DEFAULT);

UPDATE_PLAN Procedure

This procedure updates entries which define resource plans.For release 8.2 new_max_active_sess_target_mth was renamed new_active_sess_pool_mth and new_queueing_mth was added.

Syntax

DBMS_RESOURCE_MANAGER.UPDATE_PLAN (
   plan                               IN VARCHAR2, 
   new_comment                        IN VARCHAR2 DEFAULT NULL, 
   new_cpu_mth                        IN VARCHAR2 DEFAULT NULL, 
   new_active_sess_pool_mth           IN VARCHAR2 DEFAULT NULL,
   new_parallel_degree_limit_mth      IN VARCHAR2 DEFAULT NULL,
   new_queueing_mth                   IN VARCHAR2 DEFAULT NULL, 
   new_group_switch_mth               IN VARCHAR2 DEFAULT NULL); 

Parameters

Table 58-3 UPDATE_PLAN Procedure Parameters
Parameter Description

plan

Name of resource plan.

new_comment

New user's comment.

new_cpu_mth

Name of new allocation method for CPU resources.

new_active_sess_pool_mth

Name of new method for maximum active sessions.

new_parallel_degree_limit_mth

Name of new method for degree of parallelism.

new_queueing_mth

Specifies type of queuing policy to use with active seesion pool feature.

Usage Notes

If the parameters to UPDATE_PLAN are not specified, then they remain unchanged in the data dictionary.

DELETE_PLAN Procedure

This procedure deletes the specified plan as well as all the plan directives to which it refers.

Syntax

DBMS_RESOURCE_MANAGER.DELETE_PLAN (
   plan IN VARCHAR2); 

Parameters

Table 58-4 DELETE_PLAN Procedure Parameters
Parameter Description

plan

Name of resource plan to delete.

DELETE_PLAN_CASCADE Procedure

This procedure deletes the specified plan and all of its descendants (plan directives, subplans, consumer groups). Mandatory objects and directives are not deleted.

Syntax

DBMS_RESOURCE_MANAGER.DELETE_PLAN_CASCADE (
   plan IN VARCHAR2); 

Parameters

Table 58-5 DELETE_PLAN_CASCADE Procedure Parameters
Parameters Description

plan

Name of plan.

Errors

If DELETE_PLAN_CASCADE encounters any error, then it rolls back, and nothing is deleted.


Note:

If you want to use any default resource allocation method, then you do not need not specify it when creating or updating a plan.


Usage Notes

Defaults are:

CREATE_CONSUMER_GROUP Procedure

This procedure lets you create entries which define resource consumer groups.

Syntax

DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP (
   consumer_group  IN VARCHAR2,
   comment         IN VARCHAR2, 
   cpu_mth         IN VARCHAR2 DEFAULT 'ROUND-ROBIN'); 

Parameters

Table 58-6 CREATE_CONSUMER_GROUP Procedure Parameters
Parameter Description

consumer_group

Name of consumer group.

comment

User's comment.

cpu_mth

Name of CPU resource allocation method.

UPDATE_CONSUMER_GROUP Procedure

This procedure lets you update entries which define resource consumer groups.

Syntax

DBMS_RESOURCE_MANAGER.UPDATE_CONSUMER_GROUP (
   consumer_group  IN VARCHAR2, 
   new_comment     IN VARCHAR2 DEFAULT NULL, 
   new_cpu_mth     IN VARCHAR2 DEFAULT NULL); 

Parameters

Table 58-7 UPDATE_CONSUMER_GROUP Procedure Parameter
Parameter Description

consumer_group

Name of consumer group.

new_comment

New user's comment.

new_cpu_mth

Name of new method for CPU resource allocation.

If the parameters to the UPDATE_CONSUMER_GROUP procedure are not specified, then they remain unchanged in the data dictionary.

DELETE_CONSUMER_GROUP Procedure

This procedure lets you delete entries which define resource consumer groups.

Syntax

DBMS_RESOURCE_MANAGER.DELETE_CONSUMER_GROUP (
   consumer_group IN VARCHAR2); 

Parameters

Table 58-8 DELETE_CONSUMER_GROUP Procedure Parameters
Parameters Description

consumer_group

Name of consumer group to be deleted.

CREATE_PLAN_DIRECTIVE Procedure

This procedure lets you create resource plan directives.For release 8.2 new_max_active_sess_target_mth was renamed new_active_sess_pool_mth and several new parameters added.

Syntax

DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE (
   plan                      IN VARCHAR2, 
   group_or_subplan          IN VARCHAR2, 
   comment                   IN VARCHAR2, 
   cpu_p1                    IN NUMBER   DEFAULT NULL, 
   cpu_p2                    IN NUMBER   DEFAULT NULL, 
   cpu_p3                    IN NUMBER   DEFAULT NULL, 
   cpu_p4                    IN NUMBER   DEFAULT NULL, 
   cpu_p5                    IN NUMBER   DEFAULT NULL, 
   cpu_p6                    IN NUMBER   DEFAULT NULL, 
   cpu_p7                    IN NUMBER   DEFAULT NULL, 
   cpu_p8                    IN NUMBER   DEFAULT NULL, 
   active_sess_pool_p1       IN NUMBER   DEFAULT UNLIMITED,
   queueing_p1               IN NUMBER   DEFAULT UNLIMITED,
   switch_group              IN VARCHAR2 DEFAULT NULL,    
   switch_time               IN NUMBER   DEFAULT UNLIMITED, 
   switch_estimate           IN BOOLEAN  DEFAULT FALSE, 
   max_est_exec_time         IN NUMBER   DEFAULT UNLIMITED, 
   undo_pool                 IN NUMBER   DEFAULT UNLIMITED,
   parallel_degree_limit_p1  IN NUMBER   DEFAULT UNLIMITED); 

Parameters

Table 58-9 CREATE_PLAN_DIRECTIVE Procedure Parameters
Parameter Description

plan

Name of resource plan.

group_or_subplan

Name of consumer group or subplan.

comment

Comment for the plan directive.

cpu_p1

First parameter for the CPU resource allocation method.

cpu_p2

Second parameter for the CPU resource allocation method.

cpu_p3

Third parameter for the CPU resource allocation method.

cpu_p4

Fourth parameter for the CPU resource allocation method.

cpu_p5

Fifth parameter for the CPU resource allocation method.

cpu_p6

Sixth parameter for the CPU resource allocation method.

cpu_p7

Seventh parameter for the CPU resource allocation method.

cpu_p8

Eighth parameter for the CPU resource allocation method.

active_sess_pool_p1

First parameter for the maximum active sessions allocation method (Reserved for future use).

queueing_p1

queue timeout in seconds

switch_group

group to switch into once switch time is reached

switch_time

switch time

switch_estimate

If TRUE, tells Oracle to use its execution time estimate to automatically switch the consumer group of an operation before beginning its execution. Default is FALSE.

max_est_exec_time

maximum estimated execution time in seconds

undo_pool

undo pool size for the consumer group, in Kbytes

parallel_degree_limit_p1

First parameter for the degree of parallelism allocation method.

All parameters default to NULL. However, for the EMPHASIS CPU resource allocation method, this case would starve all the users.

UPDATE_PLAN_DIRECTIVE Procedure

This procedure lets you update resource plan directives. For release 8.2 new_max_active_sess_target_mth was renamed new_active_sess_pool_mth and several new parameters added

Syntax

DBMS_RESOURCE_MANAGER.UPDATE_PLAN_DIRECTIVE (
   plan                          IN VARCHAR2, 
   group_or_subplan              IN VARCHAR2, 
   new_comment                   IN VARCHAR2 DEFAULT NULL, 
   new_cpu_p1                    IN NUMBER   DEFAULT NULL, 
   new_cpu_p2                    IN NUMBER   DEFAULT NULL, 
   new_cpu_p3                    IN NUMBER   DEFAULT NULL, 
   new_cpu_p4                    IN NUMBER   DEFAULT NULL, 
   new_cpu_p5                    IN NUMBER   DEFAULT NULL, 
   new_cpu_p6                    IN NUMBER   DEFAULT NULL, 
   new_cpu_p7                    IN NUMBER   DEFAULT NULL, 
   new_cpu_p8                    IN NUMBER   DEFAULT NULL, 
   new_active_sess_pool_p1       IN NUMBER   DEFAULT NULL,
   new_queueing_p1               IN NUMBER   DEFAULT NULL,
   new_parallel_degree_limit_p1  IN NUMBER   DEFAULT NULL
   new_switch_group              IN VARCHAR2 DEFAULT NULL, 
   new_switch_time               IN NUMBER   DEFAULT NULL, 
   new_switch_estimate           IN BOOLEAN  DEFAULT FALSE, 
   new_max_est_exec_time         IN NUMBER   DEFAULT NULL, 
   new_undo_pool                 IN NUMBER   DEFAULT UNLIMITED); 

Parameters

Table 58-10 UPDATE_PLAN_DIRECTIVE Procedure Parameters
Parameter Description

plan

Name of resource plan.

group_or_subplan

Name of consumer group or subplan.

new_comment

Comment for the plan directive.

new_cpu_p1

First parameter for the CPU resource allocation method.

new_cpu_p2

Second parameter for the CPU resource allocation method.

new_cpu_p3

Third parameter for the CPU resource allocation method.

new_cpu_p4

Fourth parameter for the CPU resource allocation method.

new_cpu_p5

Fifth parameter for the CPU resource allocation method.

new_cpu_p6

Sixth parameter for the CPU resource allocation method.

new_cpu_p7

Seventh parameter for the CPU resource allocation method.

new_cpu_p8

Eighth parameter for the CPU resource allocation method.

new_active_sess_pool_p1

First parameter for the maximum active sessions allocation method (Reserved for future use).

new_queueing_p1

queue timeout in seconds

new_switch_group

group to switch into once switch time is reached

new_switch_time

switch time

new_switch_estimate

If TRUE, tells Oracle to use its execution time estimate to automatically switch the consumer group of an operation before beginning its execution. Default is FALSE.

new_max_est_exec_time

maximum estimated execution time in seconds

new_undo_pool

undo pool size for the consumer group, in Kbytes

new_parallel_degree_limit_p1

First parameter for the degree of parallelism allocation method.

If the parameters for UPDATE_PLAN_DIRECTIVE are left unspecified, then they remain unchanged in the data dictionary.

DELETE_PLAN_DIRECTIVE Procedure

This procedure lets you delete resource plan directives.

Syntax

DBMS_RESOURCE_MANAGER.DELETE_PLAN_DIRECTIVE (
   plan              IN VARCHAR2, 
   group_or_subplan  IN VARCHAR2);

Parameters

Table 58-11 DELETE_PLAN_DIRECTIVE Procedure Parameters
Parameter Description

plan

Name of resource plan.

group_or_subplan

Name of group or subplan.

CREATE_PENDING_AREA Procedure

This procedure lets you make changes to resource manager objects.

All changes to the plan schema must be done within a pending area. The pending area can be thought of as a "scratch" area for plan schema changes. The administrator creates this pending area, makes changes as necessary, possibly validates these changes, and only when the submit is completed do these changes become active.

You may, at any time while the pending area is active, view the current plan schema with your changes by selecting from the appropriate user views.

At any time, you may clear the pending area if you want to stop the current changes. You may also call the VALIDATE procedure to confirm whether the changes you has made are valid. You do not have to do your changes in a given order to maintain a consistent group of entries. These checks are also implicitly done when the pending area is submitted.


Note:

Oracle allows "orphan" consumer groups (in other words, consumer groups that have no plan directives that refer to them). This is in anticipation that an administrator may want to create a consumer group that is not currently being used, but will be used in the future.


Syntax

DBMS_RESOURCE_MANAGER.CREATE_PENDING_AREA;

Usage Notes

The following rules must be adhered to, and they are checked whenever the validate or submit procedures are executed:

  1. No plan schema may contain any loops.
  2. All plans and consumer groups referred to by plan directives must exist.
  3. All plans must have plan directives that refer to either plans or consumer groups.
  4. All percentages in any given level must not add up to greater than 100 for the emphasis resource allocation method.
  5. No plan may be deleted that is currently being used as a top plan by an active instance.
  6. For Oracle8i, the plan directive parameter, parallel_degree_limit_p1, may only appear in plan directives that refer to consumer groups (that is, not at subplans).
  7. There cannot be more than 32 plan directives coming from any given plan (that is, no plan can have more than 32 children).
  8. There cannot be more than 32 consumer groups in any active plan schema.
  9. Plans and consumer groups use the same namespace; therefore, no plan can have the same name as any consumer group.
  10. There must be a plan directive for OTHER_GROUPS somewhere in any active plan schema.This ensures that a session not covered by the currently active plan is allocated resources as specified by the OTHER_GROUPS directive.

If any of the preceding rules are broken when checked by the VALIDATE or SUBMIT procedures, then an informative error message is returned. You may then make changes to fix the problem(s) and reissue the validate or submit procedures.

VALIDATE_PENDING_AREA Procedure

This procedure lets you validate pending changes for the resource manager.

Syntax

DBMS_RESOURCE_MANAGER.VALIDATE_PENDING_AREA;

CLEAR_PENDING_AREA Procedure

This procedure lets you clear pending changes for the resource manager.

Syntax

DBMS_RESOURCE_MANAGER.CLEAR_PENDING_AREA;

SUBMIT_PENDING_AREA Procedure

This procedure lets you submit pending changes for the resource manager: It clears the pending area after validating and committing the changes (if valid).


Note:

A call to SUBMIT_PENDING_AREA may fail even if VALIDATE_PENDING_AREA succeeds. This may happen if a plan being deleted is loaded by an instance after a call to VALIDATE_PENDING_AREA, but before a call to SUBMIT_PENDING_AREA.


Syntax

DBMS_RESOURCE_MANAGER.SUBMIT_PENDING_AREA;

Example

One of the advantages of plans is that they can refer to each other. The entries in a plan can either be consumer groups or subplans. For example, the following is also a set of valid CPU plan directives:

Table 58-12 MYDB PLAN CPU Plan Directives
Subplan/Group CPU_Level 1

MAILDB Plan

30%

BUGDB Plan

70%

If these plan directives were in effect and there were an infinite number of runnable sessions in all consumer groups, then the MAILDB plan would be assigned 30% of the available CPU resources, while the BUGDB plan would be assigned 70% of the available CPU resources. Breaking this further down, sessions in the "Postman" consumer group would be run 12% (40% of 30%) of the time, while sessions in the "Online" consumer group would be run 56% (80% of 70%) of the time. Figure 58-1 diagram depicts this scenario:

Figure 58-1 Resource Manager Scenario

Text description of arpls007.gif follows
Text description of the illustration arpls007.gif


Conceptually below the consumer groups are the active sessions. In other words, a session belongs to a resource consumer group, and this consumer group is used by a plan to determine allocation of processing resources.

A multiplan (plan with one or more subplans) definition of CPU plan directives cannot be collapsed into a single plan with one set of plan directives, because each plan is its own entity. The CPU quanta that is allotted to a plan or subplan gets used only within that plan, unless that plan contains no consumer groups with active sessions. Therefore, in this example, if the Bug Maintenance Group did not use any of its quanta, then it would get recycled within that plan, thus going back to level 1 within the BUGDB PLAN. If the multiplan definition in the preceding example got collapsed into a single plan with multiple consumer groups, then there would be no way to explicitly recycle the Bug Maintenance Group's unused quanta. It would have to be recycled globally, thus giving the mail sessions an opportunity to use it.

The resources for a database can be partitioned at a high level among multiple applications and then repartitioned within an application. If a given group within an application does not need all the resources it is assigned, then the resource is only repartitioned within the same application.

The following example uses the default plan and consumer group allocation methods:

BEGIN
DBMS_RESOURCE_MANAGER.CREATE_PENDING_AREA();
DBMS_RESOURCE_MANAGER.CREATE_PLAN(PLAN => 'bugdb_plan', 
   COMMENT => 'Resource plan/method for bug users sessions');
DBMS_RESOURCE_MANAGER.CREATE_PLAN(PLAN => 'maildb_plan', 
   COMMENT => 'Resource plan/method for mail users sessions');
DBMS_RESOURCE_MANAGER.CREATE_PLAN(PLAN => 'mydb_plan', 
   COMMENT => 'Resource plan/method for bug and mail users sessions');
DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(CONSUMER_GROUP => 'Bug_Online_group', 
   COMMENT => 'Resource consumer group/method for online bug users sessions');
DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(CONSUMER_GROUP => 'Bug_Batch_group', 
COMMENT => 'Resource consumer group/method for bug users sessions who run batch jobs');
DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(CONSUMER_GROUP => 'Bug_Maintenance_group',
   COMMENT => 'Resource consumer group/method for users sessions who maintain 
   the bug  db');
DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(CONSUMER_GROUP => 'Mail_users_group', 
   COMMENT => 'Resource consumer group/method for mail users sessions');
DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(CONSUMER_GROUP => 'Mail_Postman_group',
   COMMENT => 'Resource consumer group/method for mail postman');
DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(CONSUMER_GROUP => 'Mail_Maintenance_group', 
   COMMENT => 'Resource consumer group/method for users sessions who maintain the mail
   db');
DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN => 'bugdb_plan', GROUP_OR_SUBPLAN => 
'Bug_Online_group',
   COMMENT => 'online bug users sessions at level 1', CPU_P1 => 80, CPU_P2=> 0,
   PARALLEL_DEGREE_LIMIT_P1 => 8);
DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN => 'bugdb_plan', GROUP_OR_SUBPLAN => 
'Bug_Batch_group', 
   COMMENT => 'batch bug users sessions at level 1', CPU_P1 => 20, CPU_P2 => 0,
   PARALLEL_DEGREE_LIMIT_P1 => 2);
DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN => 'bugdb_plan', GROUP_OR_SUBPLAN => 
'Bug_Maintenance_group',
   COMMENT => 'bug maintenance users sessions at level 2', CPU_P1 => 0, CPU_P2 => 100, 
PARALLEL_DEGREE_LIMIT_P1 => 3);
DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN => 'bugdb_plan', GROUP_OR_SUBPLAN => 
'OTHER_GROUPS', 
   COMMENT => 'all other users sessions at level 3', CPU_P1 => 0, CPU_P2 => 0, CPU_P3 => 
100);
DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN => 'maildb_plan', GROUP_OR_SUBPLAN => 
'Mail_Postman_group',
   COMMENT => 'mail postman at level 1', CPU_P1 => 40, CPU_P2 => 0,
   PARALLEL_DEGREE_LIMIT_P1 => 4);
DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN => 'maildb_plan', GROUP_OR_SUBPLAN => 
'Mail_users_group',
   COMMENT => 'mail users sessions at level 2', CPU_P1 => 0, CPU_P2 => 80,
   PARALLEL_DEGREE_LIMIT_P1 => 4);
DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN => 'maildb_plan', GROUP_OR_SUBPLAN => 
'Mail_Maintenance_group',
   COMMENT => 'mail maintenance users sessions at level 2', CPU_P1 => 0, CPU_P2 => 20,
   PARALLEL_DEGREE_LIMIT_P1 => 2);
DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN => 'maildb_plan', GROUP_OR_SUBPLAN => 
'OTHER_GROUPS', 
   COMMENT => 'all other users sessions at level 3', CPU_P1 => 0, CPU_P2 => 0, CPU_P3 => 
100);
DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN => 'mydb_plan', GROUP_OR_SUBPLAN => 
'maildb_plan', 
   COMMENT=> 'all mail users sessions at level 1', CPU_P1 => 30);
DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN => 'mydb_plan', GROUP_OR_SUBPLAN => 
'bugdb_plan', 
   COMMENT => 'all bug users sessions at level 1', CPU_P1 => 70);
DBMS_RESOURCE_MANAGER.VALIDATE_PENDING_AREA();
DBMS_RESOURCE_MANAGER.SUBMIT_PENDING_AREA();
end;

The preceding call to VALIDATE_PENDING_AREA is optional, because the validation is implicitly done in SUBMIT_PENDING_AREA.

SET_INITIAL_CONSUMER_GROUP Procedure

The initial consumer group of a user is the consumer group to which any session created by that user initially belongs. This procedure sets the initial resource consumer group for a user.

Syntax

DBMS_RESOURCE_MANAGER.SET_INITIAL_CONSUMER_GROUP (
   user           IN VARCHAR2, 
   consumer_group IN VARCHAR2);

Parameters

Table 58-13 SET_INITIAL_CONSUMER_GROUP Procedure Parameters
Parameters Description

user

Name of the user.

consumer_group

The user's initial consumer group.

Usage Notes

The ADMINISTER_RESOURCE_MANAGER or the ALTER USER system privilege are required to be able to execute this procedure. The user, or PUBLIC, must be directly granted switch privilege to a consumer group before it can be set to be the user's initial consumer group. Switch privilege for the initial consumer group cannot come from a role granted to that user.


Note:

These semantics are similar to those for ALTER USER DEFAULT ROLE.


If the initial consumer group for a user has never been set, then the user's initial consumer group is automatically the consumer group: DEFAULT_CONSUMER_GROUP.

DEFAULT_CONSUMER_GROUP has switch privileges granted to PUBLIC; therefore, all users are automatically granted switch privilege for this consumer group. Upon deletion of a consumer group, all users having the deleted group as their initial consumer group now have DEFAULT_CONSUMER_GROUP as their initial consumer group. All currently active sessions belonging to a deleted consumer group are switched to DEFAULT_CONSUMER_GROUP.

SWITCH_CONSUMER_GROUP_FOR_SESS Procedure

This procedure lets you change the resource consumer group of a specific session. It also changes the consumer group of any (PQ) slave sessions that are related to the top user session.

Syntax

DBMS_RESOURCE_MANAGER.SWITCH_CONSUMER_GROUP_FOR_SESS (
   session_id      IN NUMBER, 
   session_serial  IN NUMBER, 
   consumer_group  IN VARCHAR2);

Parameters

Table 58-14 SWITCH_CONSUMER_GROUP_FOR_SESS Procedure Parameters
Parameter Description

session_id

SID column from the view V$SESSION.

session_serial

SERIAL# column from view V$SESSION.

consumer_group

Name of the consumer group to switch to.

SWITCH_CONSUMER_GROUP_FOR_USER Procedure

This procedure lets you change the resource consumer group for all sessions with a given user ID. It also change the consumer group of any (PQ) slave sessions that are related to the top user session.

Syntax

DBMS_RESOURCE_MANAGER.SWITCH_CONSUMER_GROUP_FOR_USER (
   user            IN VARCHAR2, 
   consumer_group  IN VARCHAR2);

Parameters

Table 58-15 SWITCH_CONSUMER_GROUP_FOR_USER Procedure Parameters
Parameter Description

user

Name of the user.

consumer_group

Name of the consumer group to switch to.

Usage Notes

The SWITCH_CONSUMER_GROUP_FOR_SESS and SWITCH_CONSUMER_GROUP_FOR_USER procedures let you to raise or lower the allocation of CPU resources of certain sessions or users. This provides a functionality similar to the nice command on UNIX.

These procedures cause the session to be moved into the newly specified consumer group immediately.


Go to previous page Go to beginning of chapter Go to next page
Oracle
Copyright © 2000, 2002 Oracle Corporation.

All Rights Reserved.
Go To Documentation Library
Home
Go To Product List
Book List
Go To Table Of Contents
Contents
Go To Index
Index

Master Index

Feedback