sesión14 – archivos redologs (oracle)

7
/* Sesión14 – Archivos redologs Estudiante: José Luis Toro Alcarraz Curso: Base de Datos Avanzado II Correo:[email protected] */ Recordando Todo Sistema Administrador de Base de Datos robusto debe tener un SubSistema de recuperación, para que ante cualquier falla, éste pueda “recuperarse” sin interacción del Administrador de Base de Datos. Por ejemplo, si el servidor pierde inesperadamente la alimentación de energía. En Oracle, este subsistema está formado por los Archivos redo logs. Objetivos de la sesión. Administrar de manera eficiente los Grupos y miembros de redo logs. Explotar la información del diccionario de datos respecto a los archivos redo logs. 1) Definición de archivos online redo logs 2) Planeación de los archivos online redo logs 3) Administración de los archivos online redo logs 4) Manipulación de objetos 5) Crear, eliminar miembros y grupos de redologs. 6) Resolver los casos propuestos. 1) Definición de archivos online redo logs La estructura más importante para la operación de recuperación está formada por los Archivos Redo logs, los cuales consisten en dos o más archivos que almacenan los cambios que, en la base de datos, suceden. Cada Instancia de una Base de Datos tiene asociado un grupo de archivos redologs para proteger a la Base de Datos en caso de falla Cómo escribe Oracle en los online redo logs.

Upload: jose-toro

Post on 12-Jun-2015

314 views

Category:

Education


0 download

DESCRIPTION

Este minitutorial tiene como objetivo captar todos los conceptos dictados en cada sesión en el curso de Base de Datos Avanzado II, así como brindar apoyo a los alumnos de la carrera técnica de Computación e Informática, que por algún motivo no hayan asistido a clases. UNIDAD 6. Sistemas de archivos Oracle Logro de la Unidad de Aprendizaje Al término de la unidad, el alumno implementa una distribución y configuración adecuada de los sistemas de archivos de Oracle. Temario 6.1. Tema 6: Sistemas de archivos Oracle 6.1.1. Archivos de Control 6.1.2. Mantenimiento de los Archivos Redo logs 6.1.3. Gestión de tablespaces y datafiles

TRANSCRIPT

Page 1: Sesión14 – Archivos redologs (Oracle)

/* Sesión14 – Archivos redologsEstudiante: José Luis Toro AlcarrazCurso: Base de Datos Avanzado IICorreo:[email protected]*/

Recordando

Todo Sistema Administrador de Base de Datos robusto debe tener un SubSistema de recuperación, para que ante cualquier falla, éste pueda “recuperarse” sin interacción del Administrador de Base de Datos. Por ejemplo, si el servidor pierde inesperadamente la alimentación de energía. En Oracle, este subsistema está formado por los Archivos redo logs.

Objetivos de la sesión.

Administrar de manera eficiente los Grupos y miembros de redo logs. Explotar la información del diccionario de datos respecto a los archivos redo logs.

1) Definición de archivos online redo logs 2) Planeación de los archivos online redo logs 3) Administración de los archivos online redo logs 4) Manipulación de objetos5) Crear, eliminar miembros y grupos de redologs.6) Resolver los casos propuestos.

1) Definición de archivos online redo logs

La estructura más importante para la operación de recuperación está formada por los Archivos Redo logs, los cuales consisten en dos o más archivos que almacenan los cambios que, en la base de datos, suceden.

Cada Instancia de una Base de Datos tiene asociado un grupo de archivos redologs para proteger a la Base de Datos en caso de falla

Cómo escribe Oracle en los online redo logs.

Los archivos online redo logs de una Base de Datos consisten de dos o más archivos. Oracle requiere como mínimo dos, para garantizar que uno siempre está disponible para ser escrito mientras el otro está siendo archivado. (Si está en Modo ARCHIVE).

El proceso LGWR escribe en los online redo logs de una manera circular. Cuando el actual archivo online redo log se llena, LGWR empieza a escribir en el siguiente redo log. Cuando el último redo log disponible se llena, LGWR retorna al primer online redolog, para escribir y empezar de nuevo el ciclo.

Page 2: Sesión14 – Archivos redologs (Oracle)

Activo (actual) e inactivo online redo log

En un tiempo determinado, Oracle sólo usa uno de los online redo logs para almancenar los registros “redo” desde el redo log búfer. El archivo online redo log donde actualmente el LGWR está escribiendo se conoce como el actual (CURRENT) online redo log.

Los archivos online redo logs que son requerios para recuperar una Base de Datos son llamados activos (ACTIVE) online redo logs. Los online redo logs que no son requeridos para recuperar una Base de datos son llamados redo “inactivos” (INACTIVE).

Si se tiene activado el Modo ARCHIVELOG, Oracle no puede usar o sobreescribir un activo redo log hasta que el proceso ARCn ha archivado su contenido.

Si no se tiene activado este Modo ARCHIVELOG , cuando el último online redo log se llena, se continúa sobreescribiendo al primer online redolog.

Log Switches y Número de secuencias de logs

Un log switch es el punto en el cual el Oracle termina la escritura en un online redo log y comienza a escribir a otro. Normalmente, un switch log ocurre cuando el online redo log actual se llena totalmente y la escritura debe continuar en el online redo log siguiente.

Sin embargo, usted puede especificar o forzar para que un switch log suceda sin importar en qué online redo log está o en qué porcentaje está lleno el online redo log.

El Oracle asigna a cada online redo log un nuevo número de serie (número de secuencia) del registro cada vez que ocurre un switch log ocurre y LGWR comienza a escribir en el nuevo online redo log

Cada online o archivado (Modo ARCHIVELOG) redo log es identificado por su número de secuencia. Durante una recuperación, los redo logs son aplicados en orden ascendent de acuerdo a su número de secuencia

Para forzar un switch log:ALTER SYSTEM SWITCH LOGFILE

Page 3: Sesión14 – Archivos redologs (Oracle)

Multiplexación de los archivos online redo logs

Realmente los switch log sucede entre GRUPOS de redo logs. Cada archivo online redo log en un grupo es llamado MEMBER

Problemas con los redologs

Page 4: Sesión14 – Archivos redologs (Oracle)

Creación de Grupos y Miembros redo logs

ALTER DATABASE ADD LOGFILE ('/oracle/dbs/log1c.rdo', '/oracle/dbs/log2c.rdo') SIZE 500K;

ALTER DATABASE ADD LOGFILE GROUP 10 ('/oracle/dbs/log1c.rdo', '/oracle/dbs/log2c.rdo') SIZE 500K;

No olvidar la vista V$log y V$Logfile

Para crear online redo logs miembros:

ALTER DATABASE ADD LOGFILE MEMBER '/oracle/dbs/log2b.rdo' TO GROUP 2;

ALTER DATABASE ADD LOGFILE MEMBER '/oracle/dbs/log2c.rdo' TO ('/oracle/dbs/log2a.rdo', '/oracle/dbs/log2b.rdo');

No olvidar la vista V$log y V$Logfile

Renombramiento de redologs

Por ejemplo:

- Los online redologs están en dos discos: diska y diskb

Si Entonces

LGWR puede escribir satisfactoriamente como mínimo a un miembro redo log 

La escritura es normal. LGWR escribe a los redo log MEMBER habilitados e ignora a los que está deshabilitados

LGWR no puede acceder al siguiente grupo de redo log al hacer un switch log, debido a que el grupo necesita ser archivado ( Modo ARCHIVELOG)

La operación de la base de datos se para por el momento, hasta que el grupo esté habilitado o sea archivado

Todos los miembros de un grupo (siguiente) no pueden ser accedidos por el LGWR porque hay una falla del medio (disco)

Oracle retorna un error y la Base de datos hace shutdown. En este caso se puede necesitar hacer un proceso de recuperación. 

Si todos los miembros de un grupo actual de redo log no son accesibles, cuando estaban escribiéndose sobre ellos.

Oracle retorna un error y la Base de datos hace shutdown. En este caso se puede necesitar hacer un proceso de recuperación. 

Page 5: Sesión14 – Archivos redologs (Oracle)

- Los online redolog están duplicados: un grupo consiste de los miembros: /diska/logs/log1a.rdo and /diskb/logs/log1b.rdo, y el segundo grupo consiste de los miembros: /diska/logs/log2a.rdo and /diskb/logs/log2b.rdo.

- Los online redo logs que están en el disco diska tienen que ser movidos al disco diskc. Los nuevos nombres serán: /diskc/logs/log1c.rdo and /diskc/logs/log2c.rdo.

Shutdown immediate

mv /diska/logs/log1a.rdo /diskc/logs/log1c.rdo mv /diska/logs/log2a.rdo /diskc/logs/log2c.rdo

CONNECT / as SYSDBA STARTUP MOUNT

ALTER DATABASE RENAME FILE '/diska/logs/log1a.rdo', '/diska/logs/log2a.rdo' TO '/diskc/logs/log1c.rdo', '/diskc/logs/log2c.rdo';

ALTER DATABASE OPEN;

Eliminación de grupos y miembros redo logs

Una Instancia de Base de Datos requiere como mínimo 2 grupos de online redo logs Se puede eliminar un grupo de online redo logs si está en estado INACTIVO. (INACTIVE) Si el modo Archivelog está activado, asegurarse de que el grupo de redo log a eliminarse

ha sido archivado.

Elimino un miembro

Elimino un grupo

Explicación del Modo Archive

La Base de datos antes de sobreescribir un redolog lo guarda en un directorio. Parámetro log_archive_dest

Una BD en producciòn debe estar en Modo Archive.

ALTER DATABASE DROP LOGFILE MEMBER ‘archivo.log’;ALTER DATABASE DROP LOGFILE GROUP 4;

Page 6: Sesión14 – Archivos redologs (Oracle)

Permite recuperar la BD en cualquier punto en el tiempo.

Vista para obtener información acerca de los redo logs

SELECT * FROM V$LOG; GROUP# THREAD# SEQ BYTES MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIM ------ ------- ----- ------- ------- --- --------- ------------- --------- ------------- ---------------------- --------------- 1 1 10605 1048576 1 YES ACTIVE 11515628 16-APR-00 2 1 10606 1048576 1 NO CURRENT 11517595 16-APR-00 3 1 10603 1048576 1 YES INACTIVE 11511666 16-APR-00 4 1 10604 1048576 1 YES INACTIVE 11513647 16-APR-00

SELECT * FROM V$LOGFILE; GROUP# STATUS MEMBER ------ ------- ----------- ----------------------- 1 D:\ORANT\ORADATA\IDDB2\REDO04.LOG 2 D:\ORANT\ORADATA\IDDB2\REDO03.LOG 3 D:\ORANT\ORADATA\IDDB2\REDO02.LOG 4 D:\ORANT\ORADATA\IDDB2\REDO01.LOG

VISTA DESCRIPCIÓN

V$LOG Muestra la información de los archivos redologs que contiene los archivos de control

V$LOGFILE Identifica los grupos redo logs y miembros

V$LOG_HISTORY

Contiene linformación de la historia de los redo logs