Oracle database 闪回 flash back

闪回

(使用UNDO表空间)
恢复最近删除的、
flashback table emp1 to before drop ;
清除最先删除的、
purge table emp1 ;
闪回查询
select * from scott.emp1 as of scn 966132;

闪回归档

创建表空间
create tablespace zzz datafile ‘/u01/data/orcl/fda01.dbf’ size 5m;
设置表空间为闪回归档
create flashback archive fla tablespace zzz quota 2m retention 2 year;
授权给用户
grant flashback archive on fla to scott;
设置表为闪回归档
alter table scott.z1 flashback archive fla;
退出闪回归档 可以删除表
alter table scott.z1 no flashback archive;
没有表后可删除闪回归档
drop flashback archive fla;

闪回表

打开行移动
alter table scott.emp1 enable row movement;
将表回退到之前的状态
flashback table scott.emp1 to scn 975172;

闪回版本查询

查询一段时间内表的操作
select versions_startscn, versions_endscn, versions_xid, versions_operation,id,name from scott.t3 versions between scn minvalue and maxvalue;

闪回事务查询

需先执行
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;
desc flashback_transaction_query;
根据事务号查询
select undo_sql from flashback_transaction_query where xid=hextoraw(‘versions_xid’);

闪回数据库

mount状态下 开启归档
STARTUP MOUNT ;
show parameter recovery_file;
设置闪回日志大小
alter system set db_recovery_file_dest_size=2g;
指定闪回日志目录
alter system set db_recovery_file_dest=’/flashback’;
闪回日志默认存放24小时
show parameter flash;
开启闪回
alter database flashback on;


undo

属性
show parameter undo
创建
create undo tablespace undotbs2 datafile ‘/u01/data/orcl/undotbs02.dbf’ size 50M autoextend on ;
切换
alter system set undo_tablespace=undotbs2;

你可能感兴趣的:(Oracle,database)