SQL> select versions_xid,id,name
2 from T_FLASH_TRANS
3 versions between timestamp to_timestamp('2024-05-25 12:05:17','yyyy-mm-dd hh24:mi:ss') and systimestamp;
VERSIONS_XID ID NAME
---------------- ---------- ------------------------------
05002100F5030000 4 C
05002100F5030000 5 C
03001D001D040000 2 B
03001D001D040000 1 A
SQL> DECLARE
2 V_XID XID_ARRAY;
3 BEGIN
4 V_XID := SYS.XID_ARRAY('03001D001D040000');
5 DBMS_FLASHBACK.TRANSACTION_BACKOUT(1, V_XID);
6 END;
7 /
DECLARE
*
ERROR at line 1:
ORA-55507: Encountered mining error during Flashback Transaction Backout. function:krvxglsr
ORA-01291: missing log file
ORA-06512: at "SYS.DBMS_FLASHBACK", line 37
ORA-06512: at "SYS.DBMS_FLASHBACK", line 70
ORA-06512: at line 5
报这个错,主要是没有归档日志文件导致。
SQL> alter system archive log current;
System altered.
再去执行,就OK了。
SQL> DECLARE
2 V_XID XID_ARRAY;
3 BEGIN
4 V_XID := SYS.XID_ARRAY('03001D001D040000');
5 DBMS_FLASHBACK.TRANSACTION_BACKOUT(1, V_XID);
6 END;
7 /
PL/SQL procedure successfully completed.
|