Oracle VCS切换及常规操作

来源:这里教程网 时间:2026-03-03 20:10:39 作者:

说明 :

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

相关推荐

热文推荐