ORA_ROWSCN ¿Cómo conocer la fecha y hora de última modificación de una fila dentro de una tabla?

Ayer me tocó afrontar una tarea sencilla, de las del día a día. Algo que para cualquier DBA es de primero de primaria. Borrar unas filas de una tabla.

Aparentemente, algo muy sencillo.

  1. Primero, una select para ver lo que hay en la tabla
  2. Segundo, montamos una select para seleccionar lo que vamos a borrar y estar seguros antes de ejecutar el delete.
  3. Tercero, como uno es inseguro por naturaleza, hace una copia de la tabla por si acaso (create table NOMBRETABLA as select * from TABLAORIGEN).
  4. Cuarto, ya preparados y asegurados, ejecutamos el delete.
  5. Quinto, un commit, que confirme bien que hemos borrado los registros.
  6. Sexto y último paso, volver a hacer el primer select para verificar que hemos borrado los datos.

Fácil no? Una tarea rápida, de las que a veces se agradecen para descansar un poco la cabeza y no tener que pensar demasiado.

Hoy, me dicen si realmente he ejecutado el borrado, que parece que los registros no se han borrado, que siguen ahí.

What? Como es posible? 😱 Juro y perjuro que los he borrado.

Compruebo, y efectivamente, ahí están. NO ES POSIBLE. Los registros siguen en la tabla. 😡

Repito el mismo procedimiento, vuelvo a montar las consultas (porque algo tan simple, para qué lo iba a guardar?) ejecuto todo, vuelvo a comprobar, y los datos, efectivamente, ya no están.

Antes de confirmar de nuevo que los he vuelto a borrar, he preferido ser más conservador y esperar.

TACHÁN!! Al esperar un rato, vuelvo a comprobar, y ahí están de nuevo, los registros han vuelto a aparecer en la tabla.

Leer artículo completo

Backup incremental diferencial VS acumulativo

Esta semana, a raíz de estar trabajando en una migración mediante mecanismo de TTS (Transport Tablespaces) de una versión 11.1.0.7 a 19c nos hemos topado con un error que no había ocurrido anteriormente en otras migraciones del mismo tipo.

El Error

released channel: ch00
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 08/28/2024 13:05:21
ORA-19870: error al restaurar parte de la copia de seguridad /home/oracle/MIGRATE/BBDD/INCREMENTAL_LAST_bbdd_fs33h9ng_1_1
ORA-19638: el archivo /oracle/base_datos/datos01/datafile01.dbf no es lo bastante actual para aplicar esta copia de seguridad incremental
ORA-19642: el SCN de inicio de la copia de seguridad incremental es 13503408614611
Leer artículo completo