ORACLE RAC--cannot open shared object file

简介:

ORACLE RAC--libpthread.so.0: cannot open shared object file解决方法

安装配置完RAC后,使用ORACLE用户执行如下命令:

[oracle@rac1 ~]$ srvctl

/u01/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

解决方法:

这个错误一般是在linux 5上装10G RAC时会碰到的,当安装界面提示你用root脚本执行相应脚本时碰到,如:

Oracle CRS stack installed and running under init(1M)

Running vipca(silent) for configuring nodeapps

/u01/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

其实这是无法完成vipca工作导致的,可以通过以下方法解决:

方法1.不去理会,选择继续,然后安装10.2.0.4及以上版本的patchsets,然后在来手工执行vipca完成vip配置工作,因为这个错误在10.2.0.4版本中已经得到修复

方法2.手工配置

[root@rac1 ~]# # ./oifcfg setif -global eth0/172.21.1.0:public

[root@rac1 ~]# # ./oifcfg setif -global eth1/10.10.10.0:cluster_interconnect

[root@rac1 ~]# # ./oifcfg getif

eth0 172.21.1.0 global public

eth1 10.10.10.0 global cluster_interconnect

[root@rac1 ~]# # ./oifcfg iflist

eth0 172.21.1.0

eth1 10.10.10.0

然后修改vipca和srvctl ,搜索LD_ASSUME_KERNEL

在下方添加如下

unset LD_ASSUME_KERNEL

再执行./vipca

然后选择图形界面里的重新验证,这样就可以通过了

注意事项:

配置用户环境变量时,需要把CRS的环境变量写在ORACLE_HOME前面,否则,不会生效,配置如下:

[oracle@rac1 ~]$ cat .bash_profile

# .bash_profile

# Get the aliases and functions

if [ -f ~/.bashrc ]; then

. ~/.bashrc

fi

alias sqlplus='/usr/local/rlwrap/bin/rlwrap sqlplus'

alias rman='/usr/local/rlwrap/bin/rlwrap rman'

unset USERNAME

export ORACLE_BASE=/u01/oracle

export ORACLE_TERM=xterm

export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

export CRS_HOME=$ORACLE_BASE/product/crs

export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1

export ORACLE_ADMIN=$ORACLE_HOME/network/admin

export ORA_NL$33=$ORACLE_HOME/ocommon/nls/admin/data

export PATH=/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin:$PATH

export ORACLE_SID=RAC1

export PATH=$CRS_HOME/bin:$ORACLE_HOME/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin:$PATH

export LANG=en_US

export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

export NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS'

[oracle@rac1 ~]$ source .bash_profile

[oracle@rac1 ~]$ srvctl

Usage: srvctl <command> <object> [<options>]

command: enable|disable|start|stop|relocate|status|add|remove|modify|getenv|setenv|unsetenv|config

objects: database|instance|service|nodeapps|asm|listener

For detailed help on each command and object and its options use:

srvctl <command> <object> -h

此时,srvctl可以正常使用了。


     本文转自vcdog 51CTO博客,原文链接:http://blog.51cto.com/255361/837513,如需转载请自行联系原作者



相关文章
|
应用服务中间件 Shell 网络安全
nginx安装提示 libssl.so.3: cannot open shared object file: No
【8月更文挑战第1天】### 原因 未将安装的ssl中的`libssl.so.3`链接到`/usr/lib`导致缺失。 ### 解决方案 1. 检查openssl是否已安装,若为低版本则需重装。 ```sh whereis openssl
5381 6
|
关系型数据库 MySQL
mysql: error while loading shared libraries: libncurses.so.5: cannot open shared object file
mysql: error while loading shared libraries: libncurses.so.5: cannot open shared object file
1403 2
|
Ubuntu
Ubuntu22.04,AOSP编译报错: libncurses.so.5: cannot open shared object file: No such file
本文描述了在Ubuntu 22.04系统上编译AOSP时遇到的`libncurses.so.5`缺失错误,并提供了通过安装相应库解决该问题的步骤。
2123 0
|
6月前
|
安全 IDE Java
重学Java基础篇—Java Object类常用方法深度解析
Java中,Object类作为所有类的超类,提供了多个核心方法以支持对象的基本行为。其中,`toString()`用于对象的字符串表示,重写时应包含关键信息;`equals()`与`hashCode()`需成对重写,确保对象等价判断的一致性;`getClass()`用于运行时类型识别;`clone()`实现对象复制,需区分浅拷贝与深拷贝;`wait()/notify()`支持线程协作。此外,`finalize()`已过时,建议使用更安全的资源管理方式。合理运用这些方法,并遵循最佳实践,可提升代码质量与健壮性。
177 1
|
6月前
|
Java
课时78:Object类的基本概念
Object类的主要特点是可以解决参数的统一问题,使用object类可以接受所有的数据类型。 1. Object类简介 2. 观察Object类接收所有子类对象 3. 使用Object类接收数组
132 0
|
9月前
|
JSON Java Apache
Java基础-常用API-Object类
继承是面向对象编程的重要特性,允许从已有类派生新类。Java采用单继承机制,默认所有类继承自Object类。Object类提供了多个常用方法,如`clone()`用于复制对象,`equals()`判断对象是否相等,`hashCode()`计算哈希码,`toString()`返回对象的字符串表示,`wait()`、`notify()`和`notifyAll()`用于线程同步,`finalize()`在对象被垃圾回收时调用。掌握这些方法有助于更好地理解和使用Java中的对象行为。
114 8
|
10月前
|
存储 Java 程序员
Java基础的灵魂——Object类方法详解(社招面试不踩坑)
本文介绍了Java中`Object`类的几个重要方法,包括`toString`、`equals`、`hashCode`、`finalize`、`clone`、`getClass`、`notify`和`wait`。这些方法是面试中的常考点,掌握它们有助于理解Java对象的行为和实现多线程编程。作者通过具体示例和应用场景,详细解析了每个方法的作用和重写技巧,帮助读者更好地应对面试和技术开发。
387 4
|
11月前
|
Java
Java Object 类详解
在 Java 中,`Object` 类是所有类的根类,每个 Java 类都直接或间接继承自 `Object`。作为所有类的超类,`Object` 定义了若干基本方法,如 `equals`、`hashCode`、`toString` 等,这些方法在所有对象中均可使用。通过重写这些方法,可以实现基于内容的比较、生成有意义的字符串表示以及确保哈希码的一致性。此外,`Object` 还提供了 `clone`、`getClass`、`notify`、`notifyAll` 和 `wait` 等方法,支持对象克隆、反射机制及线程同步。理解和重写这些方法有助于提升 Java 代码的可读性和可维护性。
361 20
【Java基础面试二十】、介绍一下Object类中的方法
这篇文章介绍了Java中Object类的常用方法,包括`getClass()`、`equals()`、`hashCode()`、`toString()`、`wait()`、`notify()`、`notifyAll()`和`clone()`,并提到了不推荐使用的`finalize()`方法。
【Java基础面试二十】、介绍一下Object类中的方法
|
12月前
|
Python
类与面向对象编程(Object-Oriented Programming, OOP)
类与面向对象编程(Object-Oriented Programming, OOP)
82 1