本帖最后由 guoyJoe 于 2013-3-26 21:15 编辑

一、Fashback Query闪回查询:Books-->APP-->Application Developer's Guide - Fundamentals-->Flashback

1、应用Flashback Query查询过去的数据

select * from t1 as of scn 44545454;

select * from t1 as of timestamp to_timestamp('2012-09-28:09:20:13','yyyy-mm-dd:hh24:mi:SS');

select * from t1 as of timestamp sysdate-5/1440;

--select to_char(sysdate,'yyyy-mm-dd:hh24:mi:ss') sys_time,to_char(scn_to_timestamp(current_scn),'yyyy-mm-dd:hh24:mi:ss') scn_to_time,timestamp_to_scn(sysdate) date_to_scn,dbms_flashback.get_system_change_number scn1,current_scn scn2 from v$database;

2、应用Flashback Query查询操作的事务

(1)使用Flashback Version Query 查询记录修改版本

select current_scn from v$database;

DML操作........

insert into t1 values(20,'gyj20');

commit;

update t1 set name='gyj200000' where id=20;

commit;

delete from t1 where id=20;

commit;

select current_scn from v$database;

SELECT ID,NAME,VERSIONS_STARTSCN STARTSCN,VERSIONS_ENDSCN ENDSCN,VERSIONS_OPERATION OPERATION,VERSIONS_XID XID

FROM T1 VERSIONS BETWEEN SCN 2942841 AND 2942947;

--VERSIONS_STARTSCN:该条记录操作时的SCN,如果为空,表示该行记录是在查询范围外创建的

--VERSIONS_ENDSCN:该条记录失效时的SCN,如果为空,说明记录在这段时间无操作,或者已经被删数,配合VERSIONS_OPERATION

--VERSIONS_OPERATION:I表示insert、D表示delete、U表示update

--VERSIONS_XID:该操作的事务ID

(2)使用Flashback Transaction Query 查询事务信息(可以做审计)

alter database add supplemental log data; //Oracle11g禁用了supplemental logging

select current_scn from v$database;

DML操作........

select current_scn from v$database;

select xid,commit_scn,commit_timestamp,operation,undo_sql

from flashback_transaction_query q where q.xid in (select

versions_xid from t1 versions between SCN  2943656 and 2943676);

SQL> DESC FLASHBACK_TRANSACTION_QUERY --能获得这个事务执行时的很多信息,包括UNDO语句

Name              Null?    Type

----------------- -------- ------------

XID                 RAW(8)    --事务ID,对应Versions Query中的VERSIONS_XID

START_SCN           NUMBER       --事务开始时的SCN

START_TIMESTAMP     DATE         --事务开始时间

COMMIT_SCN          NUMBER    --事务提交时的SCN,该列为空的话,说明事务为活动事务

COMMIT_TIMESTAMP    DATE     --事务提交时间

LOGON_USER          VARCHAR2(30) --操作用户

UNDO_CHANGE#        NUMBER    --UNDO SCN

OPERATION           VARCHAR2(32) --执行操作,有几个值:Delete、Insert、Update、B、UNKNOWN

TABLE_NAME          VARCHAR2(256)--DML操作对象的表名

TABLE_OWNER         VARCHAR2(32) --表的属主

ROW_ID              VARCHAR2(19) --DML操作记录的行地址

UNDO_SQL            VARCHAR2(4000)--撤销该操作对应的SQL

二、Flashbackup Table闪回表:Books-->ADM-->Administrator's Guide-->flashback

1、从undo表空间恢复

select row_movement from user_tables where table_name='T1';

alter table t1 enable row movement;

select * from t1;

select current_scn from v$database;

delete from t1;

commit;

select * from t1;

select * from t as of scn 9999;

flashback table t1 to scn 9999;

flashback table t1 to timestamp sysdate-5/1440;

--create temporary tablespace temp2 tempfile '/u01/app/oracle/oradata/bxdb/temp02.dbf' size 50M;

--alter user gyj  temporary tablespace temp2;

2、利用recyclebin,drop闪回

drop table t1;

select object_name,original_name,droptime from recyclebin;

flashback table t1 to before drop;

--flashback table t1 to before drop rename to t1_old;

实验:多个名为t1的表恢复会是什么顺序???

回收站清除是按什么规则的??????

恢复表时索引也同时被恢复,但索引名称是????

drop table t1 purge; --真正删除表

三、数据库闪回配置:Books-->BAK-->Backup and Recovery Advanced User's Guide-->flashback

v$flashback_database_log

1、闪回区的大小

db_recovery_file_dest

db_recovery_file_dest_size

2、闪回日志保留时间

db_flashback_retention_target

3、设闪回

startup mount

alter database flashback on;

alter database open;

4、闪回操作要在mount下做

一般在备库中做完测试,用闪回恢复到测度前状态

flashbackup database TO TIMESTAMP(SYSDATE-1/24);

alter database open;

5、建闪回点

create restore point 恢复点名字 [guarantee flashback database]

drop restore point 恢复点名字

flashback database to  restore point re_data;

6、***场景1:

show parameter db_recover

arcive log list;

select flashback_on,force_logging from v$database;

alter database force logging;

select dbms_flashback.get_system_change_number from dual;

drop table t1 purge;

shutdown immediate;

startup mount;

flashback database to  restore point re_data;

--flashback database to scn 1511225;

alter database open resetlogs;

select * from t1;

oracle 数据库回闪,各种数据库闪回的总结相关推荐

  1. oracle 闪回查询,闪回版本查询,闪回事务查询,闪回表,闪回删除,闪回数据库

    文章目录 1. 闪回查询 1.1. 闪回时间查询 1.2. 闪回scn查询 (1) 获取scn号的方法 (2) 闪回scn查询命令 2. 闪回版本查询 3. 闪回事务查询 4. 闪回表 5. 闪回删除 ...

  2. Oracle数据库中的锁,闪回操作(二)

    目录 1.锁机制 2.闪回 (1)查询闪回 (2)表闪回 (3)删除闪回 (4)回收站管理 (5)数据库闪回 (6)归档闪回 3.Undo表空间 (1)undo表空间管理的优点 (2)undo表空间管 ...

  3. oracle对查询结果求和_Oracle 闪回技术详解

    概述 闪回技术是Oracle强大数据库备份恢复机制的一部分,在数据库发生逻辑错误的时候,闪回技术能提供快速且最小损失的恢复(多数闪回功能都能在数据库联机状态下完成).需要注意的是,闪回技术旨在快速恢复 ...

  4. 闪存数据库概念与技术

    闪存数据库概念与技术 中国高校第一本闪存数据库研究专著 历时两年,倾心之作  内容原创,品质保证 网络发布,免费共享  版权所有,侵权必究 243页,40余万字,系统研究闪存数据库 (点击这里下载专著 ...

  5. mysql32位的能装在64位的电脑上吗,mysql32位能装64位电脑【excle中怎么将log值变回原来的数据库】...

    excle中怎么将log值变回原来的数据库 通过数据备份跟binlog记录,可能原来的数据 恢复步骤 a)创建新的数据库 create database rollback_db; b)将数据库备份倒入 ...

  6. 数据库即时搜索_加速数据库恢复; 即时回滚和数据库恢复

    数据库即时搜索 Accelerated database recovery will be the topic of this article, including killing an active ...

  7. 数据库事务开启,提交与回滚

    概述 事务是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位. 基于事务的原子性.一致性.隔离性和持续性特征,可以将相关的数据操作定义到一个事务当中.如果操作过程中 ...

  8. Memblaze与南大通用签署战略合作,共推闪存数据库一体机方案

    北京,2016年10月17日-Memblaze宣布正式与天津南大通用数据技术股份有限公司(以下简称南大通用)签署战略合作协议.未来双方将在技术研发.解决方案及市场拓展等层面建立长期稳定的战略合作关系, ...

  9. mysql 事务回滚语句_数据库事务回滚语句-sql事务回滚语句是-用于事务回滚的sql语句...

    sql 回滚语句 这种情况的数据恢复只能利用事务日志的备份来进行,所以如果你的SQL没有进行相应的全库备份 或不能备份日志(truncate log on checkpoint选项为1),那幺就无法进 ...

  10. mysql有闪回吗_MySQL的闪回策略

    闪回原理 既然binlog以event形式记录了所有的变更信息,那么我们把需要回滚的event,从后往前回滚回去即可. 对于单个event的回滚,我们以表test.user来演示原理 mysql> ...

最新文章

  1. 如何去使用Python爬虫来爬取B站的弹幕数据?
  2. Google App Engine:在您自己的域中托管应用程序
  3. 链表逆序的原理及实例
  4. 使用MbrFix.exe修复MBR分区表
  5. 使用ANT编译项目报错 com.sun.image.codec.jpeg does not exist 解决方法
  6. JSP九大内置对象及四个作用域
  7. centos安装apache+mysql_CentOS7安装apache+mysql+php环境
  8. C++类内初始值的初始化形式
  9. 郑州中小幼计算机初中级,郑州市中小幼计算机等级考试大纲.doc
  10. 避坑:关于两个HC-05主从一体蓝牙模块互连,连不上问题
  11. python制作动态时钟_python+pygame制作一个可自定义的动态时钟和详解
  12. day 1 | 704. 二分查找、27. 移除元素
  13. http 请求的7 种方法
  14. 谈谈百度的短视与无奈
  15. C#,数值计算,矩阵的乔莱斯基分解(Cholesky decomposition)算法与源代码
  16. Windows的此版本即將過期
  17. outlook 不能打开错误解决方法
  18. 应急制冷机房精密空调 数据中心应急制冷系统
  19. HTML+js实现猜字小游戏
  20. nginx 安装 php

热门文章

  1. Springboot2.x +JPA 集成 Apache ShardingSphere 同库分表
  2. Git bash 编码格式配置_02
  3. Cannot obtain primary key information from the database, generated objects may be incomplete
  4. Spring中,使用工具类无法自动注入service
  5. vue-router 动态路由匹配
  6. Java-Super
  7. Linux系统json文件打中文,如何在 Linux 终端上漂亮地打印 JSON 文件
  8. 点读笔客户端_新手妈妈如何选购点读笔
  9. QtCreator下使用c++标准输入cin输出cout没有阻塞等待输入
  10. centos7已有数据硬盘挂载_干货!如何给虚拟机增加虚拟硬盘,Linux再分区挂载