oracle数据库归档闪回,[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'

);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值