我们的文章会在微信公众号IT民工的龙马人生和博客网站( www.htz.pw )同步更新 ,欢迎关注收藏,也欢迎大家转载,但是请在文章开始地方标注文章出处,谢谢!
由于博客中有大量代码,通过页面浏览效果更佳。
Oracle案例处理:aix 5.3 ml6安装10.2.0.1 rac报错
最近一直在给客户升级数据库,天天是加班,都已经有1个多月没有更新了。
问题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 upSetting 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 fromdependent module /usr/lib/libC.a[ansi_64.o].0509-136 Symbol _Getnumpunct__FPCc (number 105) is not exported fromdependent 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.1To 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 xlCxlC.aix50.rte 6.0.0.13 COMMITTED C Set ++ Runtime for AIX 5.0 xlC.cpp 6.0.0.0 COMMITTED C for AIX PreprocessorxlC.msg.en_US.cpp 6.0.0.0 COMMITTED C for AIX PreprocessorxlC.msg.en_US.rte 6.0.0.0 COMMITTED C Set ++ RuntimexlC.rte 6.0.0.0 COMMITTED C Set ++ Runtime# lslpp -l|grep xlCxlC.adt.include 10.1.0.0 COMMITTED C Set ++ ApplicationxlC.aix50.rte 10.1.0.0 COMMITTED XL C/C++ Runtime for AIX 5.3xlC.cpp 6.0.0.0 COMMITTED C for AIX PreprocessorxlC.msg.en_US.cpp 6.0.0.0 COMMITTED C for AIX PreprocessorxlC.msg.en_US.rte 10.1.0.0 COMMITTED XL C/C++ RuntimexlC.rte 10.1.0.0 COMMITTED XL C/C++ Runtime
可以运行xlC来查看是否成功,再次运行root.sh正常
问题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)
CSDN地址: (https://blog.csdn.net/wwwhtzpw)
博客园地址: (https://www.cnblogs.com/www-htz-pw)