Linux+Oracle 10g RAC双网卡绑定和解除绑定的实现

数据库 Oracle
Linux系统下的Oracle 10g数据库实现RAC功能双网卡绑定与解除绑定是如何实现的呢?本文我们就介绍了它们的实现方法,希望能够对您有所帮助。

本文我们主要介绍了Linux系统下实现Oracle 10g数据库RAC功能的双网卡绑定与解除绑定的实现方法,接下来就让我们来一起了解一下这一过程吧。

一、软硬件环境概述

在虚拟机VMware GSX Server上安装两套redhet Enterprise-R4-U4系统rac1和rac2,虚拟共享存储, 在此基础上搭建的oracle10g RAC环境。

1、rac1两块网卡eth0:192.168.2.111,eth1:10.10.10.11。

2、rac2两块网卡eth0:192.168.2.112,eth1:10.10.10.12。

/etc/hosts文件:

127.0.0.1

localhost

 

192.168.2.111      

rac1.mycorpdomain.com

rac1

192.168.2.13

rac1-vip.mycorpdomain.com

rac1-vip

10.10.10.11

rac1-priv.mycorpdomain.com

rac1-priv

192.168.2.112

rac2.mycorpdomain.com

rac2

192.168.2.14

rac2-vip.mycorpdomain.com

rac2-vip

10.10.10.12

rac2-priv.mycorpdomain.com

rac2-priv

二、添加网卡eth2

1、在rac1和rac2上分别以host-only的模式添加一块网卡

a、Edit virtual machine

b、Add进入add hardware wizard,下一步

c、选择ethernet adapter 下一步

d、选择host-only,完成

2、启动虚拟机,此时ifconfig –a可以看见多出了一个网卡eth2,只是没有IP地址,在network configuration图形界面的hardware选项页可以看见eth2,status为OK。

三、在rac1和rac2上停数据库和crs

 

  1. #cd  /u01/app/oracle/product/10.2.0/crs_1/bin  
  2.  
  3. 停数据库实例  
  4.  
  5. #./srvctl stop instance –d devdb –i ora.devdb.devd1.inst  
  6.  
  7. #./srvctl stop instance –d devdb –i ora.devdb.devd2.inst  
  8.  
  9. 停数据库  
  10.  
  11. #./srvctl stop database –d devdb  
  12.  
  13. 停ASM实例  
  14.  
  15. #./srvctl stop asm –n rac1  
  16.  
  17. #./srvctl stop asm –n rac2  
  18.  
  19. 停vip,gsd,listener,ons  
  20.  
  21. #./srvctl stop nodeapps –n rac1  
  22.  
  23. #./srvctl stop nodeapps –n rac2 

 

四、更改网卡配置绑定网卡

更改eth0和eth2的配置文件,将eth0和eth2绑定为一块虚拟网卡bond0.

1、首先在/etc/sysconfig/network-scripts/下创建虚拟网卡bond0的配置文件ifcfg-bond0

 

  1. #cd /etc/sysconfig/network-scripts/  
  2.  
  3. #vi ifcfg-bond0  
  4.  
  5. DEVICE=bond0 
  6.  
  7. BOOTPROTO=none 
  8.  
  9. BROADCAST=192.168.2。255  
  10.  
  11. IPADDR=192.168.2.111  
  12.  
  13. NETMASK=255.255.255.0  
  14.  
  15. NETWORK=192.168.2.0  
  16.  
  17. ONBOOT=yes 
  18.  
  19. TYPE=Ethernet 
  20.  
  21. USERCTL=no 
  22.  
  23. PEERDNS=yes 
  24.  
  25. GATEWAY=192.168.168.250  
  26.  
  27. IPV6INIt=no 

 

2、更改eth0的配置文件ifcfg-eth0,更改后的内容如下

 

  1. Vi ifcfg-eth0  
  2.  
  3. DEVICE=eth0 
  4.  
  5. BOOTPROTO=none 
  6.  
  7. ONBOOT=yes 
  8.  
  9. TYPE=Ethernet 
  10.  
  11. USERCTL=no 
  12.  
  13. MASTER=bond0 
  14.  
  15. SLAVE=yes 

 

3、添加eth2的配置文件ifcfg-eth2

 

  1. Vi ifcfg-eth2  
  2.  
  3. DEVICE=eth2 
  4.  
  5. BOOTPROTO=none 
  6.  
  7. ONBOOT=yes 
  8.  
  9. TYPE=Ethernet 
  10.  
  11. USERCTL=no 
  12.  
  13. MASTER=bond0 
  14.  
  15. SLAVE=yes 

 

4、因为linux的虚拟网卡是在内核模块中实现的,所以需要安装的时候已经装好该module。在/etc/modules.conf文件中添加如下内容(如果没有该文件,则新建一个):

 

  1. alias bond0 bonding  
  2.  
  3. options bond0 miimon=100 mode=0 primary=eth0 

 

其中miimon=100表示每100ms检查一次链路连接状态,如果不通则会切换物理网卡,mode=1表示主备模式,也就是只有一块网卡是active的,只提供失效保护。如果mode=0则是负载均衡模式的,所有的网卡都是active,还有其他一些模式很少用到,primary=eth0表示主备模式下eth0为默认的active网卡。

5、在/etc/rc.local中加入modprobe bonding miimon=100 mode=0

6、在rac2上也进行同样的修改

7、重启后生效,ifconfig -a查看可以发现多了bond0这个网卡,配置了原来eth0的ip配置,在network configuration的图形界面可以发现也多了bond0

五、启动crs的gsd和ons

在rac1和rac2上停数据库和crs,只启动crs的gsd和ons

 

  1. #cd  /u01/app/oracle/product/10.2.0/crs_1/bin  
  2.  
  3. 停数据库实例  
  4.  
  5. #./srvctl stop instance –d devdb –i ora.devdb.devd1.inst  
  6.  
  7. #./srvctl stop instance –d devdb –i ora.devdb.devd2.inst  
  8.  
  9. 停数据库  
  10.  
  11. #./srvctl stop database –d devdb  
  12.  
  13. 停ASM实例  
  14.  
  15. #./srvctl stop asm –n rac1  
  16.  
  17. #./srvctl stop asm –n rac2  
  18.  
  19. 停vip,gsd,listener,ons  
  20.  
  21. #./srvctl stop nodeapps –n rac1  
  22.  
  23. #./srvctl stop nodeapps –n rac2  
  24.  
  25. #./crs_start ora.rac1.gsd  
  26.  
  27. #./crs_start ora.rac1.ons  
  28.  
  29. #./crs_start ora.rac2.gsd  
  30.  
  31. #./crs_start ora.rac2.ons 

 

六、在rac1以root用户更改VIP到bond0网卡

  1. #cd  /u01/app/oracle/product/10.2.0/crs_1/bin  
  2.  
  3. #./srvctl modify nodeapps –n rac1 –A 192.168.2.13/255.255.255.0/bond0  
  4.  
  5. #./srvctl modify nodeapps –n rac1 –A  rac1-vip/255.255.255.0/bond0 

 

七、在rac2以root用户更改VIP到bond0网卡

  1. #cd  /u01/app/oracle/product/10.2.0/crs_1/bin  
  2.  
  3. #./srvctl modify nodeapps –n rac2 –A 192.168.2.14/255.255.255.0/bond0  
  4.  
  5. #./srvctl modify nodeapps –n rac2 –A  rac2-vip/255.255.255.0/bond0 

 

八、确认更改后的vip配置

 

  1. #./srvctl config nodeapps –n rac1 –a  
  2.  
  3. VIP exists.:/rac1-vip.mycorpdomain.com/192.168.2.13/255.255.255.0/bond0  
  4.  
  5. #./srvctl config nodeapps –n rac2 –a  
  6.  
  7. VIP exists.:/rac2-vip.mycorpdomain.com/192.168.2.14/255.255.255.0/bond0 

 

九、更改完成,启动数据库相关进程

 

  1. #./srvctl start nodeapps –n rac1  
  2.  
  3. #./srvctl start nodeapps –n rac2  
  4.  
  5. #./crs_start ora.rac1.ASM1.asm  
  6.  
  7. #./crs_start ora.rac2.ASM2.asm  
  8.  
  9. #./crs_start ora.devdb.db 

 

十、查看crs状态

#crs­_stat –t

从上面可以看出所有的进程状态都正常,绑定成功。

#p#

解除双网卡绑定

十一、停数据库和crs

在rac1和rac2上停数据库和crs

 

  1. #cd  /u01/app/oracle/product/10.2.0/crs_1/bin  
  2.  
  3. 停数据库实例  
  4.  
  5. #./srvctl stop instance –d devdb –i ora.devdb.devd1.inst  
  6.  
  7. #./srvctl stop instance –d devdb –i ora.devdb.devd2.inst  
  8.  
  9. 停数据库  
  10.  
  11. #./srvctl stop database –d devdb  
  12.  
  13. 停ASM实例  
  14.  
  15. #./srvctl stop asm –n rac1  
  16.  
  17. #./srvctl stop asm –n rac2  
  18.  
  19. 停vip,gsd,listener,ons  
  20.  
  21. #./srvctl stop nodeapps –n rac1  
  22.  
  23. #./srvctl stop nodeapps –n rac2 

 

十二、更改网卡配置

1、首先在/etc/sysconfig/network-scripts/还原eth0的配置文件ifcfg-eth0

 

  1. #vi /etc/sysconfig/network-scripts/ ifcfg-eth0  
  2.  
  3. DEVICE=eth0 
  4.  
  5. BOOTPROTO=none 
  6.  
  7. BROADCAST=192.168.2。255  
  8.  
  9. IPADDR=192.168.2.111  
  10.  
  11. NETMASK=255.255.255.0  
  12.  
  13. NETWORK=192.168.2.0  
  14.  
  15. ONBOOT=yes 
  16.  
  17. TYPE=Ethernet 
  18.  
  19. USERCTL=no 
  20.  
  21. PEERDNS=yes 
  22.  
  23. GATEWAY=192.168.168.250  
  24.  
  25. IPV6INIt=no 

 

2、删除bond0的配置文件

#rm ifcfg-bond0

3、删除或者注销eth2的配置文件ifcfg-eth2

 

  1. # vi ifcfg-eth2  
  2.  
  3. #DEVICE=eth2 
  4.  
  5. #BOOTPROTO=none 
  6.  
  7. #ONBOOT=yes 
  8.  
  9. #TYPE=Ethernet 
  10.  
  11. #USERCTL=no 
  12.  
  13. #MASTER=bond0 
  14.  
  15. #SLAVE=yes 

 

4、在/etc/modules.conf文件中注销如下内容:

 

  1. #vi /etc/modules.conf  
  2.  
  3. #alias bond0 bonding  
  4.  
  5. #options bond0 miimon=100 mode=0 primary=eth0 

 

5、在/etc/rc.local文件中注销如下内容

 

  1. #vi /etc/rc.local  
  2.  
  3. # modprobe bonding miimon=100 mode=0 

 

6、在rac2上做同样的修改,然后reboot两个节点。

十三、在rac1和rac2上停数据库和crs,只启动crs的gsd和ons

 

  1. #cd  /u01/app/oracle/product/10.2.0/crs_1/bin  
  2.  
  3. 停数据库实例  
  4.  
  5. #./srvctl stop instance –d devdb –i ora.devdb.devd1.inst  
  6.  
  7. #./srvctl stop instance –d devdb –i ora.devdb.devd2.inst  
  8.  
  9. 停数据库  
  10.  
  11. #./srvctl stop database –d devdb  
  12.  
  13. 停ASM实例  
  14.  
  15. #./srvctl stop asm –n rac1  
  16.  
  17. #./srvctl stop asm –n rac2  
  18.  
  19. 停vip,gsd,listener,ons  
  20.  
  21. #./srvctl stop nodeapps –n rac1  
  22.  
  23. #./srvctl stop nodeapps –n rac2  
  24.  
  25. #./crs_start ora.rac1.gsd  
  26.  
  27. #./crs_start ora.rac1.ons  
  28.  
  29. #./crs_start ora.rac2.gsd  
  30.  
  31. #./crs_start ora.rac2.ons 

 

十四、以root用户更改rac1和rac2的vip到eth0

 

  1. #cd  /u01/app/oracle/product/10.2.0/crs_1/bin  
  2.  
  3. #./srvctl modify nodeapps –n rac1 –A 192.168.2.13/255.255.255.0/eth0  
  4.  
  5. #./srvctl modify nodeapps –n rac1 –A  rac1-vip/255.255.255.0/eth0  
  6.  
  7. #./srvctl modify nodeapps –n rac2 –A 192.168.2.14/255.255.255.0/eth0  
  8.  
  9. #./srvctl modify nodeapps –n rac2 –A  rac1-vip/255.255.255.0/eth0 

 

十五、确认更改后的vip配置

 

  1. #./srvctl config nodeapps –n rac1 –a  
  2.  
  3. VIP exists.:/rac1-vip.mycorpdomain.com/192.168.2.13/255.255.255.0/eth0  
  4.  
  5. #./srvctl config nodeapps –n rac2 –a  
  6.  
  7. VIP exists.:/rac2-vip.mycorpdomain.com/192.168.2.14/255.255.255.0/eth0 

 

十六、更改完成,启动数据库相关进程

 

  1. #./srvctl start nodeapps –n rac1  
  2.  
  3. #./srvctl start nodeapps –n rac2  
  4.  
  5. #./crs_start ora.rac1.ASM1.asm  
  6.  
  7. #./crs_start ora.rac2.ASM2.asm  
  8.  
  9. #./crs_start ora.devdb.db 

 

十七、  查看crs状态

#crs­_stat –t

从上面可以看出所有的进程状态都正常,解除绑定成功。

关于Linux系统下Oracle 10g数据库实现RAC功能双网卡绑定与解除绑定的实现方法就介绍到这里了,希望本次的介绍能够对您有所收获!

【编辑推荐】

  1. 数据库集群中间件CJDBC详细介绍
  2. 在SQL Server数据库中插入图像的实现方法
  3. SQL Server 2005无法连接到本地服务器的解决
  4. SQL Server 2000在Windows7 旗舰版中的安装配置
  5. 用SQL Server 2005存储过程实现IP地址归属地查询

 

责任编辑:赵鹏 来源: CSDN博客
相关推荐

2010-04-26 11:01:26

Oracle 10g

2009-02-19 15:50:00

Linux双网卡绑定负载均衡

2009-11-23 11:55:43

Linux双网卡IP原理

2009-04-27 13:26:41

Oracle 10gRAC链接错误

2009-11-30 17:40:13

Suse双网卡绑定

2010-01-06 09:23:51

RedhatAS双网卡绑定

2010-04-19 17:37:51

Oracle 10g

2010-03-08 14:09:50

Linux双网卡

2010-03-08 14:20:17

Linux双网卡

2011-05-13 11:21:51

linuxoracle 10g安装

2011-04-22 14:22:01

RedHat网卡

2010-04-14 16:09:51

Oracle 10g归

2010-03-30 19:31:25

Oracle 10g

2011-07-19 13:28:31

Oracle 10g

2010-04-06 16:36:55

Oracle绑定变量

2010-02-03 16:16:49

Linux Oracl

2010-05-05 15:58:34

Oracle 10g

2009-01-20 23:13:24

Oracle 10G数据库

2010-04-15 13:14:18

linux下Oracl

2010-04-09 17:25:05

Oracle 10G
点赞
收藏

51CTO技术栈公众号