Oracle Database 12c: “Cloning Plugabble Databases (PDBs)” ( Parte II )

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: Generar una copia de “PDB” en el mismo “Container” base de la “PDB” original.

Herramienta de Uso: SQL*Developer

Los motivos bajo los cuales podríamos desear generar copias de “PDBs” son extensos y diversos, listemos algunos:

  • Deseo de realizar un “test” de un “Patch” de aplicación de nuestra “PDB” de producción. En este caso primero se realiza el “Clone” de la BBDD de producción, se aplica el “Application Patch” a la copia y se procede al “test” del mismo.
  • Deseo de realizar diagnósticos de posibles regresiones de rendimiento de las aplicaciones
  • Deseo de análisis de impacto de posibles cambios a realizar en producción
  • Esto y mas..., la concepción de duplicar BBDDs para realizar diversos tipos de “test” es algo que ha pertenecido siempre al ciclo de vida de las BBDDs de Producción, Calidad, “Tests”. “Oracle Multitenant” a través de su arquitectura facilita un “Provisioning” de mayor facilidad y flexibilidad.

Para el siguiente ejemplo:

  • “ORAWISS”: es la “Container root Database (CDB)”
  • “ORAWISS12C”: es una “PDB” perteneciente al “Root Container Database” “ORAWISS”
  • “PDB_CLONED”: “PDB” a ser generada en base a un “Clone” de “ORAWISS”

Para llevar a cabo el siguiente ejemplo iniciaremos bajo el escenario donde la “CDB ORAWISS” & “PDB ORAWISS12C” ya han sido creadas.

Estando conectados a la “CBD” en “Oracle SQL*Developer”, procedemos a resaltar la “PDB” que deseamos duplicar ( ORAWISS12C ) ( Parte Inferior izquierda )

Realizamos “Click derecho” sobre la “PDB ORAWISS12C” y escogemos la opción “Clone Pluggable Database”

Visualizaremos una nueva pantalla donde especificaremos el nombre de la nueva “PDB” a ser clonada ( “PDB_CLONED” ) y especificamos lo relacionado a las conversiones de rutas para el duplicado ( “File Name Convertions” )

Antes de ser llevado a cabo la operación podríamos presionar el “Tab” “SQL” para visualizar la sentencia interna que se ejecutara en el manejador. Tal como se puede apreciar, la sentencia para duplicar una “PDB” es bastante sencilla. Para este caso se especifica la información referente al “FILE_NAME_CONVERT” para realizar el “Cloning”;  si no se especificaran los “Datafiles” de la “PDB” resultante, los mismos se estarían llevando a cabo bajo otorgado de rutas en modo OMF ( “Oracle Managed File” ). En el recuadro se puede visualizar que cada “Datafile” se creara en la misma ruta del “Datafile” original con la salvedad de que el mismo de la BBDD resultante finalizara su nombre con “.clone”.

Posterior a presionar el botón “Apply” obtendremos el siguiente mensaje, el cual era de esperarse ya que se intento duplicar una “PDB” sin que la misma estuviese en modo “Read-Only”

Para proceder a la operación de “Cloning” debemos modificar el estado de la “PDB” a “Read-Only”. “Click” derecho sobre la “PDB ORAWISS12C” y escoger “Modify State”

Procedemos a cerrar la “PDB ORAWISS12C” con opción “IMMEDIATE”.

Visualizando y aplicando la sentencia para el cierre de la “PDB ORAWISS12C”

Estableciendo la “PDB ORAWISS12C” en modo “Read-Only”

Alcanzado este punto podemos intentar nuevamente la generación de la “PDB PDB_CLONED”, la cual se generara de forma perfecta ya que la “PDB” origen se encuentra en modo “Read-Only”. Nótese que en este caso las rutas destino fueron modificadas y establecidas a rutas pertenecientes a “Filesystems”. La conversión de “Datafiles” puede ser escogida a su preferencia:

  • ASM a ASM
  • ASM a “Filesystem”
  • “Filesystem” a ASM
  • “Filesystem” a “Filesystem”
  • o Mixto.

Una vez completado este procedimiento la nueva “PDB PDB_CLONED” estará lista para su uso pleno posterior a su apertura manual o a través del SQL*Developer. No olvide establecer la “PDB” origen ( “PDB ORAWISS12C” ) en modo “Read-Write” nuevamente.

 


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