Arquitectura Oracle Database

Começar. É Gratuito
ou inscrever-se com seu endereço de e-mail
Arquitectura Oracle Database por Mind Map: Arquitectura Oracle Database

1. Bases de Datos e Instancias

1.1. Bases de datos

1.1.1. Una Base de Datos Oracle es un conjunto de datos almacenado y accesible según el formato de tablas relacionales. Una tabla relacional tiene un nombre y unas columnas, su definición. Los datos están almacenados en las filas. Las tablas pueden estar relacionadas con otras.

1.2. Espacios de Tablas

1.2.1. Un espacio de tablas es una división lógica de la BD. Cada BD tiene al menos uno (SYSTEM). Los espacios de tablas se utilizan para mantener juntos los datos de usuarios o de aplicaciones para facilitar su mantenimiento o mejorar las prestaciones del sistema.

1.3. Ficheros

1.3.1. Cada espacio de tablas se compone de uno o más ficheros en disco. Un fichero puede pertenecer sólo a un espacio de tablas. Los ficheros reciben un tamaño fijo en el momento de su creación, y cuando se necesita más espacio se deben añadir más ficheros a espacio de tablas.

1.4. Instancias

1.4.1. Una instancia de BD es el conjunto de estructuras de memoria y de procesos que acceden a los ficheros de datos. Para permitir el acceso a los datos, Oracle utiliza un conjunto de procesos que son compartidos por todos los usuarios.

2. Estructura Interna de la BD

2.1. Tablas y Columnas

2.1.1. Los datos son almacenados en la BD utilizando tablas.

2.2. Restricciones de Tablas

2.2.1. Una tabla puede tener asociadas restricciones que deben cumplir todas las filas.

2.3. Usuarios

2.3.1. Una cuenta de usuario no es una estructura física de la BD, pero está relacionada con los objetos de la BD: los usuarios poseen los objetos de la BD.

2.4. Esquemas

2.4.1. El conjunto de objetos de un usuario es conocido como esquema.

2.5. Indices

2.5.1. Un índice es una estructura de la BD utilizada para agilizar el acceso a una fila de una tabla.

2.6. Clusters

2.6.1. Las tablas que son accedidas juntas frecuentemente pueden ser almacenadas juntas. Para ello se crea un cluster. De este modo se minimiza el número de E/S.

2.7. Vistas

2.7.1. Conceptualmente, una vista puede considerarse como una máscara que se extiende sobre una o más tablas, de modo que cada columna de la vista se corresponde con una o más columnas de las tablas subyacentes.

2.8. Secuencias

2.8.1. Las definiciones de secuencias se almacenan en el diccionario de datos. Son mecanismos para obtener listas de números secuenciales.

2.9. Procedimientos y Funciones

2.9.1. Un procedimiento es un bloque de código PL/SQL, que se almacena en el diccionario de datos y que es llamado por las aplicaciones.

2.10. Paquetes/Packages

2.10.1. Se utilizan para agrupar procedimientos y funciones.

2.11. Disparadores/Triggers

2.11.1. Son procedimientos que son ejecutados cuando se procude un determinado evento en la BD. Se pueden utilizar para mejorar y reforzar la integridad y la seguridad de la BD.

2.12. Sinonimos

2.12.1. Para identificar completamente un objeto dentro de una BD se necesita especificar el nombre de la máquina, el nombre del servidor, el nombre del propietario y el nombre del objeto.

2.13. Privilegios y Roles

2.13.1. Para que un objeto pueda ser accedido por un usuario debe de tener otorgado ese privilegio. Ejemplos de privilegios son INSERT, SELECT, UPDATE, EXECUTE, etc. Los roles son grupos de privilegios que pueden ser utilizados para facilitar la gestión de los privilegios.

2.14. Segmentos, Extensiones y Bloques

2.14.1. Como los segmentos son entidades físicas, deben estar asignados a espacios de tablas en la BD y estarán localizados en uno de los ficheros de datos del espacio de tablas. Un segmento está constituido por secciones llamadas extensiones, que son conjuntos contiguos de bloques Oracle.

2.15. Segmento de Rollback

2.15.1. Para mantener la consistencia en lectura y permitir deshacer las transacciones, Oracle debe tener un mecanismo para reconstruir la imágen previa a una transacción incompleta.

3. Ciclos de Ejecucion

3.1. Lectura

3.1.1. Las sentencias de lectura siguen el siguiente ciclo:

3.1.2. 1.El proceso cliente pasa la sentencia SQL (SELECT) al proceso servidor por medio de la SGA.

3.1.3. 2.Los procesos del servidor buscan en la zona de SQL compartido una versión ejecutable de la sentencia. Si la encuentran no tienen que procesarla.

3.1.4. 3.Se procesa la sentencia SQL y su versión ejecutable se coloca en la zona de SQL compartido.

3.1.5. 4.El proceso del servidor intenta leer los bloques de datos de la SGA. Si no están, se han de leer del fichero de datos. Si los bloques están en la SGA pero han sido modificados por otro usuario y esa modificación no ha sido validada aún, el proceso de servidor debe reconstruir la imagen de la fila a partir de los segmentos de rollback, para conseguir consistencia en lectura.

3.1.6. 5.El proceso servidor pasa los datos solicitados al proceso cliente.

3.2. Actualizacion

3.2.1. Las sentencias de actualización siguen el siguiente ciclo:

3.2.2. 1.El proceso cliente pasa la sentencia SQL (UPDATE) al proceso servidor por medio de la SGA.

3.2.3. 2.Los procesos del servidor buscan en la zona de SQL compartido una versión ejecutable de la sentencia. Si la encuentran no tienen que procesarla.

3.2.4. 3.Se procesa la sentencia SQL y su versión ejecutable se coloca en la zona de SQL compartido.

3.2.5. 4.El proceso del servidor intenta leer los bloques de datos de la SGA. Si no están, se han de leer del fichero de datos.

3.2.6. 5.Se registra el valor antiguo de los datos en un segmento de rollback y se crea un registro redo log.

3.2.7. 6.Se crea una copia de la transacción en un registro redo log.

3.2.8. 7.Se ejecuta la sentencia SQL modificando los datos, y se crea un registro redo log que así lo refleja.

3.2.9. 8.El proceso usuario valida la transacción (COMMIT), registrandose en un registro redo log.

3.2.10. 9.El LGWR escribe los buffers del redo log en el disco.

3.2.11. 10.El servidor indica al cliente que la operación ha sido completada de manera satisfactoria.

3.2.12. 11.Se registra la terminación de la transacción en un registro redo log.

3.2.13. 12.Se libera la información del rollback, pues ya no va a necesitarse.

4. Configuracion

4.1. Codigo Oracle

4.1.1. Cuando el software Oracle se instala en un sistema, se crean subdirectorios y ficheros, dependientes todos ellos del S.O. Todos estos subdirectorios contienen ficheros ejecutables y scripts que son cruciales para el funcionamiento y la administración del SGBD, y es lo que se conoce por el código Oracle. Entre ellos, una herramienta nos va a ser fundamental en las tareas de adminstración y puesta en marcha de la BD: server manager, svrmgr. Con ella son convertiremos en DBA, y para ejecutarla deberemos ser sus propietarios. La sentencia es la siguiente: SVRMGR> connect internal Connected. Todas las operaciones de administración deben comenzar por conectarse a la BD.

4.2. Configuracion de la BD

4.2.1. Mientras se diseña la BD hay que considerar la posible recuperacion de una caida, y las prestaciones de la BD, relacionando todo esto con las necesidades de la implantacion y los medios disponibles. La configuracion de la BD esta relacionada con los ficheros de control, los ficheros redo log activos y los archivados.

5. Creacion de una BD

5.1. A continuacion se muestran los scripts de creacion de una BD llamada demo. Este conjunto de scripts es:

5.2. crdbdemo.sql

5.3. Script de creacion de la BD llamada demo. Antes de ejecutarlo hay que asegurarse que los path en el referenciados sean consecuentes con la implantacion. Ademas la variable ORACLE_SID debe ser puesta a demo

5.4. configdemo.ora

5.5. Script con los parametros de configuracion basicos. Estos parametros no suelen cambiar. Este fichero es incluido en initdemo_0.ira y en initdemo.ora.

5.6. initdemo_0.ora

5.7. Script con los parametros de configuracion iniciales. Se utilizaron solo en la fase de creacion de la BD.

5.8. initdemo.ora

5.9. Script con los parametros de configuracion.