网站首页 > 技术文章 正文
我们可以使用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
猜你喜欢
- 2025-07-17 Linux搭建Weblogic集群(linux weblogic部署项目步骤)
- 2025-07-17 「DM专栏」DMDSC共享集群之部署(一)——共享存储配置
- 2024-10-23 oracle 三种高可用方案 oracle高性能解决方案
- 2024-10-23 看架构专家大话OracleRAG:集群+高可用性+备份与恢复
- 2024-10-23 快速了解Canal 快速了解汉字知的读音写法等知识点
- 2024-10-23 ES架构分析 es分布式架构原理
- 2024-10-23 详解RAC并发逻辑、硬件架构、软件架构拓扑与原理解析
- 2024-10-23 基于mycat+haproxy+keepalived搭建mysql集群(Haproxy篇)
- 2024-10-23 Oracle基础知识之asm磁盘组 oracleasm磁盘管理
- 2024-10-23 学习实践-Linux Hadoop集群配置与搭建
你 发表评论:
欢迎- 612℃几个Oracle空值处理函数 oracle处理null值的函数
- 603℃Oracle分析函数之Lag和Lead()使用
- 592℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 589℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 583℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 576℃【数据统计分析】详解Oracle分组函数之CUBE
- 566℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 558℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
-
- PageHelper - 最方便的 MyBatis 分页插件
- 面试二:pagehelper是怎么实现分页的,
- MyBatis如何实现分页查询?(mybatis-plus分页查询)
- SpringBoot 各种分页查询方式详解(全网最全)
- 如何在Linux上运行exe文件,怎么用linux运行windows软件
- 快速了解hive(快速了解美国50个州)
- Python 中的 pyodbc 库(pydbclib)
- Linux搭建Weblogic集群(linux weblogic部署项目步骤)
- 「DM专栏」DMDSC共享集群之部署(一)——共享存储配置
- 故障分析 | MySQL 派生表优化(mysql pipe)
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- 前端获取当前时间 (50)
- Oracle RAC (76)
- oracle恢复 (77)
- oracle 删除表 (52)
- oracle 用户名 (80)
- oracle 工具 (55)
- oracle 内存 (55)
- oracle 导出表 (62)
- oracle约束 (54)
- oracle 中文 (51)
- oracle链接 (54)
- oracle的函数 (58)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)