Thanks for the question, John.
Asked: March 31, 2021 - 4:48 pm UTC
Last updated: April 01, 2021 - 1:59 pm UTC
Version: 19c
Viewed 1000+ times
You Asked
Good Morning,
Strictly from a performance standpoint, if we only have one 24 CPU core production server to support the schemas of totally five different applications, will any one of these options perform significantly better:
1.) Create one non-CDB database that will contain all of the schemas for the applications
2.) Create one CDB database with five PDBs
3.) Create five different non-CDB databases
My educated guess is that all three scenarios will have similar performance the database(s) are tuned properly in all cases.
Thanks,
John
and Chris said...
Remember that the non-CDB architecture is desupported in 21c. The only (good) reasons for using non-CDB databases is if you're hosting a third-party application not certified on Multitenant or have technical issues moving to PDBs. Either way you want to get these resolved sooner rather than later and move to the CDB architecture.
So really your choice should be between:
1.) Create one CDB database with one PDB that will contain all of the schemas for the applications
2.) Create one CDB database with five PDBs
Assuming 24 cores is enough capacity to host all five apps, there should be minimal performance difference between any of the layouts you've suggested.
The advantages of putting them in separate PDBs are:
* You can use lockdown profiles to limit who can do what within each PDB
* You can use the Resource Manager to control how much resource is available to each PDB
* You can relocate an app to another CDB easily should this be desirable/necessary sometime in the future
This assumes that they are independent applications. If they share data or code it'll generally make more sense to place them in separate schemas within one database.
Is this answer out of date? If it is, please let us know via a Comment