Oracle Dataguard物理备库三种临时读写方法

本文详细介绍了在Oracle Dataguard环境中,如何通过flashback database、activate standby database和snapshot standby三种方式实现物理备库的临时读写,并在完成后恢复为physical standby状态。具体步骤包括查询主库SCN、取消日志应用、创建恢复点、激活备库以及利用还原点恢复等关键操作。
摘要由CSDN通过智能技术生成

包含以下三部分内容,都可以实现物理备库临时读写以及再恢复为physical standby:

  • flashback database闪回physical standby

  • activate standby database

  • snapshot standby

1. 在physical standby闪回恢复主库误操作数据

只要Flashback dest空间跟归档在,可以任意闪回。

1.1 查询当前primary SCN

SYS@honor1 > select to_char(current_scn) from v$database;
TO_CHAR(CURRENT_SCN)
----------------------------------------
17031266

1.2 primary创建测试表

HR@honor1 > create table test_flashback parallel as select * from user_objects;
HR@honor1 > insert into test_flashback parallel select * from user_objects;
HR@honor1 > commit;

1.3 备库查询测试表,闪回到创建该表前

SYS@honordg > desc hr.test_flashback;    # 检查,备库已经同步该表
SYS@honordg > alter database recover managed standby database cancel;
SYS@honordg > shutdown immediate;
SYS@honordg > startup mount;
SYS@honordg > flashback database to scn 17031266;
Flashback complete.
21:03:11 SYS@honordg > alter database open read only;
Database altered.
HR@honordg > desc test_flashback;     # 可以看到已经闪回到创建该表前。
ERROR:
ORA-04043: object test_flashback does not exist

1.4 恢复physical standby

# 检查备库当前状态

SYS@honordg > select GUARD_STATUS,OPEN_MODE,STANDBY_BECAME_PRIMARY_SCN,SWITCHOVER_STATUS,DATABASE_ROLE from v$database;
GUARD_S OPEN_MODE                          STANDBY_BECAME_PRIMARY_SCN SWITCHOVER_STATUS    DATABASE_ROLE
------- -------------------- ---------------------------------------- -------------------- ----------------
NONE    READ ONLY                                                   0 NOT ALLOWED          PHYSICAL STANDBY
SYS@honordg > select to_char(current_scn) from v$database;
TO_CHAR(CURRENT_SCN)
----------------------------------------
17031266

# 直接开启恢复,备库即可利用归档

SYS@honordg > alter database recover managed standby database disconnect from session;
Database altered.

1.5 通过alert详解闪回以及恢复physical standby过程

(1)可以看到physical standby已经恢复sequence 914日志

Archived Log entry 39 added for thread 1 sequence 914 rlc 984508005 ID 0x150ac660 dest 2:
RFS[2]: No standby redo logfiles created
RFS[2]: Opened log for thread 1 sequence 915 dbid 353046371 branch 984508005
Tue Jun 09 20:30:02 2020
Media Recovery Log +DGFRA/honordg/archivelog/2020_06_09/thread_1_seq_914.493.1042661953
RFS[1]: Opened log for thread 1 sequence 915 dbid 353046371 branch 984508005
RFS[2]: Assigned to RFS process 14109
RFS[2]: No standby redo logfiles created
Archived Log entry 40 added for thread 1 sequen
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值