Wednesday, February 26, 2025

Oracle Multitenant feature, Application Roots, and APEX / ORDS

 I have had an interesting journey with Oracle database 19, and Oracle APEX and Oracle ORDS, using Oracle Multitenant feature (Container database with virtual pluggable databases).  

Container Database

The advantages of Multitenant are you can easily consolidate databases into one database instance (CDB$ROOT), with each consolidated database becoming a "Pluggable Database," (PBD) each appearing as a standalone database to users and programmers. 

Application Containers

Application Containers are basically an application-specific container that functions similar to a Container Database.  You can have multiple Application Containers in a CDB$ROOT.  The Application Container can have various applications installed in it, potentially at different software versions.  It is also useful for large regional databases.

My Adventure

My goal was to have development, system, and production databases in separate Application Containers, along with a test database in another Application Container for testing new releases.  We use Oracle APEX and Oracle ORDS applications in our system.

Bumps in the Road

The installation guide for APEX recommends installing APEX in each PDB for most scenarios. We wanted to install APEX and ORDS in the application containers.  So, I hit a lot of bumps along the way, and I will share what I learned.

Alert Log

PDB_PLUG_IN_VIOLATIONS

DBMS_PDB.SYNC_PDB

The SYNC_PDB PL/SQL package procedure is not documented in the PL/SQL Package Types manual, but it is mentioned here and there in other documents; not much what it does, just times to use it.

Sage Advice

Use the latest versions of APEX and ORDS when possible.  

Useful Links

Following are links to Oracle documentation for the various versions  I am using.

No comments:

Post a Comment