oracle data guard闪回,ORACLE DATA GUARD备库应用闪回数据库测试 | 信春哥,系统稳,闭眼上线不回滚!...

客户有套DG环境,最近客户的领导提出这样一个需求,要求在一个月内的所有误删除等操作都可以通过备库快速回退到故障点,快速找回数据,通过RMAN备份恢复肯定可以实现,但闪回数据库功能相对来说可能更方便(客户有足够的空间保留一个月的闪回日志)。

以下是针对STANDBY数据库应用FLASHBACK DATABASE功能模拟客户环境做的实验:

操作系统:OEL5.7X86_64

数据库版本:ORACLE 11.2.0.3.0

实验过程:

搭建物理DATA GUARD(略)

备库开启数据库闪回功能

如果备库已经开始应用日志,首先需要关闭MPR进程

SQL> alter database recover managed standby database cancel;

Database altered.

备库打开闪回数据库功能

SQL> alter database flashback on;

Database altered.

将备库打开到OPEN READ ONLY状态

SQL> alter database open read only;

Database altered.

备库启动MPR进程,开始应用日志

SQL> alter database recover managed standby database disconnect from session;

Database altered.

主库模拟数据变化

本实验在主库创建个JOB,每5秒钟更新一次数据。

SQL> conn scott/tiger

Connected.

SQL> declare

2 job_sal number;

3 begin

4 dbms_job.submit(job_sal,

5 'UPDATE EMP_OGG SET SAL=SAL+1;commit;',

6 sysdate,

7 'sysdate+1/24/60/12');

8 commit;

9 end;

10 /

PL/SQL procedure successfully completed.

主库查询当前SCN及数据的值

当JOB运行一段时间后,查询当前数据库SCN及数据的值

SQL> select current_scn from v$database;

CURRENT_SCN

-----------

505250

SQL> select max(sal) from scott.emp_ogg as of scn 505250;

MAX(SAL)

----------

6068

主库切换日志

主库切换日志,保证备库数据尽量和主库完全同步

SQL> alter system switch logfile;

System altered.

SQL> /

System altered.

... ...

... ...

System altered.

SQL> /

System altered.

备库查询数据值

SQL> select max(sal) from scott.emp_ogg;

MAX(SAL)

----------

6097

查询SCN为505250时数据的值

SQL> select max(sal) from scott.emp_ogg as of scn 505250;

MAX(SAL)

----------

6068

备库关闭MPR进程

SQL> alter database recover managed standby database cancel;

Database altered.

备库打开到MOUNT状态

SHUTDOWN IMMEDIATE

STARTUP MOUNT

10.备库闪回到SCN 505250

SQL> flashback database to scn 505250;

Flashback complete.

11.将备库调整到OPEN READ ONLY状态,并查询数据

SQL> alter database open read only;

Database altered.

SQL> select max(sal) from scott.emp_ogg;

MAX(SAL)

----------

6068

12.回退

如果此时可以查询到误删除的数据,那么直接导出数据并在主库还原,还原后可以再次打开MPR进程,MPR进程会自动和主库同步数据,而不需要重新搭建备库。

备库:

SQL> alter database recover managed standby database disconnect from session;

Database altered.

SQL> select max(sal) from scott.emp_ogg;

MAX(SAL)

----------

6223

SQL> a  as of scn 505250

1* select max(sal) from scott.emp_ogg as of scn 505250

SQL> /

MAX(SAL)

----------

6068

总结

经过测试,证实备库在应用归档日志的同时,也是会记录闪回日志的。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值