FAST-START failover 就是在当主数据库出现故障时,能快速与可靠的把standby切换成主数据库,在整个过程中不需要人来干预。fast-
FAST-START failover 就是在当主数据库出现故障时,能快速与可靠的把standby切换成主数据库,在整个过程中不需要人来干预。fast-start failover只能通过dgmgrl与Enterprise Managerg来配置。
只有maximum availability mode or maximum performance mode才能启用fast-start failover模式。在maximum availability模式下面,在切换时可以保证无数据丢失,在maximum performance mode下面,会有数据丢失,丢失多少数据由 FastStartFailoverLagLimit这个参数来配置。
只要observer进程启动过,我们就不需要人为的干预。当observer与指定的备数据库与主数据库失去连接的时间超过FastStartFailoverThreshold后,,observer就会启动fast-start failover 到备数据库。如果配置了FastStartFailoverPmyShutdown为true,此时原来的主数据库将会自动的shutdown。如果配置FastStartFailoverAutoReinstate为true,当failover完成后,启动数据库时,会自动的执行Reinstate database,把原来的主数据库变成备库,并与新主库进行同步。
fast-start failover包含3个过程,如下图:
测试开始:
环境:OS RedHat 5.6 X86_64 ,DB 11.2.0.2
1,DG环境的搭建。
见Oracle 11GR2 搭建活动的物理DG/DataGuard (READ ONLY模式)
2,broker的配置
见
3,配置保护模式与日志传递方式
之前已经说了FAST-START FAILOVER只 maximum availability mode与maximum performance mode
下面我们看一下每一种保护模式对应的日志传递方式。
3.1修改保护模式:
3.2 修改日志传递方式
4 配置数据库的flashback
4.1 主库上面
4.2 备库上面
5 配置observer服务器
5.1 配置tnsnames.ora文件。
[oracle@test admin]$ cat tnsnames.ora
HTZB =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.31)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = dedicate)
(SERVICE_NAME = htzb)
)
)
HTZ =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.30)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = dedicate)
(SERVICE_NAME = htz)
)
)
5.2 启动observer进程
6 配置fast-start failover
于fst-start failove相关的其它几个参数:
FastStartFailoverPmyShutdown
FastStartFailoverLagLimit
FastStartFailoverAutoReinstate
ObserverConnectIdentifier
这里我们都使用默认值;我们来看一下这些值的默认值;
7 启用fast-start failover
8.测试FAST-START FAILOVER是否生效
DGMGRL> show configuration
Configuration - htz
Protection Mode: MaxAvailability
Databases:
htz - (*) Physical standby database
Fast-Start Failover: ENABLED
Configuration Status:
SUCCESS
#原主库直接shutdown abort;
SQL> shutdown abort;
ORACLE instance shut down.
SQL>
#observer进程的日志
19:03:03.93 Friday, September 07, 2012
Initiating Fast-Start Failover to database "htz"...
Performing failover NOW, please wait...
Failover succeeded, new primary is "htz"
19:03:13.24 Friday, September 07, 2012
#提示已经把主切换到htz
#在htz上面查看一下
OPEN_MODE DATABASE_ROLE
已经成功
手动启动原主库
DGMGRL> show configuration;
Configuration - htz
Protection Mode: MaxAvailability
Databases:
htz - Primary database
Warning: ORA-16817: unsynchronized fast-start failover configuration
htzb - (*) Physical standby database (disabled)
ORA-16661: the standby database needs to be reinstated
Fast-Start Failover: ENABLED
Configuration Status:
WARNING
DGMGRL> connect sys/oracle@htzb
Connected.
DGMGRL> startup
ORACLE instance started.
Database mounted.
ORA-16649: possible failover to another database prevents this database from being opened
#过一分会后我们再查看一下状态
DGMGRL> connect sys/oracle@htz
Connected.
DGMGRL> show configuration
Configuration - htz
Protection Mode: MaxAvailability
Databases:
htz - Primary database
htzb - (*) Physical standby database
Fast-Start Failover: ENABLED
Configuration Status:
SUCCESS
查看状态,一切正常。
Stellungnahme:Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn