当前位置: 首页 > 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

相关文章:

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

注: 本文为云贝教育 刘峰 原创&#xff0c;请尊重知识产权&#xff0c;转发请注明出处&#xff0c;不接受任何抄袭、和未经注明出处的转载。 原文链接&#xff1a;【Oracle 19c】Oracle 19c RAC修改网络 - 课程体系 - 云贝教育 (yunbee.net) 变更目标 ip类型 节点 原IP 目…...

Android SELinux:保护您的移动设备安全的关键

Android SELinux&#xff1a;保护您的移动设备安全的关键 1 引言 移动设备在我们的生活中扮演着越来越重要的角色&#xff0c;我们几乎把所有重要的信息都存储在这些设备上。然而&#xff0c;随着移动应用程序的数量不断增加&#xff0c;安全性也变得越来越关键。这就是为什么…...

第十三章认识Ajax(四)

认识FormData对象 FormData对象用于创建一个表示HTML表单数据的键值对集合。 它可以用于发送AJAX请求或通过XMLHttpRequest发送表单数据。 以下是FormData对象的一些作用: 收集表单数据:通过将FormData对象与表单元素关联,可以方便地收集表单中的数据。使用FormData对象,…...

使用 Node.js 和 Cheerio 爬取网站图片

写一个关于图片爬取的小案例 爬取效果 使用插件如下&#xff1a; {"dependencies": {"axios": "^1.6.0","cheerio": "^1.0.0-rc.12","request": "^2.88.2"} }新建一个config.js配置文件 // 爬取图片…...

2024美赛数学建模E题思路源码

赛题目的 可以将其拆解为以下主要问题&#xff0c;并为每个问题提出解决方案&#xff1a; 如何在极端天气事件越来越多的地区部署财产保险&#xff1f; 保险公司应在何时何地承保保单&#xff1f; 业主如何影响保险公司的承保决定&#xff1f; 如何建立能够评估未来房地产决…...

解决Docker AList本地挂载失效的问题。

解决Docker AList本地挂载失效的问题。 AList Docker version: 3.3 services:alist:image: xhofe/alist:latestcontainer_name: alistvolumes:- ./etc/alist:/opt/alist/data# 比如我要挂载/home,如果在docker里先挂载&#xff0c;是没法办法映射到linux系统下的/home的- /ho…...

Emmet常用语法总结

Emmet常用语法总结 子元素&#xff1a;>兄弟元素&#xff1a;上级元素&#xff1a;^倍数&#xff1a;*分组&#xff1a;&#xff08;&#xff09;属性&#xff1a;[]id和类&#xff1a;# .迭代数字&#xff1a;$文本内容&#xff1a;{}注意事项 Emmet是许多流行文本编辑器的…...

Android 12系统源码_页面管理(四)获取系统当前最上层的Activity信息

前言 很多应用开发人员&#xff0c;在日常开发过程中&#xff0c;经常会遇到一些需求&#xff0c;例如需要知道当前最上层的Activity是哪个&#xff0c;并结合这个Activity的名称来完成一些特定场景的需求。最简单的方法&#xff0c;是在创建Activity的时候将该Actvity存储到一…...

RK3588开发板Ubuntu与开发板使用U盘互传

1 将 U 盘(U 盘的格式必须为 FAT32 格式&#xff0c;大小在 32G 以下)插到开发板的 usb 接口&#xff0c;串口打印信息如下所示&#xff0c;U 盘的设备节点是/dev/sdb4。U 盘的设备节点不是固定的&#xff0c;根据实际情况来查看设备节点。 2 输入以下命令挂载 U 盘&#xff0c…...

【BUG】golang gorm导入数据库报错 “unexpected type clause.Expr“

帮同事排查一个gorm导入数据报错的问题 事发现场 ck sql CREATE TABLE ods_api.t_sms_jg_msg_callback_dis (app_key String DEFAULT COMMENT 应用标识,callback_type Int32 DEFAULT 0 COMMENT 0送达&#xff0c;1回执,channel Int32 DEFAULT 0 COMMENT uid下发的渠道,mode…...

TCP/IP网络模型

大家好我是苏麟 , 今天聊聊TCP/IP四层网络模型 . 资料来源 : 小林coding 小林官方网站 : 小林coding (xiaolincoding.com) 应用层 最上层的&#xff0c;也是我们能直接接触到的就是应用层&#xff08;Application Layer&#xff09;&#xff0c;我们电脑或手机使用的应用软件都…...

github连不上

github连不上 错误提示解决方案steam 采用Hosts加速 错误提示 fatal: unable to access ‘https://github.com/Ada-design/qianduan.git/’: Failed to connect to github.com port 443 after 21073 ms: Couldn’t connect to server 解决方案 下载steam https://steampp.ne…...

Excel计算表达式的值

Excel如何求解表达式 其中第三种方法最简单&#xff0c;通过剪贴板实现 如&#xff0c;单元格A1中输入了 12345 然后在A2输入 “”&A1 然后复制A2&#xff0c;打开剪贴板&#xff0c;点击刚才复制的内容&#xff0c;就会在A2显示计算结果...

26元/月起!腾讯云一键自动搭建4核16G幻兽帕鲁服务器

腾讯云无需任何配置自动搭建幻兽帕鲁游戏联机服务器&#xff0c;游戏24小时在线&#xff0c;4核16G游戏联机服务器低至26元/月起&#xff0c;新手小白也能一键搭建属于自己的幻兽帕鲁游戏联机服务器&#xff01; 第一步&#xff1a;购买游戏联机服务器 购买入口&#xff1a;htt…...

【C++游戏开发-01】推箱子

C游戏开发 文章目录 C游戏开发[TOC](文章目录) 前言一、逻辑分析1.1地图实现1.2人物的移动1.2.1小人移动1.2.2其他移动 1.3墙壁的碰撞1.4箱子的推动1.4.1什么时候推箱子1.4.2什么情况可以推箱子 1.5胜利的判断1.6卡关的处理1.7关卡的切换 二、DEMO代码2.1游戏框架2.2各功能函数…...

【lesson26】学习MySQL事务前的基础知识

文章目录 CURD不加控制&#xff0c;会有什么问题&#xff1f;CURD满足什么属性&#xff0c;能解决上述问题&#xff1f;什么是事务&#xff1f;为什么会出现事务事务的版本支持 CURD不加控制&#xff0c;会有什么问题&#xff1f; CURD满足什么属性&#xff0c;能解决上述问题&…...

持续积累分享金融知识

持续积累分享金融知识 一、什么是两融余额&#xff1f;二、什么是量化&#xff1f;三、散户可以进行量化投资么&#xff1f; 一、什么是两融余额&#xff1f; 两融余额是指投资者在融资买入和融券卖出交易中&#xff0c;通过向券商借入资金或证券进行交易&#xff0c;并且在交…...

网络协议 UDP协议

网络协议 UDP协议 在之前的文章中有对UDP协议套接字的使用进行讲解&#xff0c;本文主要对UDP协议进行一些理论补充。 文章目录 网络协议 UDP协议1. 概念2. UDP协议格式2.1 数据报长度2.2 校验和/检验和2.2.1 CRC校验2.2.2 MD5算法 1. 概念 UDP&#xff0c;即User Datagram P…...

爬虫笔记(三):实战qq登录

咳咳&#xff0c;再这样下去会进橘子叭hhhhhh 以及&#xff0c;这个我觉得大概率是成功的&#xff0c;因为测试了太多次&#xff0c;登录并且验证之后&#xff0c;qq提醒我要我修改密码才可以登录捏QAQ 1. selenium 有关selenium具体是啥&#xff0c;这里就不再赘述了&#x…...

又涨又跌 近期现货黄金价格波动怎么看?

踏入2024年一月的下旬&#xff0c;现货黄金价格可以说没了之前火热的状态&#xff0c;盘面上是又涨又跌。面对这样的行情&#xff0c;很多投资者不知道如何看了。下面我们就来讨论一下怎么把握近期的行情。 先区分走势类型。在现货黄金市场中有两种主要的走势类型&#xff0c;一…...

软件压力测试:探究其目的与重要性

随着软件应用在各行各业中的广泛应用&#xff0c;确保软件在高负载和极端条件下的稳定性变得至关重要。软件压力测试是一种验证系统在不同负载条件下的性能和稳定性的方法。本文将介绍软件压力测试的目的以及为什么它对软件开发和部署过程至关重要。 验证系统性能的极限&#x…...

Android.bp入门指南之浅析Android.bp文件

文章目录 Android.bp文件是什么&#xff1f;Android.bp的主要作用模块定义依赖关系构建规则模块属性插件支持模块的可配置性 为什么会引入Android.bp语法例子 Android.bp文件是什么&#xff1f; Android.bp 文件是 Android 构建系统&#xff08;Android Build System&#xff…...

2024年美赛 (D题ICM)| 湖流网络水位控制 |数学建模完整代码+建模过程全解全析

当大家面临着复杂的数学建模问题时&#xff0c;你是否曾经感到茫然无措&#xff1f;作为2022年美国大学生数学建模比赛的O奖得主&#xff0c;我为大家提供了一套优秀的解题思路&#xff0c;让你轻松应对各种难题。 让我们来看看美赛的D题&#xff01; 完整内容可以在文章末尾领…...

安卓网格布局GridLayout

<?xml version"1.0" encoding"utf-8"?> <GridLayout xmlns:android"http://schemas.android.com/apk/res/android"xmlns:tools"http://schemas.android.com/tools"android:layout_width"match_parent"android:la…...

DHCP简介

定义 动态主机配置协议DHCP&#xff08;Dynamic Host Configuration Protocol&#xff09;是一种用于集中对用户IP地址进行动态管理和配置的技术。即使规模较小的网络&#xff0c;通过DHCP也可以使后续增加网络设备变得简单快捷。 DHCP是在BOOTP&#xff08;BOOTstrap Protoc…...

Hadoop生态系统中一些关键组件的详细解析

1. Hadoop核心组件 HDFS&#xff08;Hadoop Distributed File System&#xff09;: 分布式文件存储系统。提供高吞吐量的数据访问&#xff0c;非常适合用于大规模数据集。有高容错性&#xff0c;通过在多个节点间复制数据块来实现。 MapReduce: 一种编程模型&#xff0c;用于在…...

功能强大的开源数据中台系统 DataCap 2024.01.1 发布

推荐一套基于 SpringBoot 开发的简单、易用的开源权限管理平台&#xff0c;建议下载使用: https://github.com/devlive-community/authx 推荐一套为 Java 开发人员提供方便易用的 SDK 来与目前提供服务的的 Open AI 进行交互组件&#xff1a;https://github.com/devlive-commun…...

Redis的bitmap使用不当,我内存爆了

背景 最近发现Redis的内存持续暴涨&#xff0c; 涨的有点吓人&#xff0c;机器都快扛不住了&#xff0c;不得不进行Redis内存可视化分析&#xff0c;发现大量的String类型的大key 经分析&#xff0c;最近上线了页面UV的统计&#xff0c;那目前如何做的呢&#xff1f; 通过访…...

基于python的新闻爬虫

咱们这个任务啊&#xff0c;就是要从一个指定的网站上&#xff0c;抓取新闻内容&#xff0c;然后把它们整整齐齐地保存到本地。具体来说&#xff0c;就是要去光明网的板块里&#xff0c;瞅瞅里面的新闻&#xff0c;把它们一条条地保存下来。 首先&#xff0c;咱得有个网址&…...

C#基础题

值类型和引用类型之间的区别是什么&#xff1f; 值类型在内存中存储实际值&#xff0c;而引用类型存储对对象的引用。值类型在栈上分配内存&#xff0c;而引用类型在堆上分配内存。值类型是不可变的&#xff0c;而引用类型是可变的。值类型的大小是固定的&#xff0c;而引用类型…...