oracle 10g rac 私網沒設定資料庫日誌告警解決方法

paulyibinyi發表於2010-09-13

     今天幫個網友看資料庫效能問題,在檢查資料庫日誌中,發現在啟動時報以下錯誤資訊 提示私網沒設定:

  WARNING: No cluster interconnect has been specified. Depending on
           the communication driver configured Oracle cluster traffic
           may be directed to the public interface of this machine.
           Oracle recommends that RAC clustered databases be configured
           with a private interconnect for enhanced security and
           performance.

然後朋友透過oifcfg getif命令檢查,沒有私網返回值,以下為metalink 設定私網解決步驟,供參考:

To specify the interconnect information in the OCR:

1) Identify the correct hostname for the private interface.  This was given during the install; it is usually something like "hostname-priv".  If you are not sure, look in $CRS_HOME/install/params.crs .

2) Go to /etc/hosts and identify the IP address associated with the hostnames for the private
interfaces.
For example:

$ cat /etc/hosts
...
192.168.0.1 hostname1-priv
192.168.0.2 hostname2-priv
...



3) Run "ifconfig -a" and find the name of the interface (NIC) that has that ip address on it, and
the netmask.

For example:

$ ifconfig -a
...
cip0: flags=10080c1 mtu 1500 index 3
inet 192.168.0.2 netmask ffffff00
...


In the example, interface name is cip0 and netmask is ffffff00.

* It should be the same interface name on both nodes.
* Your netmask will most likely be ffffff00, a.k.a. 255.255.255.0, in which case your subnet will be the first 3 sets of digits.  eg. 192.168.0.0  in the example case.

If your netmask is NOT ffffff00, then your subnet may be something else than the first 3 sets of digits.  You can calculate this using an IP calculator, or, more easily, you can find out what your subnet is by using oifcfg.  "oifcfg iflist" calculates the subnet for you.

In the following example, interface fjqe0 has a netmask of 255.255.255.224, aka ffffffe0 :

$ ifconfig -a
...
fjqe0: flags=1000843 mtu 1500 index 2
inet 10.141.154.41 netmask ffffffe0 broadcast 10.141.155.255
...



The netmask, 255.255.255.224, is more restrictive than 255.255.255.0.  We can use oifcfg to find out what the subnet is:

$ oifcfg iflist -p -n
fjqe0 10.141.154.32 PRIVATE 255.255.255.224
...



oifcfg iflist shows "10.141.154.32". This is the subnet for fjqe0.

4) Once you have determined the interface and the subnet, run oifcfg setif, as the Unix user who owns the CRS software.  The syntax is:

$ORA_CRS_HOME/bin/oifcfg setif -global /:cluster_interconnect

For example, to use interface cip0 from the first example above, which has a subnet of 192.168.0.0 :

$ORA_CRS_HOME/bin/oifcfg setif -global cip0/192.168.0.0:cluster_interconnect



To use interface fjqe0 from the second example above, which has a subnet of 10.141.154.32:

$ORA_CRS_HOME/bin/oifcfg setif -global fjqe0/10.141.154.32:cluster_interconnect


Note that you do not use the ip address of the interface (this varies from node to node), but the name and the subnet of the interface (this should be the same for all nodes).

5) The new setting will take effect on each instance the next time you restart that instance. 
All instances should use the same interface for cluster communications, so it is best to restart all the instances once you have made this change.

If you are using ASM, you should restart the ASM instances at the same time, since ASM instances also use the cluster interconnect for RAC communications.

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7199859/viewspace-673795/,如需轉載,請註明出處,否則將追究法律責任。

相關文章