Application Containers
Lab 4: Application Root Clones and Application Compatibility
Overview
In this lab we explore an important
implementation detail of upgrades within Application Container. Application
Root Clones are used to provide continuous availability of Application PDBs
during the upgrade of the master Application Root. The Application Root Clones
serve metadata and common data. There are no Services associated with an
Application Root Clone. Therefore it is not possible
to connect to an Application Root Clone. However, they are visible, as we shall
see in this lab. After the upgrade has completed and all Application PDBs have
been synced it is possible to drop these Application Root Clones. This is achieved
by setting Application Compatibility to a higher level than the Application
version associated with the Clone. When this has happened, the Application Root
Clone is of no further use and is dropped. Let's get started!
Execution
- Open a terminal window
- Change directory to /u01/HOL/app_containers/
- source the environment. At command prompt execute source cdb1.env
- sqlplus /nolog
- At the SQL prompt execute SQL>@04.Root_Clone_Compatibility.sql
Review of Application Container Lab4:
In this lab, we have seen the Application Root Clones, automatically created during the application upgrade. By setting Application Compatible to a version greater than that of the Application Root Clones, they are no longer required and are automatically dropped.
Detailed Steps
Phase 1. Show containers in CDB1.
The Application Container has a rather cryptic name! Notice also wmStore_Master$Seed – the application Seed PDB.
Phase 2. Connect to Master Application Root and attempt to set application compatible to version 2.0.
Notice the error message. v2.0 is an invalid version for Application Compatibility because there is still an Application PDB – NYC – which is not yet at this version. The following query can identify which PDBs are yet to be upgraded. Here we see that two PDBs – NYC and wmStore_Master$Seed – are still at v1.0. We shall explore more DBA Views relevant to Application Containers in Lab 9. Let's sync the remaining Application PDB, so that all franchises are at v2.0. We also need to upgrade the Application Seed PDB.
Phase 3. Upgrade remaining PDBs to v2.0.
All Application PDBs are now at v2.0. We should now be able to set Application Compatibility to v2.0 with no problem. Now, let's confirm that Application Root Replicas have been removed.
Click Here to Go to Lab 5