执行netca或dbca时UnsatisfiedLinkError exception loading native library: njni10错误解决

执行netca或dbca时, "UnsatisfiedLinkError exception loading native library: njni10"错误解决

平台: RHEL5.6 x86_64 + Oracle10gR2

以netca为例:

$ $ORACLE_HOME/bin/netca /silent /responsefile $ORACLE_HOME/network/install/netca_typ.rsp

在x86_64平台上操作时, 此时如果遇到如下错误:

UnsatisfiedLinkError exception loading native library: njni10
java.lang.UnsatisfiedLinkError: jniGetOracleHome
        at oracle.net.common.NetGetEnv.jniGetOracleHome(Native Method)
        at oracle.net.common.NetGetEnv.getOracleHome(Unknown Source)
        at oracle.net.ca.NetCA.main(Unknown Source)
Oracle Net Services configuration failed.  The exit code is -1

可能是glibc和glibc-devel包仅安装了64bit版的,而32bit版本没安装,那么需手工安装:

# cd /media/cdrom/RedHat/RPMS
# rpm -Uvh glibc-*.i686.rpm glibc-devel-*.i386.rpm

安装完32bit的glibc和glibc-devel后, 再对Oracle进行relink:

$ $ORACLE_HOME/bin/relink all

最后再重执行netca, 应该就可以了
     SUSE10安装完oracle10G数据库(安装过程中有报错),使用dbca命令创建数据库时,弹出错误如下:

$ dbca
UnsatisfiedLinkError exception loading native library: njni10
Exception in thread "main" java.lang.UnsatisfiedLinkError: get
at oracle.net.common.NetGetEnv.get(Native Method)
at oracle.net.config.Config.getNetDir(Unknown Source)
at oracle.net.config.Config.initConfig(Unknown Source)
at oracle.net.config.Config.(Unknown Source)
at oracle.sysman.assistants.util.NetworkUtils.(NetworkUtils.java:222)
at oracle.sysman.assistants.util.step.StepContext.(StepContext.java:255)
at oracle.sysman.assistants.dbca.backend.Host.(Host.java:682)
at oracle.sysman.assistants.dbca.ui.UIHost.(UIHost.java:205)
at oracle.sysman.assistants.dbca.ui.InteractiveHost.(InteractiveHost.java:54)
at oracle.sysman.assistants.dbca.Dbca.getHost(Dbca.java:160)
at oracle.sysman.assistants.dbca.Dbca.execute(Dbca.java:94)
at oracle.sysman.assistants.dbca.Dbca.main(Dbca.java:180)

      此类错误一般是由于glibc包不全导致,suse10需要安装以下所有包:

glibc-2.4-31.54
glibc-32bit-2.4-31.54
glibc-devel-2.4-31.54
glibc-i18ndata-2.4-31.54
glibc-info-2.4-31.54
glibc-devel-32bit-2.4-31.54
glibc-locale-2.4-31.54
glibc-locale-32bit-2.4-31.54

      在SUSE10上 rpm -qa|grep glibc

glibc-2.4-31.54
glibc-locale-2.4-31.54
glibc-32bit-2.4-31.54
glibc-devel-2.4-31.54
glibc-i18ndata-2.4-31.54
glibc-locale-32bit-2.4-31.54

发现少了两个包,在http://demeter.uni-regensburg.de/SLED10SP2-x64/suse/x86_64/下载到包,安装后重新安装数据库即可。

注:数据库需要彻底删除,suse10彻底删除oracle10G具体操作如下:

1. 运行 $ORACLE_HOME/bin/localconfig delete  --->root用户下(可略过此步)
2. rm -rf $ORACLE_BASE/*    --->oracle用户下
3. rm -f /etc/oraInst.loc /etc/oratab  --->root用户下
4. rm -rf /etc/oracle  --->root用户下
5. rm -f /usr/local/bin/coraenv  /usr/local/bin/dbhome  /usr/local/bin/oraenv   --->root用户
6. 删除oracle用户和组。(如果重新安装数据库,用户、组、环境变量、系统参数等配置不需要删除)
userdel oracle
groupdel dba
groupdel oinstall

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值