我们可以使用oifcfg很方便的配置oracle集群的网络,例如通过下面的命令,我们可以增加一个私有网络:
oifcfg setif -global ib1/172.16.1.0:cluster_interconnect,asm
复制
如果因为粗心大意,比如把命令写成下面这样,然后没发现就把旧的网络删除了,就会导致集群之间通信出现问题:
# 错误的命令
oifcfg setif -global ib1:172.16.1.0/24:cluster_interconnect,asm
# 删除旧的网络
ifcfg deif -global ib0复制
恢复集群网络
根据现场情况的不同,有下面两种方法可以恢复集群的网络。
至少还有一个oneline状态的集群节点
如果此时还有online的节点,可以登录那个节点所在的主机,通过oifcfg来删除错误的网络配置,并把正确的配置添加回来:
oifcfg setif -global ib1/172.16.1.0:cluster_interconnect,asm
oifcfg deif -global ib1:172.16.1.0复制
使用oifcfg getif确认修改无误后,尝试拉起其他offline节点的集群,这时应该就可以成功拉起了。
所有的节点集群都处于offline状态
由于oifcfg命令只有在集群状态为online时才可以使用,当所有集群都处于offline状态时,无法使用oifcfg命令来修改集群网络配置。错误的网络配置集群又无法启动,似乎陷入了一个死循环之中,这时候有什么办法可以恢复正确的集群网络呢?
oifcfg原理也是通过修改gpnp信息来去修改网络配置,而oracle提供了gpnptool工具可以修改gpnp信息,可以通过下面的步骤,在所有的集群节点都处于offline的状态下,修改集群网络配置并恢复集群:
首先确认所有的集群节点都已经stop,然后在任意一个节点,以独占模式拉起集群:
crsctl start crs -excl -nocrs
复制
备份crs配置信息
mkdir /home/grid/gpnp
export GPNPDIR=/home/grid/gpnp
gpnptool get -o=$GPNPDIR/profile.xml复制
修改备份的CRS gpnp配置信息,这里需要注意的是,新的gpnp配置文件中的序列号一定要大于集群当前的序列号,否则会无法覆盖掉远程的gpnp配置
# 查看crs配置信息
gpnptool get
# 修改备份的CRS配置信息
cp $GPNPDIR/profile.xml $GPNPDIR/p.xml
# 找到prf_sq
crs rget
# 修改配置文件中的序列号prf_sq(原crs序列号+1,以及正确的网段信息)
gpnptool edit -p=$GPNPDIR/p.xml -o=$GPNPDIR/p.xml -ovr -prf_sq=30 -net2:net_ip=172.16.0.149
# 用私钥重新标识配置文件
gpnptool sign -p=$GPNPDIR/p.xml -o=$GPNPDIR/p.xml -ovr -w=$GRID_ORACLE_HOME/gpnp/h2c400607/wallets
# 将配置文件信息回写到crs中(如果提示order错误,则prf_sq序列号比当前的要小)
gpnptool put -p=$GPNPDIR/p.xml
# 重启集群服务
crsctl stop crs -f
crsctl start crs复制
将配置文件信息回写到crs集群中,覆盖掉远程的gpnp信息
# 将配置文件信息回写到crs中(如果提示order错误,则prf_sq序列号比当前的要小)
gpnptool put -p=$GPNPDIR/p.xml复制
重启所有节点的集群,这时所有的集群都可以被正常拉起
crsctl stop crs -f
crsctl start crs复制
文章转载自中启乘数,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
明明想执行的SQL是DELETE、UPDATE,但为什么看到的是SELECT(FDW的实现原理解析)
小满未满、
394次阅读
2025-03-19 23:11:26
PostgreSQL初/中/高级认证考试(3.15)通过考生公示
开源软件联盟PostgreSQL分会
388次阅读
2025-03-20 09:50:36
9.9 分高危漏洞,尽快升级到 pgAdmin 4 v9.2 进行修复
严少安
298次阅读
2025-04-11 10:43:23
3月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
243次阅读
2025-04-15 14:48:05
openHalo问世,全球首款基于PostgreSQL兼容MySQL协议的国产开源数据库
严少安
239次阅读
2025-04-07 12:14:29
IvorySQL 4.4 发布 - 基于 PostgreSQL 17.4,增强平台支持
通讯员
230次阅读
2025-03-20 15:31:04
PG vs MySQL 执行计划解读的异同点
进击的CJR
163次阅读
2025-03-21 10:50:08
PostgreSQL分区管理扩展——pg_partman
chirpyli
130次阅读
2025-03-19 15:48:31
手把手教你在 openKylin 上部署 IvorySQL 4.4
严少安
125次阅读
2025-03-27 20:41:28
postgresql+patroni+etcd高可用安装
necessary
121次阅读
2025-03-28 10:11:23