1、查看当前SCN并且转换为时间
select scn_to_timestamp(dbms_flashback.get_system_change_number)  from dual;
select timestamp_to_scn(to_date('2013-08-2 10:01:00','yyyy-mm-dd hh24:mi:ss')) from dual;
2、开启和使用flashback database
--必须开启归档
--必须设置参数
  db_flashback_retention_target 
  db_recovery_file_dest               
  db_recovery_file_dest_size   --如果查过快速恢复区大小,FLASHBACK LOG会自动删除        
--mount节点设置开启FLASHBACK DATABASE ON
alter database flashback on;
 可以从v$FLASHBACK_DATABASE_LOG视图中获得OLDEST_FLASHBACK_SCN或者OLDEST_FLASHBACK_TIME,以确定FLASHBACK DATABASE能够恢复到最早的时刻。

然后mount,RMAN下执行
flashback database to scn=689316;
flashback database to time="04-9月-2008 11:05:00";
最后open resetlogs

如果视图恢复可恢复SCN以前的就会报错
starting media recovery
media recovery failed
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of flashback command at 08/02/2013 09:03:28
ORA-38729: Not enough flashback database log data to do FLASHBACK.

3、闪回表(flashback table)
FLASHBACK TABLE

ALTER TABLE TEST enable row movement;
flashback table TEST to timestamp SYSDATE-1;
flashback table pp123 to timestamp (to_date('2013-08-2 10:01:00','yyyy-mm-dd hh24:mi:ss'));
flashback table pp123 to scn **

4、闪回drop的表(flashback drop)
--参数recyclebin 设置为on(默认)
--依赖于recyclebin

flashback table test_re to before drop; --索引会随着一起DROP到recyclebin
alter index "BIN$4u6QyIlxGzzgQAB/AQAl8Q==$0" rename to test; --重命令你的索引
flashback table "BIN$4u6QyIl7GzzgQAB/AQAl8Q==$0" to before drop;--如果有同名需要这样恢复
select * from "BIN$4u6QyImDGzzgQAB/AQAl8Q==$0";--你可以查看回收站
drop table test_re purge;--你可以手动避开回收站
purge user_recyclebin;--清理本OWNER下回收站
purge dba_recyclebin;--清理所有OWNER的回收站需要sysdba.
5、闪回查询

SELECT * FROM test
  AS OF TIMESTAMP TO_TIMESTAMP 
('2013-08-04 10:22:00', 'yyyy-mm-dd hh24:mi:ss') ;

6、FLASHBACK VERISON(注意UPDATE,DELETE会生成2行如下)
SELECT versions_startscn,
       versions_starttime,
       versions_endscn,
       versions_endtime,
       versions_xid,
       versions_operation,
       username
  FROM testll VERSIONS BETWEEN TIMESTAMP (to_date('2013-08-2 23:34:07','yyyy-mm-dd hh24:mi:ss')) AND sysdate
  where versions_startscn is not null or versions_endscn is not null;
 
VERSIONS_STARTSCN VERSIONS_STARTTIME                                                               VERSIONS_ENDSCN VERSIONS_ENDTIME                                                                 VERSIONS_XID     VERSIONS_OPERATION USERNAME
----------------- -------------------------------------------------------------------------------- --------------- -------------------------------------------------------------------------------- ---------------- ------------------ ------------------------------
         33860567 02-AUG-13 11.41.51 PM                                                                                                                                                             0D001300311D0000 U                  ooo
         33860342 02-AUG-13 11.36.17 PM                                                                                                                                                             0E0027002F1D0000 D                  SYSTEM
         33860309 02-AUG-13 11.35.07 PM                                                                                                                                                             0D001200311D0000 D                  SYS
                                                                                                          33860309 02-AUG-13 11.35.07 PM                                                                                                SYS
                                                                                                          33860342 02-AUG-13 11.36.17 PM                                                                                                SYSTEM
                                                                                                          33860567 02-AUG-13 11.41.51 PM                                                                                                PPZHU

VERSIONS_STARTSCN VERSIONS_STARTTIME                                                               VERSIONS_ENDSCN VERSIONS_ENDTIME                                                                 VERSIONS_XID     VERSIONS_OPERATION USERNAME
----------------- -------------------------------------------------------------------------------- --------------- -------------------------------------------------------------------------------- ---------------- ------------------ ------------------------------
         33861435 03-AUG-13 12.02.00 AM                                                                                                                                                             0F000000321D0000 I                  SYS
 
 
7、闪回事务(可以找到回退语句,但是查询相当慢,使用不当会影响生产系统性能))

SELECT xid, operation, start_scn,commit_scn, logon_user, undo_sql
     FROM flashback_transaction_query    WHERE xid = HEXTORAW('000200030000002D');

SELECT xid, logon_user FROM flashback_transaction_query
     WHERE xid IN (SELECT versions_xid FROM employees VERSIONS BETWEEN TIMESTAMP 
      TO_TIMESTAMP('2003-07-18 14:00:00', 'YYYY-MM-DD HH24:MI:SS') AND
      TO_TIMESTAMP('2003-07-18 17:00:00', 'YYYY-MM-DD HH24:MI:SS'));

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7728585/viewspace-1308969/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/7728585/viewspace-1308969/

ORACLE 10G中闪回汇总相关推荐

  1. Oracle 10g的闪回机制

    第5章Oracle 10g的闪回机制 5.1 简介 在Oracle中,对于提交的变化,是没有办法回退的.所以这时候就可能存在这样一种情况,对于表做了DML操作,并且在提交后才发现,对表的操作是错误的, ...

  2. Oracle数据库中闪回恢复的详细分析

    Oracle9i开始提供闪回查询,以便能在需要的时候查到过去某个时刻的一致性数据,这是通过Undo实现的.这个功能有很大的限制,就是相关事务的undo不能被覆盖,否则就无力回天了.oracle10g大 ...

  3. oracle 10g的闪回删除与回收站

    闪回删除与回收站的简介 1.正常情况下删除一个表 drop table test1 这是表会被放置在recyclebin(回收站) 注意:这里如果执行了"commit"提交操作.下 ...

  4. oracle9i能闪回吗,[转]Oracle 9i的闪回查询概述

    key words: Oracle闪回 flash 1.Oracle 9i的闪回查询功能 在Oracle 9i之前,如果用户错误操作数据后,除了不完全恢复外,没有好的解决办法.Oracle 9i中提供 ...

  5. oracle中闪回和回滚,Oracle Flashback 闪回查询功能9i和10g的区别

    Oracle从9i开始提供了基于回滚段的闪回查询(Flashback Query)功能,可用于恢复错误的DML操作.在Oracle 10g中对闪回查询做了较大改进,不再局限于闪回查询,还可用于恢复错误 ...

  6. oracle中闪回和回滚,oracle闪回操作详解

    Oracle的闪回 oracle中为什么会有闪回呢!它的作用是什么呢?我们来学习一下闪回吧!闪回和回滚异曲同工之妙. 一闪回的介绍 (1)在Oracle的操作工程中,会不可避免地出现操作失误或者用户失 ...

  7. Oracle 原理: 闪回 flashback

    目录 一.9i中的闪回查询方法 二.10g的闪回版本查询方法 三.10g闪回事物查询方法和恢复数据 四.10g闪回表 五.10g闪回删除 六.10g闪回数据库 一.9i中的闪回查询方法 可以按照时间点 ...

  8. oracle数据库归档闪回,oracle数据库开归档闪回模式

    10G 归档相关 转:http://blog.163.com/z_rx/blog/static/2763637620077811571555/ 关于Oracle 10g 归档方式的讨论:关闭归档/启用 ...

  9. 如何打开oracle的回闪,Oracle如何开启闪回功能

    Oracle如何开启闪回 Oracle在9i版本的时候引入了闪回技术,在Oracle 10g已经全面提供了闪回功能,主要提供了快速简单恢复数据库误操作的数据的恢复方法,而不用从逻辑备份或物理备份中恢复 ...

最新文章

  1. TypeError: showInformation() missing 1 required positional argument: ‘self‘
  2. LeetCode - 34. Search for a Range
  3. -【Java FTP及FTP服务器搭建】
  4. 微信小程序轮播中的current_微信小程序 swiper轮播图的按钮切换
  5. 不重新编译DLL,让FCKEditor支持附件上传
  6. 使用javascript及java对Cookie的读写
  7. 【javascript闭包】转载一篇不错的解释,也有几个大牛的链接
  8. springboot 数据权限_13 个最火的 SpringBoot 实战开源项目推荐!总有一个适合你!...
  9. android studio connot resolve
  10. Java Json字符串或Json对象属性查找工具类
  11. poj 3261 Milk Patterns
  12. 重新编译tensorflow源代码遇见的问题解决方法
  13. super resolution gan
  14. 2016小米-风口的猪-中国牛市-Java
  15. php 读取rtf文件,rtf是什么格式?
  16. UCenter Home 正式开源 促进国内SNS网站发展
  17. 013 两个重要极限之一
  18. 【三维激光扫描技术】原理、方法及实验图文教程目录
  19. 利用压缩文件修改加密word文档
  20. 基于低代码开发平台实现的企业OA升级替换方案

热门文章

  1. IDEA下maven编译打包Java项目成jar包但是resource下配置文件打包不成功
  2. Matplotlib画词云图
  3. Zotero PDF translate翻译CNKI报错
  4. python 计算春节工资_python计算春节倒计时
  5. 使用思维宫殿记忆TCP分层结构
  6. 用心理学解释用户行为
  7. 主板供电异常,USB/网线插入/重启导致电脑大概率蓝屏
  8. jquery dataTable动态显示列
  9. 360-读取手机联系人
  10. 三国志战略版:大丹开荒故事会_关妹张苞开荒_上篇