In a multitenant container database (CDB), a container is a collection of schemas, objects, and related structures. A pluggable database (PDB) is a user-created container that stores the data and code for an application, such as a human resources application.

From the perspective of a user or application, the PDB appears to be a logically separate, independent database. From the operating system perspective, the CDB is the database.

Every CDB has the following containers:

At a physical level, containers consist of physical data files. Each container has at least one data file. At a logical level, the database allocates data across data files with logical structures called tablespaces.

The CDB also uses several system files during its operation. The control file and redo online log files reside in the CDB and are shared across all PDBs and application containers. Other system files reside outside the CDB.

Note: Non-CDBs were desupported in Oracle Database 21c, which means that the Oracle Universal Installer and Database Configuration Assistant (DBCA) can no longer create non-CDB Oracle Database instances.