Vous êtes sur la page 1sur 9

CARRERA: FECHA:

Ingeniería de Sistemas 06/04/2018

ESTUDIANTE: Bryan Pintado, ASIGNATURA: GRUPO:


Andrés Guaicha Base de Datos II 1

DOCENTE: Ing Álvaro Mejía

TEMA: Base de Datos Oracle 12c

Base de Datos Oracle 12c

Bryan Pintado, Andrés Guaicha

Universidad Politécnica Salesiana

Ingeniería en Sistemas

Base de Datos II

Cuenca 2018
ARQUITECTURA DE BASE DE DATOS

La arquitectura de la base de datos se ve muy influida por el sistema informático subyacente sobre el que
se ejecuta el sistema de base de datos, estos pueden estar centralizados o ser del tipo cliente-servidor, en
los que una maquina servidora ejecuta el trabajo en nombre de multitud de máquinas clientes. (Abrahan
Silberschatz, 2007)

Las aplicaciones de base de datos pueden dividirse en dos o tres partes, en una arquitectura de dos capas,
la aplicación se divide en en un componente que reside en la maquina cliente, que llama a la
funcionalidad del sistema de base de datos en la maquina servidora mediante instrucciones del lenguaje
de consultas. Los entandares de interfaces de programas de aplicación como ODBC y JDBC se usan
para la interacción entre el cliente y el servidor. (Abrahan Silberschatz, 2007)

Figura 1.6 Arquitectura del sistema.

En cambio en una arquitectura de tres capas, la maquina cliente actúa simplemente como una parte
visible al usuario y no contiene ninguna llamada directa a la base de datos. La lógica de negocio de
aplicación, que establece las acciones que se deben realizar según las condiciones reinantes, se incorpora
en los servidores de aplicaciones en lugar de estar distribuida entre múltiples clientes.(Silberschatz,
2014)
EXPLAIN PLAN
Significa: Plan de ejecución

Define la forma en que Oracle busca o graba los datos. Nos permite ver el plan de ejecución cuando se
optimizan las consultas.

Así se puede identificar los pasos que se ejecutan en MySQL para devolver el resultado que se espera.
Esta sentencia nos permitirá obtener información sobre el plan de ejecución de nuestras consultas
realizadas contra nuestra base de datos al momento de optimizar la ejecución de dichas consultas.

Es una herramienta poderosa que permite mejorar el rendimiento de las aplicaciones de la base de datos
permite examinar el plan de ejecución determinado por el optimizador. (Oracle, The Oracle Optimizer,
2017)
 Sintaxis General:
EXPLAIN PLAN [SET STATEMENT_ID = 'text'] FOR sentencia;
Se puede usar una table explain propia caso contrario se usará una general.

EXPLAIN PLAN [SET STATEMENT_ID = 'text'] INTO [esquema.]tabla@dblink FOR sentencia;


Si no se define una tabla propia, se usa una table PLAN_TABLE.
Ejemplo:
DELETE PLAN_TABLE; EXPLAIN PLAN FOR SELECT * FROM F_PPROD WHERE CODPROD
= 234;

La Sentencia Explain devuelve una tabla con las filas necesarias exactas con información sobre cada
una de las tablas empleadas en la consulta a la que acompaña. [3]
Se puede emplear en:
 SELECT
 DELETE
 INSERT
 REPLACE
 UPDATE

Tan solo bastará con poner la palabra EXPLAIN seguido de la consulta que se quiere analizar. Por
ejemplo:
EXPLAIN SELECT * FROM muup_tabla;

Como generar el EXLAIN PLAN de una consulta:


Se usa el comando de Oracle EXPLAIN PLAN; éste comando evalúa las distintas etapas del plan de
ejecución de la consulta e inserta una fila para cada etapa en la tabla PLAN_TABLE, la misma que se
crea antes de la consulta con el comando UTLXPLAN. [4]

En la tabla se describen los registros de las operaciones utilizadas en las distintas etapas y la relación
entre la ejecución de cada una de ellas. [4]

Descripción de las columnas de la tabla Plan_Table:


Statement_ID: Asigna un nombre al plan de ejecución para futuras consultas.

Timestamp: Registro del momento en el que se ejecutó el comando EXPLAIN PLAN.

Operation: La operación SQL realizada en la etapa.

Optimizer: El modo en que está el optimizador, como CHOOSE, RULE

ID: Un número asignado a cada etapa en el EXPLAIN_PLAN.

Object_Name: El nombre del objeto referenciado en la operación.

Cardinality: Cardinalidad de un índice o el número de filas esperado que devuelva la operación.

Cost: esto se refiere al intervalo del tiempo en que se toma en ejecutar la consulta.

 Ejemplo desde Oracle SQL Developer:

Consulta sin la sentencia índex:

SELECT e.employee_id, e.job_id, e.manager_id, e.department_id, d.location_id,l.country_id,


e.first_name, e.last_name, e.salary, e.commission_pct, d.department_name, j.job_title, l.city,
l.state_province, c.country_name, r.region_name FROM employees e, departments d, jobs j, locations
l, countries c, regions r WHERE e.department_id = d.department_id AND d.location_id =
l.location_id AND l.country_id = c.country_id AND c.region_id = r.region_id AND j.job_id =
e.job_id

Creando el índex:
Consulta luego de haber creado el índex:

SELECT e.employee_id, e.job_id, e.manager_id, e.department_id, d.location_id,l.country_id,


e.first_name, e.last_name, e.salary, e.commission_pct, d.department_name, j.job_title, l.city,
l.state_province, c.country_name, r.region_name FROM employees e, departments d, jobs j, locations
l, countries c, regions r WHERE e.department_id = d.department_id AND d.location_id =
l.location_id AND l.country_id = c.country_id AND c.region_id = r.region_id AND j.job_id =
e.job_id AND e.last_name=’De Haan’

 Checkpoint Process (CKPT)


El CKPT permita generar los segmentos de undo de transacciones no comprometidas cuando se realice
una recuperación incompleta. También si en la escritura del checkpoint hay transacciones que no se
habían terminado de escribir en disco se escriben, se actualiza la cola de transacciones activas y un
grupo de redo log que estaba activo podría pasar a inactivo. (Arrayan, 2009)

 Archiver Processes (ARCn)


El ARCn copia los archivos de redo log llenos a un espacio de almacenamiento distinto para no
perderlos al ser sobreescritos. En Oracle 10g para colocar la base de datos en modo archive basta con
colocarla en modo ARCHIVELOG y especificar los destinos de "archive". En Oracle 10g al poner una
base de datos en modo ARCHIVELOG automáticamente se coloca en el modo automático. (Arrayan,
2009)
 SYSAUX
El espacio de tablas (tablespace) SYSAUX proporciona almacenamiento de tablas e índices no
relacionados con el sistema que tradicionalmente se ubicaban en el espacio del SISTEMA. Por ejemplo,
las tablas y los índices que anteriormente eran propiedad del usuario del sistema ahora se pueden
especificar para un espacio de tabla SYSAUX.
Si el espacio de tabla SYSAUX deja de estar disponible, la funcionalidad de la base de datos central
seguirá operativa. Las características de la base de datos que usan el tablespace SYSAUX pueden fallar
o funcionar con capacidad limitada.
El tablespace SYSAUX es requerido en todas las nuevas bases de datos 10g.

 Tablespaces temporales
Los espacios de tabla temporales se usan para operaciones especiales, particularmente para clasificar
resultados de datos en disco y para uniones hash en SQL. Para SQL con millones de filas devueltas, la
operación de clasificación es demasiado grande para el área de RAM y debe ocurrir en el disco. El
tablespace temporal es donde ocurre esto.

Cada base de datos debe tener un espacio de tabla temporal que se crea cuando se crea la base de datos.
Puede crear, eliminar y administrar espacios de tabla con crear espacio de tabla temporal, soltar espacio
de tabla temporal y modificar los comandos de espacio de tablas temporales, cada uno de los cuales es
como crear una contrapartida de espacio de tabla.

La única otra diferencia es que un tablespace temporal usa archivos temporales (también llamados
archivos temporales) en lugar de archivos de datos normales. Por lo tanto, en lugar de utilizar la palabra
clave datafiles, utiliza la palabra clave tempfiles al emitir un comando create, drop o alter tablespace.

 ASM STORAGE
Es un administrador de volúmenes y también un sistema de archivos para bases de datos de tipo Oracle
que admite configuraciones de base de datos de una sola instancia. Es la solución de administración de
almacenamiento recomendada por Oracle que funciona como alternativa a los administradores de
volúmenes comunes y sistemas de archivos carentes de formato o tipificación.
Gracias al ASM puede quitar discos de un grupo de discos mientras la base de datos continúa accediendo
al grupo de discos. Cuando adiciona o elimina un disco ASM reorganiza el contenido del archivo de
manera automática y evita de esta manera el tiempo de inactividad que se gasta en dicha tarea.
ASM reduce la carga administrativa para gestionar el almacenamiento de la base de datos al consolidar
el almacenamiento de datos en una pequeña cantidad de grupos de discos. Esto le permite consolidar el
almacenamiento de múltiples bases de datos y proporcionar un mejor rendimiento de E / S.

 Estructura de memoria

La memoria se puede estructurar en las siguientes partes:

 Área Global del sistema (SGA), la cual se comparte entre todos los servidores y los procesos en
segundo plano.
 Áreas globales de programas (PGA), que es privada para cada servidor y proceso en segundo planos; a
cada proceso se asigna un PGA.
 Área de Ordenaciones (Sort Areas).
 Memoria Virtual
 Área de código de Software (SCA). (Arrayan, 2009)

 Temp Tablespace:

El tablespace Temporal dentro del Contenedor ROOT es obligatorio. Soporta la actividad temporal de
todos los PDBs, incluyendo el contenedor Root. Sin embargo, si un PDB no tiene definido su propio
tablespace temporal, utilizará el tablespace temporal del contenedor ROOT. (Heli, 2015)

 System Tablespace:

El contenedor Root almacena toda la metadata necesaria para soportar la arquitectura CDB. Toda la
metada es almacenada en los tablespaces System del contenedor Root. (Heli, 2015)

 Undo

Principalmente tiene los siguientes tres usos:


 Deshacer los datos en nuestra transacción cuando ejecutamos el comando ROLLBACK
Cuando ejecutamos un rollback, los registros de Undo son usados para deshacer los cambios en
la Base de Datos a nuestra transacción que no ha efectuado un commit.
 Poder tener consistencia de lectura de datos
Oracle utiliza los registros de tipo Undo para mantener una imagen consistente de los datos,
mientras son modificados por otro usuario.
 Recuperar la Base de Datos (Heli, 2015)

Los registros de tipo Undo son usados en la recuperación de la Base de Datos, para deshacer cualquier
cambio en nuestros datos a los que no se haya efectuado commit y se encuentre en los datafiles. (Heli,
2015)
 Users

Los tipos de usuarios y sus roles y responsabilidades dependen del sitio de la base de datos. Un sitio
pequeño puede tener un administrador de base de datos que administre la base de datos para
desarrolladores y usuarios de aplicaciones. Un sitio muy grande puede encontrar necesario dividir los
deberes de un administrador de base de datos entre varias personas y entre varias áreas de
especialización.

Conclusiones
El estudio del funcionamiento general de una base de datos y su configuración permitirá al administrador
adaptar la base a sus necesidades. Conocer los parámetros adecuados como la recuperación de datos o la
creación de usuarios hacen el trabajo más sencillo.
También este tipo de parámetros permitirán la economización de espacio y recursos del computador.

Bibliografía
[1]Abrahan Silberschatz, H. F. (2007). Fundamentos de diseño de base de datos. Madrid: Mc Graw Hill.
[2]Arrayan. (2009). ESTRUCTURA DE LA MEMORIA Y LOS PROCESOS.
[3] http://ora.u440.com/dba/explain%20plan.html
[4] https://www.adictosaltrabajo.com/tutoriales/uso-de-la-sentencia-explain-en-mysql/#01
[5]Heli, H. (2015). ORACLE SQL DEVELOPER DATA MODELER FOR DATABASE DESING
MASTERY.
[6] Silberschatz, K. S. (2014). FUNDAMENTOS DE BASES DE DATOS. MADRID: Mc Graw Hill
Education.

Vous aimerez peut-être aussi