Oracle 11g rac IP地址修改(public ip、vip、scan ip、priviate ip)

Oracle 11g rac IP地址修改(public ip、vip、scan ip、priviate ip)

本案例中,public ip、vip、scan ip、priviate ip四个IP地址的网段、网卡名称都会进行修改

本案例中,集群的主机名/节点名:host33rac1/host34rac2

一、案例介绍

名称 修改前 修改后
主机IP (PUBLIC IP) 192.168.11.73/74 10.10.10.133/134
VIP 192.168.11.75/76 10.10.10.135/136
SCAN IP 192.168.11.77 10.10.10.137
私有IP(Private IP) 10.10.10.73/74 192.168.11.133/134
公有网卡 ens33 ens37
私有网卡 ens36 ens38

二、公有网络修改(PUBLIC IP、VIP、SCANIP)

1、root设置环境变量,方便后续执行GI集群操作

复制代码
两个节点都执行
echo "export PATH=$PATH:/u01/app/crs/bin"  >>/etc/profile
退出重新登录即可生效!

备注:
/u01/app/crs/bin请以实际环境的目录代替
su - grid
which crsctl
/u01/app/crs/bin/crsctl
其中/u01/app/crs/bin,就是需要加入环境变量的目录

2、备份集群配置文件(ocr)

复制代码
root用户执行,一个节点执行即可
crsctl query css votedisk
ocrconfig -showbackup
ocrconfig -manualbackup
ocrconfig  -export /tmp/orc1.txt

3、检查现有集群网络配置

复制代码
root用户执行,一个节点执行即可
oifcfg iflist
oifcfg getif
srvctl config nodeapps -a
srvctl config scan

检查结果:
[root@host33rac1 ~]# oifcfg iflist
ens33  192.168.11.0
ens36  10.10.10.0
ens36  169.254.0.0

[root@host33rac1 ~]# oifcfg getif
ens33  192.168.11.0  global  public     --公有网络
ens36  10.10.10.0  global  cluster_interconnect   --私有网络

[root@host33rac1 ~]# srvctl config nodeapps -a
Network exists: 1/192.168.11.0/255.255.255.0/ens33, type static
VIP exists: /host33rac1-vip/192.168.11.75/192.168.11.0/255.255.255.0/ens33, hosting node host33rac1
VIP exists: /host34rac2-vip/192.168.11.76/192.168.11.0/255.255.255.0/ens33, hosting node host34rac2

[root@host33rac1 ~]# srvctl config scan
SCAN name: 192.168.11.77, Network: 1/192.168.11.0/255.255.255.0/ens33
SCAN VIP name: scan1, IP: /192.168.11.77/192.168.11.77

4、备份/etc/hosts文件(两节点都执行)

复制代码
cp /etc/hosts /etc/hosts`date "+%F"`.bak

5、关闭数据库、监听、集群

复制代码
su - grid
srvctl stop database -d orcl -o immediate
srvctl stop listener
srvctl stop scan_listener

#下面关闭集群的命令需要两个节点使用root用户执行
crsctl stop crs -f

6、修改/etc/hosts文件(两节点都执行)

复制代码
修改前文件内容
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
10.10.10.73   host33rac1-priv
10.10.10.74   host34rac2-priv
192.168.11.73 host33rac1
192.168.11.74 host34rac2
192.168.11.75  host33rac1-vip
192.168.11.76 host34rac2-vip
192.168.11.77  hostrac-scan

修改后文件内容
cat >/etc/hosts <<EOF
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
10.10.10.73   host33rac1-priv
10.10.10.74   host34rac2-priv
##上面两个私有IP暂时保持不变
10.10.10.133 host33rac1
10.10.10.134 host34rac2
10.10.10.135  host33rac1-vip
10.10.10.136 host34rac2-vip
10.10.10.137  hostrac-scan
EOF

7、操作系统层面修改网卡IP(配置网卡IP)

复制代码
1)这里根据实际情况修改网络,步骤省略
2)重启网卡
systemctl restart network
或者针对单独的网卡重启
ifdown ens33
ifup 
检查
ifconfig -a

8、启动GI集群(两个节点都执行)

复制代码
root用户执行
crsctl start crs

9、修改Public IP

备注:修改其中一个节点,完成后,另外一个节点通过oifcfg getif确认是否已经同步完成修改,如果没有,再手工设置。(理论上修改一个,另一个会同步修改)

复制代码
oifcfg getif
删除旧接口
oifcfg delif -global ens33/192.168.11.0 
设置新接口
oifcfg setif -global ens37/10.10.10.0:public
oifcfg getif

节点一:
[root@host33rac1 ~]# oifcfg getif
ens36  10.10.10.0  global  cluster_interconnect
ens37  10.10.10.0  global  public
节点二
[root@host34rac2 ~]# oifcfg getif
ens36  10.10.10.0  global  cluster_interconnect
ens37  10.10.10.0  global  public
可以看到两个节点都已经修改

10、修改VIP

复制代码
需要停止数据库、监听和VIP,如果按照之前停库、停监听、停集群的方式操作,数据库和监听不会随着集群自动起来,处于停止状态!
1)检查数据库、监听和VIP状态
crsctl stat res -t

2)停止vip
su - grid
srvctl stop vip -n host33rac1
srvctl stop vip -n host34rac2

3)检查VIP配置
srvctl config vip -n host33rac1
srvctl config vip -n host34rac2

[grid@host33rac1 ~]$ srvctl config vip -n host33rac1
VIP exists: /host33rac1-vip/10.10.10.135/192.168.11.0/255.255.255.0/ens33, hosting node host33rac1
[grid@host33rac1 ~]$ srvctl config vip -n host34rac2
VIP exists: /host34rac2-vip/10.10.10.136/192.168.11.0/255.255.255.0/ens33, hosting node host34rac2

4)修改VIP设置
su - root
srvctl modify nodeapps -n host33rac1 -A 10.10.10.135/255.255.255.0/ens37
srvctl modify nodeapps -n host34rac2 -A 10.10.10.136/255.255.255.0/ens37

另一种修改方法
srvctl modify nodeapps -n host33rac1 -A host33rac1-vip/255.255.255.0/ens37
srvctl modify nodeapps -n host34rac2 -A host34rac2-vip/255.255.255.0/ens37
备注:host33rac1-vip/host34rac2-vip 在/etc/hosts中有映射关系

5)再次检查
[root@host33rac1 ~]# srvctl config vip -n host33rac1
VIP exists: /host33rac1-vip/10.10.10.135/10.10.10.0/255.255.255.0/ens37, hosting node host33rac1
[root@host33rac1 ~]# srvctl config vip -n host34rac2
VIP exists: /host34rac2-vip/10.10.10.136/10.10.10.0/255.255.255.0/ens37, hosting node host34rac2
可以看到修改成功

6)启动vip
su - grid
srvctl start vip -n host33rac1
srvctl start vip -n host34rac2

7)检查
crsctl stat res -t

11、修改SCAN IP

复制代码
1)检查配置
su - grid
[grid@host33rac1 ~]$ srvctl config scan
SCAN name: 192.168.11.77, Network: 1/10.10.10.0/255.255.255.0/ens37
SCAN VIP name: scan1, IP: /192.168.11.77/192.168.11.77

2)停止scan和scan_listener资源
srvctl status scan_listener
srvctl stop scan_listener
srvctl stop scan
srvctl status scan_listener

3)修改
su - root
srvctl modify scan -n 10.10.10.137
另一种修改方法
srvctl modify scan -n hostrac-scan
备注:hostrac-scan 在/etc/hosts中有映射关系

4)检查确认
srvctl config scan 

备注:scan手工分配至1节点的方法如下
srvctl relocate scan -i 1  -n host33rac1

12、启动scan监听、listener监听、数据库

复制代码
su - grid
srvctl start scan_listener
srvctl start listener
srvctl start database -d orcl

13、检查local_listener(两个节点都检查)

如果已经自动修改,直接跳过这一步骤,如果没有,则需要手工修改

复制代码
su - oracle
sqlplus "/as sysdba"
show parameter local_listener 
SQL> show parameter listener
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
local_listener                       string       (ADDRESS=(PROTOCOL=TCP)(HOST=10.10.10.136)(PORT=1521))
remote_listener                      string      hostrac-scan:1521
备注:我的案例环境,已经自动完成修改,这一步骤跳过即可

手工修改方法如下:
alter system set local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.11.75)(PORT=1521))))' scope=both sid='orcl1';
alter system set local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.11.76)(PORT=1521))))' scope=both sid='orcl2';

14、检查tnsnames.ora文件

确认是否需要修改,如果使用的IP地址,需要修改,如果是主机名,那么不需要(/etc/hosts文件已经在前面修改)

复制代码
cat $ORACLE_HOME/network/admin/tnsnames.ora|grep "192.168.11."

至此公有网络修改完成!

三、私有网络修改

1、备份集群信息

复制代码
修改rac ip涉及到OCR信息,建议操作之前进行备份
crsctl query css votedisk
ocrconfig -showbackup
ocrconfig -manualbackup
ocrconfig  -export /tmp/orc.txt

特别注意:
从Oracle 11.2.0.2 之后,private network 的配置除了记录在OCR中之外,还会记录在GPNP profile里,需要将该配置文件也备份,用grid用户两个节点执行备份,方法如下:
su - grid
cd $ORACLE_HOME/gpnp/`hostname`/profiles/peer/
cp -p profile.xml profile.xml.bak
ls -ltr profile.xml*

2、设置新的私网信息

复制代码
oifcfg getif
oifcfg setif -global ens38/192.168.11.0:cluster_interconnect
oifcfg getif

[root@host33rac1 ~]# oifcfg getif
ens36  10.10.10.0  global  cluster_interconnect
ens37  10.10.10.0  global  public
ens38  192.168.11.0  global  cluster_interconnect

3、停库和集群

复制代码
停库
su - oracle
srvctl stop database -d orcl -o immediate

停集群(两节点执行)
su - root
crsctl stop crs -f

4、操作系统层面修改私有网卡IP(配置网卡IP)

复制代码
1)这里根据实际情况修改网络,步骤省略
2)重启网卡
systemctl restart network
或者针对单独的网卡重启
ifdown ens33
ifup 
检查
ifconfig -a

5、修改/etc/hosts

复制代码
cat >/etc/hosts <<EOF
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.11.133   host33rac1-priv
192.168.11.134  host34rac2-priv
#这里上面调整私有网络IP
10.10.10.133 host33rac1
10.10.10.134 host34rac2
10.10.10.135  host33rac1-vip
10.10.10.136 host34rac2-vip
10.10.10.137  hostrac-scan
EOF

6、启动集群(不启库)(两节点执行)

复制代码
crsctl start crs

7、删除旧的私有网路配置

复制代码
1)查询网络配置
oifcfg getif
[root@host33rac1 ~]# oifcfg getif
ens36  10.10.10.0  global  cluster_interconnect
ens37  10.10.10.0  global  public
ens38  192.168.11.0  global  cluster_interconnect

2)删除旧的私有网络配置
oifcfg delif -global ens36/10.10.10.0

3)再次检查
[root@host33rac1 ~]# oifcfg getif
ens37  10.10.10.0  global  public
ens38  192.168.11.0  global  cluster_interconnect

8、检查集群状态,测试应用连接,一切正常

至此私有网络修改完成!

相关推荐
YOU OU1 小时前
Redis哨兵 & 集群
数据库·redis·sentinel
小罗水1 小时前
第8章 文档解析与文本切片
数据库·spring·spring cloud·微服务
treesforest2 小时前
如何解决IP定位精度不足导致的投放偏差
网络·网络协议·tcp/ip·ip属地·查ip归属地
瞬间&永恒~2 小时前
【MySQL】 主从复制多拓扑搭建实验
运维·数据库·mysql·云原生
han_hanker2 小时前
sql语法 DECODE, CASE ... WHEN
数据库·sql·oracle
井川廊咏2 小时前
vi 删除指定范围的行,不用再反复按 dd
数据库·mysql
z落落3 小时前
StudentInfo表 分页、增删改 存储过程+C# WinForm 存储过程实现分页和增删改查
数据库·sql·mysql
影寂ldy3 小时前
WinForm 数据库【新增+编辑】完整功能(参数化查询+配置文件+防报错全套)
数据库
小此方4 小时前
Linux网络(一):揭秘从网络发展哲学到 TCP/IP 协议栈分层设计的设计哲学
linux·网络·tcp/ip