工:闪回表实验

1.结构测试表flb_test,数据不小于10000行;

TEST_USER1@PROD>create table flb_test(id number,dd date);

Table created.

TEST_USER1@PROD>begin


  2  for i in 1..10000

  3  loop

  4  insert into flb_test values (i,sysdate+i);

  5  end loop;

  6  end;

  7  /

PL/SQL procedure successfully completed.

exec dbms_stats.gather_table_stats('TEST_USER1','FLB_TEST');

 --收集统计信息

2.查询当前时间与scn号;

TEST_USER1@PROD>select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;

TO_CHAR(SYSDATE,'YY

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

2014-10-13 19:23:29

TEST_USER1@PROD>select dbms_flashback.get_system_change_number from dual;

GET_SYSTEM_CHANGE_NUMBER

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

                 1144357

3.查看该測试表block数目及大小M。

TEST_USER1@PROD>select SEGMENT_NAME,BYTES/1024/1024 size_m, BLOCKS from user_segments   


  2  where SEGMENT_NAME='FLB_TEST';

SEGMENT_NAME        SIZE_M     BLOCKS

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

FLB_TEST               .25         32

4.在这张表的第一和第二列上,创建一个复合索引ind_flb;

TEST_USER1@PROD>create index ind_flb on flb_test(id,dd);

Index created.

5.查看该索引的叶子块的数目以及层数;

TEST_USER1@PROD>select INDEX_NAME,STATUS ,BLEVEL,LEAF_BLOCKS from dba_indexes 


  2  where index_name ='IND_FLB';

INDEX_NAME                     STATUS       BLEVEL LEAF_BLOCKS

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

IND_FLB                        VALID             1          33

--平衡树:  高度=层数+1

TEST_USER1@PROD>select SEGMENT_NAME,BYTES/1024/1024 size_m, BLOCKS from user_segments

  2  where SEGMENT_NAME='FLB_TEST';

SEGMENT_NAME        SIZE_M     BLOCKS

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

FLB_TEST               .25         32

6.删除測试表中一半的记录数并提交;

TEST_USER1@PROD>delete from flb_test where id<=5000;

5000 rows deleted.

TEST_USER1@PROD>commit;

Commit complete.

TEST_USER1@PROD>select count(*) from flb_test;

COUNT(*)

----------

      5000

TEST_USER1@PROD>exec dbms_stats.gather_table_stats('TEST_USER1','FLB_TEST');

PL/SQL procedure successfully completed.

TEST_USER1@PROD>exec dbms_stats.gather_index_stats('TEST_USER1','IND_FLB');

PL/SQL procedure successfully completed.

    --收集表和索引的统计信息

7.闪回fls_test到第二步查询到的时间点;

TEST_USER1@PROD>select table_name ,row_movement from user_tables;

TABLE_NAME                     ROW_MOVE

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

SALARY                         ENABLED

SYS_TEMP_FBT                   DISABLED

FLB_TEST                       DISABLED

EMP                            DISABLED

TEST_USER1@PROD>alter table flb_test enable row movement;

Table altered.

TEST_USER1@PROD>select table_name ,row_movement from user_tables;

TABLE_NAME                     ROW_MOVE

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

EMP                            DISABLED

FLB_TEST                       ENABLED

SYS_TEMP_FBT                   DISABLED

SALARY                         ENABLED

TEST_USER1@PROD>flashback table flb_test to timestamp to_timestamp('2014-10-13 19:23:29','yyyy-mm-dd hh24:mi:ss');

Flashback complete.

TEST_USER1@PROD>exec dbms_stats.gather_table_stats('TEST_USER1','FLB_TEST');

PL/SQL procedure successfully completed.

TEST_USER1@PROD>exec dbms_stats.gather_index_stats('TEST_USER1','IND_FLB');

PL/SQL procedure successfully completed.

    --收集表和索引的统计信息

    --Oracle仅仅是闪回表,全部的东西都原样保留,应又一次收集统计信息

8.查看闪回结果,以及索引状态;

TEST_USER1@PROD>select count(*) from flb_test;

COUNT(*)

----------

     10000

TEST_USER1@PROD>select INDEX_NAME,STATUS ,BLEVEL,LEAF_BLOCKS from dba_indexes

  2  where index_name ='IND_FLB';

INDEX_NAME                     STATUS       BLEVEL LEAF_BLOCKS

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

IND_FLB                        VALID             1          33

版权声明:本文博主原创文章,博客,未经同意不得转载。

Oracle 闪回表实验的更多相关文章

  1. oracle闪回表详解

    --- 说明闪回数据库 --- 使用闪回表将表内容还原到过去的特定时间点 --- 从删除表中进行恢复 --- 使用闪回查询查看截止到任一时间点的数据库内容 --- 使用闪回版本查询查看某一行在一段时间 ...

  2. Oracle闪回表

    Oracle闪回技术 场景:测试环境数据库的表数据被误删除. 解决思路:使用闪回表技术 原理 闪回技术是Oracle强大数据库备份恢复机制的一部分,在数据库发生逻辑错误的时候,闪回技术能提供快速且最小 ...

  3. Oracle闪回技术之一Oracle 11g 利用FlashTable (闪回表)恢复(用delete)误删的数据

    闪回表,实际上就是将表中的数据快速恢复到过去的一个时间点或者系统改变号SCN上.实现表的闪回,需要用到撤销表空间相关的UNDO信息,通过SHOW PARAMETER UNDO命令就可以了解这些信息.用 ...

  4. 【转】FlashBack总结之闪回查询与闪回表

    本文主要介绍利用UNDO表空间的闪回技术,主要包括:闪回表,闪回版本查询,闪回事务查询,闪回查询.这些闪回技术实现从回滚段中读取表中一定时间内操作过的数据,可用来进行数据比对,或者修正意外提交造成的错 ...

  5. 6. Oracle闪回特性

    Oracle 闪回 (flashback)是9i版本提供的新特性.这一特性:其他数据库(PostgreSQL,Mysql)是羡慕不已.对数据恢复提供非常便捷的方式.闪回技术通常用于快速简单恢复数据库中 ...

  6. Oracle闪回flashback

    参考资料:Using Oracle Flashback Technology Oracle 11g的新特性闪回操作 闪回查询 闪回查询 闪回版本查询 闪回事务查询 闪回数据 闪回表 闪回删除 闪回数据 ...

  7. Oracle闪回技术详解

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

  8. Oracle闪回技术(Flashback)

    闪回技术有闪回表.闪回删除.闪回查询.闪回事务查询.闪回事务.闪回数据库.闪回数据归档.其中,闪回查询.闪回事务查询用来“观察”过去:闪回数据归档并不是一个独立的功能,其功能是扩展闪回查询的时间窗口: ...

  9. Oracle 闪回特性(FLASHBACK DATABASE)

    --===================================== -- Oracle 闪回特性(FLASHBACK DATABASE) --======================= ...

随机推荐

  1. PS CC 2014 把一个图层输出为文件的方法

    近期在设计一个Qt控件,须要获得一个圆饼的图片,在用PS绘制后发现保存的时候总是会带着背景,用PNG格式保存之后背景依旧存在.仅仅是变成了透明的.刚才在Google上查到了仅仅保存单一图层而全然没有背 ...

  2. PHP SPL他们留下的宝石

    Rafael Dohms 上面的篇文章 让我为之惊艳,忍不住就翻译了下来,同一时候补充了部分内容. SPL,PHP 标准库(Standard PHP Library) ,此从 PHP 5.0 起内置的 ...

  3. 从头来之【图解针对虚拟机iOS开发环境搭建】 (转)

    1.下载Mac OSX10.9. 点击下载 2.下载VMware Workstation 10,点击下载,网页中包含序列号.安装VM. 3.VM10-MacOS补丁.用于创建苹果虚拟机. 安装VM就不 ...

  4. Eclipse扩展点实践之添加菜单项(ActionSet方式实现)

    ActionSet方式比起Command方式,比较直观,但是功能有限. 首先:新建一个项目,在Extension中添加org.eclipse.ui.actionSets的扩展. 然后,new-> ...

  5. Yii学习笔记之三(在windows 上安装 advanced )

    首先说一下下载地址: http://www.yiiframework.com/download/ 然后将下载下来的文件进行解压到 你指定的文件夹 解压过程中假设报什么错误 直接忽略掉 我的解压文件夹是 ...

  6. MYSQL查询一周内的数据(最近7天的)、最近一个月、最近三个月数据

    如果你要严格要求是某一年的,那可以这样 查询一天: select * from table where to_days(column_time) = to_days(now()); select * ...

  7. Android网络服务发现(NSD)协议的使用

    Android的网络服务发现协议(NSD)能够用于在小范围的网络中发现邻近设备上的某个应用.这对于一些社交网络.多人游戏类的应用会很有帮助. Android的NSD的用法大致上分为四种操作: 1. 注 ...

  8. zoj - 3209 - Treasure Map(精确覆盖DLX)

    题意:一个 n x m 的矩形(1 <= n, m <= 30),现给出这个矩形中 p 个(1 <= p <= 500)子矩形的左下角与右下角坐标,问最少用多少个子矩形能够恰好 ...

  9. Android它Service

    服务是一段代码的后台执行. 无法处理,也不是螺纹,但它是在进程和线程的执行. Android该服务与Activity不同,不能与用户交互,无法启动自己. 媒体播放服务.当用户退出媒体选择用户界面,不过 ...

  10. Python学习入门基础教程(learning Python)--3.3.2 Python的关系运算

    如果if的condition不用布尔表达式来做条件判断而采用关系表达式,实际上关系表达式运算的结果要么是True要么是False.下面我们先了解一些有关关系运算符的基础知识,如下表所示. 做个小程序测 ...