zoukankan      html  css  js  c++  java
  • Oracle 闪回归档(Flashback Data Archive)

    --检查权限
    SELECT
        * 
    FROM
        dba_sys_privs 
    WHERE
        privilege LIKE '%FLASH%';

    --设置权限 GRANT dba TO testuser;--设置dba权限 GRANT flashback archive administer TO testuser;


    --设置闪回数据归档权限--创建表空间 /* create tablespace flash_tbs1 logging datafile 'D:appflashdataflash_tbs1.dbf' size 50m autoextend on next 10m maxsize 400m extent management local; */


    --
    创建闪回归档 CREATE flashback archive flash1 tablespace flash_tbs1 quota 10M retention 5 year;

    --
    设置为默认的闪回归档 ALTER flashback archive flash1 SET DEFAULT;

    --
    查看闪回归档设置的状态 SELECT flashback_archive_name, status FROM dba_flashback_archive;

    --设置table闪回归档 ALTER TABLE Table1 flashback archive flash1; ALTER TABLE Table2 flashback archive flash1;

    --查询开启闪回归档的Table SELECT * FROM dba_flashback_archive_tables;

    查询结果 Table1 SYSTEM FLASH1 SYS_FBA_HIST_73432 ENABLED
    Table2 SYSTEM FLASH1 SYS_FBA_HIST_73542 ENABLED


    --查看T_ORG_DEPT表的历史变更记录 SELECT * FROM SYS_FBA_HIST_73542


    --查数据库中所有的闪回数据归档 SELECT flashback_archive_name, retention_in_days FROM dba_flashback_archive;

    --查有关闪回数据归档所使用的表空间的信息 SELECT flashback_archive_name, tablespace_name, quota_in_mb FROM dba_flashback_archive_ts;

    --查询当前scn号 SELECT current_scn FROM v$database;

    查询结果
    1043955
    1043958
    1044070

    1044700


    --依据scn号查询历史数据 SELECT * FROM T_ORG_DEPT AS OF scn 1044070;

    --依据时间戳查询历史数据,不能大于当前时间。 SELECT * FROM T_ORG_DEPT AS OF TIMESTAMP to_timestamp( '20180221 00:00:00', 'yyyymmdd hh24:mi:ss' );

    --清除2天前的 ALTER flashback archive flash1 purge before timestamp ( systimestamp - interval '2' day );

    --清除scn号前的立即 ALTER flashback archive flash1 purge before scn 1044700;

    --查询归档的数据,如果清空全部则无法查询到历史归档数据
    SELECT
     *
    FROM
     SYS_FBA_HIST_73542

    --多表测试 SELECT Table1.NAME, Table2.NAME FROM Table1 AS OF TIMESTAMP to_timestamp( '20180221 00:00:00', 'yyyymmdd hh24:mi:ss' ) INNER JOIN Table3 ON Table1.ID = Table3.PERSONID INNER JOIN Table2 AS OF TIMESTAMP to_timestamp( '20180221 00:00:00', 'yyyymmdd hh24:mi:ss' ) ON Table3.DEPTID = Table2.ID WHERE Table1.id IN ( '2', '3' );

    参考

    http://blog.csdn.net/guoyjoe/article/details/9199963

  • 相关阅读:
    JVM 启动参数设置
    Linux文件分割与合并
    设置tomcat使用指定的jdk版本
    java字符编码
    HASH 哈希处理完数据导致数据集第一行数据缺失
    HASH 何时将key加载到h.definedata()中
    字符串 批量全角、半角转换
    SAS_正则表达式 字符意义
    正则表达式基础篇
    sas options有用的全局设置
  • 原文地址:https://www.cnblogs.com/chuancheng/p/8459361.html
Copyright © 2011-2022 走看看