双机切换
双机切换包含正常切换(switchover)和故障切换(failover)。
switchover
1、正常切换的应用场景如下。
当数据库升级时,先停止备机,升级备机数据库,然后启动备机,当主备关系稳定后切换主备机,然后升级原来的主机数据库,这样可保证业务零中断,数据零丢失,提供高可靠性数据库服务。
在复杂的应用系统中,除数据库软件还有其他应用进程,当这些进程产生异常时需进行切换,则为了避免数据丢失,主备数据库也要跟着切换。
2、正常切换步骤。
查询节点的角色和状态。
SQL> SELECT DATABASE_ROLE, DATABASE_CONDITION, SWITCHOVER_STATUS FROM DV_DATABASE;
DATABASE_ROLE DATABASE_CONDITION SWITCHOVER_STATUS
------------------------------ ------------------ --------------------
PHYSICAL_STANDBY NORMAL TO PRIMARY
1 rows fetched.如果查询结果是备机,而且状态是normal,则可以在该节点上执行switchover。
下发switchover命令。
SQL> ALTER DATABASE SWITCHOVER;
Succeed.switchover只能在备机上执行,级联备上和主机上无法执行。
failover
failover适用于主机发生故障,而且短时间内无法及时恢复。在有级联备的情况下,如果主机和所有备机均已发生故障,则可以在级联备上执行failover升主。其操作步骤如下:
查询备机状态
查询节点状态。
SQL> SELECT DATABASE_ROLE, DATABASE_CONDITION, SWITCHOVER_STATUS FROM DV_DATABASE;
DATABASE_ROLE DATABASE_CONDITION SWITCHOVER_STATUS
------------------------------ ------------------ --------------------
PHYSICAL_STANDBY DISCONNECTED TO PRIMARY如果查询结果是备机,而且状态是DISCONNECTED,则可以在该节点上执行failover。
下发FAILOVER命令。
SQL> ALTER DATABASE FAILOVER;