How to Check If Your Oracle Database Is Multitenant (CDB or non-CDB)
Oracle introduced the Multitenant Architecture starting in version 12c. This allows multiple Pluggable Databases (PDBs) to exist inside a single Container Database (CDB), bringing flexibility for consolidation, management, and cloning. However, not all databases are CDBs—especially in earlier versions or depending on how the database was created.
This post will show you how to check whether your Oracle database is a CDB (multitenant) or a traditional non-CDB, using simple SQL queries.
Quick Version-Based Clarity
Oracle Version | Multitenant Architecture |
---|---|
11g and earlier | ❌ Not supported (always non-CDB) |
12c, 18c, 19c | ✅ Optional (can be CDB or non-CDB) |
21c and above | ✅ Mandatory (always CDB) |
So if you’re using Oracle 12c–19c, you need to check explicitly using SQL whether it’s a CDB or not.
✅ How to Check If It’s a CDB or non-CDB
You can use the following SQL statements to confirm the architecture of your Oracle database.
1. Check Using V$DATABASE
SQL> SELECT cdb FROM v$database;
CDB
---
YES
Result:
YES
→ It’s a CDB (Container Database)NO
→ It’s a non-CDB (Traditional database)
2. Check Using V$PDBS
SQL> SELECT name FROM v$pdbs;
NAME
--------------------------------------------------------------------------------
PDB$SEED
FREEPDB1
Interpretation:
- Returns rows → Database contains Pluggable Databases → It is a CDB.
- No rows selected → Database has no PDBs → It is a non-CDB.
Sample Outputs
Traditional Database (non-CDB)
SQL> SELECT cdb FROM v$database;
CDB
---
NO
SQL> SELECT name FROM v$pdbs;
no rows selected
✅ This confirms a traditional architecture (non-CDB).
Multitenant Database (CDB)
SQL> SELECT cdb FROM v$database;
CDB
---
YES
SQL> SELECT name FROM v$pdbs;
NAME
----------
ORCLPDB1
✅ This confirms a multitenant setup with a pluggable database.
Does This Matter to Users?
For application users or developers, there’s typically no functional difference in how they connect or use the database. But for DBAs, this distinction is critical—especially for:
- Backup and recovery planning
- Database refresh and cloning
- Data Guard and patching strategies
- Upgrade planning
Knowing whether your DB is multitenant helps ensure the correct procedures and tools are used.
📌 Summary
Check | Use |
---|---|
SELECT cdb FROM v$database; | Tells if the DB is a CDB or not |
SELECT name FROM v$pdbs; | Lists PDBs if present |
Oracle Version | Gives a quick idea of likely architecture |