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



检查资源状态,如果是冻结状态,需要先解冻

备注:
取消冻结资源组后,即可对该资源组执行联机或脱机操作。
通过 Cluster Explorer 取消冻结资源组
1、在配置树的 Service Groups 选项卡中,右键单击资源组。或单击配置树中的集群,再单击 Service Groups 选项卡,然后右键单击视图面板中的资源组图标。 2、单击 Unfreeze。
4. 切换
选择 switch to --remote switch

观察资源状态
观察另一台资源状态,直到所有资源都启动完毕。
登录切换后的数据库服务器
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;
资源没有问题的情况下,两台服务器都执行冻结操作,点击 freeze- 》 Persistent
备注:
冻结资源组可以防止它故障切换到另一个系统。该冻结过程将停止资源组上的所有联机和脱机过程。
通过 Cluster Explorer 冻结资源组
1、在配置树的 Service Groups 选项卡中,右键单击资源组。或单击配置树中的集群,再单击 Service Groups 选项卡,然后右键单击视图面板中的资源组图标。 2、单击 Freeze,然后在菜单中单击 Temporary 或 Persistent。如果选择了 persistent 选项后将其保存到配置中,则系统在重新引导后仍保持冻结状态。
主库:192.168.0.101 从库:192.168.0.102 VIP: 192.168.0.103
目的:
通过VCS ,将 Oracle 实例,从 192.168.0.101 切换到 192.168.0.102
操作如下:
查看资源组状态
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 上在线。
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
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
验证实例状态、数据库连接、会话、等待事件、归档切换等
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 。
主库 192.168.0.101
oracle@CJC-DB-01:/home/oracle$lsnrctl stop
SQL> shutdown immediate
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
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*
SQL> startup
oracle@CJC-DB-02:/home/oracle$lsnrctl start
需要在 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 》

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29785807/viewspace-3020452/ ,如需转载,请注明出处,否则将追究法律责任。