TESTING WITH HIGH NUMBER OF PDBS IN ONE CDB
Have you ever tested with the maximum number of pdb or with near max pdb’s and their behavior?
This is a vm with 10gb of memory and 1 cpu with virtual processor.
Since, this is 19c version, almost 4096 pdb’s can be configured compared to 12c which is only 252.
There is no sufficient space and resource for configuration of 4000+ pdb’s but though dbca allows the maximum count of 4094 excluding pdb$seed.
As we know that in 12c, max of 1 user pdb can be created and in 19c, max of 3 user defined pdb’s can be used without any license in 19c.

Calculating the FRA space needed for each PDB which leads to high disk space requirement.

3000 GB / 4000 PDB’s = .75 GB per pdb
4000 * 750 MB = 3,000,000 TB for total number of pdb’s
Totally, FRA space require 1129494 MB (1TB) for all PDB’s
Per PDB, it should ask for 443 MB at least.
So fast recovery should be at least three times the db size

250 pdb require 6.5 GB of shared pool
Ensure that db_files parameter is set to a higher value as per the number of pdbs
kIsH<X>kIsH<X>kIsH<X>show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 XYPDB1 READ WRITE NO
4 XYPDB2 READ WRITE NO
5 XYPDB3 READ WRITE NO
6 XYPDB4 READ WRITE NO
7 XYPDB5 READ WRITE NO
8 XYPDB6 READ WRITE NO
....
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
200 XYPDB198 READ WRITE NO
201 XYPDB199 READ WRITE NO
202 XYPDB200 READ WRITE NO
Oracle automatically calculates the parameter max_pdbs as per the resource availability and space in the server. Any attempt to increase the parameter throws an error ORA-65334. So the max pdb’s which can be created as per the server are 254. This parameter helps to limit the user’s from creating extra pdb’s unknowingly without having knowledge on license part.
kIsH<X>show parameter max_pdb
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
max_pdbs integer 254
kIsH<X>SELECT count(*) from v$containers;
COUNT(*)
----------
202
kIsH<X>alter system set max_pdbs=4096;
alter system set max_pdbs=4096
*
ERROR at line 1:
ORA-02097: parameter cannot be modified because specified value is invalid
ORA-65334: invalid number of PDBs specified
Reduce the max_pdbs to a lower value and create pdb’s. Oracle allows to create maximum of 202 user defined pdb’s excluding pdb$seed and CDB. It does not allow to create more than 202 user pdb’s and throws “ORA-65010: maximum number of pluggable databases created “
kIsH<X>alter system set max_pdbs=202;
System altered.
kIsH<X>CREATE PLUGGABLE DATABASE xypdb201 admin user pdbadmin identified by password;
Pluggable database created.
kIsH<X>show parameter max_pdn
kIsH<X>show parameter max_pdb
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
max_pdbs integer 202
kIsH<X>CREATE PLUGGABLE DATABASE xypdb202 admin user pdbadmin identified by password;
Pluggable database created.
kIsH<X>CREATE PLUGGABLE DATABASE xypdb203 admin user pdbadmin identified by password;
CREATE PLUGGABLE DATABASE xypdb203 admin user pdbadmin identified by password
*
ERROR at line 1:
ORA-65010: maximum number of pluggable databases created
kIsH<X>SELECT count(*) from v$containers;
COUNT(*)
----------
204