Archive for 二月 9th, 2009

RAC -infiniband

星期一, 二月 9th, 2009
RAC 默认的心跳走的是UDP协议,这个从启动的时候alert.log里就可以看到,使用infiniband交换机的可以走RDS协议,好处就是可以减少50%左右的CPU利用率,但是前提是你完成以下工作
The following are the generic steps for implementation of RDS over infiniband, refer to the next section for platform specific information:
 
1 After installing Infiniband HCAs (Host Channel Adaptors) and switches, install the required Infiniband drivers and RDS support libraries on each clustered server. Verify with platform specific command that the infiniband interface appears in the available interface list. For example on Linux, using "ifconfig -a" check infiniband interface like ib0 or ib1 is listed.
2 Configure the appropriate failover and load balancing mode for multiple ports of a HCA and/or between multiple HCAs.
 
3 Before using RDS for RAC interconnect, it is recommended to use IPoIB for RAC interconnect to check the hardware installation.
4 Once RAC operation is verified over IPoIB, rebuild RAC IPC library for RDS by performing the following as oracle software owner OS user.
5 $ cd $ORACLE_HOME/rdbms/lib
$
make -f ins_rdbms.mk ipc_rds ioracle
 
 
For non-shared ORACLE_HOME, the above commands must be run on each node of the RAC cluster.
If you use multiple Oracle home setup (like ASM running from different Oracle Home or different databases running from different Oracle Homes, then this step needs to be performed for all the homes.
 
 
To revert back RAC to use UDP instead of RDS, then RAC IPC library for UDP by performing the following as oracle software owner OS user.
$
cd $ORACLE_HOME/rdbms/lib
$
make -f ins_rdbms.mk ipc_g ioracle
 
Update /etc/hosts and run oifcfg as required to restore the desired cluster interconnect
 
 
如果没有完成这步
install the required Infiniband drivers and RDS support libraries on each clustered server
你会遇到如下错误
$
make -f ins_rdbms.mk ipc_rds ioracle
        
rm -f /u01/app/oracle/product/10.2.0/db_1/lib/libskgxp10.so
        
cp /u01/app/oracle/product/10.2.0/db_1/lib//libskgxpr.so /u01/app/oracle/product/10.2.0/db_1/lib/libskgxp10.so
cp: cannot access /u01/app/oracle/product/10.2.0/db_1/lib//libskgxpr.so: No such file or directory
***
Error exit code 1

vip-gateway

星期一, 二月 9th, 2009
这次实施的时候在VIP这里也遇到很多问题,其实最终还是网络的问题
就是在启动集群服务后,一开始
VIP状态都是正常的,但是一会就DOWN掉了,或者一会一个VIP就飘到另一个节点上了,如果遇到这些问题可以考虑检查以下几方面
一、默认的网关要有,并且是能通的
二、检查交换机的互联问题,
chunk是否做好
三、检查/
etc/hosts
以下是一些日志
2009-02-05 19:44:07.178: [  CRSAPP][120] CheckResource error for ora.zqdbs1.vip error code = 1
2009-02-05 19:44:07.183: [  CRSRES][120] In stateChanged, ora.zqdbs1.vip target is ONLINE
2009-02-05 19:44:07.183: [  CRSRES][120] ora.zqdbs1.vip on zqdbs1 went OFFLINE unexpectedly
2009-02-05 19:44:07.184: [  CRSRES][120] StopResource: setting CLI values
2009-02-05 19:44:07.195: [  CRSRES][120] Attempting to stop `ora.zqdbs1.vip` on member `zqdbs1`
2009-02-05 19:44:07.906: [  CRSRES][120] Stop of `ora.zqdbs1.vip` on member `zqdbs1` succeeded.
2009-02-05 19:44:07.906: [  CRSRES][120] ora.zqdbs1.vip RESTART_COUNT=0 RESTART_ATTEMPTS=0
2009-02-05 19:44:07.910: [  CRSRES][120] ora.zqdbs1.vip failed on zqdbs1 relocating.
2009-02-05 19:44:07.947: [  CRSRES][120] StopResource: setting CLI values
2009-02-05 19:44:07.955: [  CRSRES][120] Attempting to stop `ora.zqdbs1.LISTENER_ZQDBS1.lsnr` on member `zqdbs1`
2009-02-05 19:45:26.086: [  CRSRES][120] Stop of `ora.zqdbs1.LISTENER_ZQDBS1.lsnr` on member `zqdbs1` succeeded.
2009-02-05 19:45:26.107: [  CRSRES][120] Attempting to start `ora.zqdbs1.vip` on member `zqdbs2`
2009-02-05 19:45:55.140: [  CRSRES][120] Start of `ora.zqdbs1.vip` on member `zqdbs2` failed.
2009-02-05 19:45:55.175: [  CRSRES][120] Attempting to start `ora.zqdbs1.vip` on member `zqdbs2`
2009-02-05 19:46:24.219: [  CRSRES][120] Start of `ora.zqdbs1.vip` on member `zqdbs2` failed.

hp-ux 的unzip的问题

星期一, 二月 9th, 2009
这次在做HP-UX FOR ORACLE的时候,解压安装包的时候遇到问题,HP-UX默认不带UNZIP,需要安装
这次没有安装,一开始想用
JAVAJAR解压是没问题
可是用
runcluvfy.sh的时候老是报The unzip of archive file ./jrepack.zip failed ,后来没办法找了个unzip执行文件,直接CP到/bin下,加了个执行权限,可是还报,最后看了下runcluvfy.sh的脚本,原来默认是调用/usr/local/bin/下的unzip,这里是没有,所以把unzip CP到/usr/local/bin下就OK