Learn about the installation choices in Oracle Application Express.
Oracle Database 12c Release 1 (12.1) introduces the multitenant architecture. This database architecture has a multitenant container database (CDB) that includes a root container,
CDB$ROOT, a seed database,
PDB$SEED, and multiple pluggable databases (PDBs). Each pluggable database is equivalent to a separate database instance in Oracle Database release 11g. The root container,
CDB$ROOT, holds common objects that are accessible to every PDB utilizing metadata links or object links. The seed database,
PDB$SEED, is used when creating a new PDB to seed the new database. The key benefit of the Oracle Database 12c multitenant architecture is that the database resources, such as CPU and memory, can be shared across all of the PDBs. This architecture also enables many databases to be treated as one for tasks such as upgrades or patches, and backups.
When configuring multitenant architecture, Oracle Application Express is installed in the root container database by default. In such an installation the root container,
CDB$ROOT, includes the
APEX_050100 schema to store the common database objects for the Application Express engine such as packages, functions, procedures and views. The seed database,
PDB$SEED, also includes the
APEX_050100 schema to store the tables that are part of the Application Express engine.
You can create a new PDB by copying
PDB$SEED, which includes the
APEX_050100 schema with the Application Express tables, and creating metadata links back to the common database objects held in the
APEX_050100 schema within the
CDB$ROOT. As such there are multiple copies of the Application Express engine tables and only single copies of the Application Express engine packages, functions, procedures and views. Each PDB will have the
APEX_050100 schema and have its own copy of the Application Express engine's tables so that it can hold the metadata for the Application Express applications defined within that PDB.
Oracle recommends removing Oracle Application Express from the root container database for the majority of use cases, except for hosting companies or installations where all pluggable databases (PDBs) utilize Oracle Application Express and they all need to run the exact same release and patch set of Oracle Application Express.