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

  • 相关阅读:
    Interview with BOA
    Java Main Differences between HashMap HashTable and ConcurrentHashMap
    Java Main Differences between Java and C++
    LeetCode 33. Search in Rotated Sorted Array
    LeetCode 154. Find Minimum in Rotated Sorted Array II
    LeetCode 153. Find Minimum in Rotated Sorted Array
    LeetCode 75. Sort Colors
    LeetCode 31. Next Permutation
    LeetCode 60. Permutation Sequence
    LeetCode 216. Combination Sum III
  • 原文地址:https://www.cnblogs.com/chuancheng/p/8459361.html
Copyright © 2011-2022 走看看