Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Christian Hernández
OBJETIVO:
Oracle 12c introduce una nueva arquitectura llamada Oracle MULTITENANT en la que se provee, a la
El contenedor es definido con el nombre de Multitenant Container Database (CDB) donde podemos
El siguiente grafico muestra cómo está compuesto el Multitenant Container Database (CDB)
2 Arquitectura de Base de Datos
Como se puede observar el CDB está formado por una Instancia (SGA + PGA), un grupo de procesos
Si un cliente quiere consolidar varias bases de datos en un solo servidor puede hacer uso de esta
arquitectura y tener una sola instancia con muchas bases de datos de tipo Pluggable database.
Esto ayuda a optimizar el uso de la memoria debido a que se utiliza una gran instancia y un solo grupo
Base de Datos de tipo Contenedor (CDB): Es una base de datos que tiene la capacidad de almacenar
lógicamente varias bases de datos, a estas bases de datos internas se les llama “Pluggable Database
(PDB)”.
Base de Datos de tipo “Pluggable” (PDB): Una PDB es un conjunto de esquemas de base de datos que
son presentados a los usuarios y aplicaciones como una representación de una base de datos separada o
independiente.
De una manera mas detallada describiremos los contenedores que forman parte del CDB
1. Contenedor ROOT
Cuando se crea una base de datos CDB, automáticamente se crea un contenedor ROOT.
El contenedor ROOT, conocido también como CDB$ROOT, es utilizado para almacenar la metadata
que soporta la arquitectura CDB. Además, almacena las estructuras globales de una base de datos.
3 Arquitectura de Base de Datos
a) Control Files: Se define como una estructura global en el CDB por lo que existe solo un grupo de
b) Redolog Files: Como los redologs se relacionan directamente con el Redolog Buffer se define
también como una estructura global dentro del CDB, es decir, se tiene un solo grupo de redologs que
c) Undo Tablespace: Como sabemos las transacciones son manejadas a nivel de Instancia. El Undo
tablespace está relacionado directamente con las transacciones (posee la información necesaria para que
una transacción puede hacer rollback). Al tener una sola instancia es necesario tener un solo UNDO
d) Temp Tablespace: El tablespace Temporal dentro del Contenedor ROOT es obligatorio. Soporta la
Sin embargo, si un PDB no tiene definido su propio tablespace temporal, utilizará el tablespace
e) System y Sysaux Tablespace: El contenedor Root almacena toda la metadata necesaria para
soportar la arquitectura CDB. Toda la metada es almacenada en los tablespaces System y Sysaux del
contenedor Root.
f) Users Tablespace: Descripciones de todos los espacios de tabla (o accesibles por el usuario).
Lo mas interesante de la versión 12c es observar como la nueva arquitectura separa los objetos propios
Gracias a esta separación, la base de datos Pluggable es independiente del Contenedor. De esa manera,
una base de datos Pluggable puede ser desconectada (Unplug) de un contenedor y conectada (PlugIn) en
otro de manera sencilla y rápida. Debido a esta característica es que se le denomina base de datos
Pluggable. Por la acción en ingles de PlugIn y Un-Plug la base de datos de un contenedor a otro.
2. PBD SEED
Es una base de datos Pluggable que se crea junto con la creación del CDB. Su función principal es la
Es importante señalar que esta base de datos siempre está en estado READ ONLY.
5 Arquitectura de Base de Datos
3. PBD DATABASES
Son Bases de datos que almacenan la información de las aplicaciones, se componen de usuarios,
Posee su propio conjunto de tablespaces que no son compartidos por otro PDB o por el contenedor
ROOT.
Una características principal de los PDBs es que son bases de datos independientes y aisladas. Los
objetos en un PDB no pueden ser visualizados por otro PDB. Existen reglas de seguridad que aseguran el
Las aplicaciones siguen pensando que las bases de datos con las que interactúan son independientes una
de otra.
Los tablespace SYSTEM y SYSAUX solo almacenan la metadata propia del PDB para poder facilitar
- Después de un upgrade a Oracle 12c una base de datos puede ser conectada a un CDB.
- Los upgrade se realizan a nivel del Contenedor (CDB), de esa manera, solo es necesario un
Datos: Un dato es una representación simbólica (numérica, alfabética, algorítmica, espacial, etc.)
(también llamado fila o tupla) representa un objeto único de datos implícitamente estructurados en una
tabla.
SMA (Oracle Security Monitoring and Analytics ): Es el servicio en la nube de Oracle es una
solución integrada para la detección, investigación y reparación rápida de una amplia gama de
amenazas y ataques de seguridad, SMA se entrega como un servicio de Oracle Cloud para
- Database Buffer Cache: es una parte integral de Oracle y proporciona el almacenamiento para
bloques de datos que se han recuperado de los data files y el impulso de optimización para
operaciones DML.
- Redo Log Buffer: la memoria cache del buffer reduce la contención en sistemas multiprocesador,
en el área del SGA contiene solo los buffers mismos y no sus estructuras de control.
- Shared Pool: el grupo compartido es una área de RAM, es el responsable de recopilar, analizar,
interpretar y ejecutar todas las declaraciones SQL que van en contra de la base de datos Oracle.
- Large Pool: proporciona espacio en la RAM para E/S del proceso del servidor, Buffers de datos
- Java Pool: Esta métrica representa el porcentaje del conjunto de Java que está marcado
- Streams Pool: Almacena mensajes de cola almacenados en buffers para Oracle Streams y
base de datos, no se tiene control sobre el tamaño del Fixed SGA esta área es utilizada para
Cuando se ejecuta el comando CREATE DATABASE, se crean los siguientes tipos de archivos:
- Spfile: El archivo spfile de Oracle es una representación binaria del archivo init.ora basado en
texto.
A partir de la versión 9i, Oracle introdujo el fichero de parámetros de arranque 'spfile' como mejora
a los antiguos arranques con los 'init.ora', no obstante el uso de spfile es opcional.
Con los ‘spfile’ se puede realizar el arranque de una instancia en remoto, mientras que con los
- Data files y temp files: Un data files un archivo físico creado por la base de datos y contiene
estructuras de datos como tablas e índices. Un temp file es un archivo que contiene datos que
persisten en el momento que son utilizados. Los datos son escritos en estos archivos en un formato
- Control files: Un control files un repositorio que registra los componentes físicos de la base de
datos.
- Online redo log files: El online redo log file es un conjunto de archivos que registran los cambios
Explain Plan
Esta sentencia guarda el plan de ejecución para una sentencia SQL en una tabla. Cada vez que
ejecutamos una sentencia una de las cosas que hace oracle es crear un plan de ejecución de la sentencia.
Un plan de ejecución define la forma en que oracle busca o graba los datos. Decide, por ejemplo, si va a
usar o no los indices en una sentencia SELECT. Cuando se hace una consulta puede influenciar en el
9 Arquitectura de Base de Datos
costo, es decir demasiado transaccional, para esto Oracle dispone de los índices, lo que nos permite
optimizar una tabla por su columna, cuando hacemos muchos select y de esta manera reducir su costo.
DELETE PLAN_TABLE;
- Usamos una consulta en sql para ver el costo que tiene esta consulta:
SELECT J.CFE_JUG_NOMBRE,
J.CFE_JUG_APELLIDO
FROM CFE_JUGADORES J
J.CFE_JUG_APELLIDO
FROM CFE_JUGADORES J
CFE_JUG_NOMBRE CFE_JUG_APELLIDO
------------------ --------------------
Andres Usiña
Andres Velez
SELECT
')',1,30 ) "OPERACION",
OBJECT_NAME "OBJETO"
FROM PLAN_TABLE
11 Arquitectura de Base de Datos
START WITH ID = 0
-------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------
Tambien podemos usar índices para reducir el costo de una consulta, los indices se usan para mejorar el
(CFE_JUG_NOMBRE, CFE_JUG_APELLIDO);
DELETE DE INDEX
FROM CFE_JUGADORES
CFE_JUG_NOMBRE CFE_JUG_APELLIDO
----------------- --------------------
Andres Usiña
12 Arquitectura de Base de Datos
Andres Velez
Ahora usando el explain plan (plan de ejecucion) observamos que el costo se redujo:
RESULTADOS OBTENIDOS:
- Conocimos mas a fondo en que consiste la arquitectura de una base de datos, su funcionamiento, el
- Se abordo el tema del explain plan de Oracle y de esa manera saber usar sentencias o consultas con
CONCLUSIONES:
Ahora que sabemos la arquitectura de base de datos y el tema del explain plan, podemos crear consultar
Bibliografia
Gabillaud, J. (2015). SQL Server 2014: Administración de una base de datos transaccional con
SQL Server Management Studio. ENI.
Helskyaho, H. (2013). Oracle SQL Developer Data Modeler for Database Design Mastery. New
Delhi: Mc Graw Hill.
13 Arquitectura de Base de Datos