Es posible cambiar el nombre a una base de datos acoplada dentro de un contenedor, despues de haber sido creada.?
La respuesta es si y el procedimiento no es para nada complejo.
Vamos a ver, tenemos el siguiente grupo de PDBs dentro de un contenedor de base de datos.
Tenemos la PDB "LABDEV" y queremos cambiar su nombre a "LABVA", estos son los pasos que debes seguir para hacerlo:
- Es necesario que cierre la PDB que deseas cambiar el nombre.
- Procede luego a abrir el PDB en modo restrictivo.
- Conectarse a la PDB que vamos a renombrar.
- Con el comando ALTER PLUGGABLE DATABASE vamos a renombrar el "global_name".
- Una vez ejecutado el comando, vamos a cerrar nuevamente el PDB
- Volver a abrir la PDB en modo normal y verifica que el modo de restricción en la columna RESTRICTED tenga como valor "NO".
Ahora haz renombrado tu PDB !!!.
Veamos un ejemplo.
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 LABOR1DEV READ WRITE NO
4 LABORATOR2DEV READ WRITE NO
5 LAB3DEV READ WRITE NO
6 LABORO4DEV READ WRITE NO
7 LABO5DEV READ WRITE NO
8 LAB6DEV READ WRITE NO
9 LAB7DEV READ WRITE NO
10 LABDEV READ WRITE NO
SQL> alter pluggable database all close;
Pluggable database altered.
SQL> alter pluggable database all save state;
Pluggable database altered.
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 LABOR1DEV MOUNTED
4 LABORATOR2DEV MOUNTED
5 LAB3DEV MOUNTED
6 LABORO4DEV MOUNTED
7 LABO5DEV MOUNTED
8 LAB6DEV MOUNTED
9 LAB7DEV MOUNTED
10 LABDEV MOUNTED
SQL> alter pluggable database LABDEV open restricted;
Pluggable database altered.
SQL> alter session set container=LABDEV;
Session altered.
SQL> alter pluggable database rename global_name to LABVAL;
Pluggable database altered.
SQL> connect / as sysdba
Connected.
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 LABOR1DEV MOUNTED
4 LABORATOR2DEV MOUNTED
5 LAB3DEV MOUNTED
6 LABORO4DEV MOUNTED
7 LABO5DEV MOUNTED
8 LAB6DEV MOUNTED
9 LAB7DEV MOUNTED
10 LABVAL READ WRITE YES
SQL> alter pluggable database LABVAL close immediate;
Pluggable database altered.
SQL> alter pluggable database LABVAL open;
Pluggable database altered.
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 LABOR1DEV MOUNTED
4 LABORATOR2DEV MOUNTED
5 LAB3DEV MOUNTED
6 LABORO4DEV MOUNTED
7 LABO5DEV MOUNTED
8 LAB6DEV MOUNTED
9 LAB7DEV MOUNTED
10 LABVAL READ WRITE NO
SQL> alter pluggable database LABVAL close;
Pluggable database altered.
SQL>
Nota importante:Los archivos de la base de datos, van a mantener los nombres originales del PDB inicial. Si se ha utilizado el nombre del PDB o alguna referencia específica en alguno de los archivos, es recomendable renombrar dicho archivo para evitar confusiones.
Veamos un ejemplo nuevamente:
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB1 READ WRITE NO
4 LAB2 READ WRITE NO
SQL> alter session set container=lab2;
Session altered.
SQL> select tablespace_name, status, contents from dba_tablespaces;
TABLESPACE_NAME STATUS CONTENTS
------------------------------ --------- ---------------------
SYSTEM ONLINE PERMANENT
SYSAUX ONLINE PERMANENT
UNDOTBS1 ONLINE UNDO
TEMP ONLINE TEMPORARY
USERS ONLINE PERMANENT
SQL> select NAME from v$datafile;
NAME
---------------------------------------------------------------------------------------------------
/opt/app/oracle/oradata/CDB/33A1D26BA92BDE59E063AA00000B07F0/datafile/o1_mf_system_n0qysyf6_.dbf
/opt/app/oracle/oradata/CDB/33A1D26BA92BDE59E063AA00000B07F0/datafile/o1_mf_sysaux_n0qysyfc_.dbf
/opt/app/oracle/oradata/CDB/33A1D26BA92BDE59E063AA00000B07F0/datafile/o1_mf_undotbs1_n0qysyfc_.dbf
/opt/app/oracle/oradata/CDB/33A1D26BA92BDE59E063AA00000B07F0/datafile/o1_mf_users_n0qysyfc_.dbf
SQL> create tablespace tbs_data datafile
'/opt/app/oracle/oradata/CDB/33A1D26BA92BDE59E063AA00000B07F0/datafile/tbs_data_lab2_01.dbf'
size 10M;
Tablespace created.
SQL> select NAME from v$datafile;
NAME
---------------------------------------------------------------------------------------------------
/opt/app/oracle/oradata/CDB/33A1D26BA92BDE59E063AA00000B07F0/datafile/o1_mf_system_n0qysyf6_.dbf
/opt/app/oracle/oradata/CDB/33A1D26BA92BDE59E063AA00000B07F0/datafile/o1_mf_sysaux_n0qysyfc_.dbf
/opt/app/oracle/oradata/CDB/33A1D26BA92BDE59E063AA00000B07F0/datafile/o1_mf_undotbs1_n0qysyfc_.dbf
/opt/app/oracle/oradata/CDB/33A1D26BA92BDE59E063AA00000B07F0/datafile/o1_mf_users_n0qysyfc_.dbf
/opt/app/oracle/oradata/CDB/33A1D26BA92BDE59E063AA00000B07F0/datafile/tbs_data_lab2_01.dbf
SQL> connect / as sysdba
Connected.
SQL> alter pluggable database lab2 close immediate;
Pluggable database altered.
SQL> alter pluggable database lab2 open restricted;
Pluggable database altered.
SQL> alter session set container=lab2;
Session altered.
SQL> alter pluggable database rename global_name to pdb2;
Pluggable database altered.
SQL> connect / as sysdba
Connected.
SQL> alter pluggable database pdb2 close immediate;
Pluggable database altered.
SQL> alter pluggable database pdb2 open;
Pluggable database altered.
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB1 READ WRITE NO
4 PDB2 READ WRITE NO
SQL> alter session set container=pdb2;
Session altered.
SQL> select NAME from v$datafile;
NAME
---------------------------------------------------------------------------------------------------
/opt/app/oracle/oradata/CDB/33A1D26BA92BDE59E063AA00000B07F0/datafile/o1_mf_system_n0qysyf6_.dbf
/opt/app/oracle/oradata/CDB/33A1D26BA92BDE59E063AA00000B07F0/datafile/o1_mf_sysaux_n0qysyfc_.dbf
/opt/app/oracle/oradata/CDB/33A1D26BA92BDE59E063AA00000B07F0/datafile/o1_mf_undotbs1_n0qysyfc_.dbf
/opt/app/oracle/oradata/CDB/33A1D26BA92BDE59E063AA00000B07F0/datafile/o1_mf_users_n0qysyfc_.dbf
/opt/app/oracle/oradata/CDB/33A1D26BA92BDE59E063AA00000B07F0/datafile/tbs_data_lab2_01.dbf
SQL> alter database move datafile
'/opt/app/oracle/oradata/CDB/33A1D26BA92BDE59E063AA00000B07F0/datafile/tbs_data_lab2_01.dbf' to
'/opt/app/oracle/oradata/CDB/33A1D26BA92BDE59E063AA00000B07F0/datafile/tbs_data_pdb2_01.dbf';
Database altered.
SQL> select NAME from v$datafile;
NAME
---------------------------------------------------------------------------------------------------
/opt/app/oracle/oradata/CDB/33A1D26BA92BDE59E063AA00000B07F0/datafile/o1_mf_system_n0qysyf6_.dbf
/opt/app/oracle/oradata/CDB/33A1D26BA92BDE59E063AA00000B07F0/datafile/o1_mf_sysaux_n0qysyfc_.dbf
/opt/app/oracle/oradata/CDB/33A1D26BA92BDE59E063AA00000B07F0/datafile/o1_mf_undotbs1_n0qysyfc_.dbf
/opt/app/oracle/oradata/CDB/33A1D26BA92BDE59E063AA00000B07F0/datafile/o1_mf_users_n0qysyfc_.dbf
/opt/app/oracle/oradata/CDB/33A1D26BA92BDE59E063AA00000B07F0/datafile/tbs_data_pdb2_01.dbf
SQL>

No hay comentarios:
Publicar un comentario
Te agradezco tus comentarios. Te esperamos de vuelta.