ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 闪回操作的学习

闪回操作的学习

原创 Linux操作系统 作者:xiaoguowei1314 时间:2010-04-16 17:51:51 0 删除 编辑

初始参数

undo_management=auto  ;    undo_retention控制保留撤销端的所需时间长度,已秒为单位(请注意这个设置的太大会增加回滚表空间的大小,造成磁盘空间的负荷)

1、闪回查询

SQL>  SELECT *    FROM KF_GY_XUHAO AS OF TIMESTAMP TO_TIMESTAMP('2010-04-16 16:30:00', 'YYYY-MM-DD HH24:MI:SS');

将查询的结果插入原表中,这种方式的话,条件越精确,得到恢复的结果插入也少

例如可以使用:insert  into KF_GY_XUHAO SELECT *    FROM KF_GY_XUHAO AS OF TIMESTAMP TO_TIMESTAMP('2010-04-16 16:30:00', 'YYYY-MM-DD HH24:MI:SS');进行插入数据

同时也可以使用SCN来恢复,通过

select    dbms_flashback.get_system_change_number  as scn  from dual;

可以得到Scn然后使用闪回查询  select * from KF_GY_XUHAO as of scn 15421 ; 

此时的scn号要比查询出来的小,可以通过统计数据的个数来确定SCN

2、闪回表

使用闪回表(flasback table)可以消除不必要的克隆操作

这种技术需要实现是改变表,启用表的行移动功能

alter  table  KF_GY_XUHAO enble row movement ;

flash tble KF_GY_XUHAO AS OF TIMESTAMP TO_TIMESTAMP('2010-04-16 16:30:00', 'YYYY-MM-DD HH24:MI:SS');

或者 flash table  KF_GY_XUHAO as of scn 15421 ;

如果没有启动行移动功能,使用闪回表会报错;

 

闪回表-行移动.jpg

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

请登录后发表评论 登录
全部评论

注册时间:2010-04-07

  • 博文量
    18
  • 访问量
    25210