博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Oracle 闪回表实验
阅读量:7144 次
发布时间:2019-06-29

本文共 2636 字,大约阅读时间需要 8 分钟。

工:闪回表实验

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

table flb_test(id number,dd date);

Table created.

  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号;

to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;

TO_CHAR(SYSDATE,'YY

-------------------
2014-10-13 19:23:29

dbms_flashback.get_system_change_number from dual;

GET_SYSTEM_CHANGE_NUMBER

------------------------
                 1144357

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

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;

index ind_flb on flb_test(id,dd);

Index created.

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

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

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.删除測试表中一半的记录数并提交;

from flb_test where id<=5000;

5000 rows deleted.

;

Commit complete.

count(*) from flb_test;

  COUNT(*)

----------
      5000

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

PL/SQL procedure successfully completed.

dbms_stats.gather_index_stats('TEST_USER1','IND_FLB');

PL/SQL procedure successfully completed.

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

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

table_name ,row_movement from user_tables;

TABLE_NAME                     ROW_MOVE

------------------------------ --------
SALARY                         ENABLED
SYS_TEMP_FBT                   DISABLED
FLB_TEST                       DISABLED
EMP                            DISABLED

table flb_test enable row movement;

Table altered.

table_name ,row_movement from user_tables;

TABLE_NAME                     ROW_MOVE

------------------------------ --------
EMP                            DISABLED
FLB_TEST                       ENABLED
SYS_TEMP_FBT                   DISABLED
SALARY                         ENABLED

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

Flashback complete.

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

PL/SQL procedure successfully completed.

dbms_stats.gather_index_stats('TEST_USER1','IND_FLB');

PL/SQL procedure successfully completed.

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

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

count(*) from flb_test;

  COUNT(*)

----------
     10000

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

 

 

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

你可能感兴趣的文章
定位「数字化助手」,腾讯想用服务创新助力产业智慧升级
查看>>
golang之sync.Mutex互斥锁源码分析
查看>>
SAP增强的PA教材内容
查看>>
jQuery系列 第八章 jQuery框架Ajax模块
查看>>
OpenCV中原始图像加载与保存压缩技巧
查看>>
MySQL 8复制性能的增强
查看>>
C#使用Xamarin开发可移植移动应用(3.Xamarin.Views控件)附源码
查看>>
Java 模拟基于UDP的Socket通信
查看>>
我要做 Android 之Fragment
查看>>
有关 Windows Lite 的一切,只为对抗 Chrome OS?
查看>>
Android 自定义控件之SlidingMenuVertical顶部悬浮(垂直折叠抽屉,有滑动渐变回调,可自行添加渐变动画)...
查看>>
NG-ZORRO 7.0.1 发布,Ant Design 的 Angular 实现
查看>>
Django 2.0 model on_delete错误小记
查看>>
ffmpeg中的sws_scale算法性能测试
查看>>
Groovy 处理JSON
查看>>
JEESZ分布式框架简介
查看>>
scala笔记(三)
查看>>
java线程池的原理学习(三)
查看>>
自己编写jQuery插件 之 无缝滚动
查看>>
Java笔记-Comparable 和 Comparator比较
查看>>