zoukankan      html  css  js  c++  java
  • 11G新特性 -- flashback data archive(1)

    虽然可以依赖undo数据来查询row的旧版本数据,甚至可以执行逻辑恢复。但是你不能期待在undo中找到非常旧的数据。undo数据主要是用来提供读一致性。

    在11G中,提供了Flashback Data Archive新特性,Flashback Data Archive可以自动存储表随着时间的推移发生的改变,时间的长度由用户决定。超过archive的保留期限,Flashback Data Archive会自动清除老的数据,但是不能修改Flashback Data Archive中的数据。Flashback Data Archive不用在数据库级别开启,可以只对用户指定的表。

    flashback data archive数据库中的一个逻辑容器,包含了某个表或多个表的历史数据,以及其retention和purge策略。

    flashback data archive将数据放在用户指定的表空间中;

    flashback data archive可以含有多个表; 通过将表放入不同的flashback data archive,不同的表可以设置不同的retention策略; 可以创建多个flashback data archivei,也可以为数据库设置默认的flashback data archive;

    在数据过期一天后,数据库会自动purge flashback data archive的过期数据;

    表开启flashback data archive功能后,数据库会创建一个内部历史表来存放历史数据。历史表相比源表,会增加一些时间戳列来标识事务信息。

    对表开启flashback data archive功能后,oracle后台进程fbda(Flashback Data Archiver)负责将表的改变数据写入flashback data archive

    insert 操作不会为历史表增加任何行,因为没有前镜像。update、delete操作,fdba进程会记录修改前的行到历史表。默认是每5分钟唤醒一次(oracle会自动调节这个频率),fdba会优先从buffer cache中的undo读取数据,如果已经被清空,就会从undo segments中读取信息。

    Flashback Data Archive和Flashback Database的区别:

    -前者不改变当前数据,只是提供了访问过去某个时间的数据;后者会将数据库变成过去某个时间的数据

    -前者需要开启table track功能;后者需要开启flashback database功能

    -前者是online特性;后者是offline特性

    -前者可以在table级别;后者是数据库级别

    监控flashback data archive:

    -dba_flashback_archive_tables

    -dba_flashback_archive

    -dba_flashback_archive_ts

    Flashback Data Archive存在的限制:

    -可以在源表上增加列,但是不能删除列(除非先取消flashback archive,这样会丢失历史表中的数据)

    -不能使用alter table命令来rename或修改源表的列

    -不能使用alter table命令执行分区、子分区操作,或将long列转换成lob列

    -不能drop table或truncate tablespace

  • 相关阅读:
    JQuery 快速入门一篇通
    Winform 显示Gif图片
    MD5编码工具类 MD5Code.java
    Asp.Net 上传图片并生成高清晰缩略图
    winform时钟c#代码
    PHP面试题汇总
    PHP条件语句语法与示例
    Android声音播放实例代码
    html和js基础功能代码备份
    纯C#实现屏幕指定区域截屏
  • 原文地址:https://www.cnblogs.com/abclife/p/4932383.html
Copyright © 2011-2022 走看看