Thank you for the reply but I knew already that shares is good for PDBs.
Now my question is about using shares in
create_plan_directive(). I had to post my script with the question...
SQL> alter session set container = mypdb;
Session altered.
SQL> alter system set resource_manager_plan = '';
System altered.
SQL>
SQL> BEGIN
2 DBMS_RESOURCE_MANAGER.CLEAR_PENDING_AREA;
3 DBMS_RESOURCE_MANAGER.CREATE_PENDING_AREA;
4 DBMS_RESOURCE_MANAGER.DELETE_PLAN
5 (
6 plan => 'test_shares'
7 );
8 DBMS_RESOURCE_MANAGER.VALIDATE_PENDING_AREA;
9 DBMS_RESOURCE_MANAGER.SUBMIT_PENDING_AREA;
10 END;
11 /
PL/SQL procedure successfully completed.
SQL>
SQL> BEGIN
2 DBMS_RESOURCE_MANAGER.CLEAR_PENDING_AREA;
3 DBMS_RESOURCE_MANAGER.CREATE_PENDING_AREA;
4 DBMS_RESOURCE_MANAGER.CREATE_PLAN
5 (
6 plan => 'test_shares',
7 comment => 'it is a test'
8 );
9 DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE
10 (
11 plan => 'test_shares',
12 group_or_subplan => 'SYS_GROUP',
13 comment => 'Shares for SYS_GROUP',
14 shares => 4
15 );
16 DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE
17 (
18 plan => 'test_shares',
19 group_or_subplan => 'OTHER_GROUPS',
20 comment => 'Shares for OTHER_GROUPS',
21 shares => 8
22 );
23 DBMS_RESOURCE_MANAGER.VALIDATE_PENDING_AREA;
24 DBMS_RESOURCE_MANAGER.SUBMIT_PENDING_AREA;
25 END;
26 /
PL/SQL procedure successfully completed.
SQL>
SQL> column plan format a12
SQL> column mgmt_method format a10
SQL> column comments format a25
SQL>
SQL> select plan, mgmt_method, comments from dba_rsrc_plans
2 where plan = 'TEST_SHARES';
PLAN MGMT_METHO COMMENTS
------------ ---------- -------------------------
TEST_SHARES EMPHASIS it is a test
SQL>
SQL> column group_or_subplan format a15
SQL> column mgmt_p1 format 999
SQL> column status format a8
SQL>
SQL> select plan, group_or_subplan, mgmt_p1, status, comments from dba_rsrc_plan_directives
2 where plan = 'TEST_SHARES';
PLAN GROUP_OR_SUBPLA MGMT_P1 STATUS COMMENTS
------------ --------------- ------- -------- -------------------------
TEST_SHARES SYS_GROUP 4 Shares for SYS_GROUP
TEST_SHARES OTHER_GROUPS 8 Shares for OTHER_GROUPS
SQL>
SQL> BEGIN
2 DBMS_RESOURCE_MANAGER.CLEAR_PENDING_AREA;
3 DBMS_RESOURCE_MANAGER.CREATE_PENDING_AREA;
4 DBMS_RESOURCE_MANAGER.DELETE_PLAN
5 (
6 plan => 'test_shares'
7 );
8 DBMS_RESOURCE_MANAGER.VALIDATE_PENDING_AREA;
9 DBMS_RESOURCE_MANAGER.SUBMIT_PENDING_AREA;
10 END;
11 /
PL/SQL procedure successfully completed.
SQL>
SQL> BEGIN
2 DBMS_RESOURCE_MANAGER.CLEAR_PENDING_AREA;
3 DBMS_RESOURCE_MANAGER.CREATE_PENDING_AREA;
4 DBMS_RESOURCE_MANAGER.CREATE_PLAN
5 (
6 plan => 'test_shares',
7 comment => 'it is a test'
8 );
9 DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE
10 (
11 plan => 'test_shares',
12 group_or_subplan => 'SYS_GROUP',
13 comment => 'Shares for SYS_GROUP',
14 shares => 40
15 );
16 DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE
17 (
18 plan => 'test_shares',
19 group_or_subplan => 'OTHER_GROUPS',
20 comment => 'Shares for OTHER_GROUPS',
21 shares => 80
22 );
23 DBMS_RESOURCE_MANAGER.VALIDATE_PENDING_AREA;
24 DBMS_RESOURCE_MANAGER.SUBMIT_PENDING_AREA;
25 END;
26 /
BEGIN
*
ERROR at line 1:
ORA-29382: validation of pending area failed
ORA-29375: sum of values 120 for level 1, plan TEST_SHARES exceeds 100
ORA-06512: at "SYS.DBMS_RMIN_SYS", line 3619
ORA-06512: at "SYS.DBMS_RMIN_SYS", line 3729
ORA-06512: at "SYS.DBMS_RESOURCE_MANAGER", line 658
ORA-06512: at line 23
SQL>
SQL> select plan, mgmt_method, comments from dba_rsrc_plans
2 where plan = 'TEST_SHARES';
PLAN MGMT_METHO COMMENTS
------------ ---------- -------------------------
TEST_SHARES EMPHASIS it is a test
SQL>
SQL> select plan, group_or_subplan, mgmt_p1, status, comments from dba_rsrc_plan_directives
2 where plan = 'TEST_SHARES';
PLAN GROUP_OR_SUBPLA MGMT_P1 STATUS COMMENTS
------------ --------------- ------- -------- -------------------------
TEST_SHARES SYS_GROUP 40 PENDING Shares for SYS_GROUP
TEST_SHARES OTHER_GROUPS 80 PENDING Shares for OTHER_GROUPS
As we can see, shares in this case is used for mgmt_p1 so I fail to know for which reason it was added to procedure
create_plan_directive(). This is exactly the point in my question.