Artículo de flashback en los blogs de Oracle

Base de datos Oracle y validez temporal

¿Cuál es la diferencia entre la Validez Temporal y Flashback? Los dos generalmente se usan juntos.
Lectura adicional: Oracle Database y Time Validity

La validez de tiempo también se conoce como Flashback Time Travel.

Mostrar columnas invisibles:

set colinvisible on
desc <table_name>; 

La cláusula SELECT efectiva en el tiempo es:

VERSIONS PERIOD FOR VALID_TIME BETWEEN <start> AND <end>

La asociación con Flashback es a través del procedimiento DBMS_FLASHBACK_ARCHIVE :

-- level可以是All,CURRENT和ASOF
DBMS_FLASHBACK_ARCHIVE.ENABLE_AT_VALID_TIME (
   level          IN    VARCHAR2, 
   query_time     IN    TIMESTAMP DEFAULT SYSTIMESTAMP);

DBMS_FLASHBACK_ARCHIVE.DISASSOCIATE_FBA (
   owner_name     IN    VARCHAR2, 
   table_name     IN    VARCHAR2);

¿Por qué Flashback suele ser mejor que las copias de seguridad?

Los errores lógicos se refieren a errores causados ​​por humanos y aplicaciones. Pero la base de datos no reportó un error.

La replicación no protege contra errores lógicos a menos que se retrase la replicación.

La copia de seguridad y la recuperación pueden hacer frente a los errores lógicos, pero suelen ser demasiado lentas y complejas.

Esta oración es incorrecta, y la siguiente explicación también es completamente incorrecta:

En Oracle, podemos realizar una operación de tabla retrospectiva. La base de datos debe tener habilitado el registro de flashback.

Este artículo solo puede dar 2 estrellas.

Base de datos de Flashback y registros de Flashback

Este artículo habla sobre la diferencia entre Reutilizar y Eliminar registros de flashback. No está mal, le doy 4 estrellas.

Flashback es una característica de alta disponibilidad con la ventaja de la simplicidad.

La tecnología Flashback incluye dos tipos lógicos y físicos:

  • Flashback lógico, que se basa en datos de deshacer, restaura tablas y transacciones.
  • Flashback físico, basándose en los registros de Flashback, restaura toda la biblioteca.

Requisitos previos para la base de datos Flashback:

  • archivo abierto
  • Colocación zona recuperación rápida
  • Establecer objetivo de retención de flashback

El objetivo de retención le indica a la base de datos que copie imágenes de cada bloque alterado en cada archivo de datos en el registro de flashback a intervalos regulares. Estas imágenes se utilizan posteriormente para reconstruir una encarnación anterior de la base de datos bajo demanda. Los cambios restantes se recuperan utilizando registros de rehacer en línea y archivados, si están disponibles.

Las cuatro operaciones para administrar los registros de flashback son las siguientes:

  • Crear, crea un registro de flashback si se cumplen las siguientes condiciones:
    • Hay suficiente espacio en el área de recuperación rápida
    • DB_FLASHBACK_RETETION_TARGET está configurado
  • Eliminar, los registros de flashback pueden eliminarse solo si
    • Los registros de flashback satisfacen un punto de restauración normal y hay presión de espacio en el área de recuperación rápida
    • Los registros de flashback están obsoletos según el objetivo de retención y los registros de rehacer archivados correspondientes se han eliminado debido a la presión del espacio
    • Los registros de flashback ya se han respaldado en cinta
  • Reutilizar o sobrescribir, el registro de flashback se reutiliza o sobrescribe en los siguientes casos
    • objetivos de retención no cumplidos
    • No es un punto de restauración garantizado
    • Registro de flashback más antiguo cuando FRA está bajo presión espacial
  • Conservar, mantener registros de flashback solo si
    • Se requieren registros de flashback para satisfacer los puntos de restauración garantizados
    • FRA no tiene presión espacial

También es importante tener en cuenta que además de establecer objetivos de retención de flashback y crear puntos de restauración garantizados, los registros de flashback no se pueden administrar en el área de recuperación flash.

Por qué puede obtener errores ORA-00942 con Flashback Query

Este artículo habla sobre el archivo de datos Flashback.

Normalmente, solo puede usar esto para consultar el tiempo más largo que permite deshacer (la Consulta Flashback predeterminada/estándar). Con Flashback Data Archive (FBA), Oracle puede almacenar permanentemente el historial de una tabla (hasta el período de retención).

Base de datos retrospectiva

Flashback Database es como el botón de rebobinado en una grabadora de cassette o el botón de reinicio en un reproductor de CD.

Si bien rara vez se usa en sistemas de producción, dado que todos los datos se pierden después de restablecer la hora (a menos que los exporte de antemano), existen muchos usos posibles, especialmente para sistemas de prueba o de espera:

  • La actualización de la aplicación falló en el restablecimiento del sistema
  • Recuperación alternativa en un punto en el tiempo (PITR) con avance posterior (especialmente útil para sistemas de reserva)
  • Una base de datos de prueba para un punto de partida reproducible (por ejemplo, para pruebas de aplicaciones reales)
  • Prueba de actualización de base de datos

Algunas funciones de base de datos usan implícitamente Flashback Database, todas relacionadas con ADG:

  • Instantánea en espera
  • Restablecimiento de la base de datos en espera (por ejemplo, Fast Start Failover)

Algunas personas dudan en usar las bases de datos Flashback debido a la sobrecarga de rendimiento y la gestión del espacio, pero:

  • La carga con Flashback Logs habilitado suele ser relativamente baja (alrededor del 5 %).
  • El espacio adicional requerido para los registros de flashback también se puede determinar con relativa precisión.

Base de datos Flashback de lectura extendida

Este artículo menciona que hay dos formas de habilitar Flashback Log, estándar e implícita.

-- 标准
alter database flashback on
-- 隐式
create restore point SolbachGRP guarantee flashback database;

-- 可以从flashback_on属性看出区别,标准是YES,隐式是RESTORE POINT ONLY
SQL> SELECT flashback_on, log_mode FROM v$database;

FLASHBACK_ON       LOG_MODE
------------------ ------------
RESTORE POINT ONLY ARCHIVELOG

Flashback en base de datos Oracle

Oracle Database proporciona tecnologías como Flashback Query, Flashback Delete (DROP), Time Validity, Flashback Database, Flashback Transaction, Flashback Data Archive o Flashback Version Query.

Todas las tecnologías se pueden usar con anticipación, no se requiere instalación adicional. Y ambos están incluidos en la Enterprise Edition.

Lectura adicional: Flashback en Oracle
que menciona:

NOTA: Es importante saber que la tecnología Flashback Database también se puede utilizar sin Flashback Logging. Sin embargo, esto requiere el uso de puntos de restauración garantizados.

Para ser precisos, se debe garantizar que el punto de restauración habilite implícitamente Flashback Database.

La siguiente tabla también es útil:

tecnología configuración
Consulta retrospectiva Gestión automática de DESHACER
Consulta de versiones de flashback Gestión automática de DESHACER
Consulta retrospectiva Gestión automática de DESHACER
Consulta de transacción flashback Gestión automática de UNDO + Registro suplementario
Tabla retrospectiva Gestión automática de UNDO + movimiento de filas de tablas
Caída de flashback Parámetro de inicialización RECYCLEBIN
Transacción retrospectiva Registro de archivo 和 Registro complementario
Base de datos retrospectiva Modos de registro de archivo y registro de flashback
Archivo de datos retrospectivos Archivo retrospectivo
Validez Temporal columna oculta

Acerca de las licencias:
Flashback Table, Flashback Database, Flashback Transaction y Flashback Transaction Query están disponibles en Enterprise Edition. El archivado se introdujo por primera vez como una opción independiente en Oracle Database 11gR1 Enterprise Edition con el nombre Total Recall, que significa "Memoria perfecta". Más tarde pasó a llamarse Flashback Time Travel, que también era gratuito. Dicho esto, FDA, Total Recall y Flashback Time Travel son lo mismo.

Total Recall es una función de 11g, mencionada en el artículo de OBE Uso de Total Recall :

La función Flashback Data Archive es parte de la opción Total Recall.

Muy interesante, este documento Oracle Total Recall Oracle Banking ELCM Release presenta específicamente Total Recall.

Solo la función Optimización para Flashback Time Travel requiere la opción Compresión avanzada.

En la Guía de Licencia de 11gR2, dice así:

Para versiones anteriores a Oracle Database 11g versión 2 (11.2.0.4): debe licenciar la opción Oracle Advanced Compression para usar Flashback Data Archive (anteriormente conocido como Total Recall).
A partir de Oracle Database 11g versión 2 (11.2.0.4): debe obtener una licencia de la opción de compresión avanzada de Oracle para utilizar la optimización para tablas de historial de archivos de datos flashback. El archivo básico de datos Flashback, sin optimización de la tabla de historial, está disponible en todas las ediciones.

Cómo recuperar datos (¡sin una copia de seguridad!)

La tecnología de Flashback se introduce en diferentes escenarios:

  • Restaurar una tabla completa - Tabla retrospectiva
  • Recuperar algunas filas: consulta de flashback
  • Recuperar algunas filas ++ - Archivo de datos flashback
  • Restaurar tablas eliminadas - Flashback Drop
  • ¡Revertir toda la base de datos! - Base de datos retrospectiva

Una nueva mirada a los cambios de fila de auditoría

La auditoría mediante disparadores es común y, a menudo, todavía se la considera la única solución posible para capturar los cambios de fila en las tablas de la base de datos de Oracle. Sin embargo, en Oracle Database 11.2.0.4 y versiones posteriores, ahora es posible utilizar Flashback Data Archive para cumplir con los requisitos de auditoría: una solución más simple, más eficiente y más segura.

Las referencias a tablas en FDA se pueden ver en el plan de ejecución.

Restaurar al Punto

Este artículo se centra en Restore Point, que es un alias de SCN. Y sus escenarios aplicables:

  1. Repita la prueba, después de la prueba, debe volver a la línea de base de datos de prueba
  2. Cuando los datos de modificación del lote son incorrectos, se recurrirá a antes del procesamiento del lote.
  3. Después de que falle la actualización, vuelva a antes de la actualización

Flashback Database es tecnología 10g Release 2. Su proceso de activación:

  1. archivo abierto
  2. establecer FRA
  3. habilitar el registro de flashback

El punto de restauración no garantiza que se pueda restaurar, pero el punto de restauración garantizado sí.

Los registros de flashback se conservan durante el tiempo especificado por el parámetro de base de datos db_flashback_retention_target.

Los registros más antiguos no se eliminan automáticamente; sin embargo, el tamaño máximo del área de recuperación flash está determinado por el parámetro de la base de datos db_recovery_file_dest_size, en este caso, 2 GB. Cuando el área de recuperación flash de Tom alcanza los 2 GB, Oracle Database debe eliminar algunos registros con más de 1440 segundos de antigüedad para dejar espacio para nuevos registros. Entonces, cuando Tom quiere realizar un flashback, los registros necesarios para el punto de restauración seleccionado están desactualizados, lo que provoca un error.

Aquí hay un pequeño error, 1440 segundos deberían ser 1440 minutos, porque este es el valor predeterminado de DB_FLASHBACK_RETENTION_TARGET, que es 1 día.

Características de las tecnologías Flashback

Esta es la descripción en el sitio web oficial. El texto completo se transcribe así:

Flashback admite la recuperación en todos los niveles, incluida la fila, la transacción, la tabla y la base de datos completa . Flashback proporciona un conjunto cada vez mayor de funciones para ver y retroceder datos en el tiempo, a saber:

  • Flashback Database : restaure toda la base de datos a un punto específico en el tiempo, utilizando registros de flashback optimizados por Oracle , en lugar de mediante copias de seguridad y recuperación hacia adelante.
  • Flashback Table : recupere fácilmente las tablas a un punto específico en el tiempo, útil cuando una corrupción lógica se limita a una o un conjunto de tablas en lugar de a toda la base de datos.
  • Flashback Drop : recupera una mesa caída accidentalmente. Restaura la tabla descartada y todos sus índices, restricciones y disparadores desde la Papelera de reciclaje (un contenedor lógico de todos los objetos descartados).
  • Flashback Transaction : deshace los efectos de una sola transacción y, opcionalmente, todas sus transacciones dependientes. a través de una única operación PL/SQL o utilizando un asistente de Enterprise Manager.
  • Flashback Transaction Query : vea todos los cambios realizados por una transacción específica, útil cuando una transacción errónea cambió los datos en varias filas o tablas.
  • Flashback Query : consulta cualquier dato en algún momento en el pasado. Esta poderosa función se puede usar para ver y reconstruir lógicamente datos corruptos que pueden haber sido eliminados o cambiados sin darse cuenta.
  • Consulta de versiones retrospectivas : recupera diferentes versiones de una fila a lo largo de un intervalo de tiempo específico en lugar de un solo punto en el tiempo.
  • Total Recall : administre y consulte de manera eficiente datos históricos a largo plazo . Total Recall rastrea automáticamente cada cambio realizado en los datos almacenados dentro de la base de datos y mantiene un archivo de datos históricos seguro, eficiente y de fácil acceso.

Las características de Flashback ofrecen la capacidad de consultar datos históricos, realizar análisis de cambios y realizar reparaciones de autoservicio para recuperarse de daños lógicos mientras la base de datos está en línea. Con la tecnología Oracle Flashback, puede deshacer el pasado.

Tecnologías flashback de la base de datos de Oracle

También desde la web oficial.

Oracle Database Flashback Technologies es un conjunto de soluciones de recuperación de datos que revierten los errores humanos al deshacer de manera selectiva y eficiente los efectos de un error. Oracle Database Flashback admite la recuperación en todos los niveles, incluida la fila, la transacción, la tabla y la base de datos completa.

inserte la descripción de la imagen aquí

Las instantáneas NO son copias de seguridad

El autor Tim Chien es el gerente de productos para respaldo y recuperación. Este artículo compara la diferencia entre las instantáneas basadas en almacenamiento y RMAN.

Instantáneas basadas en almacenamiento El uso de instantáneas para el desarrollo o las pruebas en sistemas que no son de producción tiene ventajas, pero no deben considerarse una protección de datos o copias de seguridad efectivas para las bases de datos de Oracle. El enfoque correcto es RMAN+FRA.

RMAN se introdujo en Oracle 8.

Las instantáneas de almacenamiento desconocen la estructura de bloques de Oracle (ya que operan a nivel de bloque de almacenamiento) y, lo que es más importante, son físicamente diferentes de las copias de seguridad (que consisten en punteros en lugar de bloques).

Beneficios de RMAN:
RMAN es una solución de protección de datos integrada para Oracle Database que brinda múltiples niveles de protección. A nivel de bloque granular, RMAN valida completamente los bloques de Oracle en el momento de la copia de seguridad y la restauración, validando los bloques a través de comparaciones de sumas de verificación físicas y comprobaciones lógicas dentro de los propios bloques (por ejemplo, verificando que los fragmentos de fila o las entradas de índice sean consistentes). Las copias de seguridad se pueden usar para restaurar los datos de producción a los últimos registros de rehacer archivados disponibles o a un punto específico en el tiempo (de acuerdo con la política de retención de RMAN) en caso de pérdida de datos o daño físico. Además, el comando VALIDATE se puede utilizar para verificar la exactitud de los bloques físicos y lógicos de toda la base de datos o de un solo espacio de tabla/archivo de datos a discreción del usuario. Del mismo modo, las copias de seguridad se pueden validar en cualquier momento para garantizar que se puedan restaurar con éxito mediante el comando RESTORE VALIDATE. RMAN también proporciona capacidades de recuperación de medios de bloque, lo que permite reparar rápidamente la corrupción de un solo bloque en una base de datos mientras los datos no afectados permanecen en línea y accesibles para los usuarios.

Desventajas de las instantáneas de almacenamiento
Las instantáneas no se diseñaron para la protección de datos de Oracle. No conocen las estructuras de bloques de Oracle, por lo que no validan ni pueden validar los datos de Oracle cuando se crean. No se pueden utilizar en caso de pérdida de datos o daño físico. Si los bloques no cambian con el tiempo, la corrupción de bloques no detectada puede afectar una serie de instantáneas. Debido a que las instantáneas residen en el mismo arreglo que la base de datos de origen, son vulnerables a fallas que afectan el arreglo de almacenamiento. Es por eso que una instantánea, incluso si se crea muy rápidamente, no constituye una copia de seguridad de los datos originales. Para que una instantánea se use como una copia de seguridad válida, debe reconstruirse como un conjunto completo de bloques en otra matriz de almacenamiento o en cinta, lo que implica los mismos problemas de rendimiento que una copia completa. Finalmente, la restauración de una instantánea tiene el efecto secundario de invalidar todas las instantáneas tomadas después, a menos que la instantánea se restaure por completo en una ubicación alternativa como una copia de los datos de producción. Dadas estas desventajas inherentes de las instantáneas, está claro que solo las copias de seguridad RMAN compatibles con Oracle pueden proporcionar una verdadera "tranquilidad" de protección de datos.

Para las instantáneas basadas en copia en escritura, el impacto en el rendimiento de la base de datos se refleja en dos aspectos. Primero, después de crear la instantánea, la primera escritura en un bloque de base de datos se convierte en dos escrituras de E/S de almacenamiento : una para copiar el bloque original en la nueva ubicación de almacenamiento de la instantánea y otra para escribir el nuevo bloque en los bloques de datos originales. están bloqueados. El mayor uso de E/S puede tener un impacto severo en el rendimiento de la base de datos de producción. En segundo lugar, después de revertir el volumen de la base de datos de producción a una instantánea anterior, la versión del bloque de almacenamiento activo ahora incluye referencias a los bloques de la instantánea, que probablemente se distribuyan en el disco en lugar de en orden (la base de datos aún espera que esto suceda cuando se produce un I /O). Por ejemplo, en el diagrama de instantánea de copia en escritura anterior, la solicitud de E/S del bloque C se redirige a la versión de instantánea del bloque C, mientras que la solicitud de E/S del bloque B no se redirige porque es relativa a la hora en que se realizó la instantánea. tomado Sin cambios. Cuando la base de datos emite una E/S de 1 MB, no lee los datos secuencialmente en una única lectura grande , sino que emite 128 E/S aleatorias (suponiendo un tamaño de bloque de 8K). Al crear y restaurar múltiples instantáneas a lo largo del tiempo, el diseño de bloque fragmentado resultante puede resultar en una disminución de 10 a 100 veces en el rendimiento de la base de datos.

Por estas razones, nunca es una buena idea crear y usar instantáneas en el almacenamiento de la base de datos de producción.
Debido al grave impacto en el rendimiento de E/S, no se recomienda utilizar clones de instantáneas en bases de datos de producción, sino en copias secundarias de la base de datos.

Por qué CDM no es una instantánea

El autor Tim Chien es director sénior de gestión de productos en el grupo de gestión de almacenamiento y alta disponibilidad de Oracle y se centra en la copia de seguridad y la recuperación, incluido el dispositivo de recuperación sin pérdida de datos, el gestor de recuperación (RMAN) y la tecnología Flashback.

¿Por qué las instantáneas (CDM) NO son copias de seguridad? 1

¿Por qué las instantáneas (CDM) NO son copias de seguridad? 2

Todo se reduce a la siguiente tabla:

Reclamación de proveedores de MDL ¿Qué significa usar una solución CDM para Oracle Database? Qué significa esto cuando se usa RA con una base de datos Oracle
copia de seguridad incremental para siempre Después de realizar una copia de seguridad incremental, se crea una instantánea de la copia del archivo de datos y luego RMAN en la base de datos de Oracle realiza una combinación incremental para actualizar la copia. Para grandes volúmenes de cambios de bases de datos, las operaciones de combinación pueden dar lugar a una gran carga del servidor de producción y al uso de E/S de almacenamiento de CDM, lo que amplía el tiempo en que la copia más reciente está disponible para la recuperación. Las copias de seguridad incrementales permanentes en dispositivos dan como resultado una copia de seguridad completa virtual actualizada sin usar operaciones de combinación incremental. La base de datos solo envía los cambios y el dispositivo de recuperación hace el trabajo. Esto libera recursos de producción para más cargas de trabajo críticas para el negocio.
restaurar a cualquier punto en el tiempo La recuperación de la base de datos requiere más que volver a un conjunto anterior de archivos de instantáneas. RMAN debe catalogar los archivos de instantáneas y las copias de seguridad de registros de archivo a partir de ese momento en la base de datos de Oracle y restaurarlos a un punto transaccionalmente coherente para que la base de datos se pueda abrir. Este proceso de varios pasos aumenta el tiempo de recuperación, especialmente para bases de datos grandes. El dispositivo se integra directamente con RMAN para realizar todas las operaciones de restauración y recuperación de manera fluida y familiar para los administradores de bases de datos. RMAN restaura las copias de seguridad completas virtuales directamente en la base de datos de Oracle, sin fusiones incrementales, para una recuperación rápida en cualquier momento.
Además, restaurar la copia de seguridad en el dispositivo verifica continuamente la capacidad de recuperación de la base de datos, lo cual es una ventaja única sobre los productos de almacenamiento CDM.
recuperación instantánea RMAN 'cambiar a copia' se usa para redirigir los punteros de archivo de la base de datos a copias de archivos de instantáneas, luego restaurar y recuperar usando registros archivados para que la base de datos se pueda abrir para acceder. El dispositivo proporciona recuperación completa virtual rápida directamente al almacenamiento de producción, hasta 38 TB/hora en un solo bastidor.
Además, para las necesidades de "recuperación instantánea", Oracle Data Guard permite cambiar la base de datos principal a la copia más reciente de la base de datos en espera en segundos o minutos.
Reducir la producción RTO y RPO Si bien la "recuperación instantánea" con instantáneas de CDM suena bien, se espera que las bases de datos de recuperación de producción brinden niveles de servicio de producción. Ejecutar los archivos de la base de datos directamente en el almacenamiento CDM no producirá un rendimiento de nivel de producción, especialmente porque las operaciones de copia en escritura también deben mantenerse para las nuevas instantáneas creadas. Además, Oracle Exadata no admite este uso (Nota 2663308.1 de MOS: uso de almacenamiento externo con Exadata).
Con todos los métodos de copia de seguridad tradicionales, el RPO se controla en el momento de la última copia de seguridad correcta, que puede estar expuesta durante horas o más a la pérdida de datos.
La recuperación completa virtual va directamente al almacenamiento de producción sin sacrificar el rendimiento de la base de datos.
El RPO de cero a subsegundos se logra a través de Oracle Redo Block Transport probado en la industria, que respalda las transacciones en los dispositivos en tiempo real.

Supongo que te gusta

Origin blog.csdn.net/stevensxiao/article/details/128799603
Recomendado
Clasificación