(Microsoft PowerPoint - Pr\341ctica 2.

Transcripción

(Microsoft PowerPoint - Pr\341ctica 2.
Oracle Database 10g: Taller de Administración I 1-2
Estructuras lógicas y físicas de la BD
Bloque de Datos Oracle: Es el nivel lógico más fino de granularidad, donde se almacenan los datos de la BD. Un bloque de datos se
corresponde con un número concreto de bytes de la BD en disco (i.e, un número de bloques del SO).
Extensiones: Número específico de bloques de datos contiguos (obtenidos a la vez en una única asignación) que se utilizan para
almacenar un tipo concreto de información.
Segmentos: Conjunto de extensiones asignadas a una estructura lógica (tabla, índice) concreta.
La BD Oracle realiza la gestión dinámica del espacio de la BD. Cuando las extensiones de un segmento están ocupadas, se añaden
extensiones adicionales. Dado que las extensiones se asignan cuando son necesarias, las extensiones de un segmento no son
necesariamente contiguas en el disco.
Esquemas: Colección de objetos que son propiedad de un usuario de la BD. Los objetos del esquema son estructuras lógicas como
tablas, vistas, secuencias, procedimientos almacenados, sinónimos o índices. En general, los objetos de los esquemas incluyen todo
lo que la aplicación crea en una BD.
Tablespace: Se compone de uno o más archivos de datos (estructuras físicas que se ajustan al S.O. en el que se está ejecutando
Oracle).
Los datos de una BD se almacenan en conjunto en los archivos de datos que constituyen cada tablespace de la base de datos. Por
ejemplo, la base de datos Oracle más simple tendría un tablespace y un archivo de datos. Otra base de dtos puede tener tres
tablespaces, de modo que uno está compuesto por dos archivos de datos y los otros por tres.
Una única base de datos podría tener hasta 65535 archivos de datos.
Base de datos: Consta de una o más unidades lógicas de almacenamiento denominadas tablespaces, que en conjunto almacenan
todos los datos de la BD.
Oracle Database 10g: Taller de Administración I 1-3
Estructura física de la BD
Los archivos que constituyen una BD Oracle física están organizados del siguiente modo:
• Archivos de datos: Permiten el almacenamiento de datos de usuarios, del diccionario de datos y datos de trabajo (para
manejo de transacciones)
• Archivos redo log en línea: Permiten la recuperación de instancias de la BD ante fallos; estos ficheros registran todos los
cambios realizados sobre los datos y se utilizan en el proceso de recuperación, si ciertos cambios no llegan a grabarse en la
memoria permanente.
• Archivo de control: Permite realizar el seguimiento de la estructura física de la BD. Contiene metadatos, datos sobre la
propia BD, como el nombre de la BD, nombres de ficheros y ubicación de los mismos, o la marca de tiempo con la fecha de
creación de la BD. Este fichero también se necesita en el caso de realizarse operaciones de recuperación.
El archivo de control es crítico en la BD. Sin él no es posible abrir los archivos de datos para acceder a los datos dentro de la
BD.
• Archivo de parámetros: Se utiliza para definir el modo de configurar la instancia cuando se inicie. Estos archivos no son
“visibles” más que para el DBA; sólo él puede crearlos y suprimirlos. El DBA no puede modificar su contenido, porque esta es
una de las tareas de los procesos background de Oracle. En su creación, el DBA puede decidir su nombre, tamaño y
emplazamiento.
• Archivo de Passwords: Permite a los usuarios conectarse remotamente a la BD y realizar tareas administrativas
• Archivos de backup: Se utilizan para tareas de recuperación cuando se produce un error de usuario o leve.
• Archivos archive log: Contienen un historial en curso de los datos de redo generados por la instancia. Estos archivos
permiten la recuperación de la BD; con ellos y una copia de seguridad de la BD puede recuperarse un archivo de datos
perdido.
Oracle Database 10g: Taller de Administración I 1-4
Estructura física de la BD (continuación)
•
Archivos de traza: Todos los procesos asociados a una instancia que se ejecutan en segundo plano tienen un archivo de
traza asociado. Cuando un proceso detecta un error interno, vuelca información sobre el error en su archivo de traza.
Los archivos de traza son muy útiles para tratar de descubrir la causa de un fallo importante.
•
Registros de alerta: Son archivos de traza especiales. Almacenan los comandos, y sus resultados correspondientes,
asociados a los sucesos más importantes que ocurren en la vida de la BD, como la creación de tablespaces, el paso de un
archivo Redo Log a otro, las operaciones de recuperación o los arranques de la BD.
El registro de alertas es una fuente de información fundamental para la gestión cotidiana de una BD.
Oracle Database 10g: Taller de Administración I 1-5
Archivos Redo Log
Los archivos Redo Log (también denominados archivos de registros de reconstrucción en línea) son archivos físicos que recogen las
sucesivas modificaciones producidas en la BD y se utilizan para su restauración cuando hay un fallo. La restauración consiste en la
aplicación de su contenido sobre la BD en el orden adecuado.
Los archivos Redo Log también permiten que Oracle coordine la forma en que se escriben los datos en el disco. Así, cuando se produce
una transacción en la BD, esta se introduce en el buffer de Log mientras que los bloques de datos afectados por la transacción no se
escriben de forma inmediata en el disco.
Un archivo Redo Log está formado por registros denominados registros Redo Log, que contienen los valores de las columnas
(atributos) antes y después de la modificación. El contenido del registro Redo Log es de la forma: Nº Transacción, Fecha/Hora, Estado
(“en curso”, “validada”, “anulada”), Dirección del Atributo (A.de Datos, Bloque, Línea, Columna), Valor antes de la modificación, Valor
después de la modificación.
Toda BD Oracle tiene 3 o más archivos Redo Log. Su utilización es circular. Cuando un archivo Redo Log está lleno, Oracle escribe sobre
el siguiente, y así hasta el último archivo. Cuanto este último está lleno, se retorna y reutiliza el primero, y así sucesivamente.
Existen dos modos de trabajo: modo ArchiveLog o NoArchiveLog. Si la BD está en modo ArchiveLog Oracle hace una copia de seguridad
del archivo Redo Log antes de sobrescribirlo. En caso contrario, Oracle los utiliza “machacando” su contenido sin previa copia de
seguridad. Por defecto, toda BD está en modo NoArchiveLog. El modo Archive Log permite la recuperación a un instante determinado
ante fallos de instancia e incluso de disco. El modo NoArchiveLog está diseñado para protección únicamente frente a fallos de
instancia.
Oracle Database 10g: Taller de Administración I 1-6
Archivos Redo Log (continuación)
Oracle puede mantener copias duplicadas en espejo de todos los archivos Redo Log siempre que se le indique. Esto permite al DBA
duplicar los archivos Redo Log sin necesidad de depender del S.O. o de la funcionalidad que ofrezca el hardware del entorno de
funcionamiento. Para ello, los archivos Redo Log se dividen en grupos, denominados grupos de Redo Log que agrupan un conjunto de
copias de cada archivo Redo Log. Cada grupo de Redo Log está formado, por tanto, por uno o más archivos Redo Log del mismo
tamaño. Cuando se crean, a cada grupo se le asigna un número. Oracle escribe en todos los archivos de cada grupo a un tiempo.
Cuando un archivo Redo Log de un grupo se llena, Oracle continúa escribiendo en los archivos del siguiente grupo. Cuando la BD
funciona en modo ArchiveLog, Oracle sólo guarda un archivo del grupo de Redo Log lleno antes de que el grupo vuelva a usarse.
Se recomienda tener al menos dos miembros (dos archivos Redo Log) en cada grupo de Redo Log. Si Oracle tiene problemas para
escribir en un archivo del grupo, simplemente escribirá en otro miembro del mismo grupo.
También se recomienda que todos los grupos de Redo Log tengan el mismo número de ficheros y, si es posible, deben colocarse los
archivos de cada grupo en discos separados.
Oracle Database 10g: Taller de Administración I 1-7
Archivos de control
Es un archivo físico que mantiene la arquitectura física global de una BD recogiendo los cambios en la estructura de la BD. Se lee al
iniciar la instancia y montar la BD. Las entradas del archivo de control especifican los archivos físicos que componen la BD. Cuando se
agregan archivos adicionales a la BD, el archivo de control se actualiza automáticamente.
Contiene, entre otros, los siguientes registros:
[TIPO = DATABASE]: Información sobre la BD
[TIPO = CKPT PROGRESS]: Mantiene un seguimiento de los checkpoints de cada instancia de la BD
[TIPO = REDO LOG]: Muestra el número de grupos de redo logs asignados actualmente y el máximo para la base de datos
[TIPO = DATAFILE]: Muestra el número de archivos de datos creados en la base de datos y el máximo permitido
[TIPO = FILENAME]: Muestra el número de nombres de archivo almacenados en el archivo de control. Incluye los archivos de datos,
los archivos redo log y los archivos de control
[TIPO = TABLESPACE]: Muestra el número de tablespaces que se pueden crear en la BD
[TIPO = LOG HISTORY]: Muestra el máximo de entradas y las entradas de Redo Log asignadas actualmente
Los archivos de control se utilizan principalmente para conservar la coherencia interna y guiar las operaciones de recuperación. Dado
que son archivos fundamentales para la BD, se almacenan varias copias en línea, que son generadas automáticamente por Oracle y
modificadas al mismo tiempo. Estos archivos suelen almacenarse en discos separados con el fin de minimizar el daño potencial
derivado de los posibles fallos de los discos.
El número y nombre de los archivos de control se puede especificar mediante el parámetro CONTROL_FILES del archivo de
parámetros. Cada BD debería tener un mínimo de 3 copias.
Oracle Database 10g: Taller de Administración I 1-8
Archivos de parámetros de inicialización
Para iniciar una instancia, Oracle debe leer un archivo de parámetros de inicialización. Hay dos tipos de ficheros de parámetros:
•
Fichero de parámetros de servidor: Se trata de un fichero binario que puede ser escrito y leído por el servidor de la BD y no
debe ser editado manualmente. Reside en el servidor donde se está ejecutando Oracle. Se suele denominar
SPFILE<SID>.ORA.
•
Fichero de parámetros de texto: Se trata de un fichero de texto que puede ser leído por el servidor de la BD, pero no se
escribe en el servidor. Las modificaciones del fichero deben realizarse con un editor de textos. Se denomina INIT<SID>.ORA.
Oracle recomienda crear un archivos de parámetros de servidor (SPFILE) como un medio dinámico de mantener los parámetros de
inicialización. El uso de un archivo de parámetros de servidor permite almacenar y gestionar los parámetros de inicialización de
forma persistente en un archivo de disco del lado del servidor. De este modo, los cambios realizados a los parámetros mientras se
está ejecutando una instancia pueden persistir durante el cierre y el inicio de la instancia.
Oracle Database 10g: Taller de Administración I 1-9
Archivo de parámetros de inicialización
Los parámetros pueden clasificarse en:
Parámetros de limitación: ponen límites y cuotas a los usuarios de la BD. Cabe destacar:
OPEN CURSORS: nº máximo de cursores (órdenes SQL) que puede abrir simultáneamente un proceso de usuario.
PROCESSES: nº máximo de procesos que pueden conectarse simultáneamente a una BD (incluyendo los procesos background y el de
conexión)
SESSIONS: nº máximo de sesiones concurrentes que pueden acceder a la BD
TRANSACTIONS: nº máximo de transacciones concurrentes
Parámetros que nombran objetos, archivos y directorios
DB_NAME: nombre interno de la BD
CONTROL_FILES: nombre de los archivos de control y ruta
ROLLBACK_SEGMENTS: nombre de los segmentos de Rollback asignados a la instancia. Si es NULL, la BD utilizará los segmentos de
Rollback públicos.
BACKGROUND_DUMP_DEST: ruta de los archivos de traza de los procesos background
USER_DUMP_DEST: nombre del directorio que contendrá los archivos de traza de los procesos de usuario
LOG_ARCHIVE_DEST: ruta de los archivos ARCHIVELOG
Oracle Database 10g: Taller de Administración I 1-10
Archivo de parámetros (continuación)
Parámetros de Definición de las zonas de memoria asignadas:
DB_BLOCK_BUFFERS: nº de bloques en el buffer de datos y de Rollback
DB_BLOCK_SIZE: tamaño en bytes de un bloque Oracle. No puede modificarse tras la creación de la BD.
LOG_BUFFER: tamaño en bytes del buffer de redo Log.
SHARED_POOL_SIZE: tamaño del pool compartido (una zona de memoria que contiene objetos como cursores compartidos,
procedimientos almacenados o estructuras de control)
SHORT_AREA_SIZE: controla la asignación de zonas de memoria para las actividades de ordenación (order by, group by, create
index). Cuando la BD no puede adquirir bastante memoria para completar la ordenación, el proceso se completa en disco. Un valor
inadecuado de este parámetro produce excesivas ordenaciones en disco.
Parámetros del entorno
AUDIT_TRAIL: si es cierto Oracle traza las auditorías del diccionario
LOG_ARCHIVE_START: si es cierto Oracle archiva los archivos Redo Log llenos sobre un soporte particular
TIMED_STATISTICS: si es cierto, Oracle produce estadísticas del tiempo de ejecución de las sentencias. Las estadísticas son
interesantes en un entorno de pruebas, pero se recomienda desactivarlo en el entorno de producción, dado que repercute en el
rendimiento del sistema.
SQL_TRACE: si es cierto, Oracle realiza la traza del plan de ejecución de cada orden SQL.
Oracle Database 10g: Taller de Administración I 1-11
Oracle Database 10g: Taller de Administración I 1-12
Gestión Automática de Almacenamiento (Automatic Storage Management, ASM)
ASM proporciona una integración vertical del sistema de ficheros y el gestor de volúmenes construido
específicamente para los archivos de datos Oracle. Favorece el uso de máquinas multiprocesador.
Distribuye la carga de entrada/salida entre los recursos disponibles para optimizar el rendimiento, y elimina la
necesidad de realizarlo manualmente. Ayuda al DBA a gestionar el entorno dinámico de la BD, permitiendo
incrementar el tamaño de la BD sin tener que cerrar la BD para ajustar la gestión del almacenamiento.
Puede mantener copias redundantes de los datos aumentando la tolerancia a fallos.
Las capacidades de ASM reducen el tiempo del DBA al automatizar el almacenamiento manual, incrementando así
su capacidad para gestionar BD con mayor tamaño.
Oracle Database 10g: Taller de Administración I 1-13
ASM: Aspectos clave y Beneficios
ASM divide los ficheros en extensiones (diferentes a las extensiones de los archivos de datos indicados
anteriormente) y reparte las extensiones de cada fichero uniformemente a través de todos los discos. Utiliza
índices para localizar la ubicación de cada extensión. Cuando cambia la capacidad de almacenamiento, ASM no
recoloca todos los datos sino que únicamente mueve una cantidad de datos proporcional a la cantidad de
almacenamiento añadido o eliminado para redistribuir uniformemente los ficheros y mantener una carga
balanceada entre discos. Esto se realiza mientras la BD está en estado activo.
Es posible incrementar la velocidad de la operación de balanceo para que finalice antes, o decrementarla para
reducir el impacto en el subsistema de Entrada/Salida.
ASM soporta la mayoría de los tipos de ficheros de Oracle: archivos de datos, archivos de log, archivos de control,
etc.
ASM no elimina ninguna funcionalidad preexistente. Las BDs pueden incluir ficheros tradicionales y ficheros ASM.
Oracle Database 10g: Taller de Administración I 1-14
ASM: Conceptos
El diagrama muestra la relación entre los diferentes componentes de una BD Oracle que usa ASM. En la parte
superior de la jerarquía se encuentran los grupos de discos ASM. Cada fichero ASM se encuentra en un único grupo
de discos. Sin embargo, un grupo de discos puede contener ficheros que pertenezcan a varias BD, y una BD puede
usar almacenamiento de varios grupos de discos.
Un grupo de discos está formado por varios discos ASM, y cada disco ASM pertenece exactamente a un grupo de
discos.
Los ficheros ASM siempre se dividen entre los discos ASM en el grupo de discos. Los discos ASM están
particionados en unidades de ubicación de tamaño 1 MB. Una unidad de ubicación es el espacio contiguo en disco
más pequeño que gestiona ASM. ASM no permite que un bloque Oracle esté dividido en diferentes unidades de
ubicación
Oracle Database 10g: Taller de Administración I 1-15
Oracle Database 10g: Taller de Administración I 1-16

Documentos relacionados