今天给客户演示了虚拟机上的switchover和failover的切换过程。客户关心的重点自然是failover,我们直接关掉虚拟存储的开关来模拟
今天给客户演示了虚拟机上的switchover和failover的切换过程。客户关心的重点自然是failover,我们直接关掉虚拟存储的开关来模拟阵列故障。failover步骤如下
1.
做这一步的时候,,若存在gap,则会报ORA-16139 :Switchover: Media recovery required - standby not in limbo 错误。做测试的时候,若先起主库再起备库,且未等待备库相关日志传输完毕,就会出现这个问题。此时需要强制切换
附上单机到单机的DATAGUARD failover切换及配置范例下dataguard实施过程。
PRIMARY: RHEL 4.7 Oracle 10.2.0.4单机 文件系统 主机名:zhbqdb1
STANDBY: RHEL 4.7 oracle 10.2.0.4单机 文件系统 主机名:zhbqdb2
主机上创建一个库名为zhdydb1的数据库,开启归档模式。备机装好数据软件,版本升级到与主机一致
在主机和备机上配好/etc/hosts并创建数据存放路径# Do not remove thefollowing line, or various programs
#that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
172.17.42.29 zhbqdb1
172.17.42.30 zhbqdb2
创建存放数据文件和归档的目录
SQL> alter database force logging;
查看当前数据库是否置于force logging 下:
selectforce_logging from v$database;
创建归档目录
在zhbqdb1上
vi$ORACLE_HOME/network/admin/tnsnames.ora
ZHDYDB1 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST =zhbqdb1)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = zhdydb1)
)
)
ZHDYDB2 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST =zhbqdb2)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = zhdydb2)
)
)