[20160222]Oracle 11G Data Guard Failover

[20160222]Oracle 11G Data Guard Failover-flush redo.txt

--链接: http://blog.csdn.net/tianlesoftware/article/details/6256542

在Oracle 11g里,Data Guard 切换多了一个新的功能:flush redo。

Flush 能把没有发送的redo 从主库传送到standby库。 只要主库能启动到mount 状态,那么Flush 就可以把没有发送的归档和current
online redo 发送到备库。

Flush语法:

SQL> ALTER SYSTEM FLUSH REDO TO target_db_name;

这里的target_db_name 是我们在主库的db_unique_name 名称。 也就是在tnsnames.ora 文件配置的。 Flush 会将未发送的redo 从主库
传到备库,并且等待redo 在standby 库上apply 之后返回成功。 所以只要Flush成功,那么Failover 就没有主句丢失。

--自己测试看看:

1.主库:
SYS@test> show parameter unique
NAME            TYPE    VALUE
--------------- ------- -------
db_unique_name  string  test

--关闭数据库使用shutdown abort关闭。

SYS@test> shutdown abort ;
ORACLE instance shut down.

SYS@test> startup mount
ORACLE instance started.
Total System Global Area 1603411968 bytes
Fixed Size                  2228784 bytes
Variable Size             973082064 bytes
Database Buffers          620756992 bytes
Redo Buffers                7344128 bytes
Database mounted.

2.在备库执行:
SYS@testdg> ALTER SYSTEM FLUSH REDO TO 'test';
System altered.

--注意test要加引号,不然报错:
SYS@testdg> ALTER SYSTEM FLUSH REDO TO test;
ALTER SYSTEM FLUSH REDO TO test
                           *
ERROR at line 1:
ORA-00922: missing or invalid option

$ oerr ora 922
00922, 00000, "missing or invalid option"
// *Cause:
// *Action:

--检查alert*.log发现:

ALTER SYSTEM FLUSH REDO TO 'test' CONFIRM APPLY
Flush redo operation not allowed on a physical standby

--估计dg开在open read only模式,在active data guard状态。启动到mount状态继续测试:

SYS@testdg> shutdown immediate ;
Database closed.
Database dismounted.
ORACLE instance shut down.

SYS@testdg> startup mount
ORACLE instance started.
Total System Global Area 1603411968 bytes
Fixed Size                  2228784 bytes
Variable Size             905973200 bytes
Database Buffers          687865856 bytes
Redo Buffers                7344128 bytes
Database mounted.

SYS@testdg> ALTER SYSTEM FLUSH REDO TO 'test';
System altered.

--检查alert*.log发现:

Mon Feb 22 16:37:01 2016
ALTER SYSTEM FLUSH REDO TO 'test' CONFIRM APPLY
Flush redo operation not allowed on a physical standby
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Using STANDBY_ARCHIVE_DEST parameter default value as /u01/app/oracle11g/archivelog
ALTER SYSTEM SET log_archive_trace=0 SCOPE=BOTH SID='testdg';
ALTER SYSTEM SET log_archive_format='%t_%s_%r.dbf' SCOPE=SPFILE SID='testdg';
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE  THROUGH ALL SWITCHOVER DISCONNECT  USING CURRENT LOGFILE
Attempt to start background Managed Standby Recovery process (testdg)
Mon Feb 22 16:37:04 2016
MRP0 started with pid=29, OS id=1006
MRP0: Background Managed Standby Recovery process started (testdg)
started logmerger process
Mon Feb 22 16:37:09 2016
Managed Standby Recovery starting Real Time Apply
Parallel Media Recovery started with 4 slaves
Waiting for all non-current ORLs to be archived...
All non-current ORLs have been archived.
Recovery of Online Redo Log: Thread 1 Group 5 Seq 4815 Reading mem 0
  Mem# 0: /u01/app/oracle11g/oradata/test/redostb02.log
Completed: ALTER DATABASE RECOVER MANAGED STANDBY DATABASE  THROUGH ALL SWITCHOVER DISCONNECT  USING CURRENT LOGFILE
--注意看~,感觉还是不对。

3.感觉应该在主库执行:
SYS@test> ALTER SYSTEM FLUSH REDO TO 'testdg';
System altered.

--检查备库的alert*.log:
Mon Feb 22 16:43:48 2016
Standby switchover readiness check: Checking whether recoveryapplied all redo..
Physical Standby applied all the redo from the primary.

--如果备库打开read only:

SYS@test> ALTER SYSTEM FLUSH REDO TO 'testdg';
ALTER SYSTEM FLUSH REDO TO 'testdg'
*
ERROR at line 1:
ORA-16447: Redo apply was not active at the target standby database

SYS@test> ALTER SYSTEM FLUSH REDO TO testdg;
ALTER SYSTEM FLUSH REDO TO testdg
                           *
ERROR at line 1:
ORA-00922: missing or invalid option
--必须加引号。

--说明原链接的介绍存在问题。

时间: 2024-10-23 19:56:50

[20160222]Oracle 11G Data Guard Failover的相关文章

Oracle 11g Data Guard环境中的归档管理

11g里面,随着ASM.RAC.Data Guard(包括Active Data Guard)的成熟,使用RAC+ASM+Data Guard越来越成为一种可靠的.维护简单.稳定的高可用性和容灾保护方案.这篇文章谈谈如何管理Oracle 11g Data Guard环境中的归档日志. 归档日志是重要的,不然就不必提到这篇文章,备份恢复需要它,而Data Guard也需要它.在早期版本的Data Guard环境中,常常面临着归档日志管理问题.在Data Guard环境里面,对归档日志管理需要达到以

基于同一主机配置Oracle 11g Data Guard(logical standby)

      Oracle Data Guard逻辑备库是利用主库的一个备份首先建立一个物理备库,然后再将其转换为逻辑备库.这之后主库将日志传递到备库,备库利用logminer从主库的日志中解析出主库所执行过的SQL,在备库上重新执行一遍,从而保证与主库的数据在逻辑上保持一致.与物理备库相对应的是,物理备库使用的是redo apply,逻辑备库使用的是sql apply.因此逻辑备库仅仅保证数据与主库是在逻辑上是一致的,从而逻辑备库可以处于open状态下并进行相应的DML操作.本文描述了创建逻辑备

基于同一主机配置 Oracle 11g Data Guard

       Oracle Data Guard 为企业数据库提供了最有效和最全面的数据可用性.数据保护和灾难恢复解决方案.它集成管理.监视和自动化软件基础架构来创建和维护一个或多个同步备用数据库,从而保护数据不受故障.灾难.错误和损坏的影响.本文主要描述了在同一主机下如何配置Oracle Data Guard.               有关DG的相关概念,可参考:Oracle Data Guard Concepts and Administration        有关配置DG的参数描述

20160223Oracle 11G Data Guard Failover2

[20160223]Oracle 11G Data Guard Failover-flush redo2.txt --链接: http://blog.csdn.net/tianlesoftware/article/details/6256542 --昨天测试了使用: SQL> ALTER SYSTEM FLUSH REDO TO target_db_name; --测试链接 http://blog.itpub.net/267265/viewspace-1992583/ --在主库上执行,而且ta

【12.2新特性】在Oracle Active Data Guard上部署列式存储

一.In-Memory and Active Data Guard 在Active Data Guard上部署列式存储的目的 可以选在在主库.备库或者两者同时部署列式存储.当在主备库上同时部署了列式存储的时候,可以在两个库上对相同或者不同的对象集做操作,如果是操作不同的对象集,那就相当于增加了In-Memory的存储大小. 在主备库上部署同样的In-Memory. 在最简单的情况下,主数据库和备用数据库都包含具有相同大小(不是必需的)的IM列存储. IM列存储包含相同的对象. 此方案的优点是分析

DG8——有关Oracle Data Guard Failover 的说明

原文转自:http://blog.csdn.net/tianlesoftware/article/details/6256542 在之前的两篇文章里都对oracle Data Guard的Failover 进行了说明,但是没有个系统的说明,所以在这篇把DG的Failover 做个系统的说明.          物理Data Guard 下Failover 时Redo 的处理问题        http://blog.csdn.net/tianlesoftware/archive/2010/11/

Oracle 12c Data Guard搭建(一)

    对于使用12c的PDB,如果想尽快熟悉,掌握,那就是和业务挂钩,让它跑在业务上.当然是在能够基本驾驭它的前提下,要不就真成了甩手掌柜.11g可以玩得很好,12c里面也差不到哪里去.     摆在我面前的一个选择就是字符集,尽管有大量的PDB需要整合进来,但是我在分析了几套需要整合的数据库之后,发现字符集还是一个很重要的考量.比如几个已有的旧版本的数据库字符集为 UTF-8 US7ASCII   ZHS16GBK  ZHS16GBK,折中一些,根据实际情况还是选用ZHS16GBK,如果是个

如何在同一台服务器上建立Oracle 10g DATA GUARD

为了测试在同一台服务器上建立了DATA GUARD环境. 主库状态正常,也存在可用的备份,下面设置主库的FORCE LOGGING和相关的初始化参数: SQL> alter database force logging; Database altered. 修改主库的初始化参数: SQL> alter system set log_archive_config = 'DG_CONFIG=(primary,standby)'; System altered. SQL> alter syst

Oracle Active Data Guard调整案例

客户的Oracle 11gR2 Active Data Guard环境,主数据库的standby_file_management=AUTO,备用数据库的standby_file_management=MANUAL,导致在主数据库为表空间添加的数据文件操作没有同步到备用数据库,在$ORACLE_HOME/dbs目录下也没有创建类似UNNAMED00003的文件,备用数据库有如下的告警日志: Tue Sep 02 17:37:36 2014 File #3 added to control file