ITPub博客

AIX 5.3/6.1环境下安装Oracle 10gR2 RAC常见报错

原创 作者:xunzhaoxz 时间:2011-08-03 23:08:34 0 删除 编辑

AIX 5.3/6.1环境下安装Oracle 10gR2 RAC常见报错

转载请注明原文:http://xunzhaoxz.itpub.net/post/40016/521769

【环境说明】

操作系统版本:AIX 5300-11-00-00006100-06-01-1043

Oracle版本:Oracle 10.2.0.410.2.0.5

HACMP:无

本项目中没有使用HACMPOracle CRSOCRVoting Disk是从存储上直接划过来的5500MB的小盘(3个作为OCR2个作为Voting Disk),datafilearchivelog存放在ASM磁盘组中。

问题1磁盘reserve属性,可理解为保留属性,或者独占属性

说明:这个属性是在AIX平台下,各种品牌的存储都会遇到这个问题,Oracle官方文档中也有提到。

由于RAC环境需要OCRVOTASM磁盘为所有个节点并发访问,即每一个磁盘都要以共享并发方式供所有节点访问,因此当某个节点中设为独占方式的话,在安装CRS运行root.sh脚本时将报如下错误:

-------------------------------------------------------------------------------------------------------------

root@testdb2:/#/oracle/crs/root.sh

WARNING: directory '/oracle' is not owned by root

Checking to see if Oracle CRS stack is already configured

cp: /dev/rhdisk19: The requested resource is busy.

1

root@testdb2:/#

--------------------------------------------------------------------------------------------------------------

这个属性通过lsattr -El hdiskn可以查看如下:

root@testdb2:/#lsattr -El hdisk2|grep reserve_

reserve_policy single_path

Reserve Policy True

root@testdb2:/#

【解决办法】

【案例1HDS存储】

本项目中使用的存储为HDS,磁盘reserve属性关键字为reserve_policy,注意当前值为single_path,需将其设备非独占方式,命令如下:

#chdev -l hdisk2 -a reserve_policy=no_reserve

然后再次执行lsattr -El hdisk2查看结果:

root@testdb1:/ #lsattr -El hdisk2|grep reserve

reserve_policy no_reserve

root@testdb1:/ #

【案例2EMC存储】

[@more@]

如果存储是EMC的话,一般多路径软件也都采用powerpath,则封装后的磁盘为hdiskpowerN,其reserve关键字为reserve_lock,应当设为no,以下为另一个项目中遇到的情况。

#lsattr -El hdiskpower0|grep reserve_

reserve_lock no

Reserve device on open True

#

至于reserve值是设为no还是no_reserve,这个只要man一下lsattr就可以了。

Oracle官方文档原文如下:

To enable simultaneous access to a disk device from multiple nodes, you must set the appropriate Object Data Manager (ODM) attribute listed in the following table to the value shown, depending on the disk type:

Disk TypeAttributeValue

SSA, FAStT, or non-MPIO-capable disks

reserve_lock

no

ESS, EMC, HDS, CLARiiON, or MPIO-capable disks

reserve_policy

no_reserve

To determine whether the attribute has the correct value, enter a command similar to the following on all cluster nodes for each disk device that you want to use:

# /usr/sbin/lsattr -E -l hdisknIf the required attribute is not set to the correct value on any node, then enter a command similar to one of the following on that node:

  • SSA and FAStT devices
  • # /usr/sbin/chdev -l hdiskn -a reserve_lock=no
  • ESS, EMC, HDS, CLARiiON, and MPIO-capable devices
  • # /usr/sbin/chdev -l hdiskn -a reserve_policy=no_reserve

题外话:如果采用的HACMP的话,那可以通过HACMP中的增强型并发卷组(Enhanced Concurrent VG)实现lv级别的存储并发访问。

【问题2Oracle用户属性CAP_PROPAGATE CAP_BYPASS_RAC_VMM CAP_NUMA_ATTACH

Oracle官方文档《Oracle Clusterware and Oracle Real Application Clusters Installation Guide 10g Release 2 (10.2) for AIX B14201-04》中并没有提到这个属性需求,因此比较容易被忽略,不知道新版本的文档中有没有提到,哪位兄弟若是看到的话,还请提示下,先谢了。

【案例】我在AIX 5300-11-00-0000 + Oracle 10.2.0.4AIX 6100-06-01-1043 + Oracle 10.2.0.5环境下都遇到这个问题,出现的报错信息也完全一样:

-----------------------------------------------------------------------------------------------------------

root@testdb1:/ # /oracle/crs/install/root102.sh

Error : Please change the CRS_ORACLE_USER id <oracle> to have the following OS capabilities :

< CAP_PROPAGATE CAP_BYPASS_RAC_VMM CAP_NUMA_ATTACH >

by running </usr/bin/chuser> command then 'crsctl stop crs' and 'crsctl start crs'.

The CSS daemon, ocssd.bin, will not run in realtime without

this change

Oracle strongly recommends that the CSS daemon run realtime

Creating pre-patch directory for saving pre-patch clusterware files

--------------------------------------------------------------------------------------------------------------

【解决办法】

这个问题的解决办法就是赋予oracle用户的这三想属性,命令如下:

#chuser capabilities=CAP_PROPAGATE,CAP_BYPASS_RAC_VMM,CAP_NUMA_ATTACH oracle

【问题3Oracle补丁Patch 6718715

【说明】这个问题在AIX 5.3AIX 6.1平台下安装Oracle 10gR2 RAC的时候都会遇到。

安装CRS或者Database,运行runInstalleroracle都会询问如下:

Has 'rootpre.sh' been run by root? [y/n] (n)

【解决办法】

此时你不要去执行10.2.0.1安装包中的rootpre.sh,而应该执行Patch 6718715补丁包解压后的那个rootpre.sh

关于本问题,Metalink上有Oracle的官方说法如下:

--------------------------------------------------------------------------------------------------------

A replacement ”rootpre.sh” is available for download from Oracle MetaLink, reference Oracle Patch 6718715, ”

Support for HACMP 5.4 in rootpre.sh script”.

Even though Patch 6718715 targets HACMP 5.4 it contains the changes for AIX 6.1 AIO.

Patch 6718715 supersedes Patch 6613550, which was previously recommended.

Make sure to download the 10.2.0.3 version of Patch 6718715

----------------------------------------------------------------------------------------------------------

【问题4确认各节点磁盘号对应的存储LUN ID相同

必须确认各节点认到的hdisk编号完全相同,例如LUN ID1LUN在节点1认到的为hdisk2,在节点2上认到的也应该是hdisk2,否则2个节点上认到的磁盘不一致,虽然两边都往hdisk2上读写数据,但实际上并不是同一个LUN,明显数据会出问题。

2个节点的本地盘数量相同时,AIX平台下一般不会出现这个hdisk号不一致的问题;但是在HP-UX平台下就可能出现,我之前就遇到过,2个节点的本地盘相同,但是认到的存储盘编号不同,这个就比较麻烦了。

【案例1HDS存储】

本次项目中采用HDS存储,则通过查看lsattr -El hdiskN磁盘属性中的lun_id字段值,即可得知该LUNID号:

root@testdb1:/#lsattr -El hdisk2|grep lun_id

lun_id 0x0 Logical Unit Number ID False

root@testdb1:/# lsattr -El hdisk3|grep lun_id

lun_id 0x1000000000000 Logical Unit Number ID False

root@testdb1:/#lsattr -El hdisk4|grep lun_id

lun_id 0x2000000000000 Logical Unit Number ID False

root@testdb1:/#lsattr -El hdisk5|grep lun_id

lun_id 0x3000000000000 Logical Unit Number ID False

root@testdb1:/#

hdisk2为存储上划过来的第一块盘,编号为0x开头的十六进制号0x0hdisk3编号为0x1,依次类推,确认下2个节点上的编号是否一致。

【案例2EMC存储】

EMC存储可通过powermt display dev=all查看所有磁盘的属性,包括每个磁盘有几条路径,每条路径的当前状态。

root@testdb1:/ #powermt display dev=all

Pseudo name=hdiskpower13

CLARiiON ID=FCNCP******* [SG_testdb1]

Logical device ID=600601605C202B0008B7050BC74FE011 [LUN 9]

state=alive; policy=CLAROpt; priority=0; queued-IOs=0

Owner: default=SP B, current=SP B

Array failover mode: 3

=============================================================

---------- Host -------- Stor --- I/O Path --- Stats ---

###HW Path I/O Paths Interf.Mode State Q-IOs Errors

=============================================================

0 fscsi0 hdisk19 SP B1 active alive 0 0

0 fscsi0 hdisk40 SP A1 active alive 0 0

1 fscsi2 hdisk61 SP B0 active alive 0 0

1 fscsi2 hdisk82 SP A0 active alive 0 0

确认每个节点上的hdiskpower编号与LUN编号是否一致。

___________________________________________________________________

延伸阅读(近期整理文档)

主机AIX

【信息采集】IBM AIX系统硬件信息查看命令(shell脚本)(附PDF完整版下载)

操作规范(一)—— AIX rootvg mirror(附PDF下载)

AIX系统安全加固(一)限制密码重试次数,超过限制次数后锁定用户(附截图PDF完整版下载)

AIX平台下创建文件系统需要注意的问题

IBM服务器虚拟化PowerVM——也谈“云计算”

数据库Oracle

新装Oracle11gR2 11.2.0.2重要说明——Patchsetp10098816(附补丁下载地址)

Attention:new installation of Oracle 11.2.0.2

AIX 5.3/6.1环境下安装Oracle10gR2 RAC常见报错(注意事项)

【数据迁移1】Oracle10gR2 rman异机恢复实验(FS->RAW)(附截图PDF完整版下载)

【数据迁移2】Oracle10gR2 rman异机恢复实验(FS-FS)(附截图PDF完整版下载)

操作规范(二)——RHEL5.4安装Oracle 10.2.0.4(附截图PDF完整版下载)

操作规范(三)——Linux5.4安装Oracle 11gR1(附截图PDF完整版下载)

操作规范(四)——Linux5.4安装Oracle 11gR2(附截图PDF完整版下载)

Oracle RAC环境下重建ASM磁盘组(Re-createASM diskgroup)(附截图PDF完整版下载)

Oracle RAC srv服务“首选”与“可用”状态的调整——srvctl modify service 的使用(附截图PDF完整版下载)

Linux+ASM+OCFS环境下增加ORACLE RAC联机重做日志文件(附截图PDF完整版下载)

备份还原Symantec Netbackup:

搭建NBU实验环境——解决虚拟带库vistor License过期问题(附截图PDF完整版下载)

NBU常用命令1——介质管理

-----------------------------------------------------------------------------------------------------------------------

亲,留个脚印,发表下您的宝贵意见,或者点击左边“订阅我的Blog”吧.......

请登录后发表评论 登录
全部评论

注册时间:2010-11-09

  • 博文量
    27
  • 访问量
    695879