`

oifcfg命令详解(原创)

阅读更多

RAC网络层由各个节点的网络组件组成,包括2个物理网卡和3个IP地址,可以用oifcfg命令维护。
Oifcfg命令的格式
用法: oifcfg iflist [-p [-n]]
oifcfg setif {-node <nodename> | -global} {<if_name>/<subnet>:<if_type>}…
oifcfg getif [-node <nodename> | -global] [ -if <if_name>[/<subnet>] [-type <if_type>] ]
oifcfg delif [-node <nodename> | -global] [<if_name>[/<subnet>]]
oifcfg [-help]

-p - 查看private类型的接口

-n - 查看掩码
<nodename> -为通信网络所知的主机名
<if_name> -系统中配置的接口的名称
<subnet> -接口的子网地址
<if_type> -接口类型{ cluster_interconnect | public | storage }
oifctg命令用来定义和修改Oracle集群需要的网卡属性,这些属性包括网卡的网段地址,子网掩码,接口类型等。要想正确的使用这个命令,必须先知 道Oracle是如何定义网络接口的,Oracle的每个网络接口包括名称,网段地址,接口类型3个属 性:interface_name/subnet:interface_type。
这些属性中没有IP地址,但接口类型有两种,public和private,前者说明接口用于外部通信,用于Oracle Net和VIP地址,而后者说明接口用于Interconnect。
接口的配置方式分为两类:
global和node-specific。前者说明集群所有节点的配置信息相同,也就是说所有节点的配置是对称的;而后者意味着这个节点的配置和其他节点配置不同,是非对称的。
Iflist:显示网口列表
Getif:获得网口信息
Setif:配置网口,该命令并不会检查所配置的网卡是否真实存在。
Delif:删除网口

使用范例

查看网口信息
$ oifcfg iflist
ce0  172.25.0.0
ce0  172.25.198.0
ce1 10.0.0.0

查看私有网口信息

$ oifcfg iflist -p
ce0  172.25.0.0  PRIVATE
ce0  172.25.198.0  PRIVATE
ce1  10.0.0.0  PRIVATE

查看私有网口信息并显示掩码
$ oifcfg iflist -p -n
ce0  172.25.0.0  PRIVATE  255.255.0.0
ce0  172.25.198.0  PRIVATE  255.255.255.0
ce1  10.0.0.0  PRIVATE  255.255.255.0

查看当前节点的网口信息
$ oifcfg getif
eth0  192.168.0.0  global  cluster_interconnect
eth1  192.168.2.0  global  public

查看public类型的网卡

$ oifcfg getif -type public
eth1  192.168.2.0  global  public

查看eth0的网卡信息

$ oifcfg getif -if eth0
eth0  192.168.0.0  global  cluster_interconnect

查看node类型的配置信息,没有输出说明没有配置node类型
$ oifcfg getif -node czmmiao1
$ oifcfg getif -node czmmiao2

删除接口配置,需要切换到root用户
# ./oifcfg delif–global
添加接口配置,需要切换到root用户

# ./oifcfg setif -global eth0/192.168.1.119:public
# ./oifcfg setif -global eth1/10.85.10.119:cluster_interconnect

修改RAC ip实例

RAC 修改IP 这个操作本身也只有几步操作, 但是它涉及到OCR。 所以要格外小心。一般来说,如果不是必须要修改的话,尽量不要去修改OCR 的东西。 稳定第一。  在做之前,要手动的OCR 进行一个备份, 这样即使修改失败,也能还原回来。 OCR的备份。另外,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
修改 /etc/hosts 文件。 保持2个节点的一致
# 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

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

raw1
# 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

# 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


raw2
# 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
 
# 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

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

raw1,raw2
# service network restart
启动crs, 设置oracle中ip地址相关的设置.
在两个节点启动crs, 并关闭随crs启动的应用程序
# /etc/init.d/init.crs start
Startup will be queued to init within 90 seconds.
#  /etc/init.d/init.crs start
Startup will be queued to init within 90 seconds.

由于oracle所有应用设置为自动启动, 所以在crs启动时会试图启动所有的服务, 但是在对oracle相关的ip地址进行设置时需要crs处于运行状态. 但是数据库, asm和node application处于停止状态, 在一个节点执行以下命令:
# ./srvctl stop database -d raw
# ./srvctl stop asm -n raw1
# ./srvctl stop asm -n raw2
# ./srvctl stop nodeapps -n raw1
# ./srvctl stop nodeapps -n raw2
# ./crs_stat -t
Name           Type           Target    State     Host
------------------------------------------------------------
ora.raw.db     application    OFFLINE   OFFLINE
ora.raw.dmm.cs application    OFFLINE   OFFLINE
ora....aw2.srv application    OFFLINE   OFFLINE
ora....w1.inst application    OFFLINE   OFFLINE
ora....w2.inst application    OFFLINE   OFFLINE
ora....SM1.asm application    OFFLINE   OFFLINE
ora....W1.lsnr application    OFFLINE   OFFLINE
ora.raw1.gsd   application    OFFLINE   OFFLINE
ora.raw1.ons   application    OFFLINE   OFFLINE
ora.raw1.vip   application    OFFLINE   OFFLINE
ora....SM2.asm application    OFFLINE   OFFLINE
ora....W2.lsnr application    OFFLINE   OFFLINE
ora.raw2.gsd   application    OFFLINE   OFFLINE
ora.raw2.ons   application    OFFLINE   OFFLINE
ora.raw2.vip   application    OFFLINE   OFFLINE

使用oifcfg修改网卡设置, oifconfig可以用来设置和查看网卡使用的方式.如果修改的网段相同,可以不做这一步。该操作只在一个节点上进行即可
-- 查看当前配置:
# ./oifcfg getif -global
eth0  10.85.10.0  global  public
eth1  192.168.1.0  global  cluster_interconnect

删除当前配置
# ./oifcfg delif -global eth0
# ./oifcfg delif -global eth1
# ./oifcfg getif

重新添加
# ./oifcfg setif -global eth0/10.85.10.0:public
# ./oifcfg setif -global eth1/192.168.1.0:cluster_interconnect
# ./oifcfg getif
eth0  10.85.10.0  global  public
eth1  192.168.1.0  global  cluster_interconnect

# ./oifcfg iflist
eth0  192.168.86.0
eth1  192.168.0.0
eth2  192.168.200.0
eth3  192.168.200.0
eth4  192.168.200.0
eth5  192.168.200.0

注意: 这里IP 地址最一个为0.  代表的是一个网段。 修改的时候要切记。 否在在启动OCR 时 会报如下错误:
[  CRSOCR][4054413904] OCR context init failure.  Error: PROC-44: 网络地址和网络接口操作中出错 网络地址和网络接口操作错误 [7]
修改VIP
# ./srvctl modify nodeapps -n raw1 -A 10.85.10.222/255.255.255.0/eth0
# ./srvctl modify nodeapps -n raw2 -A 10.85.10.223/255.255.255.0/eth0

设置listener.ora和tnsnames.ora, 检查这些文件中是否有指定原来ip的地方, 修改为更改后的ip地址。
# 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),验证修改后是否可用。
启动node applications, asm, 数据库
# ./srvctl start nodeapps -n raw1                              
# ./srvctl start nodeapps -n raw2
# ./srvctl start asm -n raw1
# ./srvctl start asm -n raw2
# ./srvctl start instance -d raw -i raw1
# ./srvctl start instance -d raw -i raw2
# ./crs_stat -t
Name           Type           Target    State     Host
------------------------------------------------------------
ora.raw.db     application    ONLINE    ONLINE    raw2
ora.raw.dmm.cs application    ONLINE    ONLINE    raw2
ora....aw2.srv application    ONLINE    ONLINE    raw2
ora....w1.inst application    ONLINE    ONLINE    raw1
ora....w2.inst application    ONLINE    ONLINE    raw2
ora....SM1.asm application    ONLINE    ONLINE    raw1
ora....W1.lsnr application    ONLINE    ONLINE    raw1
ora.raw1.gsd   application    ONLINE    ONLINE    raw1
ora.raw1.ons   application    ONLINE    ONLINE    raw1
ora.raw1.vip   application    ONLINE    ONLINE    raw1
ora....SM2.asm application    ONLINE    ONLINE    raw2
ora....W2.lsnr application    ONLINE    ONLINE    raw2
ora.raw2.gsd   application    ONLINE    ONLINE    raw2
ora.raw2.ons   application    ONLINE    ONLINE    raw2
ora.raw2.vip   application    ONLINE    ONLINE    raw2

确认IP, 修改完成。

raw1
# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:55:28:FD
          inet addr:10.85.10.219  Bcast:10.85.10.255  Mask:255.255.255.0
          ... ...
eth0:1    Link encap:Ethernet  HWaddr 00:0C:29:55:28:FD
          inet addr:10.85.10.222  Bcast:10.85.10.255  Mask:255.255.255.0
         ... ...
eth1      Link encap:Ethernet  HWaddr 00:0C:29:55:28:07
          inet addr:192.168.1.219  Bcast:192.168.1.255  Mask:255.255.255.0
          ... ...
lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0

raw2         
# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:2E:28:EE
          inet addr:10.85.10.221  Bcast:10.85.10.255  Mask:255.255.255.0
  ... ...
eth0:1    Link encap:Ethernet  HWaddr 00:0C:29:2E:28:EE
          inet addr:10.85.10.223  Bcast:10.85.10.255  Mask:255.255.255.0
... ...
eth1      Link encap:Ethernet  HWaddr 00:0C:29:2E:28:F8
          inet addr:192.168.1.221  Bcast:192.168.1.255  Mask:255.255.255.0
... ...
lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
... ...

 

参考至:《大话Oracle RAC》张晓明著
                http://space.itpub.net/4227/viewspace-682126
                http://blog.chinaunix.net/uid-25785357-id-3150976.html
                http://blog.csdn.net/tianlesoftware/article/details/5362925
如有错误,欢迎指正
邮箱:czmcj@163.com

0
1
分享到:
评论

相关推荐

    oracleRAC操作

    #### 三、oifcfg 命令详解 `oifcfg` 命令是用于管理 Oracle Clusterware 中的网络配置。它可以用来列出集群中的网络接口信息,并可以设置或删除这些接口。 **常用子命令:** - **iflist**:列出集群中所有的网络...

    Oracle数据库教程RAC常用维护工具和命令

    网络层命令`oifcfg`用于配置和管理Oracle集群中使用的网络接口。此命令可以帮助用户定义和修改网卡的属性,如网段地址、子网掩码、接口类型等。为了正确地使用这个命令,首先需要了解Oracle如何定义网络接口。每个...

    rac各个ip修改

    - 使用`oifcfg getdif`和`oifcfg getif`命令验证公共IP和私有IP的配置。 - 使用`srvctl config vip`和`srvctl config scan`命令验证VIP和Scan IP的配置。 通过遵循上述步骤,您可以成功地完成Oracle RAC集群中的IP...

    oracle_rac管理基本命令

    oracle_rac管理基本命令 rac oracle clusterware 命令集 按不同层次划分 1.节点层次,olsnodes 2.网络层,oifcfg 3.集群层,crsctl,ocrcheck,ocrdump,ocrconfig 4.应用层,srvctl ,onsctl,crs_stat ……

    OracleRAC常用维护工具和命令

    网络层的主要命令是“oifcfg”,用于定义和修改Oracle集群所需的网络接口属性。这些属性包括网卡的网段地址、子网掩码和接口类型等。接口类型分为public和private,其中public接口用于外部通信,比如Oracle Net和VIP...

    试谈Oracle集群维护.docx

    2. **维护命令详解**: - **olsnodes**:此命令用于获取关于集群节点的信息,如-n选项显示节点编号,-p选项显示私有接口,-I选项显示VIP。 - **oifcfg**:用于配置网络接口,例如,`iflist`列出所有网卡,`getif`...

    Oracle10g RAC ASM 环境日常管理命令

    例如,在给定的部分内容中,`oifcfg setif-global eth0/10.10.10.0:cluster_interconnect`命令将eth0接口配置为集群内部通信的接口,而`oifcfg setif-global eth0/192.168.1.0:public`则将其设置为公共网络接口。...

    在linux5平台安装rac 运行root时的bug

    为解决这个问题,我们需要在$ORA_CRS_HOME/bin/vipca文件中找到`LD_ASSUME_KERNEL`行,将其注释掉或删除,然后添加`unset LD_ASSUME_KERNEL`命令。 编辑后的代码应该类似这样: ```bash if [ "$arch" = "i686" -o ...

    oracle10G集群

    6. **集群验证**:执行crsctl和oifcfg命令进行网络和集群的验证。 7. **故障检测和恢复**:设置监听器、告警日志和监控工具,以及时发现和解决故障。 8. **性能调优**:根据实际工作负载调整参数,如打开的并发会话...

    Oracle 10g RAC on Linux 静默安装过程

    在静默安装Clusterware阶段,首先运行`./runInstaller -silent -responsefile /home/oracle/crs_rac01.rsp`命令,这里的`crs_rac01.rsp`是响应文件,包含了安装所需的参数。文件中的参数如`ORACLE_HOME`指定了...

    使用 VMware Server 在 Oracle Enterprise Linux 上安装 Oracle RAC 10g

    在使用 $CRS_HOME/bin 目录下的 oifcfg 工具配置 pub ip 和 pri ip 时,需要注意正确设置网卡的 IP 地址和子网掩码。 最后,读者需要在任意一个节点上,用 root 用户,手动运行 vipca,配置完正确的 prvip 和 vip ...

    1Z0-048 RAC OCP

    故障诊断通常涉及查看告警日志、crsstat和crsreport命令,以及使用crsctl、oifcfg等工具进行问题定位。 六、高可用性和灾难恢复 RAC提供了高可用性保障,即使单个节点或实例失败,数据库服务也不会中断。通过Data ...

    oracle rac资料

    这通常需要熟悉crsctl、crs_stat、oifcfg等命令行工具,以及使用ADDM(Automatic Diagnostic Advisor)和EM(Enterprise Manager)进行诊断。 9. **Data Guard与RAC结合** Data Guard提供了一种灾难恢复方案,与...

    32位 oracle_product_instantclient_11_2_BIN.rar

    adrci、agtctl、amdu、asmtool、asmtoolg、CreatDep、csscan、dbv、dg4...oifcfg、ojmxtool、omtsreco、OO4OCODEWIZ、operfcfg、orabase、oracle、OracleAdNetConnect、OracleAdNetTest、oradim、oradnfs、orakill、...

    oracle11gr2racwithredhatlinux55.docx

    【Oracle 11g R2 RAC on RHEL5.5 知识点详解】 Oracle 11g Release 2 Real Application Clusters (RAC) 是一种高可用性解决方案,它允许多个实例同时访问同一数据库,从而提供无缝的数据访问和处理。在Red Hat ...

    Oracle linux安装

    使用`sqlplus`工具进行数据库管理,`crontab`安排定期任务,以及`orachk`和`oifcfg`等工具进行健康检查和网络配置。 总结来说,安装Oracle 11g R2 on CentOS 6.3 x86_64涉及多个步骤,包括环境检查、系统配置、安装...

Global site tag (gtag.js) - Google Analytics