oracle rac修改IP涉及到OCR,在执行修改前要进行一个备份,这样即使修改失败,也能还原回来,如何备份可以参考
oracle-rac-ocr-和-votingdisk-的备份与恢复/
实验环境:redhat 5.4 oracle 10g rac,oracle 11g rac
原来两节点rac IP设置如下:
192.168.56.11 jy1
192.168.56.12 jy2
192.168.56.13 jy1-priv
192.168.56.14 jy2-priv
192.168.56.15 jy1-vip
192.168.56.16 jy2-vip
现在修改为
192.168.56.111 jy1
192.168.56.112 jy2
192.168.100.1 jy1-priv
192.168.100.2 jy2-priv
192.168.56.113 jy1-vip
192.168.56.114 jy2-vip
一. 停止oracle相关的所有进程, 包括数据库, asm, node application, crs
1.1 查看当前系统上crs运行的状态
[root@jy1 bin]# cd /u01/app/oracle/product/10.2.0/crs/bin [root@jy1 bin]# pwd /u01/app/oracle/product/10.2.0/crs/bin [root@jy1 bin]# ./crs_stat -t Name Type Target State Host ------------------------------------------------------------ ora....SM1.asm application ONLINE ONLINE jy1 ora....Y1.lsnr application ONLINE ONLINE jy1 ora.jy1.gsd application ONLINE ONLINE jy1 ora.jy1.ons application ONLINE ONLINE jy1 ora.jy1.vip application ONLINE ONLINE jy1 ora....SM2.asm application ONLINE ONLINE jy2 ora....Y2.lsnr application ONLINE ONLINE jy2 ora.jy2.gsd application ONLINE ONLINE jy2 ora.jy2.ons application ONLINE ONLINE jy2 ora.jy2.vip application ONLINE ONLINE jy2 ora.jyrac.db application ONLINE ONLINE jy1 ora....c1.inst application ONLINE ONLINE jy1 ora....c2.inst application ONLINE ONLINE jy2
1.2 关闭数据库
[root@jy1 bin]# ./srvctl stop database -d jyrac
1.3 关闭asm实例
[root@jy1 bin]# ./srvctl stop asm -n jy1 [root@jy1 bin]# ./srvctl stop asm -n jy2
1.4 关闭其他应用程序
[root@jy1 bin]# ./srvctl stop nodeapps -n jy1 [root@jy1 bin]# ./srvctl stop nodeapps -n jy2
1.5 关闭crs后台进程, 在操作系统一级中止运行的crs后台进程, 必须在所有节点上运行.
[root@jy1 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@jy2 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.
二 修改操作系统的ip设置
2.1 修改 /etc/hosts 文件。 保持2个节点的一致
[root@jy1 bin]# vi /etc/hosts # Do not remove the following line, or various programs # that require network functionality will fail. 127.0.0.1 jy1 localhost.localdomain localhost ::1 localhost6.localdomain6 localhost6 192.168.56.111 jy1 192.168.56.112 jy2 192.168.100.1 jy1-priv 192.168.100.2 jy2-priv 192.168.56.113 jy1-vip 192.168.56.114 jy2-vip [root@jy2 bin]# vi /etc/hosts # Do not remove the following line, or various programs # that require network functionality will fail. 127.0.0.1 jy2 localhost.localdomain localhost ::1 localhost6.localdomain6 localhost6 192.168.56.111 jy1 192.168.56.112 jy2 192.168.100.1 jy1-priv 192.168.100.2 jy2-priv 192.168.56.113 jy1-vip 192.168.56.114 jy2-vip
2.2 在两个节点上分别修改eth0和eth1地址:
[root@jy1 bin]# vi /etc/sysconfig/network-scripts/ifcfg-eth0 # Intel Corporation 82540EM Gigabit Ethernet Controller DEVICE=eth0 BOOTPROTO=none ONBOOT=yes HWADDR=08:00:27:54:5a:6a NETMASK=255.255.255.0 IPADDR=192.168.56.111 GATEWAY=192.168.56.1 TYPE=Ethernet USERCTL=no IPV6INIT=no PEERDNS=yes [root@jy2 bin]# vi /etc/sysconfig/network-scripts/ifcfg-eth0 # Intel Corporation 82540EM Gigabit Ethernet Controller DEVICE=eth0 BOOTPROTO=none ONBOOT=yes HWADDR=08:00:27:41:5d:e5 NETMASK=255.255.255.0 IPADDR=192.168.56.112 GATEWAY=192.168.56.1 TYPE=Ethernet USERCTL=no IPV6INIT=no PEERDNS=yes [root@jy1 bin]# vi /etc/sysconfig/network-scripts/ifcfg-eth1 IPADDR=192.168.100.1 # Intel Corporation 82540EM Gigabit Ethernet Controller DEVICE=eth1 BOOTPROTO=none ONBOOT=yes HWADDR=08:00:27:c3:b7:37 NETMASK=255.255.255.0 IPADDR=192.168.100.1 TYPE=Ethernet USERCTL=no IPV6INIT=no PEERDNS=yes [root@jy2 bin]# vi /etc/sysconfig/network-scripts/ifcfg-eth1 GATEWAY=192.168.56.1 # Intel Corporation 82540EM Gigabit Ethernet Controller DEVICE=eth1 BOOTPROTO=none ONBOOT=yes HWADDR=08:00:27:4a:e3:cb TYPE=Ethernet NETMASK=255.255.255.0 IPADDR=192.168.100.2 USERCTL=no IPV6INIT=no PEERDNS=yes
2.3 在两个节点上分别重启网络服务,是修改的IP生效
[root@jy1 bin]# service network restart [root@jy2 bin]# service network restart
三 启动crs, 设置oracle中ip地址相关的设置
3.1 在两个节点启动crs, 并关闭随crs启动的所有服务
[root@jy1 bin]# /etc/init.d/init.crs start Startup will be queued to init within 90 seconds. [root@jy2 bin]# /etc/init.d/init.crs start Startup will be queued to init within 90 seconds.
由于oracle所有服务设置为自动启动, 所以在crs启动时会试图启动所有的服务, 但是在对oracle相关的ip地址进行设置时需要crs处于运行状态. 但是数据库, asm和node application处于停止状态, 在一个节点执行以下命令来停止所有服务:
[root@jy1 bin]# ./srvctl stop database -d jyrac [root@jy1 bin]# ./srvctl stop asm -n jy1 [root@jy1 bin]# ./srvctl stop asm -n jy2 [root@jy1 bin]# ./srvctl stop nodeapps -n jy1 [root@jy1 bin]# ./srvctl stop nodeapps -n jy2 [root@jy1 bin]# ./crs_stat -t Name Type Target State Host ------------------------------------------------------------ ora....SM1.asm application OFFLINE OFFLINE ora....Y1.lsnr application OFFLINE OFFLINE ora.jy1.gsd application OFFLINE OFFLINE ora.jy1.ons application OFFLINE OFFLINE ora.jy1.vip application OFFLINE OFFLINE ora....SM2.asm application OFFLINE OFFLINE ora....Y2.lsnr application OFFLINE OFFLINE ora.jy2.gsd application OFFLINE OFFLINE ora.jy2.ons application OFFLINE OFFLINE ora.jy2.vip application OFFLINE OFFLINE ora.jyrac.db application OFFLINE OFFLINE ora....c1.inst application OFFLINE OFFLINE ora....c2.inst application OFFLINE OFFLINE
3.2 使用oifcfg修改网卡设置, oifconfig可以用来设置和查看网卡使用的方式(如果修改的网段相同可以不做这一步)
3.2.1查看当前配置:
[root@jy1 bin]# ./oifcfg getif -global eth0 192.168.56.0 global public eth1 192.168.56.0 global cluster_interconnect
3.2.2删除当前配置
[root@jy1 bin]# ./oifcfg delif -global eth0 [root@jy1 bin]# ./oifcfg delif -global eth1 [root@jy1 bin]# ./oifcfg getif
3.2.3重新添加
[root@jy1 bin]# ./oifcfg setif -global eth0/192.168.56.0:public [root@jy1 bin]# ./oifcfg setif -global eth1/192.168.100.0:cluster_interconnect [root@jy1 bin]# ./oifcfg getif eth0 192.168.56.0 global public eth1 192.168.100.0 global cluster_interconnect [root@jy1 bin]# ./oifcfg iflist eth0 192.168.56.0 eth1 192.168.100.0 [root@jy2 bin]# ./oifcfg iflist eth0 192.168.56.0 eth1 192.168.100.0
这里IP 地址最后一个为0,代表的是一个网段。修改的时候要切记。否在在启动OCR 时会报如下错误:[ CRSOCR][4054413904] OCR context init failure. Error: PROC-44: 网络地址和网络接口操作中出错 网络地址和网络接口操作错误 [7]
3.3 修改VIP
[root@jy1 bin]# ./srvctl modify nodeapps -n jy1 -A 192.168.56.113/255.255.255.0/eth0 [root@jy1 bin]# ./srvctl modify nodeapps -n jy2 -A 192.168.56.114/255.255.255.0/eth0
3.4 设置listener.ora和tnsnames.ora, 检查这些文件中是否有指定原来ip的地方,
修改为更改后的ip地址(注意:如果你使用了ocfs,修改ocfs配置文件(/etc/ocfs/cluster.conf),
验证修改后是否可用)
在节点jy1上没有使用原来的固定IP不用修改
[root@jy1 bin]# vi /u01/app/oracle/product/10.2.0/db/network/admin/listener.ora
# listener.ora.jy1 Network Configuration File: /u01/app/oracle/product/10.2.0/db/network/admin/listener.ora.jy1
# Generated by Oracle configuration tools.
LISTENER_JY1 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = jy1-vip)(PORT = 1521)(IP = FIRST))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)(IP = FIRST))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
)
)
)
节点jy2使用了原来的IP192.168.56.12所以将其修改为192.168.56.112
[root@jy2 bin]# cat /u01/app/oracle/product/10.2.0/db/network/admin/listener.ora
# listener.ora.jy2 Network Configuration File: /u01/app/oracle/product/10.2.0/db/network/admin/listener.ora.jy2
# Generated by Oracle configuration tools.
LISTENER_JY2 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = jy2-vip)(PORT = 1521)(IP = FIRST))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.12)(PORT = 1521)(IP = FIRST))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
)
)
)
[root@jy2 bin]# vi /u01/app/oracle/product/10.2.0/db/network/admin/listener.ora
# listener.ora.jy2 Network Configuration File: /u01/app/oracle/product/10.2.0/db/network/admin/listener.ora.jy2
# Generated by Oracle configuration tools.
LISTENER_JY2 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = jy2-vip)(PORT = 1521)(IP = FIRST))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.112)(PORT = 1521)(IP = FIRST))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
)
)
)
3.5 启动node applications, asm, 数据库
[root@jy1 bin]# ./srvctl start nodeapps -n jy1
[root@jy1 bin]# ./srvctl start nodeapps -n jy2
[root@jy1 bin]# ./srvctl start asm -n jy1
[root@jy1 bin]# ./srvctl start asm -n jy2
[root@jy1 bin]# ./srvctl start instance -d jyrac -i jyrac1
[root@jy1 bin]# ./srvctl start instance -d jyrac -i jyrac2
[root@jy1 bin]# ./crs_stat -t
Name Type Target State Host
————————————————————
ora….SM1.asm application ONLINE ONLINE jy1
ora….Y1.lsnr application ONLINE ONLINE jy1
ora.jy1.gsd application ONLINE ONLINE jy1
ora.jy1.ons application ONLINE ONLINE jy1
ora.jy1.vip application ONLINE ONLINE jy1
ora….SM2.asm application ONLINE ONLINE jy2
ora….Y2.lsnr application ONLINE ONLINE jy2
ora.jy2.gsd application ONLINE ONLINE jy2
ora.jy2.ons application ONLINE ONLINE jy2
ora.jy2.vip application ONLINE ONLINE jy2
ora.jyrac.db application ONLINE ONLINE jy2
ora….c1.inst application ONLINE ONLINE jy1
ora….c2.inst application ONLINE ONLINE jy2
3.6 确认IP, 修改完成。
[root@jy1 bin]# ifconfig
eth0 Link encap:Ethernet HWaddr 08:00:27:54:5A:6A
inet addr:192.168.56.111 Bcast:192.168.56.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe54:5a6a/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:515539 errors:0 dropped:0 overruns:0 frame:0
TX packets:546714 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:294661949 (281.0 MiB) TX bytes:357427245 (340.8 MiB)
Base address:0xd010 Memory:f0000000-f0020000
eth0:1 Link encap:Ethernet HWaddr 08:00:27:54:5A:6A
inet addr:192.168.56.113 Bcast:192.168.56.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Base address:0xd010 Memory:f0000000-f0020000
eth1 Link encap:Ethernet HWaddr 08:00:27:C3:B7:37
inet addr:192.168.100.1 Bcast:192.168.100.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fec3:b737/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:21818 errors:0 dropped:0 overruns:0 frame:0
TX packets:32288 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:10823304 (10.3 MiB) TX bytes:26553389 (25.3 MiB)
Base address:0xd240 Memory:f0820000-f0840000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:180050 errors:0 dropped:0 overruns:0 frame:0
TX packets:180050 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:57676272 (55.0 MiB) TX bytes:57676272 (55.0 MiB)
[root@jy2 bin]# ifconfig
eth0 Link encap:Ethernet HWaddr 08:00:27:41:5D:E5
inet addr:192.168.56.112 Bcast:192.168.56.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe41:5de5/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:545442 errors:0 dropped:0 overruns:0 frame:0
TX packets:514967 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:356961066 (340.4 MiB) TX bytes:295147830 (281.4 MiB)
Base address:0xd010 Memory:f0000000-f0020000
eth0:1 Link encap:Ethernet HWaddr 08:00:27:41:5D:E5
inet addr:192.168.56.114 Bcast:192.168.56.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Base address:0xd010 Memory:f0000000-f0020000
eth1 Link encap:Ethernet HWaddr 08:00:27:4A:E3:CB
inet addr:192.168.100.2 Bcast:192.168.100.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe4a:e3cb/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:32190 errors:0 dropped:0 overruns:0 frame:0
TX packets:21813 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:26535297 (25.3 MiB) TX bytes:10821634 (10.3 MiB)
Base address:0xd240 Memory:f0820000-f0840000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:163867 errors:0 dropped:0 overruns:0 frame:0
TX packets:163867 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:30461066 (29.0 MiB) TX bytes:30461066 (29.0 MiB)
从输出结果可知修改成功.
四 修改oracle 11g rac的scan IP,我这里没有使用DNS,只设置了一个scan IP:10.138.130.155现将其修改为10.138.130.159(因为11g rac修改public,private,vip IP与上面10g rac一样不再说明)
root@jyrac1 ~]# cat /etc/hosts 10.138.130.151 jyrac1 10.138.130.152 jyrac2 10.10.10.1 jyrac1-priv 10.10.10.2 jyrac2-priv 10.138.130.153 jyrac1-vip 10.138.130.154 jyrac2-vip 10.138.130.155 jyrac-scan
4.1在所有节点中 /etc/hosts 文件中修改 scan 对应的ip
[root@jyrac1 ~]# vi /etc/hosts # Do not remove the following line, or various programs # that require network functionality will fail. 127.0.0.1 jyrac1 localhost.localdomain localhost ::1 localhost6.localdomain6 localhost6 10.138.130.151 jyrac1 10.138.130.152 jyrac2 10.10.10.1 jyrac1-priv 10.10.10.2 jyrac2-priv 10.138.130.153 jyrac1-vip 10.138.130.154 jyrac2-vip 10.138.130.159 jyrac-scan ~ [root@jyrac2 ~]# vi /etc/hosts # Do not remove the following line, or various programs # that require network functionality will fail. 127.0.0.1 jyrac2 localhost.localdomain localhost ::1 localhost6.localdomain6 localhost6 10.138.130.151 jyrac1 10.138.130.152 jyrac2 10.10.10.1 jyrac1-priv 10.10.10.2 jyrac2-priv 10.138.130.153 jyrac1-vip 10.138.130.154 jyrac2-vip 10.138.130.159 jyrac-scan
4.2 查看scan IP信息
[grid@jyrac1 ~]$ srvctl config scan SCAN name: jyrac-scan, Network: 1/10.138.130.0/255.255.255.0/eth0 SCAN VIP name: scan1, IP: /jyrac-scan/10.138.130.155
4.3 停止scan_listener ,scan 应用
[grid@jyrac2 ~]$ srvctl stop scan_listener [grid@jyrac2 ~]$ srvctl stop scan
4.4 确认 scan_listener,scan 的状态
[grid@jyrac1 ~]$ srvctl status scan_listener SCAN Listener LISTENER_SCAN1 is enabled SCAN listener LISTENER_SCAN1 is not running [grid@jyrac1 ~]$ srvctl status scan SCAN VIP scan1 is enabled SCAN VIP scan1 is not running [grid@jyrac1 ~]$ crs_stat -t | grep scan ora.scan1.vip ora....ip.type OFFLINE OFFLINE [grid@jyrac1 ~]$ crs_stat -t | grep lsnr ora....ER.lsnr ora....er.type ONLINE ONLINE jyrac1 ora....N1.lsnr ora....er.type OFFLINE OFFLINE ora....C1.lsnr application ONLINE ONLINE jyrac1 ora....C2.lsnr application ONLINE ONLINE jyrac2
4.5 修改scan 名称
[grid@jyrac1 ~]$ srvctl modify scan -h Modifies the SCAN name. Usage: srvctl modify scan -n -n Domain name qualified SCAN name 域名限定的 SCAN 名 -h Print usage 输出帮助信息
grid 用户无权更改scan ip,必须使用root权限
[grid@jyrac2 ~]$ srvctl modify scan -n jyrac-scan PRCS-1034 : Failed to modify Single Client Access Name jyrac-scan PRCR-1071 : Failed to register or update resource type ora.scan_vip.type CRS-0245: User doesn't have enough privilege to perform the operation [root@jyrac1 bin]# cd /u01/app/product/11.2.0/crs/bin [root@jyrac1 bin]# pwd /u01/app/product/11.2.0/crs/bin [root@jyrac1 bin]# ./srvctl modify scan -n jyrac-scan
4.6 变更后,进行确认
[root@jyrac1 bin]# ./srvctl config scan SCAN name: jyrac-scan, Network: 1/10.138.130.0/255.255.255.0/eth0 SCAN VIP name: scan1, IP: /jyrac-scan/10.138.130.159
4.7 重新启动scan,scan_listener
[grid@jyrac1 ~]$ srvctl start scan [grid@jyrac1 ~]$ srvctl start scan_listener
4.8 确认scan 和scan_listener.ora的状态
[grid@jyrac1 ~]$ crs_stat -t | grep scan ora.scan1.vip ora....ip.type ONLINE ONLINE jyrac1 [grid@jyrac1 ~]$ crs_stat -t | grep lsnr ora....ER.lsnr ora....er.type ONLINE ONLINE jyrac1 ora....N1.lsnr ora....er.type ONLINE ONLINE jyrac1 ora....C1.lsnr application ONLINE ONLINE jyrac1 ora....C2.lsnr application ONLINE ONLINE jyrac2
4.9 进行ping测试
[grid@jyrac2 ~]$ ping 10.138.130.159 PING 10.138.130.159 (10.138.130.159) 56(84) bytes of data. 64 bytes from 10.138.130.159: icmp_seq=1 ttl=64 time=1.88 ms 64 bytes from 10.138.130.159: icmp_seq=2 ttl=64 time=0.166 ms
修改scan IP与修改private ip ,vip 不一样,修改scan ip 无需停止数据库实例,asm 或者重启crs比较简单
Excellent website. Lots of useful info here.
I am sending it to some buddies ans also sharing in delicious.
And naturally, thank you in your effort!
I really like reading through an article that
can make people think. Also, many thanks for allowing me to comment!
Perfect item…thank you!
Latest Michael kors bags for sale