Por Joel Pérez y Wissem El Khlifi
Publicado en Febrero 2014
Indice
1. Oracle Database 12c: “Cloning Plugabble Databases (PDBs)” ( Parte I )
2. Oracle Database 12c: “Cloning Plugabble Databases (PDBs)” ( Parte II )
3. Oracle Database 12c: “Cloning Plugabble Databases (PDBs)” ( Parte III )
Objetivo y escenario: Continuar en el procedimiento para generar una copia de “PDB” en el mismo “Container” base de la “PDB” original sin OMF.
Herramienta de Uso: SQL*Plus
Conectados a la “CDB1” verificamos que el parámetro “DB_CREATE_FILE_DEST” se encuentra sin “set” alguno, si se encuentra de esa manera, las rutas las podremos especificar estableciendo el parámetro o especificando las mismas en la sentencia “CREATE PLUGGABLE DATABASE…”
SQL> show parameter db_create_file_dest NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ db_create_file_dest string SQL>
Si el parámetro “DB_CREATE_FILE_DEST” no esta establecido y si las rutas no son especificadas en la sentencia “CREATE PLUGGABLE DATABASE…” entonces el siguiente error será obtenido:
SQL> CREATE PLUGGABLE DATABASE PDBTST2 from PDBTST; CREATE PLUGGABLE DATABASE PDBTST2 from PDBTST * ERROR at line 1: ORA-65016: FILE_NAME_CONVERT must be specified SQL>
Ejecutemos el foco central del artículo. Llevar a cabo la sentencia “CREATE PLUGGABLE DATABASE…” especificando la conversión en la misma.
SQL> CREATE PLUGGABLE DATABASE PDBTST2 FROM PDBTST 2 PATH_PREFIX = 'C:\APP\ORADATA\CDBTST' 3 FILE_NAME_CONVERT = ('C:\APP\ORADATA\CDBTST', 'C:\APP\ORADATA\CDBTST\PDBTST2'); Pluggable database created.
Posterior al “Cloning” de una “PDB” la misma queda en estado “Mount” y procederemos a su apertura
SQL> select con_id,dbid,NAME,OPEN_MODE from v$pdbs; CON_ID DBID NAME OPEN_MODE ---------- ---------- ------------------------------ ---------- 2 4063385794 PDB$SEED READ ONLY 3 2428567934 PDBTST READ ONLY 4 1499546346 PDBTST2 MOUNTED SQL> alter PLUGGABLE database PDBTST2 open; Pluggable database altered.
Visualización de estado “Read-Write” de la nueva “PDB” “PDBTST2”
SQL> select con_id,dbid,NAME,OPEN_MODE from v$pdbs; CON_ID DBID NAME OPEN_MODE ---------- ---------- ------------------------------ ---------- 2 4063385794 PDB$SEED READ ONLY 3 2428567934 PDBTST READ ONLY 4 1499546346 PDBTST2 READ WRITE
Si se desea remover la misma, procedemos a cerrar la “PDB” y aplicar el comando “DROP PLUGGABLE DATABASE … including datafiles;”
SQL> alter PLUGGABLE database PDBTST2 close; Pluggable database altered. SQL> DROP PLUGGABLE DATABASE PDBTST2 including datafiles; Pluggable database dropped. SQL>
Joel es un experto DBA con más de 12 años de experiencia, especializado en bases de datos con especial énfasis en la soluciones de alta disponibilidad (RAC, Data Guard, y otras). Es un conferencista habitual en eventos de Oracle como: OTN LAD TOUR y otros. Consultor Internacional con trabajos en más de 20 países alrededor del mundo. Fue el primer latinoamericano en ser nombrado "Experto OTN" en el año 2003, Oracle ACE año 2004 y actualmente Oracle ACE Director.
Wissem es un Senior DBA con más de 12 años de experiencia, especializado en soluciones RAC & Data Guard. Actualmente labora para “Schneider Electric / APC Global operations”. Wissem ha trabajado también para varias empresas internacionales líderes en sectores de Bancas, Telecomunicaciones, Internet y Energía. Wissem fue el primer Oracle ACE en España y es un OCP DBA