Descargar la presentación
La descarga está en progreso. Por favor, espere
1
Sistemas Gestores de Bases de Datos
Administración de Sistemas Gestores de Bases de Datos Tema 2: Fundamentos de Administración de ORACLE Raúl Ruiz Padilla Septiembre 2011
2
© Raúl Ruiz Padilla, Septiembre de 2011
Algunos derechos reservados. Este artículo se distribuye bajo la licencia “Reconocimiento-CompartirIgual 3.0 España" de Creative Commons, disponible en Este documento (o uno muy similar) esta disponible en (o enlazado desde)
3
Índice 1. Descripción de la arquitectura interna de ORACLE.
1.1. Espacios de tablas y archivos. 1.2. Estructuras de Memoria. 1.3. Procesos. 1.4. Funcionamiento SELECT 1.5. Funcionamiento UPDATE 2. El diccionario de datos de ORACLE 3. Instalación, configuración y optimización de una instancia de ORACLE.
4
1. Arquitectura interna de ORACLE. 1.1. Archivos
Archivos de configuración Archivos de texto. Contienen, entre otras cosas, la configuración con la que arranca ORACLE. Archivos de control Archivos .CTL, se consultan mediante vistas dinámicas (v$) y solo son modificados por el servidor. Mantienen la integridad de la BD. Se mantienen tres copias. Archivos de datos Almacenan las tablas, el diccionario de datos y el segmento de rollback. Hay algunos por defecto. Se pueden crear más. Asociados a los tablespaces. Archivos de diario o de transacciones (logs) Se registran todos los cambios producidos en los datos. Se mantienen tres copias. Actividad: Busca en tu disco los distintos archivos mencionados.
5
1. Arquitectura interna de ORACLE. 1.2. Memoria.
En ORACLE hay dos estructuras de memoria a considerar: SGA (System Global Area) y PGA (Process Global Area) PGA Usada por un único proceso usuario de la BD. Contiene: Área de ordenación SQL Información de la sesión Estado de la sentencia actual
6
1. Arquitectura interna de ORACLE. 1.2. Memoria (II).
SGA Usada por los procesos del servidor para comunicarse. Contiene: Shared Pool (caché de instrucciones y de D.D.) Data Buffer (caché de datos) Redo Log Buffer Java Pool Large Pool (opcional, para copias de seguridad y recuperaciones). El tamaño de cada área se puede modificar, para mejorar el rendimiento de nuestra BD.
7
1. Arquitectura interna de ORACLE 1.3. Procesos
DBWR (Database Writer): Gestiona buffer de datos. LGWR (Log Writer): Gestiona buffer de redo. CKPT (Checkpoint): Sincroniza buffer y archivos de datos. SMON (System Monitor): Actúa en la recuperación de instancias y compacta archivos de datos. PMON (Process Monitor): Limpia recursos de procesos fallidos. ARCH (Archiver): Archiva los ficheros de redo cuando se llenan. Opcional. RECO (Recoverer): Sólo para BD distribuidas.
8
1. Arquitectura interna de ORACLE 1.4. Funcionamiento SELECT
9
1. Arquitectura interna de ORACLE 1.4. Funcionamiento SELECT (I)
El proceso de usuario pasa la petición al servidor (request queue). Se reserva PGA. Se busca en la caché de instrucciones del Shared Pool una versión ejecutable de la sentencia (plan de ejecución). Si está, ir al paso 4. Si no está, se “compila” siguiendo estos pasos: Comprobar sintaxis de la instrucción. Comprobar existencia de tablas y columnas mirando la caché del DD existente en el Shared Pool o, si no está, en el propio DD, cargándolo después en dicha caché. Se bloquea la definición de los objetos involucrados para evitar cambios mientras se sirve la instrucción. Comprobar privilegios del usuario para acceso a los datos. Realiza el plan de ejecución y lo guarda en el Shared Pool, junto con el texto de la instrucción.
10
1. Arquitectura interna de ORACLE 1.4. Funcionamiento SELECT (II)
Busca los datos requeridos en la caché de datos (database buffer). Si no están, el proceso DBWR los leerá de disco y los cargará en la caché mencionada. Se envían los datos al proceso de usuario. (response queue). En el caso de la SELECT todo es muy sencillo porque no se puede hacer ROLLBACK ni es necesario realizar un REDO en ningún caso. Veamos ahora el funcionamiento de una sentencia UPDATE...
11
1. Arquitectura interna de ORACLE 1.5. Funcionamiento UPDATE
Se realizan los tres primeros pasos de la SELECT: pasa la petición al servidor, se compila si es necesario y se cargan los datos originales en el database buffer si no estaban allí. Se bloquean las filas afectadas. Se guardan los valores “antiguos” en el segmento de ROLLBACK por si hay que deshacer. Se añade la instrucción al Redo Log Buffer por si hay que volver a realizar la operación tras restaurar un backup. Se escriben los valores nuevos de los datos en el database buffer. Cuando se haga un Commit, se pasan los valores que se han modificado del buffer de datos a disco. Se borra del segmento de ROLLBACK la información relacionada.
12
2. El diccionario de datos. Generalidades
El diccionario de datos contiene tablas con información sobre todos los objetos existentes en nuestra base de datos o sobre el funcionamiento de la base de datos en el momento actual (vistas dinámicas). Solo el usuario SYS puede cambiar a mano el contenido del diccionario de datos, pero se desaconseja en cualquier circunstancia. Sólo el propio ORACLE debe modificarlo. Los usuarios pueden consultar dicha información usando tres tipos de vistas predefinidas. USER_xxxx: Información sobre los objetos que son propiedad del usuario. ALL_xxxx: Información sobre los objetos sobre los que el usuario tiene permisos. DBA_xxxx: Información sobre todos los objetos de la BD.
13
2. El diccionario de datos. Consultas
Para consultar el diccionario de datos se puede usar una aplicación (como la consola web de administración) o se pueden escribir consultas desde línea de comandos (más posibilidades). Así, además de dominar perfectamente SQL, un DBA debe conocer las vistas que existen sobre el diccionario de datos y ser capaz de averiguar el significado de cada campo de la vista. Habitualmente, se seleccionan sólo las columnas y las filas de interés, en lugar de mostrar la vista completa.
14
2. El diccionario de datos. Estructura completa
Para obtener un listado de todas las vistas del diccionario de datos, hay que consultar el propio diccionario de datos: select view_name from dba_views where owner = 'SYS'; Dependiendo de las opciones de instalación de ORACLE, el diccionario puede llegar a tener varios miles de vistas. Para conocer la utilidad de cada vista y el significado de cada columna, podéis consultar la documentación online de ORACLE (Database Reference) o ss64.com/orad
15
2. El diccionario de datos. Vistas dinámicas de rendimiento
Para ver el valor actual de un parámetro de inicialización de arranque se puede usar el comando SHOW PARAMETER Las vistas dinámicas se van actualizando en tiempo real y dan información sobre el uso de disco, memoria, CPU... Algunas son: V$SGA: Información sobre la SGA. V$OPTION: Opciones con que se instaló ORACLE. V$SESSION: Información de la sesión actual. V$PROCESS: Información de los procesos activos. V$INSTANCE: Estado general de la instancia.
16
3. Instalación, configuración y optimización de una instancia. init
3. Instalación, configuración y optimización de una instancia. init.ora ó spfile.ora Instancia: Base de datos en ejecución. init.ora: Fichero de texto con los parámetros de configuración del arranque de ORACLE. Puede modificarse desde la consola web, editando el fichero o con una orden: ALTER SYSTEM SET param = valor. spfile.ora: Desde la versión 9, no puede editarse directamente. Algunos parámetros se pueden modificar en caliente, pero otros requieren un rearranque de la BD. Los principales parámetros que se tocan normalmente son: DB_CACHE_SIZE, SHARED_POOL_SIZE, PGA_AGGREGATE_TARGET, DB_BLOCK_SIZE, DB_NAME, OPEN_CURSORS, PROCESSES, CONTROL_FILES, etc...
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.