当前位置: 首页 > news >正文

云贝教育 | 【技术文章】Oracle 19c RAC修改网络

注: 本文为云贝教育 刘峰 原创,请尊重知识产权,转发请注明出处,不接受任何抄袭、和未经注明出处的转载。

原文链接:【Oracle 19c】Oracle 19c RAC修改网络 - 课程体系 - 云贝教育 (yunbee.net)

变更目标

ip类型

节点

原IP

目标IP

PUBLIC IP

racdb01

192.168.2.60

192.168.2.160

racdb02

192.168.2.62

192.168.2.162

VIP

racdb01

192.168.2.61

192.168.2.161

racdb02

192.168.2.63

192.168.2.163

  SCAN-IP

racdb01

racdb02

192.168.2.64

192.168.2.164

生产环境做变更,对核心文件需要进行备份

gpnp备份:

两个节点都要操作

<GRID>cd $ORACLE_HOMEgpnp/profiles/peer/cp profile.xml profile.xml.bak

修改任意IP前,需对/etc/hosts文件进行修改,不再赘述。

一、修改puclib ip

1.1 查看当前配置

<GRID>[grid@racdb01 ~]$ oifcfg getif
ens33  192.168.2.0  global  public
ens36  10.10.10.0  global  cluster_interconnect,asm

1.2 查看当前网卡

ens38是我们新指定的PUBLIC网卡

一节点

ens38: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 192.168.2.160  netmask 255.255.255.0  broadcast 192.168.2.255

二节点

ens38: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 192.168.2.162  netmask 255.255.255.0  broadcast 192.168.2.255

1.3 删除原公网配置

<GRID>oifcfg delif -global ens33/192.168.2.0

1.4 添加公网配置

示例 oifcfg setif -global <私有网卡名>/<新私有网段>:cluster_interconnect,asmoifcfg setif -global ens38/192.168.2.0:public

1.5 检查

[grid@racdb01 ~]$ oifcfg getif
ens36  10.10.10.0  global  cluster_interconnect,asm
ens38  192.168.2.0  global  public

二、变更VIP

2.1 查看当前VIP配置

<GRID>[grid@racdb02 ~]$ srvctl config nodeapps -a
Network 1 exists
Subnet IPv4: 192.168.2.0/255.255.255.0/ens33, static
Subnet IPv6: 
Ping Targets: 
Network is enabled
Network is individually enabled on nodes: 
Network is individually disabled on nodes: 
VIP exists: network number 1, hosting node racdb01
VIP Name: racdb01-vip
VIP IPv4 Address: 192.168.2.61
VIP IPv6 Address: 
VIP is enabled.
VIP is individually enabled on nodes: 
VIP is individually disabled on nodes: 
VIP exists: network number 1, hosting node racdb02
VIP Name: racdb02-vip
VIP IPv4 Address: 192.168.2.63
VIP IPv6 Address: 
VIP is enabled.
VIP is individually enabled on nodes: 
VIP is individually disabled on nodes: 

2.2 查看当前监听地址

<GRID>[grid@racdb02 ~]$ lsnrctl  status
Listening Endpoints Summary...(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER)))(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.2.62)(PORT=1521)))(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.2.63)(PORT=1521)))
Services Summary...

2.3 关闭两节点上的VIP及监听

<GRID>1)关闭两节点vip及监听
srvctl stop listener -n racdb01
srvctl stop vip -n racdb0
srvctl stop listener -n racdb02
srvctl stop vip -n racdb02
或
srvctl stop vip -n racdb01 -f
srvctl stop vip -n racdb02 -f

停掉vip之后,两个节点上的vip地址消失。

以二节点为例

[grid@racdb02 ~]$ ifconfig -a
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 192.168.2.62  netmask 255.255.255.0  broadcast 192.168.2.255inet6 fe80::7abc:4983:ac14:e0dd  prefixlen 64  scopeid 0x20<link>ether 00:0c:29:12:08:eb  txqueuelen 1000  (Ethernet)RX packets 1788  bytes 213310 (208.3 KiB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 1265  bytes 204969 (200.1 KiB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0ens36: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 10.10.10.38  netmask 255.255.255.0  broadcast 10.10.10.255

正常情况下

[oracle@racdb01 dbs]$ ifconfig -a
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 192.168.2.60  netmask 255.255.255.0  broadcast 192.168.2.255inet6 fe80::a22b:7bcb:ba5b:566c  prefixlen 64  scopeid 0x20<link>ether 00:0c:29:a5:2b:c7  txqueuelen 1000  (Ethernet)RX packets 1197951  bytes 1357345599 (1.2 GiB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 35190  bytes 7038721 (6.7 MiB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0ens33:1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 192.168.2.61  netmask 255.255.255.0  broadcast 192.168.2.255ether 00:0c:29:a5:2b:c7  txqueuelen 1000  (Ethernet)

2.4 根据VIP配置信息,修改VIP

<root>
格式: srvctl modify nodeapps -n <hostname1> -A <hostname1-vip>/255.255.255.0/<网卡>cd /u01/app/19.3.0/grid/
bin/srvctl modify nodeapps -n racdb01 -A 192.168.2.161/255.255.255.0/ens33
bin/srvctl modify nodeapps -n racdb02 -A 192.168.2.163/255.255.255.0/ens33

2.5 修改/etc/hosts

两个节点改成以下信息


############Virtual IP############
192.168.2.161   racdb01-vip
192.168.2.163   racdb02-vip

2.6 验证VIP

srvctl config nodeapps -asrvctl config vip -n racdb01
srvctl config vip -n racdb02ip a

查看监听

lsnrctl status

三、变更SCAN-IP

3.1 关闭SCAN服务及监听

关闭scan监听
srvctl stop scan_listener
srvctl stop scan查看
srvctl status scan_listener

3.2 修改/etc/hosts

两个节点均要操作

############Scan IP###############
192.168.2.164   racdb-scan

3.3 修改SCAN IP

<root>格式srvctl modify scan -n <scan-IP名>srvctl modify scan -n racdb-scan

3.4 启动scan服务及监听

srvctl start scan_listener
srvctl start scan

3.5 检查

检查监听

[grid@racdb02 ~]$ lsnrctl  status listener_scan(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.2.164)(PORT=1521)))
Service "ORCL" has 1 instance(s).Instance "YBDBINST1", status READY, has 1 handler(s) for this service...
Service "yunnbeedXDB" has 1 instance(s).Instance "YBDBINST1", status READY, has 1 handler(s) for this service...

检查服务

[grid@racdb02 ~]$ srvctl status scan_listener
SCAN Listener LISTENER_SCAN1 is enabled
SCAN listener LISTENER_SCAN1 is running on node racdb02

四、私网变更

变更类型:

  1. 配置双私网
  2. 变更当前私网IP

4.1 添加私网网卡

 oifcfg getif oifcfg setif -global ens38/10.10.20.0:cluster_interconnectoifcfg getif

实验1:关闭节点2上双私网中的一个,观察集群日志

4.2. 变更私网

1、添加
oifcfg setif -global ens38/10.10.20.0:cluster_interconnect,asm2、查看
[grid@racdb01 ~]$ oifcfg getif
ens36  10.10.10.0  global  cluster_interconnect,asm
ens39  192.168.2.0  global  public
ens38  10.10.20.0  global  cluster_interconnect,asm3、加入一个新的 ASMLISTENE
srvctl add listener -asmlistener -l ASMNEWLSNR_ASM -subnet 10.10.20.04、查看当前的ASMLISNTER
[grid@racdb02 ~]$ srvctl status asmnetwork
ASM network is running on racdb02,racdb01[grid@racdb01 ~]$ srvctl config asmnetwork
ASM network 1 exists
Subnet IPv4: 10.10.10.0//
Subnet IPv6: 
Network is enabled
Network is individually enabled on nodes: 
Network is individually disabled on nodes: [grid@racdb01 ~]$ srvctl config listener -asmlistener
Name: ASMNET1LSNR_ASM
Type: ASM Listener
Owner: grid
Subnet: 10.10.10.0
Home: <CRS home>
End points: TCP:1525
Listener is enabled.
Listener is individually enabled on nodes: 
Listener is individually disabled on nodes:5、删除现有的ASMLISTENER
[grid@racdb01 ~]$ srvctl update listener -listener ASMNET1LSNR_ASM -asm -remove -force  lsnrctl stop ASMNET1LSNR_ASM 6、查看
[grid@racdb01 ~]$ srvctl config  listener -asmlistener
Name: ASMNEWLSNR_ASM
Type: ASM Listener
Owner: grid
Subnet: 10.10.20.0
Home: <CRS home>
End points: TCP:1526
Listener is enabled.
Listener is individually enabled on nodes: 
Listener is individually disabled on nodes: 

4.2 删除私网

 oifcfg delif -global ens38/10.10.20.0

相关文章:

  • Userexcel 单元格中序号,但是通过openxml获取的不是序号是数字?
  • C++入门(一)— 使用VScode开发简介
  • 【C++】STL反向迭代器模拟实现,迭代器适配器,迭代器类型简单介绍
  • 【竞技宝】LOL:Able小炮连续起跳收割战场 OMG2-0轻取TT
  • 微服务系统设计:横向扩展和纵向扩展的对比
  • C#基础题
  • Java中使用StopWatch实现代码块耗时统计/计时某段代码执行
  • ​LeetCode解法汇总2670. 找出不同元素数目差数组
  • C语言指针学习 之 指针是什么
  • python验证服务器或容器端口是否可以用
  • Linux(ubuntu) -- 安装后调配
  • C语言实现12种排序算法
  • kubernetes内外网通信-集群外节点访问 pod ip
  • k8s二进制及负载均衡集群部署详解
  • grafana安装DevOpsProdigy KubeGraf 1.5.2
  • 【翻译】babel对TC39装饰器草案的实现
  • Github访问慢解决办法
  • happypack两次报错的问题
  • IDEA常用插件整理
  • Java反射-动态类加载和重新加载
  • Netty 4.1 源代码学习:线程模型
  • VUE es6技巧写法(持续更新中~~~)
  • Windows Containers 大冒险: 容器网络
  • 从@property说起(二)当我们写下@property (nonatomic, weak) id obj时,我们究竟写了什么...
  • 从零到一:用Phaser.js写意地开发小游戏(Chapter 3 - 加载游戏资源)
  • 仿天猫超市收藏抛物线动画工具库
  • 函数式编程与面向对象编程[4]:Scala的类型关联Type Alias
  • 记一次删除Git记录中的大文件的过程
  • 跨域
  • 深度解析利用ES6进行Promise封装总结
  • 用mpvue开发微信小程序
  • AI算硅基生命吗,为什么?
  • 关于Kubernetes Dashboard漏洞CVE-2018-18264的修复公告
  • ​​快速排序(四)——挖坑法,前后指针法与非递归
  • (BFS)hdoj2377-Bus Pass
  • (C#)if (this == null)?你在逗我,this 怎么可能为 null!用 IL 编译和反编译看穿一切
  • (C#)一个最简单的链表类
  • (附源码)ssm本科教学合格评估管理系统 毕业设计 180916
  • (附源码)ssm基于微信小程序的疫苗管理系统 毕业设计 092354
  • (七)Knockout 创建自定义绑定
  • (四)【Jmeter】 JMeter的界面布局与组件概述
  • (图)IntelliTrace Tools 跟踪云端程序
  • (学习日记)2024.03.12:UCOSIII第十四节:时基列表
  • ***原理与防范
  • **PHP二维数组遍历时同时赋值
  • .NET Core实战项目之CMS 第十二章 开发篇-Dapper封装CURD及仓储代码生成器实现
  • .Net的DataSet直接与SQL2005交互
  • .NET教程 - 字符串 编码 正则表达式(String Encoding Regular Express)
  • ::前边啥也没有
  • @data注解_SpringBoot 使用WebSocket打造在线聊天室(基于注解)
  • @kafkalistener消费不到消息_消息队列对战之RabbitMq 大战 kafka
  • [ 攻防演练演示篇 ] 利用通达OA 文件上传漏洞上传webshell获取主机权限
  • [<死锁专题>]
  • [100天算法】-二叉树剪枝(day 48)
  • [1127]图形打印 sdutOJ