3.1 Understanding the Installation Choices

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 or later 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 Oracle Database 12c Release 1 (12.1). In the default installation the root container, CDB$ROOT, includes the APEX_040200 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_040200 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_040200 schema with the Application Express tables, and creating metadata links back to the common database objects held in the APEX_040200 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_040200 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.