DBが利用するCPUやメモリのリソースをデータベース側で制御出来るのがリソースマネージャーです。
12cからは新しくPDB向けの機能が追加されました。
各PDBでは非CDB環境に近い形のリソースマネージャーによる制御を行なうことが出来ます。
さらにCDB単位でPDB間のリソースの割り当てを制御することが出来ます。

SQL> COLUMN NAME FORMAT A15
SQL> COLUMN RESTRICTED FORMAT A10
SQL> COLUMN OPEN_TIME FORMAT A30
SQL> SELECT NAME, OPEN_MODE, RESTRICTED, OPEN_TIME FROM V$PDBS;

NAME            OPEN_MODE  RESTRICTED OPEN_TIME
--------------- ---------- ---------- ------------------------------
PDB$SEED        READ ONLY  NO         16-10-03 15:22:54.133 +09:00
PDB1            READ WRITE NO         16-10-03 15:24:16.603 +09:00
PDB2            READ WRITE NO         16-10-03 15:25:31.001 +09:00
PDB3            READ WRITE NO         16-10-03 16:32:33.375 +09:00


1CDBに3PDBが存在するデータベースを作成しました。
これらにリソースマネージャーを設定してみます。

BEGIN
DBMS_RESOURCE_MANAGER.clear_pending_area;
DBMS_RESOURCE_MANAGER.create_pending_area;

DBMS_RESOURCE_MANAGER.create_cdb_plan(
  plan    => 'test_cdb_plan',
  comment => 'A test CDB resource plan');

DBMS_RESOURCE_MANAGER.create_cdb_plan_directive(
  plan                  => 'test_cdb_plan',
  pluggable_database    => 'pdb1',
  shares                => 3,
  utilization_limit     => 100,
  parallel_server_limit => 100);

DBMS_RESOURCE_MANAGER.create_cdb_plan_directive(
  plan                  => 'test_cdb_plan',
  pluggable_database    => 'pdb2',
  shares                => 3,
  utilization_limit     => 100,
  parallel_server_limit => 100);

DBMS_RESOURCE_MANAGER.validate_pending_area;
DBMS_RESOURCE_MANAGER.submit_pending_area;
END;
/

まず、リソースプランをプロシージャの「DBMS_RESOURCE_MANAGER.create_cdb_plan」を利用して作成します。
そのリソースプランに対して、それぞれのPDBにどのようにリソースを割り当てるのかというディレクティブを「DBMS_RESOURCE_MANAGER.create_cdb_plan_directive」を利用して作成します。

COLUMN plan FORMAT A30
COLUMN comments FORMAT A30
COLUMN status FORMAT A10
SET LINESIZE 100

SELECT plan_id,
       plan,
       comments,
       status,
       mandatory
FROM   dba_cdb_rsrc_plans
WHERE  plan = 'TEST_CDB_PLAN';

   PLAN_ID PLAN                           COMMENTS                       STATUS     MAN
---------- ------------------------------ ------------------------------ ---------- ---
     91990 TEST_CDB_PLAN                  A test CDB resource plan                  NO


作成したリソースプランはdba_cdb_rsrc_plansで確認することが出来ます。

COLUMN plan FORMAT A30
COLUMN pluggable_database FORMAT A25
SET LINESIZE 100

SELECT plan,
       pluggable_database,
       shares,
       utilization_limit AS util,
       parallel_server_limit AS parallel
FROM   dba_cdb_rsrc_plan_directives
WHERE  plan = 'TEST_CDB_PLAN'
ORDER BY pluggable_database;

PLAN                           PLUGGABLE_DATABASE            SHARES       UTIL   PARALLEL
------------------------------ ------------------------- ---------- ---------- ----------
TEST_CDB_PLAN                  ORA$AUTOTASK                                 90        100
TEST_CDB_PLAN                  ORA$DEFAULT_PDB_DIRECTIVE          1        100        100
TEST_CDB_PLAN                  PDB1                               3        100        100
TEST_CDB_PLAN                  PDB2                               3        100        100


作成したプランに紐次ぐディレクティブはdba_cdb_rsrc_plan_directivesビューで確認することが出来ます。

SQL> SHOW PARAMETER RESOURCE_MANAGER_PLAN

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
resource_manager_plan                string
SQL> ALTER SYSTEM SET RESOURCE_MANAGER_PLAN = 'TEST_CDB_PLAN';

システムが変更されました。

SQL> SHOW PARAMETER RESOURCE_MANAGER_PLAN

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
resource_manager_plan                string      TEST_CDB_PLAN


作成したリソースプランはresource_manager_planパラメータにプラン名を設定することで有効になります。