闪回事务
闪回事务不支持大对象(LOB)和 XML,不适用于 DDL 也不能跨越 DDL。 DDL 动作在闪回事务查询中甚至不会出现。 闪回事务需要人为提交或者回滚,其本身也一个事务,也可以被闪回。
开启附加日志:
alter database add supplemental log data;
alter database add supplemental log data (primary key) columns;
闪回事务查询:
set lines 1000;
col LOGON_USER for a10;
col TABLE_NAME for a10;
col TABLE_OWNER for a10;
col UNDO_SQL for a20;
select DISTINCT XID,START_TIMESTAMP,COMMIT_TIMESTAMP,LOGON_USER,OPERATION ,TABLE_NAME,TABLE_OWNER,UNDO_SQL
from FLASHBACK_TRANSACTION_QUERY
where TABLE_NAME='T';
执行事务闪回:
declare
xids sys.xid_array;
begin
xids := sys.xid_array('0300040051030000');
dbms_flashback.transaction_backout(1,xids,options=>dbms_flashback.nocascade);
end;
/
提交事务:
commit;