Introductions
The roles of DBAs and architects are continually evolving, becoming more technical and requiring broader expertise. For Oracle DBAs, it's no longer just about managing databases; there's a growing need to understand and work with the OCI (Oracle Cloud Infrastructure) GUI as well. This is because many OCI services depend on the database being properly visible in the OCI console to function correctly.
Recently, I faced an issue after migrating a database from on-premises to the cloud in an Exadata Cloud@Customer (ExaCS) deployment. The pluggable database (PDB) did not appear in the OCI console.
Steps I followed the below-mentioned steps to migration.
- Created a dummy database directly from the OCI console.
- Deleted this dummy database at the backend.
- Used RMAN to perform a duplicate operation.
After the RMAN duplicate, the PDB (pluggable database) was correctly visible under the CDB (container database). However, the status in the OCI console is still displayed as "failed."
This highlights the importance of understanding the OCI console and ensuring proper configuration post-migration to avoid operational disruptions.
As per Figure 1, the OCI console shows pdb state from console shows as "failed".
Figure 1: PDB state from OCI console.
Troubleshooting steps
If a Pluggable Database (PDB) resource appears in a Failed status in the Cloud Console but remains available in the VM, refer to the following Oracle Meta Link note for details on this known issue:
- Meta Link Note: Pluggable Database (PDB) Resource Shows Failed Status in Cloud Console While It Is Available in VM (Doc ID 2855062.1).
Step 1: Validate the CON_UID
Log in to the database and run the following query to verify the Container UID (CON_UID):
SELECT CON_UID, NAME FROM V$PDBS;
SQL> l
1* select CON_UID, NAME from V$PDBS
SQL> /
CON_UID NAME
---------- --------------------------------------------------------------------------------------------------------------------------------
2368539052 PDB$SEED
1479666877 EGDEV_PDB1
2175707955 EGQA_PDB1
SQL>
Step 2: Confirm the PDB Details
dbaascli pdb getDetails --dbname EGPRD --pdbUID 2297085946
Step 3: Handle Orphaned PDB Records
- If the above command returns a valid result, the PDB entry still exists in the backend.
- In such a case, you may need to delete the orphaned database entry manually.
Step 4: Delete Manually
To manually delete the PDB using dbaascli
, run the following command:
dbaascli pdb delete --dbName --pdbUID 2297085946
Important Note:
🚨 Before deleting any PDB, always verify the CON_UID
returned from the database.
- If the
CON_UID
form V$PDBS
matches the one being checked, you are dealing with a live PDB.
- Do NOT delete the database in this case, as it is active.
If the CON_UID in the Cloud Console is different from the one in the database, you can safely delete the PDB from the console.
Once deleted, wait 15-20 minutes, and the correct PDB will be reflected in the Cloud Console.
Figure 2: This is the same figure highlighting the con_uid.