12.2 allows Instance Memory parameters to be configured at the PDB level.
[timestamp in UTC]
Those are parameters set at the CDB level. Let's see the PDB.
Returning to the CDB ...
Thus, multiple PDBs can have their own private target and limits (even an SGA_MIN_SIZE) all shared within the single instance that they co-exist in.
Note : The requirement is that MEMORY_TARGET is to be not set.
.
.
.
[timestamp in UTC]
[oracle@HKCORCL ~]$ sqlplus '/ as sysdba' SQL*Plus: Release 12.2.0.1.0 Production on Tue Dec 6 13:56:28 2016 Copyright (c) 1982, 2016, Oracle. All rights reserved. Connected to: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production SQL> show parameter sga NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ allow_group_access_to_sga boolean FALSE lock_sga boolean FALSE pre_page_sga boolean TRUE sga_max_size big integer 2544M sga_min_size big integer 0 sga_target big integer 2544M unified_audit_sga_queue_size integer 1048576 SQL> show parameter db_cach NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ db_cache_advice string ON db_cache_size big integer 0 SQL>
Those are parameters set at the CDB level. Let's see the PDB.
SQL> alter session set container = PDB1; Session altered. SQL> show parameter sga NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ allow_group_access_to_sga boolean FALSE lock_sga boolean FALSE pre_page_sga boolean TRUE sga_max_size big integer 2544M sga_min_size big integer 0 sga_target big integer 0 unified_audit_sga_queue_size integer 1048576 SQL> show parameter db_cache NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ db_cache_advice string ON db_cache_size big integer 0 SQL> alter system set db_cache_size=400M; System altered. SQL> SQL> alter system set sga_target=512M; alter system set sga_target=512M * ERROR at line 1: ORA-02097: parameter cannot be modified because specified value is invalid ORA-56750: invalid value 536870912 for parameter sga_target; must be larger than 200% of parameter db_cache_size SQL> alter system set sga_target=810M; System altered. SQL> alter system set shared_pool_size=256M; System altered. SQL> show parameter db_cache NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ db_cache_advice string ON db_cache_size big integer 400M SQL> show parameter sga_target NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ sga_target big integer 810M SQL> show parameter shared_pool NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ shared_pool_reserved_size big integer 26004684 shared_pool_size big integer 256M SQL> SQL> alter system set pga_aggregate_target=128M; System altered. SQL>
Returning to the CDB ...
SQL> connect / as sysdba Connected. SQL> show parameter db_cache NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ db_cache_advice string ON db_cache_size big integer 0 SQL> show parameter sga_target NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ sga_target big integer 2544M SQL> show parameter shared_pool NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ shared_pool_reserved_size big integer 26004684 shared_pool_size big integer 0 SQL> show parameter pga_aggergate_target SQL> show parameter pga_aggregate_target NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ pga_aggregate_target big integer 1775294400 SQL>
Thus, multiple PDBs can have their own private target and limits (even an SGA_MIN_SIZE) all shared within the single instance that they co-exist in.
Note : The requirement is that MEMORY_TARGET is to be not set.
.
.
.
3 comments:
Very good
Does that mean the common SGA is now split into different pools for individual PDBs? Or is it some sort of guaranteed minimum memory sizes for the PDBs from the common SGA pool?
Thanks,
Rijesh
Rijesh,
I don't see it has a hard-split. It is a specification of minimum size for each PDB.
Hemant
Post a Comment