说明 :
VCS(Veritas Cluster Server)是Symantec(赛门铁克)公司的一款集群管理软件, Oracle+VCS可以实现故障发现、故障切换等功能,本文主要介绍Oracle VCS的一些简单操作,仅供参考。
一 :通过 VCS客户端进行切换
1. 登录 VCS 管理软件

2. 选择待切换的服务器

3. 解冻资源
检查资源状态,如果是冻结状态,需要先解冻
备注:
取消冻结资源组后,即可对该资源组执行联机或脱机操作。
通过
Cluster Explorer
取消冻结资源组
1、在配置树的 Service Groups 选项卡中,右键单击资源组。或单击配置树中的集群,再单击 Service Groups 选项卡,然后右键单击视图面板中的资源组图标。 2、单击 Unfreeze。
4.
切换
选择
switch to --remote switch
观察资源状态
观察另一台资源状态,直到所有资源都启动完毕。
5. 验证数据库状态
登录切换后的数据库服务器
su - oracle Sqlplus / as sysdba Select name,open_mode from v$database; Select username,count(*) from v$session where username is not null group by username;
6. 执行冻结操作
资源没有问题的情况下,两台服务器都执行冻结操作,点击 freeze- 》 Persistent 备注: 冻结资源组可以防止它故障切换到另一个系统。该冻结过程将停止资源组上的所有联机和脱机过程。 通过 Cluster Explorer 冻结资源组
1、在配置树的 Service Groups 选项卡中,右键单击资源组。或单击配置树中的集群,再单击 Service Groups 选项卡,然后右键单击视图面板中的资源组图标。 2、单击 Freeze,然后在菜单中单击 Temporary 或 Persistent。如果选择了 persistent 选项后将其保存到配置中,则系统在重新引导后仍保持冻结状态。
二:通过 VCS 命令切换
主库:192.168.0.101 从库:192.168.0.102 VIP: 192.168.0.103
目的: 通过VCS ,将 Oracle 实例,从 192.168.0.101 切换到 192.168.0.102 操作如下:
1. 检查VCS 资源
查看资源组状态
root@
CJC-DB-01
:/opt/VRTS/bin#./hagrp -state
通过查询可知:
资源组名称为:
XX_CJC_DBS
节点名称:
192.168.0.101 VCS节点名称是CJC-DB-01_vcs。 192.168.0.102 VCS节点名称是CJC-DB-02_vcs。
查看资源状态
root@CJC-DB-01:/opt/VRTS/bin#./hares -state
通过查询可知:
资源在节点1
CJC-DB-01
_vcs
上在线。
2. 检查资源组是否冻结
root@CJC-DB-01:/opt/VRTSvcs/bin#./hagrp -display | grep Frozen
两节点都是未冻结状态。
如果冻结状态,会显示如下:
临时冻结
永 久冻结
主要查看最后两行:
最后一行value值为0时,表示资源未冻结,为1时表示资源冻结。 倒数第二行vales值为0时,表示资源未冻结,为1时表示资源冻结。 TFrozen表示临时冻结,重启后恢复默认值。 Frozen表示永 久冻结,重启后值不变。
如果是冻结状态下,无法执行VCS 切换,需要先解冻
root@CJC-DB-01:/opt/VRTS/bin#./hagrp -switch XX_CJC_DBS -to CJC-DB-02_vcs VCS WARNING V-16-1-10154 Group XX_CJC_DBS is frozen
执行 VCS 切换前,需要确保两个节点资源都是未冻结状态,切换完成后,需要将资源改成冻结状态,避免数据库自动切换。 资源冻结状态查看、修改冻结状态语句如下: 查看冻结状态
cd /opt/VRTSvcs/bin ./hagrp -display | grep Frozen
手动设置为资源冻结( 两个节点分别执行)
./hagrp -freeze XX_CJC_DBS
手动设置为资源 永 久 冻结( 两个节点分别执行) 先 将 VCS 配置的属性设置为可写。
# haconf -makerw
持久冻结每个服务组。
# hagrp -freeze XX_CJC_DBS -persistent
将配置的属性设置为只读。
# haconf -dump -makero
手动设置为资源未冻结( 两个节点分别执行)
./hagrp -unfreeze XX_CJC_DBS
3. 数据库切换
192.168.0.101 切换到 192.168.0.102 192.168.0.101 上执行: 切换前检查 检查nfs 挂载 df -h /ora* 检查VIP ip a 正式切换
su - root cd /opt/VRTSvcs/bin ./hagrp -switch XX_CJC_DBS -to CJC-DB-02_vcs
切换过程大致如下: 执行VCS 切换命令后
(1).原主库192.168.0.101上Oracle数据库自动执行shutdown immediate关库操作。 (2).原主库192.168.0.101自动删除VIP 192.168.0.103。 (3).原主库192.168.0.101自动umount /oradata和/oraarch的NFS存储。 (4).新主库192.168.0.102自动mount /oradata和/oraarch的NFS存储。 (5).新主库192.168.0.101自动添加VIP 192.168.0.103。 (6).新主库192.168.0.101自动执行arping广播。 (7).新主库192.168.0.101自动启动实例。
4. 验证 本地节点登录验证 sqlplus / as sysdba 验证实例状态、数据库连接、会话、等待事件、归档切换等
5. 数据库回切
192.168.0.102 主库节点操作 检查NFS 挂载情况 root@ CJC-DB-02 :/opt/VRTS/bin#df -h /ora* 检查VIP root@ CJC-DB-02 :/opt/VRTS/bin#ip a 开始回切
su - root cd /opt/VRTSvcs/bin ./hagrp -switch XX_CJC_DBS -to CJC-DB-01_vcs
验证 sqlplus / as sysdba 验证实例状态、数据库连接、会话、等待事件、归档切换等
三:手动切换
适用场景: 当 VCS 切换失败,或 VCS 服务异常时,无法通过 VCS 进行 Oracle 实例切换,可以使用手动切换 Oracle 实例。 手动切换 目的: 通过手动方式,将 Oracle 实例,从 192.168.0.101 切换到 192.168.0.102 。
1. 停监听
主库 192.168.0.101 oracle@CJC-DB-01:/home/oracle$lsnrctl stop
2. 停实例
SQL> shutdown immediate
3. 卸载 VIP
ifconfig ip a ifconfig ensxxx:0 192.168.0.103 down
4.卸载 NFS
df -h /ora* mount |grep ora
开始 umount
###umount /oradata ###umount /oraarch
5.新增 VIP 从库 192.168.0.102 ifconfig ens xxx :0 192.168.0.103 /24 up
6. 挂载 NFS
mount -t nfs -o rw,bg,hard,nointr,nolock,rsize=65536,wsize=65536,tcp,vers=3,timeo=600 XXX.XXX.XXX.XXX:/cjc_db_oradata_nfsA2 /oradata mount -t nfs -o rw,bg,hard,nointr,nolock,rsize=65536,wsize=65536,tcp,vers=3,timeo=600 XXX.XXX.XXX.XXX:/cjc_db_oraarch_nfsA2 /oraarch
检查
df -h /ora*
7. 启动数据库
SQL> startup
8. 启动监听
oracle@CJC-DB-02:/home/oracle$lsnrctl start
9. 执行 arping 命令
需要在 192.168.0.102 主库上执行 arping 命令。
arping -c 5 -U -I ens192 192.168.0.103 ARPING 192.168.0.103 from 192.168.0.103 ensxxx Sent 5 probes (5 broadcast(s)) Received 0 response(s)
注意 : 如果不执行 arping 命令,远程连接数据库会出现超时连接失败问题,需要等 arp 缓存更新后才能连接。 例如 :
ORA-12170: TNS: Connect timeout occurred
10.验证
远程连接
测试
sqlplus / as sysdba
验证实例状态、数据库连接、会话、等待事件、归档切换等
经测试,在VCS
资源解冻或冻结状态下,均可以正常手动进行切换
Oracle
。
###chenjuchao 20240627###
欢迎关注我的公众号《
IT
小
Chen
》

