RAC环境下修改IP —— 10G

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介:

由于种种原因,可能会遇到需要改服务器IP的情况,完全属于吃饱了撑着的事情,DBA就惨了,单实例如果有用dbconsole,还得重新删掉重建才能使用,rac环境就更悲催了!想想任某人对IT行业的评价,笑而不语…

修改前:这里用DNS解析就改DNS,没用DNS就改各个节点的hosts文件

[root@rac1 ~]# cat /etc/hosts
127.0.0.1               localhost.localdomain localhost
192.168.1.41            rac1.yang.com      rac1
192.168.122.41          rac1-priv.yang.com rac1-priv
192.168.1.141           rac1-vip.yang.com  rac1-vip

192.168.1.42            rac2.yang.com      rac2
192.168.122.42          rac2-priv.yang.com rac2-priv
192.168.1.142           rac2-vip.yang.com  rac2-vip 

修改后:

 [root@rac1 ~]# cat /etc/hosts
127.0.0.1               localhost.localdomain localhost
192.168.2.41            rac1.yang.com      rac1
192.168.123.41          rac1-priv.yang.com rac1-priv
192.168.2.141           rac1-vip.yang.com  rac1-vip

192.168.2.42            rac2.yang.com      rac2
192.168.123.42          rac2-priv.yang.com rac2-priv
192.168.2.142           rac2-vip.yang.com  rac2-vip

1:关闭数据库实例,asm实例,nodeapps

 
  1. [oracle@rac2 ~]$ crs_stat -t -v  
  2. Name           Type           R/RA   F/FT   Target    State     Host          
  3. ----------------------------------------------------------------------  
  4. ora.rac.db     application    0/0    0/1    ONLINE    ONLINE    rac1          
  5. ora....c1.inst application    0/5    0/0    ONLINE    ONLINE    rac1          
  6. ora....c2.inst application    0/5    0/0    ONLINE    ONLINE    rac2          
  7. ora....SM1.asm application    0/5    0/0    ONLINE    ONLINE    rac1          
  8. ora....C1.lsnr application    0/5    0/0    ONLINE    ONLINE    rac1          
  9. ora.rac1.gsd   application    0/5    0/0    ONLINE    ONLINE    rac1          
  10. ora.rac1.ons   application    0/3    0/0    ONLINE    ONLINE    rac1          
  11. ora.rac1.vip   application    0/0    0/0    ONLINE    ONLINE    rac1          
  12. ora....SM2.asm application    0/5    0/0    ONLINE    ONLINE    rac2          
  13. ora....C2.lsnr application    0/5    0/0    ONLINE    ONLINE    rac2          
  14. ora.rac2.gsd   application    0/5    0/0    ONLINE    ONLINE    rac2          
  15. ora.rac2.ons   application    0/3    0/0    ONLINE    ONLINE    rac2          
  16. ora.rac2.vip   application    0/0    0/0    ONLINE    ONLINE    rac2          
  17. [oracle@rac2 ~]$ srvctl stop database -d rac -o immediate  
  18. [oracle@rac2 ~]$ crs_stop -all 

2:操作系统级别修改ip地址,重启2个节点,发现VIP和listener不正常

 
  1. [oracle@rac1 ~]$ ip a |grep inet |grep -v 'inet6'  
  2.     inet 127.0.0.1/8 scope host lo  
  3.     inet 192.168.2.41/24 brd 192.168.2.255 scope global eth0  
  4.     inet 192.168.123.41/24 brd 192.168.123.255 scope global eth1  
  5.  
  6. [oracle@rac2 ~]$ ip a |grep inet |grep -v 'inet6'  
  7.     inet 127.0.0.1/8 scope host lo  
  8.     inet 192.168.2.42/24 brd 192.168.2.255 scope global eth0  
  9.     inet 192.168.123.42/24 brd 192.168.123.255 scope global eth1  
  10.  
  11. [oracle@rac1 ~]$ crs_stat -t -v  
  12. Name           Type           R/RA   F/FT   Target    State     Host          
  13. ----------------------------------------------------------------------  
  14. ora.rac.db     application    0/0    0/1    ONLINE    ONLINE    rac1          
  15. ora....c1.inst application    0/5    0/0    ONLINE    ONLINE    rac1          
  16. ora....c2.inst application    0/5    0/0    ONLINE    ONLINE    rac2          
  17. ora....SM1.asm application    0/5    0/0    ONLINE    ONLINE    rac1          
  18. ora....C1.lsnr application    0/5    0/0    ONLINE    OFFLINE                 
  19. ora.rac1.gsd   application    0/5    0/0    ONLINE    ONLINE    rac1          
  20. ora.rac1.ons   application    0/3    0/0    ONLINE    ONLINE    rac1          
  21. ora.rac1.vip   application    0/0    0/0    ONLINE    OFFLINE                 
  22. ora....SM2.asm application    0/5    0/0    ONLINE    ONLINE    rac2          
  23. ora....C2.lsnr application    0/5    0/0    ONLINE    OFFLINE                 
  24. ora.rac2.gsd   application    0/5    0/0    ONLINE    ONLINE    rac2          
  25. ora.rac2.ons   application    0/3    0/0    ONLINE    ONLINE    rac2          
  26. ora.rac2.vip   application    0/0    0/0    ONLINE    OFFLINE 

3:修改2个节点的listener.ora文件,重启监听器,发现一切正常,难道这样就ok了?

 
  1. [oracle@rac1 ~]$ cd $ORACLE_HOME/network/admin  
  2. [oracle@rac1 admin]$ grep -v '^#' listener.ora   
  3. LISTENER_RAC1 =  
  4.   (DESCRIPTION_LIST =  
  5.     (DESCRIPTION =  
  6.       (ADDRESS = (PROTOCOL = TCP)(HOST = rac1-vip.yang.com)(PORT = 1521)(IP = FIRST))  
  7.       (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.41)(PORT = 1521)(IP = FIRST))  
  8.     )  
  9.   )  
  10.  
  11. SID_LIST_LISTENER_RAC1 =  
  12.   (SID_LIST =  
  13.     (SID_DESC =  
  14.       (ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)  
  15.       (SID_NAME = rac1)  
  16.     )  
  17.     (SID_DESC =  
  18.       (SID_NAME = PLSExtProc)  
  19.       (ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)  
  20.       (PROGRAM = extproc)  
  21.     )  
  22.   )  
  23.  
  24. [oracle@rac1 ~]$ srvctl stop listener -n rac1  
  25. [oracle@rac1 ~]$ srvctl stop listener -n rac2  
  26. [oracle@rac1 ~]$ srvctl start listener -n rac1  
  27. [oracle@rac1 ~]$ srvctl start listener -n rac2  
  28.  
  29. [oracle@rac1 ~]$ crs_stat -t -v  
  30. Name           Type           R/RA   F/FT   Target    State     Host          
  31. ----------------------------------------------------------------------  
  32. ora.rac.db     application    0/0    0/1    ONLINE    ONLINE    rac1          
  33. ora....c1.inst application    0/5    0/0    ONLINE    ONLINE    rac1          
  34. ora....c2.inst application    0/5    0/0    ONLINE    ONLINE    rac2          
  35. ora....SM1.asm application    0/5    0/0    ONLINE    ONLINE    rac1          
  36. ora....C1.lsnr application    0/5    0/0    ONLINE    ONLINE    rac1          
  37. ora.rac1.gsd   application    0/5    0/0    ONLINE    ONLINE    rac1          
  38. ora.rac1.ons   application    0/3    0/0    ONLINE    ONLINE    rac1          
  39. ora.rac1.vip   application    0/0    0/0    ONLINE    ONLINE    rac1          
  40. ora....SM2.asm application    0/5    0/0    ONLINE    ONLINE    rac2          
  41. ora....C2.lsnr application    0/5    0/0    ONLINE    ONLINE    rac2          
  42. ora.rac2.gsd   application    0/5    0/0    ONLINE    ONLINE    rac2          
  43. ora.rac2.ons   application    0/3    0/0    ONLINE    ONLINE    rac2          
  44. ora.rac2.vip   application    0/0    0/0    ONLINE    ONLINE    rac2   

4:查看下VIP,发现依然是旧的,在2个节点上使用oifcfg改(使用root用户),这里估计也可以使用vipca工具改

 
  1. [oracle@rac1 ~]$ ip a |grep inet |grep -v 'inet6'  
  2.     inet 127.0.0.1/8 scope host lo  
  3.     inet 192.168.2.41/24 brd 192.168.2.255 scope global eth0  
  4.     inet 192.168.1.141/24 brd 192.168.1.255 scope global eth0:1  
  5.     inet 192.168.123.41/24 brd 192.168.123.255 scope global eth1  
  6.  
  7. [root@rac1 ~]# cd /u01/app/oracle/product/10.2.0/crs_1/bin/  
  8. [root@rac1 bin]# ./oifcfg iflist  
  9. eth0  192.168.2.0  
  10. eth0  192.168.1.0  
  11. eth1  192.168.123.0  
  12.  
  13. [root@rac1 bin]# ./oifcfg getif  
  14. [root@rac1 bin]# ./oifcfg setif -global eth0/192.168.2.0:public  
  15. [root@rac1 bin]# ./oifcfg setif -global eth1/192.168.123.0:cluster_interconnect  
  16. [root@rac1 bin]# ./oifcfg getif  
  17. eth0  192.168.2.0  global  public  
  18. eth1  192.168.123.0  global  cluster_interconnect  
  19.  
  20. [root@rac2 bin]# ./oifcfg iflist  
  21. eth0  192.168.2.0  
  22. eth0  192.168.1.0  
  23. eth1  192.168.123.0  
  24.  
  25. [root@rac2 bin]# ./oifcfg getif  
  26. eth0  192.168.2.0  global  public  
  27. eth1  192.168.123.0  global  cluster_interconnect  
  28.  
  29. [oracle@rac1 ~]$ srvctl stop database -d rac -o immediate  
  30. [oracle@rac1 ~]$ srvctl stop listener -n rac1  
  31. [oracle@rac1 ~]$ srvctl stop listener -n rac2  
  32.  
  33. [root@rac1 bin]# ./srvctl modify nodeapps -n rac1  -A 192.168.2.141/255.255.255.0/eth0  
  34. [root@rac2 bin]# ./srvctl modify nodeapps -n rac2  -A 192.168.2.142/255.255.255.0/eth0 

5:修改完,发现新的VIP和旧的VIP都绑定在网卡上,于是重启2个节点,重启后只绑定了新的VIP,nodeapps,asm和数据库实例都随着crs的启动而自动online!(这里忘记使用service network restart命令测试,失败!)

 
  1. [oracle@rac1 ~]$ crs_start -all  
  2. [oracle@rac1 ~]$ ip a |grep 'inet' |grep -v 'inet6'  
  3.     inet 127.0.0.1/8 scope host lo  
  4.     inet 192.168.2.41/24 brd 192.168.2.255 scope global eth0  
  5.     inet 192.168.1.141/24 brd 192.168.1.255 scope global eth0:1  
  6.     inet 192.168.2.141/24 brd 192.168.2.255 scope global secondary eth0:2  
  7.     inet 192.168.123.41/24 brd 192.168.123.255 scope global eth1  
  8.  
  9. [root@rac1 ~]# uptime   
  10.  20:24:25 up 6 min,  1 user,  load average: 2.80, 3.15, 1.50  
  11. [root@rac1 ~]# ip a |grep inet |grep -v inet6  
  12.     inet 127.0.0.1/8 scope host lo  
  13.     inet 192.168.2.41/24 brd 192.168.2.255 scope global eth0  
  14.     inet 192.168.2.141/24 brd 192.168.2.255 scope global secondary eth0:1  
  15.     inet 192.168.123.41/24 brd 192.168.123.255 scope global eth1  
  16.  
  17. [root@rac1 ~]# cd /u01/app/oracle/product/10.2.0/crs_1/bin/  
  18. [root@rac1 bin]# ./oifcfg iflist  
  19. eth0  192.168.2.0  
  20. eth1  192.168.123.0  
  21. [root@rac1 bin]# ./oifcfg getif  
  22. eth0  192.168.2.0  global  public  
  23. eth1  192.168.123.0  global  cluster_interconnect  
  24.  
  25. [root@rac1 bin]# su - oracle  
  26. [oracle@rac1 ~]$ crs_stat -t -v  
  27. Name           Type           R/RA   F/FT   Target    State     Host          
  28. ----------------------------------------------------------------------  
  29. ora.rac.db     application    0/0    0/1    ONLINE    ONLINE    rac2          
  30. ora....c1.inst application    0/5    0/0    ONLINE    ONLINE    rac1          
  31. ora....c2.inst application    0/5    0/0    ONLINE    ONLINE    rac2          
  32. ora....SM1.asm application    0/5    0/0    ONLINE    ONLINE    rac1          
  33. ora....C1.lsnr application    0/5    0/0    ONLINE    ONLINE    rac1          
  34. ora.rac1.gsd   application    0/5    0/0    ONLINE    ONLINE    rac1          
  35. ora.rac1.ons   application    0/3    0/0    ONLINE    ONLINE    rac1          
  36. ora.rac1.vip   application    0/0    0/0    ONLINE    ONLINE    rac1          
  37. ora....SM2.asm application    0/5    0/0    ONLINE    ONLINE    rac2          
  38. ora....C2.lsnr application    0/5    0/0    ONLINE    ONLINE    rac2          
  39. ora.rac2.gsd   application    0/5    0/0    ONLINE    ONLINE    rac2          
  40. ora.rac2.ons   application    0/3    0/0    ONLINE    ONLINE    rac2          
  41. ora.rac2.vip   application    0/0    0/0    ONLINE    ONLINE    rac2  

6:测试下,发现正常!

 
  1. [oracle@rhel6 admin]$ tail -17 tnsnames.ora   
  2. RAC =  
  3.   (DESCRIPTION =  
  4.     (ADDRESS_LIST =  
  5.       (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.141)(PORT = 1521))  
  6.       (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.142)(PORT = 1521))  
  7.     )  
  8.     (LOAD_BALANCE=YES)  
  9.     (FAILOVER=YES)  
  10.     (CONNECT_DATA =  
  11.       (SERVICE_NAME = rac.yang.com)  
  12.       (FAILOVER_MODE =  
  13.        (TYPE = SELECT)  
  14.        (METHOD = BASIC)  
  15.        (RETRIES = 180)  
  16.        (DELAY = 5))  
  17.     )  
  18.   )  
  19.  
  20. [oracle@rhel6 admin]$ sqlplus sys/123456@rac as sysdba  
  21. SQL*Plus: Release 10.2.0.1.0 - Production on Mon Mar 26 20:28:02 2012  
  22. Copyright (c) 1982, 2005, Oracle.  All rights reserved.  
  23.  
  24. Connected to:  
  25. Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bit Production  
  26. With the Partitioning, Real Application Clusters, OLAP, Data Mining  
  27. and Real Application Testing options  
  28.  
  29. SQL> select instance_name from v$instance;  
  30.  
  31. INSTANCE_NAME  
  32. ----------------  
  33. rac1 

备注:这里rac未使用网格控制器管理,后期可以研究下,修改完IP后,如何向网格控制器重新注册!数据库版本是10.2.0.5,稍后也将测试下11g的rac,另外修改前还是备份下OCR比较保险点,有闲功夫的话,数据库也备份一次吧!

本文转自斩月博客51CTO博客,原文链接http://blog.51cto.com/ylw6006/818612如需转载请自行联系原作者


ylw6006

相关文章
|
Oracle Java 关系型数据库
RAC 环境中 gc block lost 和私网通信性能问题的诊断
对于每个节点,以及集群汇总统计信息中的global cache数据块丢失的统计信息("gc cr block lost" 和/或 "gc current block lost") 代表了私网通信的包处理效率低或者包的处理存在异常。
259 0
|
存储 Oracle 关系型数据库
|
缓存 负载均衡 Oracle
Oracle rac集群中的IP类型简介
Oracle rac集群中的IP类型简介
690 0
|
网络协议 Oracle 关系型数据库
Oracle rac 修改SCAN IP
Oracle rac 修改SCAN IP
743 0
|
网络协议 Oracle 关系型数据库
Oracle rac不能监听public ip
Oracle rac不能监听public ip
308 0
|
数据库 网络架构 关系型数据库
11g grid rac更改心跳ip地址
grid rac更改心跳ip地址
2093 0
|
负载均衡 Oracle 网络协议