 |
|
Oracle
Database Resource Manager Enhancements
Oracle Tips by Burleson Consulting |
This
is an excerpt from "Oracle 10g New Features for Administrators" by
Ahmed Baraka.
Setting Idle Time-Outs
You can now limit the maximum idle time for a
session as well as the maximum time an idle session can block
another session.
DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE
(PLAN => 'NEW_PLAN',
GROUP_OR_SUBPLAN => 'SALES',
COMMENT => 'SALES GROUP', CPU_P1 => 60,
PARALLEL_DEGREE_LIMIT_P1_P1 => 4
MAX_IDLE_TIME => 600,
MAX_IDLE_BLOCKER_TIME => 300)
Automatic Switching Back to Initial Consumer Groups
When you create plan directives for the Database
Resource Manager using the CREATE_PLAN_DIRECTIVE procedure of the
DBMS_RESOURCE_MANAGER package, you can specify the following
parameters:
SWITCH_TIME - Specifies the time (in seconds) that a
session can execute before an action is taken. Default is UNLIMITED.
SWITCH_TIME_IN_CALL - Specifies the time (in
seconds) that a session can execute before an action is taken. At
the end of the call, the consumer group of the session is restored
to its original consumer group. Default is UNLIMITED.
Note: You cannot specify both SWITCH_TIME and
SWITCH_TIME_IN_CALL.
Mappings to Assign Priorities to Resource Groups
You set session attribute mapping priorities by
using the SET_CONSUMER_GROUP_MAPPING_PRI procedure of
theDBMS_RESOURCE_MANAGER package.
DBMS_RESOURCE_MANAGER.SET_CONSUMER_GROUP_MAPPING_PRI (
(EXPLICIT => 1, CLIENT_MACHINE => 2,
MODULE_NAME => 3, ORACLE_USER => 4,
SERVICE_NAME => 5, CLIENT_OS_USER => 6,
CLIENT_PROGRAM => 7, MODULE_NAME_ACTION => 8,
SERVICE_MODULE => 9,
SERVICE_MODULE_ACTION => 10)
Note: Application developers may also set the
MODULE_NAME and MODULE_NAME_ACTION through the use of the
DBMS_APPLICATION_INFO package. The SERVICE_NAME attribute is the
connect string that you specify in your tnsnames.ora file.
New Database Resource Manager Allocation Methods
The RUN_TO_COMPLETION Allocation Method
When you create a consumer group using the
CREATE_CONSUMER_GROUP procedure, the CPU_MTH option provides the
method to distribute your CPU among thesessions in the consumer
group. The default value for the CPU_MTH option is ROUND_ROBIN. The
new RUN_TO_COMPLETION method specifies that the session with the
largest active time should be scheduled ahead of other sessions.
DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP (
CONSUMER_GROUP => 'SALES', CPU_MTH => 'RUN TO
COMPLETION')
The RATIO Allocation Method
The RATIO allocation method is meant for
single-level resource plans that use ratios to specify the
allocation of CPU.
The RATIO and the old EMPHASIS allocation methods
are used with the CREATE_PLAN procedure and apply to resource plans.
Then You must also use the CREATE_PLAN_DIRECTIVE procedure and set
the CPU_P1 directive to actually set the ratios for the CPU
allocation.
DBMS_RESOURCE_MANAGER.CREATE_PLAN
(PLAN => 'SERVICE_LEVEL_PLAN',
CPU_MTH -> 'RATIO',
COMMENT => 'SERVICE LEVEL PLAN');
DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE
(PLAN => 'SERVICE_LEVEL_PLAN',
GROUP_OR_SUBPLAN => 'GOLD_CG',
COMMENT => 'GOLD SERVICE LEVEL CUSTOMERS',
CPU_P1 => 10);
... and so on to other groups.
Switching Plans at Scheduler Window Boundaries
The Scheduler can automatically change the Resource
Manager plan at the Scheduler window boundaries. In some cases, this
may be unacceptable. For example, if you have an important task to
finish, and if you set the Resource Manager plan to give your task
priority, then you expect that the plan will remain the same until
you change it.
To prevent Resource Manager plan to change while
your task is running you have the following options:
• Set the RESOURCE_MANAGER_PLAN parameter to the
name of the plan you want for the system and prefix the name with
FORCE:. Using the prefix FORCE indicates that the current Resource
Manager plan can be changed only when the database administrator
changes the value of the RESOURCE_MANAGER_PLAN parameter. This
restriction can be lifted by reexecuting the command without
prefixing the plan name with FORCE:.
• Set the ALLOW_SCHEDULER_PLAN_SWITCHES flag to
FALSE in the DBMS_RESOURCE_MANAGER.SWITCH_PLAN package procedure.
• Using Database Control, you can do this by
deselecting the Automatic Plan Switching Enabled check box in the
Resource Plan page.
Monitoring the Resource Manager
To manage and monitor the Resource Manager by using
EM Database Control, on the Administration tabbed page |
Resource Manager section | Monitors link.
Note: When you activate a plan by using the
Resource Monitors page, you must exit the page and then choose
Resource Monitors again to update the page and view the statistics
for the newly activated plan.
 |
If you like Oracle tuning, see the
book "Oracle
Tuning: The Definitive Reference", with 950 pages of tuning
tips and scripts.
You can buy it direct from the publisher for 30%-off and get
instant access to the code depot of Oracle tuning scripts. |