Oracle dataguard之备库切换(failover)

本文介绍了Oracle 11g Data Guard中的一种新特性——flush redo,允许在主库挂载状态下将未同步的在线redo log信息刷新到备用库,以防止数据丢失。通过实验展示了在主库进行flush redo操作,检查备库是否存在数据间隙,并指导如何在备库进行相应操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

oracle 11g中有一个新特性叫flush redo,就是说如果主库挂了,只要能mount,就可以将没传到备库的online redo log信息刷到备库去,这样就不会有数据丢失。

1.在主库flush redo到备库

这里强调只有在mount的时候才能flush redo,看实验。

SQL> alter system flush redo to orcl_pd;
alter system flush redo to orcl_pd
                           *
ERROR at line 1:
ORA-00922: missing or invalid option


SQL> alter system flush redo to 'orcl_pd';--这里记住名字得加上引号,并且这个名字是tnsname中的备库连接名。
alter system flush redo to 'orcl_pd'
*
ERROR at line 1:
ORA-16445: Database has to be mounted and cannot be open


SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount
ORACLE instance started.

Total System Global Area 1653518336 bytes
Fixed Size		    2253784 bytes
Variable Size		 1006636072 bytes
Database Buffers	  637534208 bytes
Redo Buffers		    7094272 bytes
Database mounted.
SQL> alter system flush redo to 'orcl_pd';

System altered.

2.在主库查看备库是否有gap

SQL> SELECT THREAD#, LOW_SEQUENCE#, HIGH_SEQUENCE# FROM V$ARCHIVE_GAP;

no rows selected

3.在备库做一下操作

SQL> alter database recover managed standby database cancel;

Database altered.

SQL> alter database recover managed standby database finish;

Database altered.

SQL> alter database activate physical standby database;

Database altered.
4.看看备库的读写状态

SQL> select open_mode from v$database;

OPEN_MODE
--------------------
MOUNTED

SQL> alter database open;

Database altered.

SQL> select open_mode from v$database;

OPEN_MODE
--------------------
READ WRITE
现在failover就做完了。








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值