首页 > 代码库 > oracle rac 常见安装、管理错误

oracle rac 常见安装、管理错误

1. 安装CRS失败,或执行root.sh报错,可能原因:

  (1) 节点间的时间不同步,解决方法:使用ntp服务
  (2) Linux下启用了默认的防火墙,导致执行root.sh报错:
  Failure at final check of Oracle CRS stack.
  10
  解决方法:禁用iptables ,注释/etc/pam.d/other ;
  # service iptables stop; # chkconfig iptables off.
  (3) 裸设备的权限问题,可能因为操作系统重新启动后权限发生变化。(RHEL4)
  解决方法: 把 chown oracle:dba /dev/raw/raw* 命令加入到/etc/rc.local中,每次开机自动执行
  或者修改文件/etc/udev/permissions.d/50-udev.permissions
  第113行raw/*:root:disk:0660 改成 raw/*:oracle:dba:0660
  (4) Solaris使用了包括cylinder 0的磁盘分区来存储OCR或者vote disk。
  解决办法:相关分区不应该包括cylinder 0,可以从1开始。
  (5) 使用的公网IP地址不可路由,
  解决方法:添加相关网关
  (6) 在/etc/hosts 中没有loopback地址,即127.0.0.1 localhost
  (7) 主机名含有大些字母、减号或者下划线等特殊字符;
  (8) HPUX中oracle不要使用gnu的bash,修改使用默认shell;
  (9) 检查操作系统、第三方集群是否是oracle官方支持的,是否需要补丁,比如在AIX5.3+HACMP上安装
  Oracle 10g/11g RAC,oslevel就需要06及以上;
  (10) AIX平台,需要将共享设备的reserve_policy (reserve_lock) 属性修改为no_reserve(no);
  (11) 所有节点看到的OCR和vote设备的路径名应该一致,如果不一致,可以用软连接解决;
  (12) 心跳设备问题或者ocr/votedisk 访问问题,unix/linux查看有无/tmp/crsctl.*文件,得到错误信息;
  (13) 在CRS旧的安装的环境中重新安装失败
  解决方法: dd清除ocr和vote disk,并使用下面语句清理旧的crs配置文件
  rm -rf /usr/tmp/.oracle /var/tmp/.oracle /tmp/.oracle /etc/oracle/* /var/opt/oracle/*
  rm -rf /etc/init.cssd /etc/init.crs* /etc/init.evmd /etc/init.d/init.cssd /etc/init.d/init.crs
  rm -rf /etc/init.d/init.crsd /etc/init.d/init.evmd /etc/rc3.d/K96init.crs /etc/rc3.d/S96init.crs
  rm -rf /etc/rc.d/rc2.d/K96init.crs /etc/rc.d/rc2.d/S96init.crs
  2 客户端有时候报错:
  ORA-12545: Connect failed because target host or object does not exist
  ORA-12545: 因目标主机或对象不存在, 连接失败
  解决方法:设置local_listener初始化参数
  3 如果选择节点界面出不来。
  (1)HACMP环境中需要检查oracle 用户必须在 hagsuser组里.
  (2)如果是hacmp5.4,需要打Oracle补丁6718715;
  (3)可以使用集群配置文件cluster CONFIGURATION FILE ,内容模板如下:
  MyCluster
  rac01 rac01-priv rac01-vip
  rac02 rac02-priv rac02-vip
  rac03 rac03-priv rac03-vip
  rac04 rac04-priv rac04-vip
  4. AIX上数据库启动报错
  ora-27504 IPC error creating OSD context
  ora-27300 OS system dependent operation:sendmsg failed with status:59
  ora-27301 OS failure message:Message too long
  ora-27302 failure occurred at:sskgxpsnd1
  原因:没有设置网络参数udp_recvspace/udp_sendspace
  5. Windows平台,ORA-600 [kccsbck_first]
  解决方法:关闭Media Sense(媒体感知)
  6. 系统循环重启:
  可能是CRS导致,如果因为crs,首先设置 crsctl disable crs 来禁止oracle crs的自动启动。
  查看OS、crsd和cssd的对应日志,看/tmp/下是否有crs文件 (ls -lrt /tmp/crsctl*),确定crs失败原因。
  7. 第二个节点的数据实例无法mount,挂起或者报错,
  原因1:使用了vendor clusterware ,libskgxn2.so文件链接错误,
  解决方法:比较两个节点的ORACLE_HOME/lib/libskgxn2和CRS_HOME/lib/libskgxn2*都是否相同,
  如果不同需要重新link
  原因2:任何平台Oracle 9i,没有设置网络参数udp参数
  导致udp_sendspace或者udp_recvspace小于 db_block_size * db_file_multiblock_read_count
  解决方法:设置对应参数,如AIX上设置udp_recvspace = 65536 udp_sendspace = 65536
  原因3:AIX/HACMP/Oracle9i,在hacmp中定义了service IP
  解决方法:在初始化参数中定义cluster_interconnects
  原因4:任何平台,设置了错误的cluster_interconnects
  解决方法:检查并纠正此参数,
  8. 建库时不能识别裸设备;
  原因1:Oracle,10.2.0.3 ,很多平台(比如aix和linux)有rawutl相关bug,
  解决办法:还原10.2.0.1中的rawutl工具,该程序在 $ORACLE_HOME/bin目录中。
  原因2:Oracle9i,AIX平台,需要设置环境变量export PGSD_SUBSYS=grpsvcs
  9. evm资源自动报错oac_init:2: Could not connect to server, clsc retcode = 9
  解决方法:关闭 “UDP ICMP rejections”
  /etc/rc.d/init.d/iptables stop ;chkconfig iptables off