Thursday, April 16, 2026

One-Page Quick Execution Checklist : Rename PDB (PDB_OLD → PDB_NEW)

 Here are both options you asked for—first a one-page quick execution checklist (perfect for night deployment), followed by a scripted automation version you can adapt.


✅ One-Page Quick Execution Checklist (Night Deployment)

Change: Rename PDB (PDB_OLD → PDB_NEW)


🔹 Pre-Checks (Must Complete Before Start)

  •  Data Guard healthy

SELECT database_role, open_mode FROM v$database;
SELECT dest_id, status, error FROM v$archive_dest;
  •  No redo/apply lag

SELECT process, status FROM v$managed_standby;
  •  PDB exists and is open

SELECT name, open_mode FROM v$pdbs;
  •  Backup / Restore point created

CREATE RESTORE POINT before_pdb_rename GUARANTEE FLASHBACK DATABASE;

🔹 Execution Steps

1. Restrict PDB (Primary)

ALTER PLUGGABLE DATABASE PDB_OLD CLOSE;
ALTER PLUGGABLE DATABASE PDB_OLD OPEN RESTRICTED;

2. Close PDB (Standby)

ALTER PLUGGABLE DATABASE PDB_OLD CLOSE;

3. Rename PDB (Primary)

ALTER SESSION SET CONTAINER=PDB_OLD;
ALTER PLUGGABLE DATABASE PDB_OLD RENAME TO PDB_NEW;

4. Restart PDB (Primary)

ALTER PLUGGABLE DATABASE CLOSE IMMEDIATE;
ALTER PLUGGABLE DATABASE OPEN;

5. Monitor Standby Apply

SELECT process, status, sequence# FROM v$managed_standby;

6. Validate on Standby

SELECT name FROM v$pdbs;

7. Open PDB (Standby)

ALTER PLUGGABLE DATABASE PDB_NEW OPEN READ ONLY;

🔹 Post-Validation

  •  PDB name updated on Primary

  •  PDB name updated on Standby

  •  Redo apply running

  •  Application connectivity OK

  •  Services updated


🔴 Rollback (Quick)

If issue occurs:

ALTER SESSION SET CONTAINER=PDB_NEW;
ALTER PLUGGABLE DATABASE PDB_NEW RENAME TO PDB_OLD;
ALTER PLUGGABLE DATABASE CLOSE IMMEDIATE;
ALTER PLUGGABLE DATABASE OPEN;


⚙️ Scripted Automation Version (SQL + Bash Style)

You can adapt this for manual execution or automation tools (Ansible/Shell).


🔹 Primary Script (rename_pdb_primary.sql)

-- Pre-check
SELECT name, open_mode FROM v$pdbs;

-- Restrict PDB
ALTER PLUGGABLE DATABASE PDB_OLD CLOSE;
ALTER PLUGGABLE DATABASE PDB_OLD OPEN RESTRICTED;

-- Rename
ALTER SESSION SET CONTAINER=PDB_OLD;
ALTER PLUGGABLE DATABASE PDB_OLD RENAME TO PDB_NEW;

-- Restart
ALTER PLUGGABLE DATABASE CLOSE IMMEDIATE;
ALTER PLUGGABLE DATABASE OPEN;

-- Validate
SELECT name, open_mode FROM v$pdbs;

🔹 Standby Script (rename_pdb_standby.sql)

-- Close old PDB
ALTER PLUGGABLE DATABASE PDB_OLD CLOSE;

-- Monitor apply
SELECT process, status, sequence# FROM v$managed_standby;

-- Validate rename
SELECT name FROM v$pdbs;

-- Open new PDB
ALTER PLUGGABLE DATABASE PDB_NEW OPEN READ ONLY;

🔹 Optional Bash Wrapper

#!/bin/bash

ORACLE_SID=CDB1
export ORACLE_SID

echo "Starting PDB Rename प्रक्रिया..."

sqlplus / as sysdba <<EOF

@rename_pdb_primary.sql

EXIT;
EOF

echo "Primary completed. Verify standby manually."

🔹 Rollback Script (rollback_pdb.sql)

ALTER SESSION SET CONTAINER=PDB_NEW;

ALTER PLUGGABLE DATABASE PDB_NEW RENAME TO PDB_OLD;

ALTER PLUGGABLE DATABASE CLOSE IMMEDIATE;
ALTER PLUGGABLE DATABASE OPEN;

SELECT name FROM v$pdbs;

💡 Pro Tips (From Real Deployments)

  • Always keep one session monitoring standby apply

  • Keep alert logs open (tail -f) on both servers

  • Don’t rush after rename—wait for redo sync

  • If using services, update them immediately after rename