Introducción a las bases de datos de contenedores (CDB) y bases de datos conectables (PDB)
Este artículo se va a centrar en repasar los conceptos básicos de as novedades que Oracle 12c ha introducido desde su liberación de la release 1. Oracle
12c R1 (12.1) introdujo la opción Multitenant. Este artículo proporciona una
descripción general básica de la opción multiusuario, con enlaces a otros artículos
más detallados sobre dicha funcionalidad, que serán elaborados más adelante.
Introducción
La opción Multitenant representa
uno de los mayores cambios arquitectónicos en la historia de la base de datos
Oracle. Con esta novedad se presentaron
los conceptos de la base de datos de contenedores (CDB) y la base de datos conectable (PDB).
¿Que entendemos por CDB?
CDB es el acrónimo de Base de Datos de
Contenedores, en apariencia esto parece muy similar a una base de datos Oracle
convencional, ya que contiene la mayoría de las partes funcionales con las que
ya estará familiarizado (archivos de control, archivos de datos, deshacer,
archivos temporales, registros de rehacer, etc.) esto es:
- Controlfiles
- Datafiles
- Undo files
- Tempfiles
También alberga el diccionario
de datos para aquellos objetos que son propiedad del contenedor raíz y aquellos
que son visibles para todos los PDB.
¿Que entendemos por CDB?
PDB es el acrónimo de Base de
datos conectable, dado que el CDB contiene la mayoría de las partes que
funcionan para la base de datos, el PDB solo necesita contener información
específica para sí misma. No necesita preocuparse por los archivos de control,
rehacer registros y deshacer, etc. En su lugar, está compuesto de archivos de
datos y archivos temporales para manejar sus propios objetos. Esto incluye su propio
diccionario de datos, que contiene información sobre solo aquellos objetos que
son específicos del PDB. Desde Oracle 12.2 en adelante, un PDB debería, tener un tablespace undo local.
Esta división del diccionario de
datos entre objetos comunes, en el contenedor raíz, y objetos específicos de
PDB, en el diccionario de datos del PDB, es muy importante, porque esta
separación es lo que le da a la opción multiusuario su flexibilidad. Desde la
perspectiva del PDB, el diccionario de datos es la unión de los diccionarios de
datos raíz y PDB, por lo que internamente el PDB se parece mucho a una base de
datos Oracle normal. Por ejemplo, las vistas DBA_% y ALL_% dentro del PDB
aparecen igual que cualquier base de datos que no sea CDB.
Oracle Managed Files (OMF) y Multitenant
Oracle recomienda el uso de
Oracle Managed Files (OMF) cuando se usa la arquitectura Multitenant, ya que
simplifica varias funciones. Parece que el uso de OMF es obligatorio para
algunas funcionalidades, como la funcionalidad de Contenedores de aplicaciones
en Oracle 12.2.
Creación de bases de datos conectables (PDB)
Dado que la mayor parte de las
piezas de trabajo ya están presentes en el contenedor raíz, la creación de un nuevo
PDB es una tarea comparativamente rápida y sencilla. Al crear un PDP
completamente nuevo, el PDB se crea como una copia de un PDB inicial, por lo
que solo toma el tiempo que los archivos tarden en copiarse.
Creación
En lugar de crear un nuevo PDB desde la semilla, puede clonar desde un PDB ya existente.
Clonación
También es posible crear clones en un CDB remoto.
Clonación remota
Esto no solo permite que las bases de datos se muevan fácilmente, sino que también proporciona una forma alternativa de parchear y actualizar a versiones futuras. Aquí puede encontrar un ejemplo del uso de desenchufar / complemento para realizar un parche. Aquí se describe una discusión general del mecanismo de desconexión / complemento.
La conversión de una base de datos que no es de CDB a una base de datos conectable implica obtener una descripción de la base de datos que no es de CDB y usarla para conectarla a un CDB como un nuevo PDB. Este método se describe aquí.
Reubicar una base de datos conectable (PDB)
Desde Oracle 12.2 en adelante, es posible reubicar un AP, moviéndolo de un CDB a otro. Esto es significativamente más simple que hacer un unplug / plugin convencional.
Actualizar una base de datos conectable (PDB)
Desde Oracle 12.2 en adelante, es posible actualizar un PDB clonado desde el PDB de origen, siempre que solo se haya abierto en modo de solo lectura.
Base de datos proxy conectable (PDB)
Desde Oracle 12.2 en adelante, es posible crear un servidor proxy PDB, que es un esqueleto PDB que envía SQL a un PDB remoto para ser procesado. Esto le permite tener un punto final local para una base de datos remota.
Contenedores de aplicaciones
Oracle 12.2 presenta el concepto de contenedores de aplicaciones, que actúan como un contenedor mini-raíz. Se pueden usar para centralizar la configuración y las aplicaciones compartidas, que son utilizadas por sus PDB de aplicaciones dependientes.
Novedades en las vistas del diccionario de datos
La introducción de la opción multiusuario trae consigo una capa adicional de vistas de diccionario de datos, lo que permite generar informes a través del contenedor raíz y las bases de datos conectables (PDB). Ignorando las ediciones por el momento, las versiones anteriores tenían la siguiente jerarquía.
DBA_: todos los objetos en la base de datos.
|
--ALL_: Objetos accesibles para el usuario actual, incluidos los que posee el usuario actual.
|
--USER_: objetos propiedad del usuario actual.
Con Oracle 12c, se agrega una capa adicional a la jerarquía.
CDB_: todos los objetos en todos los contenedores * (root y todos los PDB).
|
--DBA_: todos los objetos en el contenedor actual (root o PDB).
|
--ALL_: objetos accesibles por el usuario actual en el contenedor actual (root o PDB), incluidos los que posee el usuario actual.
|
--USER_: objetos propiedad del usuario actual en el contenedor actual (root o PDB).
El resultado de las vistas CDB_ depende del contenedor desde el que se accede. Cuando se accede desde el contenedor raíz, de hecho presentan toda la información de todos los contenedores. Cuando se accede desde un AP, actúan efectivamente como las vistas DBA desde dentro del contenedor. Esto puede ser un poco confuso al principio.
No hay comentarios:
Publicar un comentario
Por favor deja tu comentario, es valioso.