MAX_PDBS parameter was introduced in 12cR2, to limit the number of pluggable databases (PDBs) one can create in a CDB or in an application root container. Only the PDBs that are user created PDBs are counted, the PDB$SEED, Application Seed and Application Root are ignored from the count. By default this parameter’s value is 4098, which is also the maximum number of PDBs you can create in a
CDB.
Why would you want to limit the number of PDBs a user can create in the CDB?
One of the reasons is licensing!
In 12c version you can have 1 user created PDB, without paying for the Multitenant option. In 19c you can have up to 3 user created PDBs in a CDB, without paying for the Multitenant option.
If you forget about this limitation and accidentally create an extra PDB, you will need to buy some extra licenses for the Multitenant option. From this perspective, you are just one CREATE statement away from making a costly mistake.
Oracle Standard Edition, will stop you from creating more than 3 PDBS (in 19c), however Enterprise Edition will not give you any warning, instead it will let you create as many PDBs as you want.
With the parameter MAX_PDBS you can limit the number of PDBs one can create. If you don’t want to pay for the Multitenant option, set this parameter to 1 in 12cR2 and 18c, and set it to 3 in 19c and up. Once the parameter is set, if you will try to create another PDB, by accident, you will receive an error: ORA-65010: maximum number of pluggable databases created.
Let’s see a quick demo: