El cambio de nombre de una CDB Oracle no consiste únicamente en modificar el parámetro db_name. En una arquitectura Multitenant, el proceso implica actualizar metadatos internos de la base de datos, regenerar el DBID mediante la utilidad DBNEWID (NID), revisar servicios, validar la configuración de Clusterware y asumir el impacto sobre los backups RMAN existentes.
En este artículo veremos cómo realizar el cambio de nombre de una CDB Oracle 19c de forma segura, detallando cada paso del procedimiento y las validaciones necesarias para garantizar una vuelta a producción sin incidencias.
Procedimiento de Cambio de Nombre de una CDB Oracle 19c
Objetivo
Realizar el cambio de nombre de una Container Database (CDB) Oracle 19c desde:
ORADB_CDB → ORADBCDB
La(s) Pluggable Database(s) (PDB) asociadas no sufrirán modificaciones y conservarán sus nombres actuales.
1. Alcance
Este procedimiento aplica a bases de datos Oracle 19c configuradas en arquitectura Multitenant (CDB/PDB), tanto en entornos standalone como administrados mediante Oracle Clusterware.
2. Prerrequisitos
Antes de iniciar el procedimiento, verificar lo siguiente:
- Disponer de una ventana de mantenimiento aprobada.
- Confirmar la detención de aplicaciones que utilicen la base de datos.
- Disponer de acceso SYSDBA al servidor Oracle.
- Verificar espacio suficiente para generar respaldos.
- Confirmar que la base de datos se encuentra operativa y sin errores.
- Identificar si la base de datos está registrada en Oracle Clusterware.
- Disponer de un respaldo reciente de la base de datos.

3. Cambios previstos
Parámetros a modificar
| Parámetro | Valor actual | Nuevo valor |
|---|---|---|
| db_name | ORADB_CDB | ORADBCDB |
| db_unique_name | ORADB_CDB | ORADBCDB |
| service_names | ORADB_CDB | ORADBCDB |
Parámetros que se actualizarán automáticamente
| Parámetro | Nuevo valor |
|---|---|
| instance_name | ORADBCDB |
4. Consideraciones importantes
El uso de la utilidad NID (DBNEWID) genera un nuevo DBID para la base de datos.
Como consecuencia:
- Todos los backups RMAN anteriores dejarán de ser utilizables.
- Los archived logs existentes dejarán de ser válidos para recuperación.
- Será obligatorio ejecutar un nuevo backup completo una vez finalizado el procedimiento.
- Si existe un catálogo RMAN, deberá actualizarse según las políticas de respaldo de la organización.
5. Respaldo previo
5.1 Exportación lógica mediante Data Pump
Ejecutar:
FECHA=$(date +%Y%m%d)
expdp "'/ as sysdba'" \
FULL=Y \
DIRECTORY=EXPDP \
DUMPFILE=ORADB_${FECHA}%U.dmp \ LOGFILE=ORADB${FECHA}_exp.log \
PARALLEL=4 \
COMPRESSION=ALL \
METRICS=Y \
LOGTIME=ALL \
REUSE_DUMPFILES=Y
Validar que el proceso finaliza correctamente.
Resultado esperado:
Job "SYS"."SYS_EXPORT_FULL_01" successfully completed
6. Detención de la base de datos
sqlplus / as sysdba
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
EXIT;
7. Cambio de nombre mediante DBNEWID
Ejecutar:
nid TARGET=/ DBNAME=ORADBCDB
Cuando aparezca el mensaje:
Change database ID and database name ORADB_CDB to ORADBCDB? (Y/[N])
Responder:
Y
Validar que el proceso finaliza correctamente.
Resultado esperado:
DBNEWID – Completed successfully.
8. Actualización de parámetros de la instancia
Iniciar la instancia en modo NOMOUNT:
sqlplus / as sysdba
STARTUP NOMOUNT;
ALTER SYSTEM SET db_name='ORADBCDB' SCOPE=SPFILE;
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER SYSTEM SET db_unique_name='ORADBCDB' SCOPE=SPFILE;
ALTER SYSTEM SET service_names='ORADBCDB' SCOPE=BOTH;
ALTER DATABASE OPEN RESETLOGS;
9. Actualización del GLOBAL_NAME
Ejecutar:
ALTER DATABASE RENAME GLOBAL_NAME TO ORADBCDB;
10. Validaciones posteriores
10.1 Validar nombre de la base
SELECT name FROM v$database;
Resultado esperado:
ORADBCDB
10.2 Validar instancia
SELECT instance_name FROM v$instance;
Resultado esperado:
ORADBCDB
10.3 Validar parámetros
SHOW PARAMETER db_name;
SHOW PARAMETER db_unique_name;
SHOW PARAMETER instance_name;
Todos deben reflejar el nuevo nombre:
ORADBCDB
10.4 Validar estado de la base
SELECT name, open_mode FROM v$database;
Resultado esperado:
OPEN_MODE = READ WRITE
10.5 Validar PDBs
SHOW PDBS;
o
SELECT NAME, OPEN_MODE FROM V$PDBS;
Resultado esperado:
Todas las PDBs en estado READ WRITE.
10.6 Validar GLOBAL_NAME
SELECT * FROM GLOBAL_NAME;
Resultado esperado:
ORADBCDB.DOMINIO.LOCAL
10.7 Validar servicios Oracle
SELECT NAME FROM V$SERVICES ORDER BY NAME;
Verificar que el servicio ORADBCDB se encuentre registrado correctamente.
11. Validación del Listener
Ejecutar:
lsnrctl status LISTENER
Validar:
- Servicio ORADBCDB registrado.
- Instancia ORADBCDB en estado READY.
Ejemplo:
Service "ORADBCDB"
Instance "ORADBCDB", status READY
12. Actualización de Oracle Clusterware (si aplica)
12.1 Verificar registro actual
srvctl config database -d ORADBCDB
Si la base aún aparece registrada con el nombre anterior:
srvctl config database -d ORADB_CDB
12.2 Eliminar registro antiguo
srvctl remove database -d ORADB_CDB -force
12.3 Registrar nuevamente la base
Nota: Sustituir el Oracle Home por el correspondiente al entorno.
srvctl add database \
-d ORADBCDB \
-o /u01/app/oracle/product/19.0.0/dbhome_1 \
-p +DATOS/ORADBCDB/spfileORADBCDB.ora \
-r PRIMARY \
-a DATOS
12.4 Registrar la instancia
srvctl add instance \
-d ORADBCDB \
-i ORADBCDB \
-n SERVDB1
12.5 Validar configuración
srvctl config database -d ORADBCDB
13. Prueba operativa
Detener y arrancar la base utilizando Clusterware.
srvctl stop database -d ORADBCDB
srvctl start database -d ORADBCDB
srvctl status database -d ORADBCDB
Resultado esperado:
Database is running.
14. Nuevo respaldo RMAN
Una vez completado el procedimiento, generar un nuevo respaldo completo.
rman target /
BACKUP DATABASE PLUS ARCHIVELOG;
15. Actividades posteriores
- Actualizar archivos tnsnames.ora.
- Actualizar scripts de monitorización.
- Actualizar procedimientos operativos.
- Actualizar configuraciones de backup.
- Validar conectividad de aplicaciones.
- Validar tareas programadas y procesos batch.
- Actualizar documentación técnica.
Tras estos pasos habremos realizado el cambio de nombre de una CDB. Algún DBA Oracle tendría conocimientos para realizarlo. Si no dispones de alguien que realice estos pasos, confía en los profesionales. Somos expertos en bases de datos Oracle, y disponemos de un servicio de mantenimiento Oracle. Puedes contactarnos sin compromiso si necesitas ayuda con este tipo de tareas.
¿Aún no conoces Query Performance? Descubre cómo puede ayudarte en tu entorno Oracle. Más información en su página de LinkedIn.
Sígue a GPS en LinkedIn
