zoukankan      html  css  js  c++  java
  • [Oracle]Oracle的闪回归档

    Oracle的闪回归档

    场景需求,由于管理数据库的一些核心表,在实施初期会有人为误删除的问题。Oracle 11gR2提供了闪回归档的特性,可以保证不用RMAN来恢复误删除的数据。实践如下:

    1.创建一个公共的闪回表空间。

    用于各个业务模块都可以使用的闪回区域。

    create TABLESPACE ARP_FLASH_ARC01 DATAFILE '/u01/app/oradata/oradb/arp_flash_arc01.dbf' SIZE 1024M AUTOEXTEND ON NEXT 512M MAXSIZE 20480M;
    

    2.创建闪回归档

    create flashback archive arp_fda1 tablespace ARP_FLASH_ARC01 retention 7 day;
    
    

    3.对于核心业务表进行闪回归档

    核心财务模块:
    
    alter table fin.bg_exe_budget flashback archive arp_fda1;
    
    工作流模块。
    
    alter table EOS_WORKFLOW.WFWIPARTICIPANT flashback archive arp_fda1;
    
    公文模块:
    
    alter table od.T_OD_ARCHIVES_IN     flashback archive arp_fda1;
    
    人事模块:
    alter table hr.T_HR_ORG_UNIT            flashback archive arp_fda1;
    

    如上,只是伪案例,按照需求给与。

    4.查看哪些表使用了闪回归档

    SYS@oradb> select * from dba_flashback_archive_tables;
    
    TABLE_NAME                     OWNER_NAME
    ------------------------------ ------------------------------
    FLASHBACK_ARCHIVE_NAME
    ------------------------------------------------------------------------------------------------------------------------
    ARCHIVE_TABLE_NAME                                    STATUS
    ----------------------------------------------------- -------------
    BG_EXE_BUDGET                  FIN
    ARP_FDA1
    SYS_FBA_HIST_116707                                   ENABLED
    
    BG_ITEM                        FIN
    ARP_FDA1
    SYS_FBA_HIST_116696                                   ENABLED
    
    AR_BILL                        FIN
    ARP_FDA1
    SYS_FBA_HIST_116779                                   ENABLED
    
    AR_BILL_BALANCE                FIN
    ARP_FDA1
    SYS_FBA_HIST_116716                                   ENABLED
    

    5.查看ARP_FLASH_ARC01表空间的使用情况。

    col tablespace_name format a10;
    col file_name format a30;
    col total_space format a10;
    
    SELECT tablespace_name,  
    file_name, 
    round(bytes/(1024*1024*1024), 2)||' GB' total_space 
    FROM dba_data_files 
    where tablespace_name='ARP_FLASH_ARC01';
    
    TABLESPACE FILE_NAME                      TOTAL_SPAC
    ---------- ------------------------------ ----------
    ARP_FLASH_ /u01/app/oradata/oradb/arp_fla 1 GB
    ARC01      sh_arc01.dbf
    

    6.清除归档的数据

    SYS@oradb> alter flashback archive arp_fda1 purge before timestamp (systimestamp - interval '3' day);
    
    闪回档案已变更。
    

    7.使用闪回查询语句。

    1).闪回查询

    select * from ar_bill
    as of timestamp to_timestamp('2020-01-03 16:30:00', 'yyyy-mm-dd hh24:mi:ss') where id='7F000001FFFFFFFF8EE2F28600000028'
    

    2).闪回恢复

    insert into ar_bill(
    select * from ar_bill
    as of timestamp to_timestamp('2020-01-03 16:30:00', 'yyyy-mm-dd hh24:mi:ss') where id='7F000001FFFFFFFF8EE2F28600000028'
    );
    
  • 相关阅读:
    BFS visit tree
    Kth Largest Element in an Array 解答
    Merge k Sorted Lists 解答
    Median of Two Sorted Arrays 解答
    Maximal Square 解答
    Best Time to Buy and Sell Stock III 解答
    Best Time to Buy and Sell Stock II 解答
    Best Time to Buy and Sell Stock 解答
    Triangle 解答
    Unique Binary Search Trees II 解答
  • 原文地址:https://www.cnblogs.com/zhangshengdong/p/12156426.html
Copyright © 2011-2022 走看看