Me gustaría
poder explicar los diferentes métodos que existen para poder crear bases de
datos Pluggable (PDB).
¿Qué
es un Pluggable Database?
Un
Pluggable Database o PDB es una base de datos que se comporta como un
contenedor mas dentro de la arquitectura Container Database (CDB). Es una colección lógica de objetos: usuarios,
tablas, índices, etc.; independiente de otros PDBs.
Para
las aplicaciones un PDB se muestra como una base de datos individual, como si
tuviera la arquitectura de versiones anteriores.
Como
una base de datos, el PDB se compone de una estructura física de datafiles
(solo utilizados por el PDB) que lógicamente componen los tablespaces. El PDB está compuesto de tablespaces SYSTEM y SYSAUX que contienen la metadata asociada al PDB.
Cada
PDB contiene información totalmente independiente de los otros PDBs y del CDB. Esta característica hace que los PDBs puedan moverse
fácilmente de un CDB a otro y clonar su información en otro PDB dentro de un CDB.
Existen
dos métodos principales para crear un PDB
- Clonado de una base de datos PDB ya existente.
- Plug-in de un PDB a un nuevo CDB.
Para
los métodos de clonado tenemos las siguientes opciones
Creación de un PDB basado en el SEED
PDB
Para
este método haremos uso de la funcionalidad principal del contendor SEED. Creamos un PDB de forma rápida clonando en el
contenedor SEED PDB; creado al momento de la creación de la base de datos CDB.
Las
actividades que involucra la creación de un nuevo PDB a partir del Seed son:
- Copiado de los datafiles, de los tablespaces del
PDB Seed, en el directorio donde se crea el nuevo PDB.
- Creación de los usuarios SYS y SYSTEM en el
nuevo PDB.
- Creación de un usuario local que tendrá el rol
PDB_DBA. Este usuario toma el rol de administrador
del PDB.
- Se crea un nuevo servicio con el nombre del
PDB para poder realizar conexiones.
Creación por SQLPLUS
Para la
creación del PDB por Sqlplus utilizamos el contenedor CDB1
Creamos
la base de datos PDB1
El
usuario admin01 es al que se le asigna el rol PDB_DBA.
Como se
puede observar la base de datos PDB1 se encuentra en estado MOUNTED.
Para
poder utilizarla es necesario colocarla en estado Open.
La
primera vez que un PDB abre, realiza una sincronización con el contenedor principal
ROOT. Durante la sincronización se realiza:
- Creación de los usuarios comunes dentro del
PDB (Ej.; sys y system).
- Creación de los punteros a la metadata del
tablespace SYSTEM del Root. Esto se
realiza para poder utilizar la metadata propia de una Base de datos, sin
necesidad de copiarla al tablespaces SYSTEM del PDB.
- Revisión de compatibilidad entre el CDB y el
PDB. Si hubieran errores o alertas, es posible revisarlas en la vista PDB_PLUG_IN_VIOLATIONS
Ya
tenemos una nueva PDB lista para ser utilizada.
Creación por DBCA
Para crear
un PDB desde el SEED por el DBCA realizamos lo siguiente
Elegimos
la opción Manage Pluggable Databases
Elegimos
la opción Create a Pluggable Database
Seleccionamos
el CDB donde se desea crear el nuevo PDB
Para crear el PDB a partir del SEED elegimos la primera opción
Definimos el nombre del PDB, el directorio donde se almacenaran los datafiles y creamos el usuario con el rol PDB_DBA.
Cuando finaliza la creación del PDB
Procedemos a revisar si el PDB se encuentra lista para ser utilizado.
Creación de un PDB basado en otro PDB
El método
es muy parecido a crear un PDB desde el SEED sin embargo, la creación de este
nuevo PDB hereda todas las características que nosotros hayamos configurado en
el PDB origen.
Revisamos
los usuarios y tablespaces del PDB origen - PDB1.
Es necesario colocar la base de datos PDB1 en estado Read Only.
Si PDB1
no se coloca en Read Only, la base de datos destino PDB3 se creará en estado Read
Only y no se podrá modificar.
Procedemos a crear la base de datos PDB3 a partir de PDB1

Abrimos la base de datos PDB3 para poder revisar su configuración.
Revisamos si la base de datos PDB3 tiene la misma configuración que PDB1
Como se puede observar la creación de un nuevo PDB dentro de un Contenedor CDB es muy fácil y rápida gracias a los métodos de clonado.
En el
siguiente post explicaré mas a detalle los métodos de Plug-in y Unplug
para crear nuevos PDBs.
Espero
les pueda servir de ayuda.
No hay comentarios.:
Publicar un comentario