在项目组用了一个星期的时间配置好了RAC。因为之前没有经验,所以中间走了很多的弯路。也是从GOOGLE上使劲使劲在使劲才磕磕绊绊的弄好了。想想不容易。现在得记录下遇到的问题和解决办法
环境:两台Linux AS4.4服务器,一个2T磁盘阵列
采用OCFS2集群文件系统配置,相对比较简单的一种
第一,,要不系统自带的开发软件包都装全,然后再安装 compat-gcc-7.3-2.96.122.i386.rpm compat-libstdc++-7.3-2.96.122.i386.rpm compat-libstdc++-devel-7.3-2.96.122.i386.rpm compat-gcc-c++-7.3-2.96.122.i386.rpm 安装要按顺序,其中有一个冲突的。要把冲突的那个卸载再装
第二,配置内核参数等等。按标准文档配置即可。注意在配置/etc/profile时候 if [ $USER = “Oracle” ]; then if [ $SHELL = “/bin/ksh” ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi 一定要把空格给空好,不然会报错。
第三,配置IP,每个机器都需要一个真实IP 虚拟IP 私有IP,在/etc/hosts文件中 xx.xx.0.1 rac01 xx.xx.0.2 rac02 xx.xx.0.3 vip01 xx.xx.0.4 vip02 192.168.0.1 priv01 192.168.0.2 priv02 名字最好简单点,我之前弄了些比较复杂的,走了一些弯路。
第四,配置密钥SSH,按文档配置。配置完成后检查一下known_hosts是不是包含两个节点的信息。有时候网卡的优先级问题会造成错误:节点不能集群化
第五,安装ocfs2 ocfs2-tools-1.2.7-1.el4.i386.rpm ocfs2-2.6.9-42.ELsmp-1.2.9-1.el4.i686.rpm ocfs2console-1.2.7-1.el4.i386.rpm 这个要和系统内核版本对应。同过uname -a 可查内核版本。可到oracle网站下载
第六,配置磁盘阵列。fdisk -l都能访问到,然后分区。我分了两个 一个4G 用来存ORACLE_HOME 剩下的一个 用来存放 ORACLE_DATA
第七,启动ocfs2console 格式化,建cluster,propagate configuration. 这里,如果点cluster的时候弹出对话框,让设置什么enable那就按照弹出信息设置一下,设置完之后,别忘去了/etc/ocfs2/把cluster.conf删掉。不然还会报另一个错误。
第八,建立文件,挂接分区。注意,如果挂不上就用/etc/init.d/o2cb status 检查一下。有没加载的或者没在线的 就加载一下 或者 更改成在线单机检查是否挂接上 df -h 检查ocfs2文件系统 mounted.ocfs2 -f
第九,安装oralce clusterware。这个从网上下载之后,如果不是服务器下的,就别解压缩,直接把压缩包传到服务器,在服务器上解开。不然会出现安装过程中停在百分之几不动了,10有89是安装介质问题(后面安装oracle也同样)。 在指定OCR位置的时候,如果提示分区不是共享的。那么就是磁盘阵列没有挂接好。重新搞到快安装结束的时候 会提醒你去在两个节点上执行两个SH。可能在执行第2个root.sh的时候会有错误。比如 -bash: ulimit: open files: cannot modify limit: Operation not permitted 这个错误不用理会(反正我没理会),还有一个就是说eth1或者eth0之类的不是什么公共接口什么的,那就得自己手动去设置虚拟IP。设置方法是:到/bin中运行vipca按照提示进行即可。
第十,就是安装oracle 和 创建实例了。这里基本上没出什么问题 最后安装成功之后,比如你在创建实例的时候SID是orcl 那么两个节点上的SID名分别为orcl1 和 orcl2 这个可以通过配置文件看到。