Articulo de referencia

Registro de rehacer

En el entorno Oracle RDBMS , los registros de rehacer incluyen archivos en un formato propietario que registran un historial de todos los cambios realizados en la base de datos ...

En el entorno Oracle RDBMS , los registros de rehacer incluyen archivos en un formato propietario que registran un historial de todos los cambios realizados en la base de datos . Cada archivo de registro de rehacer consta de registros de rehacer. Un registro de rehacer, también denominado entrada de rehacer, contiene un grupo de vectores de cambio , cada uno de los cuales describe o representa un cambio realizado en un solo bloque de la base de datos.

Por ejemplo, si un usuario UPDATEescribe un valor de salario en una tabla que contiene datos relacionados con empleados, el DBMS genera un registro de rehacer que contiene vectores de cambio que describen los cambios en el bloque de segmentos de datos de la tabla. Y si el usuario COMMITescribe la actualización, Oracle genera otro registro de rehacer y asigna al cambio un "número de cambio del sistema" (SCN).

Cada vez que algo cambia en un archivo de datos, Oracle registra el cambio en el registro de rehacer. El nombre redo log indica su propósito: si la base de datos falla, el RDBMS puede rehacer (reprocesar) todos los cambios en los archivos de datos, lo que llevará los datos de la base de datos al estado en el que estaban cuando se escribió el último registro de rehacer. Los administradores de bases de datos utilizan las vistas , V$LOGy para encontrar información sobre el registro de rehacer de la base de datos. Cada archivo de registro de rehacer pertenece exactamente a un grupo (de los cuales deben existir al menos dos). Exactamente uno de estos grupos es el grupo ACTUAL (se puede consultar utilizando el estado de la columna de v$log). Oracle utiliza ese grupo actual para escribir las entradas del registro de rehacer. Cuando el grupo está lleno, se produce un cambio de registro , lo que hace que otro grupo sea el actual. Cada cambio de registro provoca un punto de control, sin embargo, lo inverso no es cierto: un punto de control no provoca un cambio de registro de rehacer. También se puede provocar manualmente un cambio de registro de rehacer utilizando el comando. V$LOGFILEV$LOG_HISTORYV$THREADALTER SYSTEM SWITCH LOGFILE

Clasificación

Los archivos de registro de rehacer se presentan en dos tipos: [1]

  • registros de rehacer en línea (" ORL " [2] o " redo logs " [3] para abreviar)
  • registros de rehacer archivados (" archive logs ") [4]

Uso

Antes de que un usuario reciba un mensaje de " Confirmación completa ", el sistema primero debe escribir correctamente los datos nuevos o modificados en un archivo de registro de rehacer.

El RDBMS primero escribe todos los cambios incluidos en la transacción en el búfer de registro en el Área global del sistema (SGA). El uso de la memoria de esta manera para la captura inicial tiene como objetivo reducir la E/S del disco. Por supuesto, cuando se confirma una transacción, el búfer de registro de rehacer debe vaciarse en el disco, porque de lo contrario no se podría garantizar la recuperación de esa confirmación. El proceso LGWR (escritor de registros) realiza ese vaciado.

Tener un registro de rehacer permite reproducir sentencias SQL. Antes de que una base de datos Oracle cambie los datos de un archivo de datos, escribe los cambios en el registro de rehacer. Si algo le sucede a uno de los archivos de datos, un procedimiento de recuperación puede restaurar un archivo de datos respaldado y luego reproducir el rehacer escrito desde el momento de la copia de seguridad; esto lleva al archivo de datos al estado en el que se encontraba antes de que no estuviera disponible. Las bases de datos en espera en un entorno Oracle Data Guard utilizan la misma técnica: una base de datos (la base de datos principal) registra todos los cambios y los envía a las bases de datos en espera. Cada base de datos en espera aplica (reproduce) el rehacer recibido, lo que da como resultado la sincronización con la base de datos principal. [5]

Si una base de datos falla, el proceso de recuperación tiene que aplicar todas las transacciones, tanto las confirmadas como las no confirmadas, a los archivos de datos en el disco, utilizando la información de los archivos de registro de rehacer. Oracle debe rehacer todas las transacciones de registro de rehacer que tengan una entrada BEGINy una COMMITentrada (roll forward), y debe deshacer todas las transacciones que tengan una BEGINentrada pero ninguna COMMITentrada (roll back). [6] (Rehacer una transacción en este contexto simplemente significa aplicar la información de los archivos de registro de rehacer a la base de datos; el sistema no vuelve a ejecutar la transacción en sí). De este modo, el sistema vuelve a crear las transacciones confirmadas aplicando los registros de "imagen posterior" en los archivos de registro de rehacer a la base de datos, y deshace las transacciones incompletas utilizando los registros de "imagen anterior" en el espacio de tabla de deshacer .

La captura de datos modificados puede leer los registros de rehacer.

En las configuraciones de Oracle Data Guard, los registros de rehacer en espera se parecen a sus registros de rehacer en línea equivalentes, pero sirven para almacenar datos de rehacer transmitidos desde una base de datos diferente. [7]

Trascendencia

Dada la verbosidad del registro, Oracle Corporation proporciona métodos para archivar registros de rehacer (archive-logs), y esto a su vez puede incorporarse a escenarios de respaldo de datos y bases de datos en espera .

La existencia de una serie detallada de transacciones y acciones registradas individualmente proporciona la base de varias mejoras en la gestión de datos, como Oracle Flashback , la minería de registros y la recuperación en un momento determinado . El concepto de una encarnación de base de datos [8] puede influir en el uso de rehacer en la recuperación de bases de datos.

Para fines de ajuste de la base de datos , manejar de manera eficiente los registros de rehacer requiere un disco abundante y de acceso rápido.

Véase también

Referencias

  1. ^ Kyte, Thomas; Kuhn, Darl (10 de noviembre de 2014). Arquitectura experta de bases de datos Oracle. La voz del experto en Oracle (3.ª edición). Apress (publicado en 2014). pág. 9. ISBN  9781430262992. Recuperado el 19 de febrero de 2015. He hecho referencia a dos tipos de archivos de registro de rehacer: en línea y archivados.
  2. ^ Bach, Martin (23 de noviembre de 2013). Consolidación experta en Oracle Database 12c. SpringerLink : Bücher. Apress (publicado en 2013). pág. 318. ISBN  9781430244288. Recuperado el 12 de julio de 2015. Los registros de rehacer en espera (SRL) en el sitio de recuperación ante desastres actúan como contraparte de los registros de rehacer en línea (ORL) de la base de datos principal y permiten que el sitio remoto reciba los rehacer de manera más eficiente.
  3. ^ Fogel, Steve (mayo de 2006). "Oracle Database Administrator's Guide, 10g Release 2 (10.2)". docs.oracle.com . Oracle . Consultado el 19 de febrero de 2015 . El registro de rehacer actual siempre está en línea, a diferencia de las copias archivadas de un registro de rehacer. Por lo tanto, el registro de rehacer en línea generalmente se conoce simplemente como registro de rehacer.
  4. ^ Ries, Steve (22 de febrero de 2013). Administración de bases de datos I de Oca Oracle Database 11g: una guía de certificación del mundo real. Packt Publishing Ltd (publicado en 2013). ISBN  9781849687317. Recuperado el 19 de febrero de 2015. [...] cuando se produce un cambio de registro, el contenido del registro de rehacer actual se escribe en un registro de rehacer archivado por el proceso ARCn. Estos registros también se conocen como registros de rehacer fuera de línea o simplemente registros de archivo.
  5. ^ Liu, Henry H. (22 de noviembre de 2011). Rendimiento y escalabilidad de bases de datos Oracle: un enfoque cuantitativo. Serie de ingeniería de software cuantitativa. Vol. 12. John Wiley & Sons (publicado en 2011). págs.  238-239 . ISBN  9781118056998. Recuperado el 19 de febrero de 2015. Las bases de datos primarias y físicas en espera se sincronizan a través de un servicio llamado Redo Apply , que recupera los datos de rehacer de la base de datos primaria y aplica el rehacer a la base de datos en espera. [...] La sincronización entre las bases de datos primarias y las bases de datos en espera [lógicas] se logra a través de un servicio llamado SQL Apply, que transforma los datos de rehacer de la base de datos primaria en instrucciones SQL y luego ejecuta las instrucciones SQL en la base de datos en espera.
  6. ^ Greenwald, Rick; Stackowiak, Robert; Stern, Jonathan (6 de septiembre de 2013). Oracle Essentials: Oracle Database 12c (5.ª edición). O'Reilly Media, Inc. (publicado en 2013). ISBN  9781449343170. Recuperado el 19 de febrero de 2015. La recuperación de instancias tiene dos fases: avance y retroceso.
  7. ^ Schupmann, Vivian (2008). "Oracle Data Guard: Concepts and Administration: 10g Release 2 (10.2)". Oracle . Consultado el 19 de febrero de 2015 . Un registro de rehacer en espera es similar a un registro de rehacer en línea, excepto que un registro de rehacer en espera se utiliza para almacenar datos de rehacer recibidos de otra base de datos.
  8. ^ Bach, Martin (23 de noviembre de 2013). Consolidación experta en Oracle Database 12c. SpringerLink : Bücher. Apress (publicado en 2013). pág. 378. ISBN  9781430244288. Recuperado el 4 de febrero de 2015. Según la documentación de Oracle, una encarnación es una versión independiente de la base de datos.
  • Gestión del registro de rehacer (documentación de Oracle)
Retrieved from "https://en.wikipedia.org/w/index.php?title=Redo_log&oldid=1136718082"