暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 11g RAC 修改各类IP地址

oracle学习笔记 2019-01-24
1119

Oracle 11g RAC中的IP主要有:Public IP、VIP、SCAN VIP、Private IP这几种;

需求:

原Oracle 11g RAC IP信息如下:

#public ip192.168.56.150  jyrac1
         192.168.56.152   jyrac2

#private ip10.10.10.11    jyrac1-priv
          10.10.10.12     jyrac2-priv

#virtual ip192.168.56.151  jyrac1-vip
          192.168.56.153  jyrac2-vip

#scan ip  192.168.56.160  jyrac-scan

现在根据需求,最终需要修改为:

#public ip192.168.1.50  jyrac1
         192.168.1.52  jyrac2

#private ip10.10.10.50  jyrac1-priv
          10.10.10.52  jyrac2-priv

#virtual ip192.168.1.51  jyrac1-vip
          192.168.1.53  jyrac2-vip

#scan ip 192.168.1.60  jyrac-scan

主要实施步骤如下:

  • 1.正常关库、监听和CRS

  • 2.修改/etc/hosts配置文件

  • 3.OS层修改公有网卡地址

  • 4.启动crs

  • 5.修改Public IP,VIP,SCAN VIP

  • 6.修改Private IP

  • Reference

1.正常关库、监听和CRS

这里先正常immediate关闭数据库,然后关闭监听,最后关闭两个节点的crs:

[grid@jyrac1 ~]$ srvctl stop database -d jyzhao -o immediate
[grid@jyrac1 ~]$ srvctl stop listener
[grid@jyrac1 ~]$ which crsctl
/opt/app/11.2.0/grid/bin/crsctl
[root@jyrac1 ~]# opt/app/11.2.0/grid/bin/crsctl stop crs[root@jyrac2 ~]# opt/app/11.2.0/grid/bin/crsctl stop crs

注意:这样再次启动crs时,就不会自动启动监听和数据库了。

2.修改/etc/hosts配置文件

根据需求,先备份原来的/etc/hosts文件为/etc/hosts.bak

[root@jyrac1 ~]# cp etc/hosts etc/hosts.bak[root@jyrac2 ~]# cp etc/hosts etc/hosts.bak

然后再vi修改/etc/hosts文件:
将public ip、vip、scan vip修改为如下值:

#public ip192.168.1.50  jyrac1192.168.1.52  jyrac2#virtual ip192.168.1.51  jyrac1-vip192.168.1.53  jyrac2-vip#scan ip192.168.1.60  jyrac-scan

注意:其他内容不变。关于private ip,等后面修改private ip的时候再一起改。

3.OS层修改公有网卡地址

这部分正常实施应由SA来做,我这里是自己的实验环境,所以此步骤过程仅供参考:

3.1 确认之前的公网网卡信息(这里省略了无关网卡信息输出):

[root@jyrac1 ~]# ifconfig -aeth2      Link encap:Ethernet  HWaddr 08:00:27:95:22:E3  
          inet addr:192.168.56.150  Bcast:192.168.56.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe95:22e3/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:3549 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3378 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:396404 (387.1 KiB)  TX bytes:824575 (805.2 KiB)
[root@jyrac2 etc]# ifconfig -aeth2      Link encap:Ethernet  HWaddr 08:00:27:1A:5A:7A  
          inet addr:192.168.56.152  Bcast:192.168.56.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe1a:5a7a/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2353 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2188 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:292753 (285.8 KiB)  TX bytes:306602 (299.4 KiB)

3.2 修改虚拟环境的网卡连接方式
按照本次需求,需要在virtual box虚拟机那里将连接方式由“仅主机(host-only)适配器”修改为“桥接网卡”。

3.3 修改Public IP地址
由于已经无法连接,需要到virt box虚拟机管理界面进行主机的对应网卡IP地址修改,之后重新启动对应的网卡。
主要命令如下:

vi etc/sysconfig/network-scripts/ifcfg-eth2
ifdown eth2
ifup eth2
ifconfig eth2
ping 192.168.1.50ping 192.168.1.52

以节点1为例,修改后的网卡信息:

[root@jyrac1 ~]# cat etc/sysconfig/network-scripts/ifcfg-eth2DEVICE=eth2
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.1.50
NETMASK=255.255.255.0
[root@jyrac1 ~]# ifconfig eth2eth2      Link encap:Ethernet  HWaddr 08:00:27:95:22:E3  
          inet addr:192.168.1.50  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe95:22e3/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:3998 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3594 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:440406 (430.0 KiB)  TX bytes:861230 (841.0 KiB)

最终使用局域网其他机器配置CRT连接到新修改的IP地址,结果可以正常连接,确认到此主机的Public IP地址在主机层面已经修改完毕。

4.启动crs

crsctl start crs

[root@jyrac1 ~]# opt/app/11.2.0/grid/bin/crsctl start crs[root@jyrac2 ~]# opt/app/11.2.0/grid/bin/crsctl start crs

注意:这里如果是按照我上面关闭crs的操作,正常数据库和监听是没有启动的,对应target和state都应该是offline:

ora.LISTENER.lsnr
               OFFLINE OFFLINE      jyrac1                                       
               OFFLINE OFFLINE      jyrac2       ora.jyzhao.db
      1        OFFLINE OFFLINE                               Instance Shutdown   
      2        OFFLINE OFFLINE                               Instance Shutdown   

5.修改Public IP,VIP,SCAN VIP

5.1 修改Public IP

--查看当前设定:
[root@jyrac1 ~]# opt/app/11.2.0/grid/bin/oifcfg getifeth2  192.168.56.0  global  public
eth3  10.10.10.0  global  cluster_interconnect
--删除旧值并设定新值
[root@jyrac1 ~]# opt/app/11.2.0/grid/bin/oifcfg delif -global eth2[root@jyrac1 ~]# opt/app/11.2.0/grid/bin/oifcfg setif -global eth2/192.168.1.0:public--查看验证修改成功:
[root@jyrac1 ~]# opt/app/11.2.0/grid/bin/oifcfg getifeth3  10.10.10.0  global  cluster_interconnect
eth2  192.168.1.0  global  public
[root@jyrac2 ~]# opt/app/11.2.0/grid/bin/oifcfg getifeth3  10.10.10.0  global  cluster_interconnect
eth2  192.168.1.0  global  public

5.2 修改VIP
需要停止数据库、监听和VIP,如果按照之前操作,目前数据库和监听已经是停止状态。

[grid@jyrac1 ~]$ srvctl stop vip -n jyrac1
[grid@jyrac1 ~]$ srvctl stop vip -n jyrac2

查看VIP当前设置:

[grid@jyrac1 ~]$ olsnodes -s
jyrac1  Active
jyrac2  Active
[grid@jyrac1 ~]$ srvctl config vip -n jyrac1
VIP exists: /jyrac1-vip/192.168.1.51/192.168.56.0/255.255.255.0/eth2, hosting node jyrac1
[grid@jyrac1 ~]$ srvctl config vip -n jyrac2
VIP exists: /jyrac2-vip/192.168.1.53/192.168.56.0/255.255.255.0/eth2, hosting node jyrac2

修改VIP设置:

[root@jyrac1 ~]# opt/app/11.2.0/grid/bin/srvctl modify nodeapps -n jyrac1 -A 192.168.1.51/255.255.255.0/eth2[root@jyrac1 ~]# opt/app/11.2.0/grid/bin/srvctl modify nodeapps -n jyrac2 -A 192.168.1.53/255.255.255.0/eth2

再次验证VIP修改完成:

[root@jyrac1 ~]# opt/app/11.2.0/grid/bin/srvctl config vip -n jyrac1VIP exists: /jyrac1-vip/192.168.1.51/192.168.1.0/255.255.255.0/eth2, hosting node jyrac1
[root@jyrac1 ~]# /opt/app/11.2.0/grid/bin/srvctl config vip -n jyrac2VIP exists: /jyrac2-vip/192.168.1.53/192.168.1.0/255.255.255.0/eth2, hosting node jyrac2

启动vip

[grid@jyrac1 ~]$ srvctl start vip -n jyrac1
[grid@jyrac1 ~]$ srvctl start vip -n jyrac2

启动监听:

[grid@jyrac1 ~]$ srvctl start listener

启动数据库:

[grid@jyrac1 ~]$ srvctl start database -d jyzhao

确认local_listener信息:
检查local_listener信息,如果不正确需要修改,我这里查询是正确的。

--两个节点分别确认:show parameter local_listener--修改:alter system set local_listener='(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.51)(PORT=1521))' sid='jyzhao1';alter system set local_listener='(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.53)(PORT=1521))' sid='jyzhao2';

5.3 修改SCAN VIP
查看SCAN VIP当前设置:

[grid@jyrac1 ~]$ srvctl config scanSCAN name: jyrac-scan, Network: 1/192.168.1.0/255.255.255.0/eth2SCAN VIP name: scan1, IP: /jyrac-scan/192.168.56.160

停止scan_listener和scan资源

[grid@jyrac1 ~]$ srvctl stop scan_listener
[grid@jyrac1 ~]$ srvctl stop scan--确认已停止[grid@jyrac1 ~]$ srvctl status scan_listenerSCAN Listener LISTENER_SCAN1 is enabledSCAN listener LISTENER_SCAN1 is not running
[grid@jyrac1 ~]$ srvctl status scanSCAN VIP scan1 is enabledSCAN VIP scan1 is not running

使用root用户修改SCAN VIP

[root@jyrac1 ~]# /opt/app/11.2.0/grid/bin/srvctl modify scan -n jyrac-scan注意:root用户执行修改,且确认/etc/hosts映射关系已修改为新的scan VIP。

修改并启动资源

[grid@jyrac1 ~]$ srvctl modify scan_listener -u
[grid@jyrac1 ~]$ srvctl start scan_listener
注意:执行后确认scan_listener和scan都已经启动。

确认修改成功

[grid@jyrac1 ~]$ srvctl config scan
SCAN name: jyrac-scan, Network: 1/192.168.1.0/255.255.255.0/eth2
SCAN VIP name: scan1, IP: /jyrac-scan/192.168.1.60[grid@jyrac1 ~]$ srvctl config scan_listener
SCAN Listener LISTENER_SCAN1 exists. Port: TCP:1521

查看整个集群状态正常:

[grid@jyrac1 ~]$ crsctl stat res -t
--------------------------------------------------------------------------------NAME           TARGET  STATE        SERVER                   STATE_DETAILS       
--------------------------------------------------------------------------------Local Resources
--------------------------------------------------------------------------------ora.DATA1.dg               ONLINE  ONLINE       jyrac1                                                      ONLINE  ONLINE       jyrac2                                                                        ora.FRA1.dg               ONLINE  ONLINE       jyrac1                                                      ONLINE  ONLINE       jyrac2                                       ora.LISTENER.lsnr               ONLINE  ONLINE       jyrac1                                                      ONLINE  ONLINE       jyrac2                                       ora.OCR1.dg               ONLINE  ONLINE       jyrac1                                                      ONLINE  ONLINE       jyrac2                                       ora.asm               ONLINE  ONLINE       jyrac1                   Started                            ONLINE  ONLINE       jyrac2                   Started             ora.gsd               OFFLINE OFFLINE      jyrac1                                                      OFFLINE OFFLINE      jyrac2                                       ora.net1.network               ONLINE  ONLINE       jyrac1                                                      ONLINE  ONLINE       jyrac2                                       ora.ons               ONLINE  ONLINE       jyrac1                                                      ONLINE  ONLINE       jyrac2                                       ora.registry.acfs               ONLINE  ONLINE       jyrac1                                                      ONLINE  ONLINE       jyrac2                                       
--------------------------------------------------------------------------------Cluster Resources
--------------------------------------------------------------------------------ora.LISTENER_SCAN1.lsnr      1        ONLINE  ONLINE       jyrac1                                       ora.cvu      1        ONLINE  ONLINE       jyrac2                                       ora.jyrac1.vip      1        ONLINE  ONLINE       jyrac1                                       ora.jyrac2.vip      1        ONLINE  ONLINE       jyrac2                                       ora.jyzhao.db      1        ONLINE  ONLINE       jyrac1                   Open                      2        ONLINE  ONLINE       jyrac2                   Open                ora.oc4j      1        ONLINE  ONLINE       jyrac1                                       ora.scan1.vip      1        ONLINE  ONLINE       jyrac1         

至此,修改Oracle 11g RAC的public IP、VIP、SCAN VIP就算完成了。

6.修改Private IP

因为很少会遇到修改Private IP的需求,所以将其独立成一节。

 

6.1 备份并确认CRS集群正常
从Oracle 11.2 GI开始,私有网络配置不仅仅存在ocr中,还存在gpnp profile中,所以首先需要备份profile.xml
--MOS上的说明:
Please take a backup of profile.xml on all cluster nodes before proceeding, as grid user:
$ cd $GRID_HOME/gpnp/

--节点1备份:
[grid@jyrac1 ~]$ cd /opt/app/11.2.0/grid/gpnp/jyrac1/profiles/peer/
[grid@jyrac1 peer]$ cp -p profile.xml profile.xml.bk
--节点2备份:
[grid@jyrac2 ~]$ cd /opt/app/11.2.0/grid/gpnp/jyrac2/profiles/peer/
[grid@jyrac2 peer]$ cp -p profile.xml profile.xml.bk

确认CRS集群在各节点启动:

[grid@jyrac1 ~]$ olsnodes -s
jyrac1  Active
jyrac2  Active

6.2 设定新的私网信息
oifcfg getif
oifcfg setif -global

[root@jyrac1 ~]# /opt/app/11.2.0/grid/bin/oifcfg getifeth3  10.10.10.0  global  cluster_interconnect
eth2  192.168.1.0  global  public

这里私网网段没有变化,不用修改。

6.3 root用户在所有节点关闭并禁用集群
crsctl stop crs
crsctl disable crs

[root@jyrac1 ~]# /opt/app/11.2.0/grid/bin/crsctl stop crs[root@jyrac2 ~]# /opt/app/11.2.0/grid/bin/crsctl stop crs[root@jyrac1 ~]# /opt/app/11.2.0/grid/bin/crsctl disable crs[root@jyrac2 ~]# /opt/app/11.2.0/grid/bin/crsctl disable crs

6.4 OS层修改私有网卡地址
ifconfig -a
ping

修改私有网卡IP并重启:

[root@jyrac1 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth3[root@jyrac1 ~]# ifdown eth3[root@jyrac1 ~]# ifup eth3

vi /etc/hosts 修改private ip部分为:

#private ip10.10.10.50    jyrac1-priv10.10.10.52    jyrac2-priv

6.5 root用户在所有节点启用并启动集群
crsctl enable crs
crsctl start crs

root用户在所有节点启用并启动集群:

[root@jyrac1 ~]# /opt/app/11.2.0/grid/bin/crsctl enable crs[root@jyrac2 ~]# /opt/app/11.2.0/grid/bin/crsctl enable crs[root@jyrac1 ~]# /opt/app/11.2.0/grid/bin/crsctl start crs[root@jyrac2 ~]# /opt/app/11.2.0/grid/bin/crsctl start crs

6.6 删除旧值
$ oifcfg delif -global

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




本文分享自微信公众号 - oracle学习笔记,如有侵权,请联系 service001@enmotech.com 删除。
最后修改时间:2019-12-17 11:03:47
文章转载自oracle学习笔记,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论