自动故障切换
备库故障,不影响主库正常提供数据库服务。
自动故障处理:
当备库发生故障时,主库的数据库服务不会受到不影响,守护进程会自动通知主库修改归档为 Invalid 状态,将备库失效。
自动数据同步:
备库故障恢复后,守护进程自动通知主库发送归档 Redo 日志,重新进行主备库数据同步。并在历史数据同步后,修改主库的归档状态为 Valid,恢复备库功能。
当主库发生故障,由备库接管后,原主库故障恢复,守护进程会自动将原主库以备库的模式重新加入主备系统。
GAN HUO
手动故障切换
备库接管
主库发生故障后,可以通过监视器的 Takeover 命令,将备库切换为主库,继续对外提供服务。如果配置为自动切换模式,确认监视器可以自动检测主库故障,并通知备库接管,这个过程不需要人工干预。
必须使用监视器进行操作 1.登录监视器为交互模式(这里不能使用后台模式,否则无法使用监视器自带的相关命令) 例:./dmmonitor …/data/dameng/dmmonitor.ini 2.登录(会提示输入用户名和密码,使用SYSDBA/SYSDBA即可) Login 用户名: 密码: 登录成功提示:Login dmmonitor success! 3.接管 takeover 组名.实例名 4.查看确认 show |
二
备库强制接管
如果执行 Takeover 命令不成功,但主库可能由于硬件损坏等原因无法马上恢复,为了及时恢复数据库服务,DM 提供了 Takeover Force 命令,强制将备库切换为主库。但需要由用户确认主库故障前,主库与接管备库的数据是一致的(主库到备库的归档是 Valid状态),避免引发守护进程组分裂。
执行 Takeover Force 有可能引发组分裂,而 Takeover 命令是在确保不会产生组分裂情况下才允许执行。
必须使用监视器进行操作 1.登录监视器为交互模式(这里不能使用后台模式,否则无法使用监视器自带的相关命令) 例:./dmmonitor …/data/dameng/dmmonitor.ini 2.登录(会提示输入用户名和密码,使用SYSDBA/SYSDBA即可) Login 用户名: 密码: 登录成功提示:Login dmmonitor success! 3.接管 takeover force 组名.实例名 4.查看确认 show |
三
组分裂处理
在某些极端情况下或人为因素,导致的硬件故障或者组分裂等集群处于无法自动恢复的状态时,通常处理方式如下:
可以手动关闭故障服务器的守护进程和数据库进程(如果发生故障时进程仍然在运行),只使用单一主库+确认监视器继续对外提供服务。在合适的时候再重新动态搭建备库,搭建过程不需要停止数据库服务。
1、集群发生组分裂
如果发生组分裂,通常处理方式如下:
通过监视器能看到,在发生组分裂时,产生了2个主库,一个open状态一个mount状态。
2、动态重建备库
在不停服务的情况下进行动态搭建。
先后关闭mount主库GRP1_RWW_01上的守护进程和数据库进程。
对open的主库GRP1_RWW_02进行热备
将备份拷到GRP1_RWW_01上进行恢复
将GRP1_RWW_01的原数据目录重命名,在相同位置重新初始化实例
GRP1_RWW_01恢复完成后将原来的ini文件拷贝到数据目录中,并启动守护进程
查看监视器
GRP1_RWW_01恢复后将以备库状态加入集群