EXACS: Resolving PDB Console Issue

 

Intro 

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 from 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
      currently 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.