|
开记闪回功能
startup mount
alter database flashback on/off
查看闪回目录
show parameter db_recovery_file_dest;
查看闪回功能是否开启
select flashback_on from v$database;
修改默认闪回保留时间
alter system set db_flashback_retention_target=1440
限制
不能在下列情况下使用闪回数据库:
• 已还原或重新创建了控制文件。
• 表空间已删除。
• 数据文件已发生收缩。
闪回表
FLASHBACK TABLE hr.employees TO TIMESTAMP TO_TIMESTAMP('2005-05-05 05:32:00', 'YYYY-MM-DD HH24:MI:SS');
FLASHBACK TABLE 命令可作为单个事务处理执行,
以获取DML 互斥锁。
• 不闪回统计信息。
• 保留当前索引和相关对象。
闪回表操作:
– 不能对系统表执行
– 不能跨多个DDL 操作
– 会生成还原和重做数据
闪回删除
FLASHBACK TABLE employees TO BEFORE DROP;
• 闪回删除不适用于:
– 驻留在SYSTEM 表空间中的表
– 使用细粒度级审计或虚拟专用数据库的表
– 驻留在字典管理表空间中的表
– 已清除的表,无论是手动清除的,还是在空间压力下
自动清除的
• 以下相关对象不受保护:
– 位图联接索引
– 实体化视图日志
– 引用完整性约束条件
– 在删除表前删除的索引
闪回查询
select employee_id, salary FROM employees AS OF TIMESTAMP t1 WHERE employee_id = 200
注:AS OF 子句后面可跟着TIMESTAMP 或SCN。
select versions_xid, salary FROM employees VERSIONS BETWEEN TIMESTAMP t1 and t2 WHERE employee_id = 200;
select CHECKPOINT_CHANGE# from v$database;
闪回事务处理查
select * from FLASHBACK_TRANSACTION_QUERY
|
|