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'
    );
    
  • 相关阅读:
    微信小程序使用wxParse解析html
    git基本操作
    thinkphp 静态缓存设置
    phpstudy 安装memcached服务和memcache扩展
    CSS超出部分显示省略号…代码
    小程序支付
    phpstorm 快捷键2
    thinkphp session设置
    cookie与session
    微信小程序 setData动态设置数组中的数据
  • 原文地址:https://www.cnblogs.com/zhangshengdong/p/12156426.html
Copyright © 2011-2022 走看看