某数据库服务器Oracle rac系统因前期IP地址规划不准确,需要修改IP地址。修改前的IP地址如下:
#Public IP
192.168.8.15 rac1
192.168.8.17 rac2
#Private IP
10.10.8.15 rac1-priv
10.10.8.17 rac2-priv
#Virtual IP
192.168.8.16 rac1-vip
192.168.8.18 rac2-vip
修改后的IP地址如下:
#Public IP
192.168.64.15 rac1
192.168.64.17 rac2
#Private IP
10.10.64.15 rac1-priv
10.10.64.17 rac2-priv
#Virtual IP
192.168.64.16 rac1-vip
192.168.64.18 rac2-vip
关闭Oracle rac系统
[oracle@rac2 ~]$ emctl stop dbconsole
[oracle@rac1 ~]$ emctl stop dbconsole
[oracle@rac1 ~]$ cd $CRS_HOME/bin
[oracle@rac1 bin]$ ./crs_stat -t
[oracle@rac1 bin]$ ./crs_stop -all
[root@rac1 ~]# /etc/init.d/init.crs stop
[root@rac2 ~]# /etc/init.d/init.crs stop
修改操作系统的IP设置
(1)修改节点rac1的公网IP地址:
[root@rac1 ~]# cd /etc/sysconfig/network-scripts/
[root@rac1 network-scripts]# vi ifcfg-eth0
# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth0
BOOTPROTO=none
HWADDR=00:0C:29:1B:3F:AB
ONBOOT=yes
NETMASK=255.255.255.0
IPADDR=192.168.8.15
GATEWAY=192.168.8.1
TYPE=Ethernet
USERCTL=yes
IPV6INIT=yes
PEERDNS=yes
修改为
# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth0
BOOTPROTO=none
HWADDR=00:0C:29:1B:3F:AB
ONBOOT=yes
NETMASK=255.255.255.0
IPADDR=192.168.64.15
GATEWAY=192.168.64.1
TYPE=Ethernet
USERCTL=yes
IPV6INIT=yes
PEERDNS=yes
(2)修改节点rac1的私网IP地址
[root@rac1 network-scripts]# vi ifcfg-eth1
# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth1
BOOTPROTO=none
HWADDR=00:0C:29:1B:3F:B5
ONBOOT=yes
TYPE=Ethernet
NETMASK=255.255.255.0
IPADDR=10.10.8.15
USERCTL=yes
IPV6INIT=no
PEERDNS=yes
修改为
# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth1
BOOTPROTO=none
HWADDR=00:0C:29:1B:3F:B5
ONBOOT=yes
TYPE=Ethernet
NETMASK=255.255.255.0
IPADDR=10.10.64.15
USERCTL=yes
IPV6INIT=no
PEERDNS=yes
最后重新启动网络:
[root@rac1 ~]# /etc/init.d/network restart
(3)与上述步骤修改节点rac2的公网和私网IP地址:
ifcfg-eth0:
IPADDR=192.168.8.17
GATEWAY=192.168.8.1
修改为:
IPADDR=192.168.64.17
GATEWAY=192.168.64.1
ifcfg-eth1:
IPADDR=10.10.8.17
修改为:
IPADDR=10.10.64.17
注意:本步骤必须在数据库服务器环境下进行.
修改其它IP地址
(1) 修改节点rac1和rac2 的/etc/hosts文件:
[root@rac1 ~]# vi /etc/hosts
修改前:
127.0.0.1 localhost.localdomain localhost
#Public IP
192.168.8.15 rac1
192.168.8.17 rac2
#Private IP
10.10.8.15 rac1-priv
10.10.8.17 rac2-priv
#Virtual IP
192.168.8.16 rac1-vip
192.168.8.18 rac2-vip
修改后的IP地址如下:
127.0.0.1 localhost.localdomain localhost
#Public IP
192.168.64.15 rac1
192.168.64.17 rac2
#Private IP
10.10.64.15 rac1-priv
10.10.64.17 rac2-priv
#Virtual IP
192.168.64.16 rac1-vip
192.168.64.18 rac2-vip
(2) 如使用节点rac1为ntp服务器,rac2为客户端,须在rac2节点环境下:
[root@rac2 ~]# vi /etc/ntp.conf
restrict 0.0.0.0 mask 0.0.0.0 nomodify
server 127.127.1.0
server 192.168.8.15
fudge 127.127.1.0 stratum 10
driftfile /var/lib/ntp/drift
broadcastdelay 0.008
authenticate no
keys /etc/ntp/keys
修改为:
restrict 0.0.0.0 mask 0.0.0.0 nomodify
server 127.127.1.0
server 192.168.64.15
fudge 127.127.1.0 stratum 10
driftfile /var/lib/ntp/drift
broadcastdelay 0.008
authenticate no
keys /etc/ntp/keys
[root@rac2 ~]# crontab –e
*/5 * * * * /usr/sbin/ntpdate 192.168.8.15 >> /root/ntpd.log
修改为:
*/5 * * * * /usr/sbin/ntpdate 192.168.64.15 >> /root/ntpd.log
修改Oracle所用的IP地址
(1)修改Oracle所用的网卡设置
在节点rac1下修改网卡设置
[root@rac1 ~]# /etc/init.d/init.crs start
[root@rac2 ~]# /etc/init.d/init.crs start
[root@rac1 ~]#cd /u01/crs/oracle/product/11.1.0/crs/bin
[root@rac1 bin]# ./oifcfg getif
eth0 192.168.8.0 global public
eth1 10.10.8.0 global cluster_interconnect
[root@rac1 bin]# ./oifcfg delif -global eth0
[root@rac1 bin]# ./oifcfg delif -global eth1
[root@rac1 bin]# ./oifcfg setif -global eth0/192.168.64.0:public
[root@rac1 bin]# ./oifcfg setif -global eth1/10.10.64.0:cluster_interconnect
[root@rac1 bin]# ./oifcfg getif
eth0 192.168.64.0 global public
eth1 10.10.64.0 global cluster_interconnect
(3) 修改vip设置
在两个节点上分别运行:
[root@rac1 ~]#cd /u01/crs/oracle/product/11.1.0/crs/bin
[root@rac1 bin]# ./srvctl modify nodeapps -n rac1 -A 192.168.64.16/255.255.255.0/eth0
[root@rac2 ~]#cd /u01/crs/oracle/product/11.1.0/crs/bin
[root@rac2 bin]# ./srvctl modify nodeapps -n rac2 -A 192.168.64.18/255.255.255.0/eth0
(4) 修改监听IP设置
先在节点rac1环境下修改listener.ora
[oracle@rac1 ~]$ cd $ORACLE_HOME/network/admin
[oracle@rac1 admin]$ vi listener.ora
LISTENER_RAC1 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = rac1-vip)(PORT = 1521)(IP = FIRST))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.8.15)(PORT = 1521)(IP = FIRST))
)
)
修改为
LISTENER_RAC1 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = rac1-vip)(PORT = 1521)(IP = FIRST))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.64.15)(PORT = 1521)(IP = FIRST))
)
)
同样在节点rac2下也修改listener.ora
将HOST = 192.168.8.17 改为HOST = 192.168.64.17
重新启动oracle rac
[root@rac1 ~]# /etc/init.d/init.crs stop
[root@rac2 ~]# /etc/init.d/init.crs stop
[root@rac1 ~]# /etc/init.d/init.crs start
[root@rac2 ~]# /etc/init.d/init.crs start
重新配置oracle rac EM
如使用了oracle rac EM,需重新配置,oracle rac EM才能重新使用,否则不能登陆。Oracle rac EM重新配置步骤如下:
登陆节点rac1的oracle 用户环境下:(待测试)
[oracle@rac1 ~]$ emctl status dbconsole
[oracle@rac1 ~]$ emca -displayConfig dbcontrol -cluster
STARTED EMCA at Dec 29, 2010 7:52:48 AM
EM Configuration Assistant, Version 11.1.0.5.0 Production
Copyright (c) 2003, 2005, Oracle. All rights reserved.
Enter the following information:
Database unique name: orcl
Do you wish to continue? [yes(Y)/no(N)]: Y
Dec 29, 2010 7:53:04 AM oracle.sysman.emcp.EMConfig perform
INFO: This operation is being logged at /u01/app/oracle/cfgtoollogs/emca/orcl/emca_2010_12_29_07_52_48.log.
Dec 29, 2010 7:53:08 AM oracle.sysman.emcp.EMDBPostConfig showClusterDBCAgentMessage
INFO:
**************** Current Configuration ****************
INSTANCE NODE DBCONTROL_UPLOAD_HOST
---------- ---------- ---------------------
orcl1 rac1 rac1
orcl2 rac2 rac1
Enterprise Manager configuration completed successfully
FINISHED EMCA at Dec 29, 2010 7:53:08 AM
[oracle@rac1 ~]$ emca -repos drop
[oracle@rac1 ~]$ emca -repos drop
[oracle@rac1 ~]$ emca -deconfig dbcontrol db -repos drop -cluster
[oracle@rac1 ~]$ emca -config dbcontrol db -repos create -cluster
[oracle@rac1 ~]$ emctl start dbconsole
[oracle@rac2 ~]$ emctl start dbconsole
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/11328644/viewspace-712678/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/11328644/viewspace-712678/