Oracle RAC 修改 IP 地址

本文介绍在Oracle 10g RAC环境下如何安全地修改公共IP、私有IP及虚拟IP地址,涉及步骤包括停止所有Oracle相关进程、修改操作系统IP设置、调整网络配置等,并提供了详细的命令示例。

RAC修改IP这个操作本身也只有几步操作,但是它涉及到OCR。所以要格外小心。一般来说,如果不是必须要修改的话,尽量不要去修改OCR的东西。稳定第一。

在做之前,要手动的OCR进行一个备份,这样即使修改失败,也能还原回来。OCR的备份,参考Blog:

Oracle 10g RAC OCR和VotingDisk的备份与恢复

http://blog.youkuaiyun.com/xujinyang/article/details/6829593


另外,Public/Private对应的的主机名不能更改,如果确实需要更改主机名,需要重新安装CRS。


实验对IP地址做如下修改:

Public IP 10.85.10.119/121-- >10.85.10.219/221

Privite IP 192.168.1.119/121-- >192.168.1.219/221

Virtual IP 10.85.10.122/123-- >10.85.10.222/223

实验平台:redhat 4.7 + ORACLE 10G + raw +ASM

一. 停止oracle相关的所有进程,包括数据库, asm, node application, crs本身.

1.1查看当前系统上crs运行的状态
[root@raw1 bin]# pwd

/u01/app/oracle/product/crs/bin

[root@raw1 bin]# ./crs_stat -t

NameTypeTargetStateHost

------------------------------------------------------------

ora.raw.dbapplicationOFFLINEOFFLINE

ora.raw.dmm.cs applicationOFFLINEOFFLINE

ora....aw2.srv applicationOFFLINEOFFLINE

ora....w1.inst applicationOFFLINEOFFLINE

ora....w2.inst applicationOFFLINEOFFLINE

ora....SM1.asm applicationOFFLINEOFFLINE

ora....W1.lsnr applicationOFFLINEOFFLINE

ora.raw1.gsdapplicationOFFLINEOFFLINE

ora.raw1.onsapplicationOFFLINEOFFLINE

ora.raw1.vipapplicationOFFLINEOFFLINE

ora....SM2.asm applicationOFFLINEOFFLINE

ora....W2.lsnr applicationOFFLINEOFFLINE

ora.raw2.gsdapplicationOFFLINEOFFLINE

ora.raw2.onsapplicationOFFLINEOFFLINE

ora.raw2.vipapplicationOFFLINEOFFLINE

1.2关闭数据库
  [root@raw1 bin]# ./srvctl stop database -d raw
1.3关闭asm实例
[root@raw1 bin]# ./srvctl stop asm -n raw1

[root@raw1 bin]# ./srvctl stop asm -n raw2
1.4关闭其他应用程序
[root@raw1 bin]# ./srvctl stop nodeapps -n raw1

[root@raw1 bin]# ./srvctl stop nodeapps -n raw2

1.5关闭crs后台进程,在操作系统一级中止运行的crs后台进程,必须在所有节点上运行.
[root@raw1 bin]# /etc/init.d/init.crs stop

Shutting down Oracle Cluster Ready Services (CRS):

Stopping resources.

Successfully stopped CRS resources

Stopping CSSD.

Shutting down CSS daemon.

Shutdown request successfully issued.

Shutdown has begun. The daemons should exit soon.


[root@raw2 ~]# /etc/init.d/init.crs stop

Shutting down Oracle Cluster Ready Services (CRS):

Stopping resources.

Successfully stopped CRS resources

Stopping CSSD.

Shutting down CSS daemon.

Shutdown request successfully issued.

Shutdown has begun. The daemons should exit soon.

二。 修改操作系统的ip设置

2.1修改/etc/hosts文件。 保持2个节点的一致

[root@raw1 bin]# vi /etc/hosts

# Do not remove the following line, or various programs

# that require network functionality will fail.

127.0.0.1 localhost

10.85.10.219 raw1

10.85.10.221 raw2

192.168.1.219 raw1-priv

192.168.1.221 raw2-priv

10.85.10.222 raw1-vip

10.85.10.223 raw2-vip

2.2在两个节点上分别修改eth0和eth1地址:

[root@raw1 etc]# more /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

BOOTPROTO=static

IPADDR=10.85.10.219

NETMASK=255.255.255.0

ONBOOT=yes

GATEWAY=10.85.10.253

[root@raw2 ~]# more /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

BOOTPROTO=static

IPADDR=10.85.10.221

NETMASK=255.255.255.0

ONBOOT=yes

GATEWAY=10.85.10.253

[root@raw1 etc]# more /etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE=eth1

BOOTPROTO=static

IPADDR=192.168.1.219

NETMASK=255.255.255.0

ONBOOT=yes

GATEWAY=192.168.1.1

[root@raw2 ~]# more /etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE=eth1

BOOTPROTO=static

IPADDR=192.168.1.221

NETMASK=255.255.255.0

ONBOOT=yes

GATEWAY=192.168.1.1

2.3在两个节点上分别重启网络服务,是修改的IP生效。

[root@raw1 ~]# service network restart

[root@raw2 ~]# service network restart


三. 启动crs,设置oracle中ip地址相关的设置.
  3.1在两个节点启动crs,并关闭随crs启动的应用程序
[root@raw1 ~]#/etc/init.d/init.crs start

Startup will be queued to init within 90 seconds.

[root@raw2 ~]#/etc/init.d/init.crs start

Startup will be queued to init within 90 seconds.


由于oracle所有应用设置为自动启动,所以在crs启动时会试图启动所有的服务,但是在对oracle相关的ip地址进行设置时需要crs处于运行状态.但是数据库, asm和node application处于停止状态,在一个节点执行以下命令:
  [root@raw1 bin]# ./srvctl stop database -d raw
[root@raw1 bin]# ./srvctl stop asm -n raw1

[root@raw1 bin]# ./srvctl stop asm -n raw2
[root@raw1 bin]# ./srvctl stop nodeapps -n raw1

[root@raw1 bin]# ./srvctl stop nodeapps -n raw2

[root@raw1 bin]# ./crs_stat -t

NameTypeTargetStateHost

------------------------------------------------------------

ora.raw.dbapplicationOFFLINEOFFLINE

ora.raw.dmm.cs applicationOFFLINEOFFLINE

ora....aw2.srv applicationOFFLINEOFFLINE

ora....w1.inst applicationOFFLINEOFFLINE

ora....w2.inst applicationOFFLINEOFFLINE

ora....SM1.asm applicationOFFLINEOFFLINE

ora....W1.lsnr applicationOFFLINEOFFLINE

ora.raw1.gsdapplicationOFFLINEOFFLINE

ora.raw1.onsapplicationOFFLINEOFFLINE

ora.raw1.vipapplicationOFFLINEOFFLINE

ora....SM2.asm applicationOFFLINEOFFLINE

ora....W2.lsnr applicationOFFLINEOFFLINE

ora.raw2.gsdapplicationOFFLINEOFFLINE

ora.raw2.onsapplicationOFFLINEOFFLINE

ora.raw2.vipapplicationOFFLINEOFFLINE

3.2使用oifcfg修改网卡设置, oifconfig可以用来设置和查看网卡使用的方式.

注: 如果修改的网段相同,可以不做这一步。

--查看当前配置:

[root@raw1 bin]# ./oifcfg getif -global

eth010.85.10.0globalpublic

eth1192.168.1.0globalcluster_interconnect


--删除当前配置

[root@raw1 bin]# ./oifcfg delif -global eth0

[root@raw1 bin]# ./oifcfg delif -global eth1

[root@raw1 bin]# ./oifcfg getif

--重新添加

[root@raw1 bin]# ./oifcfg setif -global eth0/10.85.10.0:public

[root@raw1 bin]# ./oifcfg setif -global eth1/192.168.1.0:cluster_interconnect

[root@raw1 bin]#./oifcfg getif

eth010.85.10.0globalpublic

eth1192.168.1.0globalcluster_interconnect


[root@racnode2 bin]# ./oifcfg iflist

eth0192.168.86.0

eth1192.168.0.0

eth2192.168.200.0

eth3192.168.200.0

eth4192.168.200.0

eth5192.168.200.0

注意:这里IP地址最一个为0.代表的是一个网段。修改的时候要切记。否在在启动OCR时会报如下错误:

[ CRSOCR][4054413904] OCR context init failure. Error: PROC-44:网络地址和网络接口操作中出错网络地址和网络接口操作错误[7]


3.3修改VIP

[root@raw1 bin]# ./srvctl modify nodeapps -n raw1 -A 10.85.10.222/255.255.255.0/eth0

[root@raw1 bin]# ./srvctl modify nodeapps -n raw2 -A 10.85.10.223/255.255.255.0/eth0

3.4设置listener.ora和tnsnames.ora,检查这些文件中是否有指定原来ip的地方,修改为更改后的ip地址。

[root@raw1 bin]# vi/u01/app/oracle/product/10.2.0/db_1/network/admin/listener.ora

# listener.ora.raw1 Network Configuration File:

/u01/app/oracle/product/10.2.0/db_1/network/admin/listener.ora.raw1

# Generated by Oracle configuration tools.

LISTENER_RAW1 =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = raw1-vip)(PORT = 1521)(IP = FIRST))

(ADDRESS = (PROTOCOL = TCP)(HOST =10.85.10.219)(PORT = 1521)(IP = FIRST))

)

)

注意:如果你使用了ocfs,修改ocfs配置文件(/etc/ocfs/cluster.conf),验证修改后是否可用。

3.5启动node applications, asm,数据库

[root@raw1 bin]# ./srvctl start nodeapps -n raw1

[root@raw1 bin]# ./srvctl start nodeapps -n raw2

[root@raw1 bin]# ./srvctl start asm -n raw1

[root@raw1 bin]# ./srvctl start asm -n raw2

[root@raw1 bin]# ./srvctl start instance -d raw -i raw1

[root@raw1 bin]# ./srvctl start instance -d raw -i raw2

[root@raw1 bin]# ./crs_stat -t

NameTypeTargetStateHost

------------------------------------------------------------

ora.raw.dbapplicationONLINEONLINEraw2

ora.raw.dmm.cs applicationONLINEONLINEraw2

ora....aw2.srv applicationONLINEONLINEraw2

ora....w1.inst applicationONLINEONLINEraw1

ora....w2.inst applicationONLINEONLINEraw2

ora....SM1.asm applicationONLINEONLINEraw1

ora....W1.lsnr applicationONLINEONLINEraw1

ora.raw1.gsdapplicationONLINEONLINEraw1

ora.raw1.onsapplicationONLINEONLINEraw1

ora.raw1.vipapplicationONLINEONLINEraw1

ora....SM2.asm applicationONLINEONLINEraw2

ora....W2.lsnr applicationONLINEONLINEraw2

ora.raw2.gsdapplicationONLINEONLINEraw2

ora.raw2.onsapplicationONLINEONLINEraw2

ora.raw2.vipapplicationONLINEONLINEraw2

若启动出现问题,参考我的blog:

Oracle RAC启动与关闭

http://blog.youkuaiyun.com/xujinyang/article/details/6829632

3.6确认IP,修改完成。
[root@raw1 bin]# ifconfig

eth0Link encap:EthernetHWaddr 00:0C:29:55:28:FD

inet addr:10.85.10.219Bcast:10.85.10.255Mask:255.255.255.0

... ...

eth0:1Link encap:EthernetHWaddr 00:0C:29:55:28:FD

inet addr:10.85.10.222Bcast:10.85.10.255Mask:255.255.255.0

... ...

eth1Link encap:EthernetHWaddr 00:0C:29:55:28:07

inet addr:192.168.1.219Bcast:192.168.1.255Mask:255.255.255.0

... ...

loLink encap:Local Loopback

inet addr:127.0.0.1Mask:255.0.0.0

[root@raw2 ~]# ifconfig

eth0Link encap:EthernetHWaddr 00:0C:29:2E:28:EE

inet addr:10.85.10.221Bcast:10.85.10.255Mask:255.255.255.0

... ...

eth0:1Link encap:EthernetHWaddr 00:0C:29:2E:28:EE

inet addr:10.85.10.223Bcast:10.85.10.255Mask:255.255.255.0

... ...

eth1Link encap:EthernetHWaddr 00:0C:29:2E:28:F8

inet addr:192.168.1.221Bcast:192.168.1.255Mask:255.255.255.0

... ...

loLink encap:Local Loopback

inet addr:127.0.0.1Mask:255.0.0.0

... ...

------------------------------------------------------------------------------

在本地自己的操作系统上,完全模拟生产环境,让学员跟着视频一步一步搭建一套在RHEL7操作系统上面的oracle19c的rac环境。同时学员还会学会DNS服务器,DNS客户端,NTP服务器,NTP客户端等操作系统知识。让学员在短时间内,oracle操作系统知识,有一定的提升。让学员可以独自轻松安装一套oracle rac环境。一课程主题 模拟生产环境,用多路径共享存储,用虚拟软件安装一套RHEL7.5+oracle19c+rac+打补丁二课程特色 完成模拟生产环境,用openfiler软件模拟生产惠普的3par存储,用2个虚拟网卡模拟数据库服务器的2个HBA卡。课程以实践为主,从头到尾一步一步教学员怎样操作,实践性强模拟生产需求,完全可以把这套环境拿到生产环境安装三课程内容 1.课程结束成果演示    1.1 用workstation,安装一套rhel7+oracle19c+rac+multipath+共享存储+DNS服务器+DNS客户端+NTP服务器+NTP客户端的生产环境    1.2 怎样打oracle19c的rac补丁(包括GI补丁,oracle补丁,数据库补丁,OJVM补丁,bug补丁)2.安装openfiler软件,模拟共享存储+配置多路径访问    2.1安装openfiler软件   2.2配置openfiler软件(配置2个虚拟网卡,模拟服务器的2个HBA卡)   2.3创建ocr磁盘   2.4创建mgmt磁盘   2.5创建数据文件磁盘   2.6创建归档日志磁盘3.安装2台数据库服务器    3.1安装2台数据库服务器RHEL7.5   3.2配置服务器双网卡绑定+配置服务器心跳线4.安装多路径软件识别共享存储中的磁盘     4.1安装服务器本地yum源    4.2安装iscsi软件,配置多路径配置文件,识别共享存储中的磁盘    4.3识别ocr磁盘    4.4识别mgmt磁盘    4.5识别数据文件磁盘    4.6识别归档日志磁盘5.oracle19c的rac环境系统参数官方说明     5.1如何配置oracle19c的rac的系统参数(我们参考官方说明)    5.2oracle19c+rac环境Best Practices 官方说明文档6.安装oracle19c+rac之前的准备工作     6.1修改/etc/hosts文件    6.2配置DNS服务器+DNS客户端+NTP服务器+NTP客户端    6.3创建用户和组    6.4创建目录    6.5修改用户环境变量    6.6安装相关软件包    6.7配置ssh互信    6.9禁用服务器透明大页7.安装oracle+19c+rac软件    7.1安装GI软件   7.2创建ASM磁盘,主要是数据文件磁盘和归档日志磁盘   7.3安装数据库软件   7.4创建数据库实例   7.5日常常用维护集群命令(启停数据库,启停集群,查看监听,教同学们怎样不死记命令,而且命令还正确)8.打补丁   8.1打GI和ORACLE操作系统补丁  8.2打OJVM补丁  8.3打ORA600的bug补丁9.课程总结和成果演示  9.1课程总结和成果演示 四学习必要工具 安装workstation软件  官网下载openfiler,rhel7.5软件下载oracle软件(包括19.3的rac安装包,19.4的补丁)以上软件我都已经在视频里面做了下载地址说明五课程纠错1)rac的私有ip应该是不同的网段,我在视频中设置错误。Ensure all private Ethernet interfaces are set to different subnets on each node. If different subnets are not used and connectivity is lost, this can cause a node reboot within the cluster2)配置好multipath,以及多路径的别名后,还要增加如下配置文件。[root@hellorac1 rules.d]# cat /etc/udev/rules.d/99-persistent.rulesENV==data, OWNER:=grid, GROUP:=asmadmin, MODE:=660上面的配置文件增加成功后,运行如下命令:#udevadm control --reload-rules#/sbin/udevadm trigger --type=devices --action=change执行完成之后,会发现/dev/dm*相应的磁盘权限变成grid.asmadmin. 视频中只运行了udevadm control --reload-rules。3)安装GI部分1和部分2,先看部分2,再看部分1.特此纠正上面的3个错误。谢谢大家的支持和厚爱。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值