zoukankan      html  css  js  c++  java
  • 闪回查询,9i,10G到11G的不断增强

    9i开始,oracle推出了闪回查询的功能,即可能查询和恢复历史数据,
    依赖于回滚段,受undo_retention参数的控制,只能查询一定时间段以内的历史数据,并且回滚段没有被新的事务覆盖.
    10g中,对闪回查询做了较大改进,不再局限于闪回查询,还可用于恢复错误的DDL(Drop)操作、闪回表、闪回数据库等,增加了闪回恢复区(Flashback recovery area)的新特性.
    它依赖于flashback Log闪回日志,受db_flashback_retention_target等参数的控制
    而11G中又进行了增强,增加了闪回数据存档库的概念,闪回数据可以存放到单独的表空间,不依赖归档日志,
    并且更加灵活方便,不同的表可以制定不同的闪回存储策略,而且通过表空间方式来管理,更便于维护闪回数据.
    下面以一个例子来说明.

    CREATE TABLESPACE zlflashback
    DATAFILE 'D:\APP\ADMINISTRATOR\ORADATA\ORCL\zlflashback.dbf'
    SIZE 10M AUTOEXTEND ON;

    Create Flashback Archive fla_zltab Tablespace zlflashback Retention 1 Month;
    alter table 病人信息 flashback archive fla_zltab;

    SQL> insert into 病人信息(病人id,姓名) values(1,'巴基斯');
    1 row inserted
    SQL> commit;
    Commit Complete
    SQL> update 病人信息 set 姓名='卡巴基斯' where 病人id=1;
    1 row Updated
    SQL> commit;
    Commit Complete
    SQL> set time on;
    17:12:09 SQL> delete 病人信息 where 病人id=1;
    1 row deleted
    17:12:29 SQL> commit;

    SQL>Select * From 病人信息
    As Of Timestamp To_Timestamp('02/20/2008 17:12:09', 'mm/dd/yyyy hh24:mi:ss')
    Where 病人id = 1;
                 病人ID 姓名
    ------------------- --------------------
                      1 卡巴基斯

    查看闪回事务
    Select * From flashback_transaction_query Where table_name='病人信息'
    查看有哪些闪回归档库
    Select * From dba_flashback_archive;
    查看哪些表使用了闪回归档
    Select * From User_Flashback_Archive_Tables

    参考文档:http://www.oracle.com/technology/global/cn/pub/articles/oracle-database-11g-top-features/11g-transactionmanagement.html
    注意,该文档这两个表名有错,flashback_archives,user_flashback_archived_tables

  • 相关阅读:
    01-节点层次
    WebAPI02
    WebAPI01
    牛客剑指Offer7
    Python字典排序
    Python字典中的键映射多个值
    计算机硬件的主要技术指标
    计算机的基本组成
    计算机系统概论
    数据库概论
  • 原文地址:https://www.cnblogs.com/zyk/p/1075502.html
Copyright © 2011-2022 走看看