天萃荷净
运维DBA反映在aix 5.3 ml6安装10.2.0.1 rac报错0509-036 Cannot load program crsctl.bin because of the following errors。分析原因为系统资源配置不足导致。
1.Oracle RAC安装问题1:
# /oracle/app/oracle/product/10.2.0/crs_1/root.sh
WARNING: directory '/oracle/app/oracle/product/10.2.0' is not owned by root
WARNING: directory '/oracle/app/oracle/product' is not owned by root
WARNING: directory '/oracle/app/oracle' is not owned by root
WARNING: directory '/oracle/app' is not owned by root
WARNING: directory '/oracle' is not owned by root
Checking to see if Oracle CRS stack is already configured
Checking to see if any 9i GSD is up
Setting the permissions on OCR backup directory
Setting up NS directories
Oracle Cluster Registry configuration upgraded successfully
WARNING: directory '/oracle/app/oracle/product/10.2.0' is not owned by root
WARNING: directory '/oracle/app/oracle/product' is not owned by root
WARNING: directory '/oracle/app/oracle' is not owned by root
WARNING: directory '/oracle/app' is not owned by root
WARNING: directory '/oracle' is not owned by root
exec(): 0509-036 Cannot load program crsctl.bin because of the following errors:
0509-130 Symbol resolution failed for crsctl.bin because:
0509-136 Symbol _Getctype__FPCc (number 101) is not exported from
dependent module /usr/lib/libC.a[ansi_64.o].
0509-136 Symbol _Getnumpunct__FPCc (number 105) is not exported from
dependent module /usr/lib/libC.a[ansi_64.o].
0509-192 Examine .loader section symbols with the
'dump -Tv' command.
Failure initializing entries in /etc/oracle/scls_scr/bdpbak1.
解决的问题很简单,其它也是自己没有认真看官方文档的原因,原来没有在这么低的版本安装过,下面是官方文档中的要求
The following operating system filesets are required:
bos.adt.base
bos.adt.lib
bos.adt.libm
bos.perf.libperfstat
bos.perf.perfstat
bos.perf.proctools
rsct.basic.rte
rsct.compat.clients.rte
xlC.aix50.rte 7.0.0.4
xlC.rte 7.0.0.1
To obtain the previous two xlC filesets mentioned here, Oracle
Database10gR2 users who do not install the IBM XL C/C++
Enterprise Edition V7.0 compiler should install the IBM XL
C/C++ Enterprise Edition V7.0 for AIX Runtime Environment
Component. Download all runtime environment file sets, with no
license requirement, in one package from the following Web site:
下面是自己环境的情况
# lslpp -l|grep xlC
xlC.aix50.rte 6.0.0.13 COMMITTED C Set ++ Runtime for AIX 5.0
xlC.cpp 6.0.0.0 COMMITTED C for AIX Preprocessor
xlC.msg.en_US.cpp 6.0.0.0 COMMITTED C for AIX Preprocessor
xlC.msg.en_US.rte 6.0.0.0 COMMITTED C Set ++ Runtime
xlC.rte 6.0.0.0 COMMITTED C Set ++ Runtime
# lslpp -l|grep xlC
xlC.adt.include 10.1.0.0 COMMITTED C Set ++ Application
xlC.aix50.rte 10.1.0.0 COMMITTED XL C/C++ Runtime for AIX 5.3
xlC.cpp 6.0.0.0 COMMITTED C for AIX Preprocessor
xlC.msg.en_US.cpp 6.0.0.0 COMMITTED C for AIX Preprocessor
xlC.msg.en_US.rte 10.1.0.0 COMMITTED XL C/C++ Runtime
xlC.rte 10.1.0.0 COMMITTED XL C/C++ Runtime
可以运行xlC来查看是否成功,再次运行root.sh正常
2.Oracle RAC安装问题2:
升级到10.2.0.4,在2节点运行root.sh的时候hang住
# /oracle/app/oracle/product/10.2.0/crs_1/install/root102.sh
Creating pre-patch directory for saving pre-patch clusterware files
Completed patching clusterware files to /oracle/app/oracle/product/10.2.0/crs_1
Relinking some shared libraries.
Relinking of patched files is complete.
WARNING: directory '/oracle/app/oracle/product/10.2.0' is not owned by root
WARNING: directory '/oracle/app/oracle/product' is not owned by root
WARNING: directory '/oracle/app/oracle' is not owned by root
WARNING: directory '/oracle/app' is not owned by root
WARNING: directory '/oracle' is not owned by root
Preparing to recopy patched init and RC scripts.
Recopying init and RC scripts.
Startup will be queued to init within 30 seconds.
Starting up the CRS daemons.
Adding daemons to inittab
Waiting for the patched CRS daemons to start.
This may take a while on some systems.
.
Timed out waiting for the CRS daemons to start. Look at the
system message file and the CRS log files for diagnostics.
在cssOUT.log有下面的日志
priority string (4)
Warning : Current stack limit is set to UNLIMITED. Resizing..
Info : RLIMIT_STACK set to : 2097152
mlockall: unable to lock pages (-1/1)
The stack ulimits for both oracle and root are set to unlimited.
Changes
* Applying 10.2.0.4 patchset and running root102.sh, or
* Applying 10.2.0.3 CRS Bundle Patch #3 or above, or
* Changing ulimit settings for root or oracle, when running CRS 10.2.0.3 with CRS BP#2 or above, or CRS 10.2.0.4.
Cause
The problem in this case is with the ulimit settings. Setting the stack size to "unlimited" causes ocssd to fail in its call to OS function mlockall. Basically AIX is trying to pin an unlimited amount of memory.
Solution
Set the ulimits for BOTH ROOT AND ORACLE users to the following recommended values:
fsize = -1
core = 2097151
cpu = -1
data = 524288
rss = 524288
stack = 524288
stack_hard = 524288
nofiles = 2000
通过修改oracle的资源限制后,可以正常启动crs。
本文固定链接: http://www.htz.pw/2013/07/30/aix-5-3-ml6%e5%ae%89%e8%a3%8510-2-0-1-rac%e6%8a%a5%e9%94%99.html | 认真就输
--------------------------------------ORACLE-DBA----------------------------------------
最权威、专业的Oracle案例资源汇总之【案例】Oracle RAC FOR AIX搭建执行root.sh时两次报错的解决办法