ACE Director Alum Daniel Morgan, founder of Morgan's Library, is scheduling
complimentary technical Workshops on Database Security for the first 30
Oracle Database customers located anywhere in North America, EMEA, LATAM, or
APAC that send an email to
asra_us@oracle.com. Request a Workshop for
your organization today.
Purpose
Internal support for the DBMS_RESOURCE_MANAGER package which manages CPU and I/O resources for consumer groups and containers
The demo code at right will take a substantial amount of time to execute and will push IOPS to 100%
Run time on a laptop with a single 250GB SSD was as shown at right
dbms_rmin_sys.rm$_calibrate_io(
num_disks IN BINARY_INTEGER,
max_latency IN BINARY_DOUBLE,
max_iops OUT BINARY_INTEGER,
max_mbps OUT BINARY_INTEGER,
actual_latency OUT BINARY_DOUBLE,
additional_info OUT VARCHAR2,
additional_infolen IN BINARY_INTEGER);
dbms_rmin_sys.rm$_consumer_group_mapping_pri(
explicit IN NUMBER,
oracle_user IN NUMBER,
service_name IN NUMBER,
client_os_user IN NUMBER,
client_program IN NUMBER,
client_machine IN NUMBER,
module_name IN NUMBER,
module_name_action IN NUMBER,
service_module IN NUMBER,
service_module_action IN NUMBER,
client_id IN NUMBER)
dbms_rmin_sys.rm$_crt_cdb_directive(
plan IN VARCHAR2,
name IN VARCHAR2,
comment IN VARCHAR2,
shares IN NUMBER,
utilization_limit IN NUMBER,
parallel_server_limit IN NUMBER,
memory_min IN NUMBER,
memory_limit IN NUMBER,
mandatory IN BOOLEAN,
directive_type IN VARCHAR2,
install IN BOOLEAN);
dbms_rmin_sys.rm$_crt_group(
consumer_group IN VARCHAR2,
comment IN VARCHAR2,
mgmt_mth IN VARCHAR2,
category IN VARCHAR2,
internal_use IN BOOLEAN,
mandatory IN BOOLEAN,
install IN BOOLEAN);
dbms_rmin_sys.rm$_crt_plan(
plan IN VARCHAR2,
comment IN VARCHAR2,
mgmt_mth IN VARCHAR2,
asl_mth IN VARCHAR2,
pdl_mth IN VARCHAR2,
qtimeout_mth IN VARCHAR2,
sub_plan IN BOOLEAN,
mandatory IN BOOLEAN,
install IN BOOLEAN);
dbms_rmin_sys.rm$_crt_plan_directive(
plan IN VARCHAR2,
group_or_subplan IN VARCHAR2,
comment IN VARCHAR2,
cpu_p1 IN NUMBER,
cpu_p2 IN NUMBER,
cpu_p3 IN NUMBER,
cpu_p4 IN NUMBER,
cpu_p5 IN NUMBER,
cpu_p6 IN NUMBER,
cpu_p7 IN NUMBER,
cpu_p8 IN NUMBER,
active_sess_pool_p1 IN NUMBER,
queueing_p1 IN NUMBER,
parallel_degree_limit_p1 IN NUMBER,
switch_group IN VARCHAR2,
switch_time IN NUMBER,
switch_estimate IN BOOLEAN,
max_est_exec_time IN NUMBER,
undo_pool IN NUMBER,
max_idle_time IN NUMBER,
max_idle_blocker_time IN NUMBER,
switch_time_in_call IN NUMBER,
mgmt_p1 IN NUMBER,
mgmt_p2 IN NUMBER,
mgmt_p3 IN NUMBER,
mgmt_p4 IN NUMBER,
mgmt_p5 IN NUMBER,
mgmt_p6 IN NUMBER,
mgmt_p7 IN NUMBER,
mgmt_p8 IN NUMBER,
switch_io_megabytes IN NUMBER,
switch_io_reqs IN NUMBER,
switch_for_call IN BOOLEAN,
max_utilization_limit IN NUMBER,
parallel_target_percentage IN NUMBER,
parallel_queue_timeout IN NUMBER,
parallel_server_limit IN NUMBER,
utilization_limit IN NUMBER,
switch_io_logical IN NUMBER,
switch_elapsed_time IN NUMBER,
shares IN NUMBER,
parallel_stmt_critical IN VARCHAR2,
session_pga_limit IN NUMBER,
pq_timeout_action IN VARCHAR2,
mandatory IN BOOLEAN,
install IN BOOLEAN);
BEGIN
IF dbms_rmin_sys.rm$_is_pdb_enabled THEN
dbms_output.put_line('PDB Resource Plans Enabled');
ELSE
dbms_output.put_line('PDB Resource Plans Not Enabled');
END IF;
END;
/ PDB Resource Plans Enabled
dbms_rmin_sys.rm$_upd_cdb_directive(
plan IN VARCHAR2,
name IN VARCHAR2,
new_comment IN VARCHAR2,
new_shares IN NUMBER,
new_utilization_limit IN NUMBER,
new_parallel_server_limit IN NUMBER,
new_memory_min IN NUMBER,
new_memory_limit IN NUMBER,
mandatory IN BOOLEAN,
directive_type IN VARCHAR2,
install IN BOOLEAN);
dbms_rmin_sys.rm$_upd_group(
consumer_group IN VARCHAR2,
new_comment IN VARCHAR2,
new_mgmt_mth IN VARCHAR2,
new_category IN VARCHAR2,
new_internal_use IN BOOLEAN,
mandatory IN BOOLEAN,
install IN BOOLEAN);
dbms_rmin_sys.rm$_upd_plan(
plan IN VARCHAR2,
new_comment IN VARCHAR2,
new_mgmt_mth IN VARCHAR2,
new_asl_mth IN VARCHAR2,
new_pdl_mth IN VARCHAR2,
new_qtimeout_mth IN VARCHAR2,
new_sub_plan IN BOOLEAN,
mandatory IN BOOLEAN,
install IN BOOLEAN);
dbms_rmin_sys.rm$_upd_plan_directive(
plan IN VARCHAR2,
group_or_subplan IN VARCHAR2,
new_comment IN VARCHAR2,
new_cpu_p1 IN NUMBER,
new_cpu_p2 IN NUMBER,
new_cpu_p3 IN NUMBER,
new_cpu_p4 IN NUMBER,
new_cpu_p5 IN NUMBER,
new_cpu_p6 IN NUMBER,
new_cpu_p7 IN NUMBER,
new_cpu_p8 IN NUMBER,
new_active_sess_pool_p1 IN NUMBER,
new_queueing_p1 IN NUMBER,
new_parallel_degree_limit_p1 IN NUMBER,
new_switch_group IN VARCHAR2,
new_switch_time IN NUMBER,
new_switch_estimate IN BOOLEAN,
new_max_est_exec_time IN NUMBER,
new_undo_pool IN NUMBER,
new_max_idle_time IN NUMBER,
new_max_idle_blocker_time IN NUMBER,
new_switch_time_in_call IN NUMBER,
new_mgmt_p1 IN NUMBER,
new_mgmt_p2 IN NUMBER,
new_mgmt_p3 IN NUMBER,
new_mgmt_p4 IN NUMBER,
new_mgmt_p5 IN NUMBER,
new_mgmt_p6 IN NUMBER,
new_mgmt_p7 IN NUMBER,
new_mgmt_p8 IN NUMBER,
new_switch_io_megabytes IN NUMBER,
new_switch_io_reqs IN NUMBER,
new_switch_for_call IN BOOLEAN,
new_max_utilization_limit IN NUMBER,
new_parallel_target_percentage IN NUMBER,
new_parallel_queue_timeout IN NUMBER,
new_parallel_server_limit IN NUMBER,
new_utilization_limit IN NUMBER,
new_switch_io_logical IN NUMBER,
new_switch_elapsed_time IN NUMBER,
new_shares IN NUMBER,
new_parallel_stmt_critical IN VARCHAR2,
new_session_pga_limit IN NUMBER,
new_pq_timeout_action IN VARCHAR2,
mandatory IN BOOLEAN,
install IN BOOLEAN);