当主服务器因硬件或软件故障而变为不可用时,镜像服务器便会与仲裁服务器协商以取得数据库的所有权并担当主服务器角色。为了实现所有权转让或角色切换,仍在工作的伙伴服务器和仲裁服务器必须承认镜像服务器在尝试进行角色切换时处于最新的、已同步状态。
先前连接到原主服务器的所有客户端将断开,任何尚未提交的事务都会丢失。然后,客户端必须重新连接到新主服务器上的数据库才能继续访问该数据库。当原主服务器再次变为可用时,它会担当镜像服务器角色。
在发生故障转移时,任何连接到原始镜像数据库的客户端均得以保留,且镜像服务器成为主服务器。故障转移后,这些客户端连接可对数据库进行更改。
数据库服务器启动时会在数据库服务器消息窗口中显示状态消息,指明服务器所担当的角色以及启动进程的进度。如果因镜像系统中缺失一个或多个其它服务器而必须重新启动数据库,或者如果服务器角色从镜像服务器切换为主服务器,则会显示一条消息。
如果镜像系统中的某个服务器上发生声明失败,该服务器会将错误写入数据库服务器消息日志,然后退出。从而将它已失败通知给其它服务器,以便其它服务器采取适当的行动。
如果高可用性环境中涉及的数据库遇到问题(如事务日志不兼容或不匹配),则将停止该数据库。运行问题数据库的数据库服务器也会关闭,除非在该服务器上还运行着其它数据库。
关于数据库镜像系统中每个数据库状态的详细信息存储在状态信息文件中。
存在仲裁服务器时,从主服务器到镜像服务器的故障转移会自动进行。如果在同步模式下运行,则故障转移期间不会丢失任何已提交的事务。
故障转移速度很快,因为镜像服务器已经应用了事务日志。如果镜像服务器检测到主服务器发生故障,它会回退任何尚未提交的事务,然后使数据库变为可用。
如果主服务器在同步状态下变得不可用,则镜像服务器无法作为主服务器接管。镜像系统等待主服务器变为可用。
SQL Anywhere 支持当数据库镜像系统中发生故障转移时所触发的那些系统事件,而不管您使用的是哪种模式。您可将这些事件用于诸如发生故障转移时向管理员发出通知之类的任务。
用户启动的角色切换(故障转移)
在发生故障转移时使用数据库镜像系统事件发送通知电子邮件
![]() |
使用DocCommentXchange讨论此页。
|
版权 © 2013, SAP 股份公司或其关联公司. - SAP Sybase SQL Anywhere 16.0 |