2. ORACLE
Oracle es una base de Datos Fácil de gestionar, una de las
características de su funcionalidad son las siguientes:
Particionamiento
Clusters
Oracle Enterprise Manager
Seguridad
Tareas de un DBA:
Planificar y crear bases de datos
Gestionar la disponibilidad de la base de datos
Gestionar las estructuras físicas y lógicas
Gestionar el almacenamiento basándose en el diseño
Gestionar la seguridad
Administración de la red
Copia de seguridad y recuperación
Ajuste de la base de datos
UNIVERSIDAD TECNOLÓGICA ISRAEL
EDWIN P. ZAMORA
3. Visión General de los Componentes
Principales
ORACLE SERVER
EXISTEN VARIOS ARCHIVOS, PROCESOS Y
ESTRUCTURAS DE MEMORIA EN ORACLE SERVER
CUANDO SE PROCESA UNA SENTENCIA SQL NO SE
UTILIZAN TODOS. ALGUNOS SE UTILIZAN PARA
MEJORAR EL RENDIMIENTO DE LA BASE DE DATOS.
ORACLE SERVER ESTÁ FORMADO POR UNA
INSTANCIA Y UNA BASE DE DATOS ORACLE.
UNIVERSIDAD TECNOLÓGICA ISRAEL
EDWIN P. ZAMORA
4. Visión General de los Componentes
Principales
.
INSTANCIA ORACLE
UNA INSTANCIA ORACLE ES UN MEDIO
DE ACCESO A UNA BASE DE DATOS
ORACLE POR LA QUE SIEMPRE ABRE
UNA ÚNICA BASE DE DATOS, LA CUAL
ESTÁ FORMADA POR ESTRUCTURAS DE
PROCESOS EN SEGUNDO PLANO Y DE
MEMORIA
UNA INSTANCIA ORACLE SE COMPONE
DE LA ESTRUCTURA DE LA MEMORIA
SGA (ÁREA GLOBAL DEL SISTEMA) Y DE
LOS PROCESOS EN SEGUNDO PLANO
QUE SE UTILIZAN PARA GESTIONAR
UNA BASE DE DATOS. LA INSTANCIA
SÓLO PODRÁ ABRIR Y UTILIZAR UNA
BASE DE DATOS A LA VEZ.
UNIVERSIDAD TECNOLÓGICA ISRAEL
EDWIN P. ZAMORA
5. Visión General de los Componentes
Principales
ESTABLECIMIENTO DE UNA CONEXIÓN Y CREACIÓN
DE UNA SESIÓN
PARA QUE LOS USUARIOS PUEDAN EJECUTAR
SENTENCIAS SQL EN UNA BASE DE DATOS
ORACLE, SE DEBEN CONECTAR A UNA INSTANCIA.
• EL USUARIO INICIA UNA HERRAMIENTA COMO
SQL*PLUS, O BIEN EJECUTA UNA APLICACIÓN
CREADA EN ORACLE FORMS. SE EJECUTA COMO UN
PROCESO DE USUARIO.
• EN LA CONFIGURACIÓN MÁS BÁSICA, CUANDO UN
USUARIO SE CONECTA A ORACLE SERVER, SE CREA
UN PROCESO, SE LE LLAMA PROCESO DE SERVIDOR.
EL PROCESO DE SERVIDOR SE COMUNICARÁ CON LA
INSTANCIA ORACLE EN NOMBRE DEL PROCESO DE
USUARIO EN EL CLIENTE. EL PROCESO DE SERVIDOR
EJECUTA LAS SENTENCIAS SQL EN NOMBRE DEL
USUARIO.
UNIVERSIDAD TECNOLÓGICA ISRAEL
EDWIN P. ZAMORA
6. Conexión
Un usuario de base de datos se puede conectar a Oracle Server de tres formas:
•El usuario se conecta al sistema operativo ejecutando la instancia Oracle accede a
la base de datos en ese sistema. Se establece la comunicación del procesos
disponibles en el sistema operativo del host.
• El usuario inicia la aplicación o la herramienta en un equipo local y se conecta a
través de la red al equipo que ejecuta la instancia Oracle, cliente-servidor, el
software de red se utiliza para establecer la comunicación entre el usuario y Oracle
Server.
• En una conexión de tres capas, el equipo del usuario se comunica a través de la
red con un servidor de aplicaciones o de red, que se conecta a través de una red a la
máquina que ejecuta la instancia Oracle.
Sesiones
Una sesión es una conexión específica de un usuario a Oracle Server. La sesión se
inicia cuando Oracle Server valida al usuario, y finaliza cuando el usuario se
desconecta o cuando se produce una terminación anormal. Un usuario de base de
datos determinado puede realizar muchas sesiones simultáneas si dicho usuario se
conecta desde distintas herramientas, aplicaciones o terminales al mismo tiempo.
UNIVERSIDAD TECNOLÓGICA ISRAEL
EDWIN P. ZAMORA
7. Base de Datos Oracle
El objetivo general de una base de datos es el de almacenar y recuperar la
información relacionada. Una base de datos Oracle tiene una estructura lógica y
una física.
La estructura física de la base de datos es el juego de archivos del sistema operativo
en la base de datos.
Una base de datos Oracle consta de tres tipos de archivos.
• Los archivos de datos que contienen los datos reales de la base de datos
• Los archivos redo log que contienen un registro de los cambios efectuados en la
base de datos para activar la recuperación de los datos en caso de fallos
• Los archivos de control que contienen la información necesaria para mantener y
verificar la integridad de la base de datos
UNIVERSIDAD TECNOLÓGICA ISRAEL
EDWIN P. ZAMORA
8. Otras Estructuras de Archivos Clave
Oracle Server también utiliza otros archivos que no forman parte de la
base de datos:
• El archivo de parámetros define las características de una instancia
Oracle.
• El archivo de contraseñas autentica los usuarios con privilegios para
iniciar y cerrar una instancia Oracle.
• Los archivos redo log archivados son copias offline de los archivos
redo log online que pueden ser necesarios para recuperarse de los
fallos del medio físico.
Estructura Física
La estructura física incluye tres tipos de archivos:
• Archivos de control
• Archivos de datos
• Archivos redo log online
UNIVERSIDAD TECNOLÓGICA ISRAEL
EDWIN P. ZAMORA
9. Estructura de la memoria
La estructura de la memoria de Oracle está formada por dos áreas de
memoria llamadas:
• SGA (Área Global del Sistema): Asignada al iniciar la instancia y
componente fundamental de una instancia Oracle
• PGA (Área Global de Programas): Asignada al iniciar el proceso de
servidor
Área Global del Sistema
El área SGA está formada por varias estructuras de la memoria:
– Conjunto Compartido
– Caché de Buffers de Base de Datos
– Buffer de Redo Log
– Otras estructuras (por ejemplo, gestión de bloqueos y bloqueos
internos, datos estadísticos)
Existen dos estructuras de la memoria adicionales que se pueden
configurar desde el SGA:
– Conjunto Grande
– Conjunto Java
UNIVERSIDAD TECNOLÓGICA ISRAEL
EDWIN P. ZAMORA
10. SGA Dinámica
Oracle9i, SGA dinámica implementa una infraestructura que permite modificar la
configuración del SGA sin cerrar la instancia. Asimismo, esto permite modificar el
tamaño de la caché de buffers de base de datos, del conjunto compartido y del conjunto
grande sin cerrar la instancia.
Especificación del Tamaño del SGA
El tamaño del área SGA lo determinan varios parámetros de inicialización. Los
parámetros que afectan al tamaño del área SGA en mayor medida son:
DB_CACHE_SIZE: Tamaño de la caché de bloques estándar. El valor por
defecto es de 48 MB para UNIX y 52 MB para NT.
LOG_BUFFER: Número de bytes asignados al buffer de redo log
SHARED_POOL_SIZE: Tamaño en bytes del área dedicada a SQL
compartido y a PL/SQL. El valor por defecto es 16 MB. Si se trata de 64
bits, el tamaño por defecto es de 64 MB.
UNIVERSIDAD TECNOLÓGICA ISRAEL
EDWIN P. ZAMORA
11. LARGE_POOL_SIZE: Tamaño del conjunto grande. El valor por defecto es
cero (excepto si el parámetro PARALLEL_AUTOMATIC_TUNING de
init.ora se define en TRUE, en cuyo caso se calcula automáticamente el
valor por defecto.)
JAVA_POOL_SIZE: Tamaño del conjunto Java. El valor por defecto es 24
MB. Por lo tanto, el tamaño del área SGA no puede superar el especificado
en SGA_MAX_SIZE menos los valores de
DB_CACHE_SIZE, LOG_BUFFER, SHARED_POOL_SIZE, LARGE_POOL_S
IZE y JAVA_POOL_SIZE.
UNIVERSIDAD TECNOLÓGICA ISRAEL
EDWIN P. ZAMORA
12. Library cache - Caché de Biblioteca
Permite almacenar información acerca de las sentencias SQL y PL/SQL utilizadas más
recientemente, también permite compartir las sentencias utilizadas con mayor
frecuencia, esto se lo realiza por medio de un algoritmo LRU (utilizado menos
recientemente)
Está formado por dos estructuras:
– Área de SQL compartido
– Área de PL/SQL compartido
Redo log buffer - Buffer de Redo Log
En este espacio se registra todos los cambios realizados en los bloques de datos de la
base de datos, su finalidad principal es la recuperación, los cambios registrados dentro
de éste se llaman registros de redo, los registros de redo contienen información que
permite reconstruir o rehacer cambios, el tamaño está definido por LOG_BUFFER
UNIVERSIDAD TECNOLÓGICA ISRAEL
EDWIN P. ZAMORA
13. Contenido del PGA
El contenido de la memoria PGA varía en función de si la instancia se
ejecuta en una configuración de servidor dedicado o de servidor
compartido.
• Área SQL privada: Contiene datos, como información ligada y
estructuras de memoria de tiempo de ejecución. Cada sesión que emite
una sentencia SQL tiene un área SQL privada. Cada usuario que
ejecuta la misma sentencia SQL tiene su propia área SQL privada que
utiliza una única área de SQL compartido. Por tanto, muchas áreas
SQL privadas se pueden asociar a la misma área de SQL compartido.
El área SQL privada de un cursor se divide en dos áreas:
UNIVERSIDAD TECNOLÓGICA ISRAEL
EDWIN P. ZAMORA
14. Área persistente: Contiene información ligada y sólo se libera cuando se cierra el cursor.
o Área de tiempo de ejecución: Creada como primer paso de una solicitud de ejecución.
Para los comandos INSERT, UPDATE y DELETE, esta área se libera una vez ejecutada
la sentencia. En el caso de las consultas, esta área se libera sólo cuando se han
recuperado todas las filas o se ha cancelado la consulta.
UNIVERSIDAD TECNOLÓGICA ISRAEL
EDWIN P. ZAMORA
15. Procesos de Usuario
Programa que solicita interacción con Oracle Server, donde se debe establecer primero
una conexión y que no interactúa directamente con Oracle Server.
Procesos de Servidor
Son Programas que interactúan directamente con Oracle Server, que cumplen las
llamadas generadas y devuelven resultados, que pueden ser un servidor dedicado o
compartido.
Estructura Lógica.
Establece el modo de uso del espacio físico de una base de datos respetando la Jerarquía
formada por tablespaces, segmentos, extensiones y bloques
UNIVERSIDAD TECNOLÓGICA ISRAEL
EDWIN P. ZAMORA
16. DBWn (Escritor de Base de Datos)
DBWn escribe así:
• Se produce un punto de control
• Los buffers sucios alcanzan el umbral
• No hay ningún buffer libre
• Se produce un timeout
• Se realiza un solicitud de sondeo RAC
• Tablespace OFFLINE
• Tablespace READ ONLY
• Tabla DROP o TRUNCATE
• Tablespace BEGIN BACKUP
LGWR (Escritura de Logs)
LGWR escribe:
• En la validación
• Si se llena a un tercio de su capacidad
• Si hay 1 MB de redo
• Cada tres segundos
• Antes de que escriba DBWn
Tablespaces
Los datos de una base de datos Oracle se almacenan en tablespaces.
• Una base de datos Oracle se puede agrupar de forma lógica en áreas lógicas más pequeñas
de espacio conocidas como tablespaces.
• Un tablespace sólo puede pertenecer a una base de datos a la vez.
• Cada tablespace está formado por uno o más archivos del sistema operativo, que reciben el
nombre de archivos de datos.
• Un tablespace puede tener uno o más segmentos.
• Los tablespaces se pueden poner en línea mientras se está ejecutando la base de datos.
• Excepto en el caso del tablespaceSYSTEMo un tablespace con un segmento de deshacer
activo, los tablespaces se pueden poner offline y dejar que la base de datos se siga ejecutando.
• Los tablespaces pueden cambiar entre un estado de lectura y escritura y de sólo lectura
UNIVERSIDAD TECNOLÓGICA ISRAEL
EDWIN P. ZAMORA