This is an old revision of the document!
Overview
Application containers are new concept from 12.2 and they allow us to group PDB based on their purpose. Furthermore, we can treat these PDB as one whole in the way that we can partition among them, even if they are remote and thus increase the performance:
From 12.2 onward we are allowed to have a Proxy PDB, Application Root Container and a single user-defined PDB (regular or Application PDB) inside a single CDB without having to pay for the Multitenant Option. Notice we are still limited to a single user-defined PDB.
Management
The management of an application root container is very similar to the management of a single PDB.
Operations
The operations of application PDBs and application containers are the same as normal PDBs:
- Creation
- Deletion
- Alteration
Creation
To create application root container, just create a normal PDB, but AS application root
Create application root container
CONN / AS SYSDBA CREATE PLUGGABLE DATABASE appcon1 AS APPLICATION CONTAINER ADMIN USER app_admin IDENTIFIED BY Password1; ALTER PLUGGABLE DATABASE appcon1 OPEN; <
Deletion
To delete a application container, use the following command:
Drop a application container
CONN / AS SYSDBA ALTER PLUGGABLE DATABASE appcon1 CLOSE; DROP PLUGGABLE DATABASE appcon1 INCLUDING DATAFILES;
Create application PDB
To create an application PDB, we can use the same syntax as normal PDB, just we need to change the CDB :)
Create application PDB
CONN / AS SYSDBA ALTER SESSION SET container = appcon1; CREATE PLUGGABLE DATABASE apppdb1 ADMIN USER pdb_admin IDENTIFIED BY Password1; ALTER PLUGGABLE DATABASE apppdb1 OPEN;
Drop application PDB
To drop an application PDB, we can use the same command as a normal PDB
Drop application PDB
CONN / AS SYSDBA ALTER PLUGGABLE DATABASE appcon1 CLOSE; DROP PLUGGABLE DATABASE appcon1 INCLUDING DATAFILES;
Application containers and application roots are mostly useful when we install and deal with applications. But what is application in a DB term.
Applications
Within an application container, an application is the named, versioned set of common data and metadata stored in the application root. In this context of an application container, the term “application” means “master application definition.” For example, the application might include definitions of tables, views, and packages. For example, you might create multiple sales-related PDBs within one application container, with these PDBs sharing an application that consists of a set of common tables and table definitions. You might store multiple HR-related PDBs within a separate application container, with their own common tables and table definitions.