Linux真机环境Oracle 10gR2 RAC 安装完成经验心得


经过7个小时的配置,终于完成了Oracle 10gR2 RAC 双机的安装,配置 和数据库创建。感觉非常兴奋,
先来一个 RAC  Database Enterprise Manager 的图片吧。和单机示例的EM有所差别。

Linux真机环境Oracle 10gR2 RAC 安装完成经验心得

这里说说服务器具体配置情况,
System name:        Linux
Node name:        node1
Release:        2.6.9-34.ELsmp
Version:        #1 SMP Fri Feb 24 16:56:28 EST 2006
Machine:        x86_64
使用文件系统 惭愧啊。。。共享存储 NFS  条件所限无法施展RAW+ASM大招,不过我在家里虚拟机上实现了 Oracle 10gR2 RAC 使用RAW做 OCR . Voting
ASM做为数据盘。
内存 2G  SWAP 2G
下面是我在Linux  下为cluster 做系统检查的报告。全部通过哦~

执行 群集服务设置 的预检查

正在检查节点的可访问性...

检查: 节点 "node1" 的节点可访问性
  目标节点                                  是否可访问?                  
  ------------------------------------  ------------------------
  node1                                 是                       
  node2                                 是                       
结果:节点 "node1" 的节点可访问性检查已通过。


正在检查等同用户...

检查: 用户 "oracle" 的等同用户
  节点名                                   注释                     
  ------------------------------------  ------------------------
  node2                                 通过                     
  node1                                 通过                     
结果:用户 "oracle" 的等同用户检查已通过。

正在检查管理权限...

检查: 用户 "oracle" 的存在性
  节点名           用户存在                      注释                     
  ------------  ------------------------  ------------------------
  node2         是                         通过                     
  node1         是                         通过                     
结果:"oracle" 的用户存在性检查已通过。

检查: 组 "oinstall" 的存在性
  节点名           状态                        组 ID                    
  ------------  ------------------------  ------------------------
  node2         存在                        503                     
  node1         存在                        503                     
结果:"oinstall" 的组存在性检查已通过。

检查: 组 "oinstall" 中用户 "oracle" 的成员资格 [作为 主]
  节点名               用户存在          组存在           组中的用户         主             注释         
  ----------------  ------------  ------------  ------------  ------------  ------------
  node2             是             是             是             是             通过         
  node1             是             是             是             是             通过         
结果:组 "oinstall" 中用户 "oracle" 的成员资格检查 [作为 主] 已通过。

管理权限检查已通过。

正在检查节点的连接性...


节点 "node2" 的接口信息
  接口名                             IP 地址                           子网              
  ------------------------------  ------------------------------  ----------------
  eth0                            10.10.102.199                   10.10.102.0     
  eth1                            (公网地址略去,安全需要)  
  eth1                            192.168.100.202                 192.168.100.0   


节点 "node1" 的接口信息
  接口名                             IP 地址                           子网              
  ------------------------------  ------------------------------  ----------------
  eth0                            10.10.102.198                   10.10.102.0     
  eth1                            (公网地址略去安全需要)
  eth1                            192.168.100.201                 192.168.100.0   


检查: 子网 "10.10.102.0" 的节点连接性
  源                               目标                              是否已连接?         
  ------------------------------  ------------------------------  ----------------
  node2:eth0                      node1:eth0                      是               
结果:含有节点 node2,node1 的子网 "10.10.102.0" 的节点连接性检查已通过。

检查: 子网 "(公网地址略去 安全需要)" 的节点连接性
  源                               目标                              是否已连接?         
  ------------------------------  ------------------------------  ----------------
  node2:eth1                      node1:eth1                      是               
结果:含有节点 node2,node1 的子网 "(公网地址略去 安全需要)" 的节点连接性检查已通过。

检查: 子网 "192.168.100.0" 的节点连接性
  源                               目标                              是否已连接?         
  ------------------------------  ------------------------------  ----------------
  node2:eth1                      node1:eth1                      是               
结果:含有节点 node2,node1 的子网 "192.168.100.0" 的节点连接性检查已通过。

子网 "(公网地址略去 安全需要)"  上用于 VIP 的合适接口:
node2 eth1:"(公网地址略去 安全需要)"
node1 eth1:"(公网地址略去 安全需要)"

子网 "10.10.102.0" 上用于专用互联的合适接口:
node2 eth0:10.10.102.199
node1 eth0:10.10.102.198

子网 "192.168.100.0" 上用于专用互联的合适接口:
node2 eth1:192.168.100.202
node1 eth1:192.168.100.201

结果:节点的连接性检查已通过。


正在检查其系统要求 'crs'...

检查: 内存总量
  节点名           可用                        必需                        注释        
  ------------  ------------------------  ------------------------  ----------
  node2         1.96GB (2055192KB)        512MB (524288KB)          通过        
  node1         1.96GB (2055196KB)        512MB (524288KB)          通过        
结果:内存总量 检查已通过。

检查: "/tmp" 目录中的 空闲磁盘空间
  节点名           可用                        必需                        注释        
  ------------  ------------------------  ------------------------  ----------
  node2         55.94GB (58655004KB)      400MB (409600KB)          通过        
  node1         56.45GB (59188724KB)      400MB (409600KB)          通过        
结果:空闲磁盘空间 检查已通过。

检查: 交换空间
  节点名           可用                        必需                        注释        
  ------------  ------------------------  ------------------------  ----------
  node2         1.94GB (2031608KB)        1GB (1048576KB)           通过        
  node1         1.94GB (2031608KB)        1GB (1048576KB)           通过        
结果:交换空间 检查已通过。

检查: 系统体系结构
  节点名           可用                        必需                        注释        
  ------------  ------------------------  ------------------------  ----------
  node2         x86_64                    x86_64                    通过        
  node1         x86_64                    x86_64                    通过        
结果:系统体系结构 检查已通过。

检查: 内核版本
  节点名           可用                        必需                        注释        
  ------------  ------------------------  ------------------------  ----------
  node2         2.6.9-34.ELsmp            2.6.9-11.EL               通过        
  node1         2.6.9-34.ELsmp            2.6.9-11.EL               通过        
结果:内核版本 检查已通过。

检查: "binutils-2.15.92.0.2-13" 的 包存在性
  节点名                             状态                              注释              
  ------------------------------  ------------------------------  ----------------
  node2                           binutils-2.15.92.0.2-18         通过              
  node1                           binutils-2.15.92.0.2-18         通过              
结果:"binutils-2.15.92.0.2-13" 的 包存在性 检查已通过。

检查: "dba" 的 组存在性
  节点名           状态                        注释                     
  ------------  ------------------------  ------------------------
  node2         存在                        通过                     
  node1         存在                        通过                     
结果:"dba" 的 组存在性 检查已通过。

检查: "oinstall" 的 组存在性
  节点名           状态                        注释                     
  ------------  ------------------------  ------------------------
  node2         存在                        通过                     
  node1         存在                        通过                     
结果:"oinstall" 的 组存在性 检查已通过。

检查: "nobody" 的 用户存在性
  节点名           状态                        注释                     
  ------------  ------------------------  ------------------------
  node2         存在                        通过                     
  node1         存在                        通过                     
结果:"nobody" 的 用户存在性 检查已通过。

其系统要求已通过 'crs'

群集服务设置 的预检查成功。

下面说说碰到的问题和处理方法,大家以后安装时候可以少走弯路
1.voting ,ocr问题,这2个东西困扰了我很长时间
本来我一直以为ocr 和voting是一个文件夹或者,因为直接指定RAW设备并没有这个问题
但是当直接建立好这2个文件命名的文件夹提供给cluster 安装工具时候始终报错,反复测试始终通不过
随后我考虑试试让oracle 自己建立文件夹看看,结果通过 ,随后发现蹊跷~
ocr  和 voting 是2个文件,这才明天oracle 需要提供镜像以保证 RAC集群安全,(不用镜像没有问题)
2.万恶的Oracle bug
先看下面
*** SERVICE NAME) 2008-10-25 01:45:25.039
*** SESSION ID156.1) 2008-10-25 01:45:25.039
ORA-00200: ????????
ORA-00202: ????: ''/vol4/oracledata/RACDB/control01.ctl''
ORA-27086: ?????? - ????
Linux-x86_64 Error: 37: No locks available
Additional information: 10

这个是我从 trace 文件中抓出来的一段。
情况是这样的,RAC cluster  ,database 2个软件安装完成以后 通过dbca创建数据库报错。
提示无法创建控制文件,经过分析确定为linux系统问题,但是始终查不到原因,上网搜了半天想到nfs,可能是nfs文件系统错误
再通过google 发现这个是oracle  建立在nfs 文件系统上的一个bug。
解决办法
运行如下命令
service nfslock start

随后数据库可以正常创建,问题解决

3. database 软件安装问题
始终提示无法认出 nfs 的共享存储,
解决办法 将 相关自动挂载信息写入 /etc/fstab文件中并且reboot 服务器。
问题解决

 

最后说下心得体会
其实配这玩意也是领导催了紧。。。。没有办法了。。。
中间碰到问题很多很多,但是感觉属于知识一次综合运用吧,考验的还是linux知识,oracle 基本架构知识。比如nfs lock 问题,花了我2个小时解决,
参考文档 就是论坛上老师发的RAC安装文档和3思笔记吧。还有百用不爽的 google baidu  
具体问题碰到别乱,仔细分析,仔细看alertlog ,和 /var/log/messages  里面基本上有出现错误的信息,抓取关键的上baidu google 吧
基本上如果安装中间不出现错误,时间可以控制在2个小时左右搞定。排错比较费时间不过物有所值哦。还有安装的时候一定一步步来
先cluster ,database 再dbca创建数据库。千万别在装database 的时候一起建库,出了问题哭也来不及。

以前在读linux 时候建过RAC 不过那时候时老师搞的我们看的多。平时也是虚拟机中创建了一次。
今天在真机环境下自己搭建RAC ,感觉确实是爽,建好了感觉哈哈。尤其看到熟悉的EM界面时候我知道我成功了,长舒一口气啊
其实我也知道我只是看到了整个系统的冰山一角,更困难的AIX + Oracle RAC也许还在后面,。

最后用别人的一句话结束这次心得帖子
恭喜你,RAC 已经成功安装了!整体来看比单机安装要复杂,但这还不算什么,只是环境搭建好还不算完,
RAC 的管理和部署才是最要命的,比如各节点启动和关闭,备份策略如何调整,添加修改节点如何处理,所谓
路漫漫其修远矣,大家继续努力吧。

相关内容