欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Oracle bug之vipca无法执行问题的解决

程序员文章站 2022-06-04 20:24:53
...

这里我们显式取消设置 LD_ASSUME_KERNEL 而不是仅仅通过将其标为注释语句来取消其设置,这是为了处理这样的情况:用户在其环境(

执行srvctl时报错

[Oracle@rac01 bin]$ srvctl

/u01/app/oracle/product/10.2.0/db_1/jdk/jre/bin/java: error while loading shared libraries: libpthread.so.0: cannot open shared object file: No such file or directory
srvctl无法启动

要解决上面的问题 1,编辑 rac01,rac02下的 $ORACLE_BASE/crs/bin目录下的vipca,以撤消对 LD_ASSUME_KERNEL 的设置。

set nu 在第 120 行左右的 IF 语句之后,添加一条 unset 命令,从而确保 LD_ASSUME_KERNEL 未经过设置,

if [ "$arch" = "i686" -o "$arch" = "ia64" ]
then
LD_ASSUME_KERNEL=2.4.19
export LD_ASSUME_KERNEL
unset LD_ASSUME_KERNEL
fi

对于 srvctl(在所有节点的 CRS bin 目录,以及ORACLE_HOME/bin 和 ASM bin 目录下),通过在第 168 行左右添加一行来取消设置 LD_ASSUME_KERNEL,应如下所示:

LD_ASSUME_KERNEL=2.4.19
export LD_ASSUME_KERNEL
unset LD_ASSUME_KERNEL

注:对所有节点重新编辑这些文件:

/bin/vipca
/bin/srvctl
/bin/srvctl
/bin/srvctl # ()
应用 10.2.0.2 或 10.2.0.3 补丁集后,这些补丁集仍将包括这些对 OEL5、RHEL5 或 SLES10 来说多余的设置。此问题是由开发引起的,在 10.2.0.4 补丁集中得以修复。


另请注意,这里我们显式取消设置 LD_ASSUME_KERNEL 而不是仅仅通过将其标为注释语句来取消其设置,,这是为了处理这样的情况:用户在其环境(登录 shell)中设置了该变量。