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);