zoukankan      html  css  js  c++  java
  • dbca:Exception in thread "main" java.lang.UnsatisfiedLinkError: get

    在64位的操作系统安装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.<init>(Unknown Source)
            at oracle.sysman.assistants.util.NetworkUtils.<init>(NetworkUtils.java:222)
            at oracle.sysman.assistants.util.step.StepContext.<init>(StepContext.java:255)
            at oracle.sysman.assistants.dbca.backend.Host.<init>(Host.java:682)
            at oracle.sysman.assistants.dbca.ui.UIHost.<init>(UIHost.java:205)
            at oracle.sysman.assistants.dbca.ui.InteractiveHost.<init>(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)
    启动不了dbca进行建库,
    网上找了整整一晚上,总结起来有三种方法:
    第一种方法就是少包,装完包后就行relink(注意64位的系统需要安装32位对应的包)
    glibc-32bit-8.1-9
    glibc-devel-32bit-8.1-9
    用rpm或者yum装上,然后重新连一下,
    $ORACLE_HOME/bin/relink all
     
    第二种方法就是:(MOS上的)
    Are you one of those that has been suffering from this error: UnsatisfiedLinkError exception loading native library: njni10 , while installing oracle 10G client or oracle server on macosx ? , well , you wont beleive how simple the solution is ...

    The complete error while loading the ./netca after making the installation is the following:

    UnsatisfiedLinkError exception loading native library: njni10
    Exception in thread "main" java.lang.UnsatisfiedLinkError: jniGetOracleHome
    at oracle.net.common.NetGetEnv.jniGetOracleHome(Native Method)
    at oracle.net.common.NetGetEnv.getOracleHome(Unknown Source)
    at oracle.net.common.NetProperties.(Unknown Source)
    at oracle.net.common.NetProperties.getInstance(Unknown Source)
    at oracle.net.ca.CmdlineArgs.(Unknown Source)
    at oracle.net.ca.InitialSetup.(Unknown Source)
    at oracle.net.ca.NetCA.main(Unknown Source)

    Ok , just follow the simple two steps ,

    cd into $ORACLE_HOME/bin

    then type: ln -s $ORACLE_HOME/lib/libnjni10.dylib $ORACLE_HOME/lib/libnjni10 , then ENTER

    then type: ln -s $ORACLE_HOME/lib/libclntsh.dylib $ORACLE_HOME/lib/libclntsh.dylib.10.1

    After that go into $ORACLE_HOME/bin and start ./netca

    Problem solved, this simple solution came to me literally after hours of dealing with the situacion and very little help from ORACLE documentation on the issue.

     
    但是上面的所有方法试过了都不能解决我的问题,
    最后的解决办法也就是第三种方式:
    删除软件重新安装一遍,
    [root@oracle10 oracle]# ll
    total 8
    drwxrwx--- 6 oracle oinstall 4096 Mar 10 19:57 oraInventory
    drwxrwx--- 3 oracle oinstall 4096 Mar 10 19:48 product
    [root@oracle10 oracle]# rm -rf *
    然后重新执行./runinstaller在安装的过程中果然很顺利~~~最后DBCA成功启动~~~~
    启动后遇到了另外一个问题:
     
    总结:浪费了一个晚上的时间解决这个问题,得出一个结论,在unix上安装oracle(不论哪个版本),一定要按照官方文档把前期准备做好~~~这样在后期软件安装的过程中会非常顺利~~~单实例安装oracle大部分的问题来自于 包的缺失~~
     
     
    我遇到的两个问题由下面的这篇文章解答::

     环境:CentOS6.2 64 位  ORACLE10G   
         这2天,我配合外地同事安装ORACLE10G,本来是一件很简单的事情,但是这个过程实在痛苦啊。我发个公司内部的安装文档了,但是这个兄弟没有仔细看。在安装过程中,出现了很多问题,现在在这些问题和大家分享一下吧。
          [oracle@db202 database]$ sh /home/oracle/oracle/product/10.2.0/db_1/bin/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.<init>(Unknown Source)
           关于这个问题,其实网上有很多的朋友介绍了,是少32bit的glibc和glibc-devel,但是也有人反应有这个2个包了,在这里刚开始的时候,我是没有安装这个2个32位的包,后来我在网上找了一些说法,是删除数据库软件,然后重新安装,我也这么做了,真的有效,所以我的结论是如果出现上面的问题,就直接删了数据库软件,重新安装吧。
           接着软件是安装完毕了,dbca也能运行出现界面了,在安装数据库的时候出现ORA-27125这个错误,因为我们是liunx6安装,所以在安装软件的时候,是执行“./runInstaller -ignoreSysPreReqs ”,忽略了版本的。继续解决问题吧,网上说“hugetlb_shm_group”的问题,关于"hugetlb_shm_group"的说明。
         When a process uses some memory, the CPU is marking the RAM as used by that process. For efficiency, the CPU allocate RAM by chunks of 4K bytes (it's the default value on many platforms). Those chunks are named pages. Those pages can be swapped to disk, etc. Since the process address space are virtual, the CPU and the operating system have to remember which page belong to which process, and where it is stored. Obviously, the more pages you have, the more time it takes to find where the memory is mapped. When a process uses 1GB of memory, that's 262144 entries to look up (1GB / 4K). If one Page Table Entry consume 8bytes, that's 2MB (262144 * 8) to look-up. Most current CPU architectures support bigger pages (so the CPU/OS have less entries to look-up), those are named Huge pages (on Linux), Super Pages (on BSD) or Large Pages (on Windows), but it all the same thing.
         往文件添加的命令如下”# echo 501 > /proc/sys/vm/hugetlb_shm_group“ ,其中501是oracle用户对于dba组的id,可以用
    id oracle 命令观看,现在安装的同事说 501要加冒号才能安装完毕。这个大家具体看自己的情况吧。
         就这样ORA-27125的问题过去了。我本以为应该就安装完毕了吧,接着又出问题,ORA-00600: [keltnfy-ldmInit][46], [1], []
    、、、哎 继续找问题,我看了“secooler”的一篇文章,地址是“http://space.itpub.net/519536/viewspace-614893”,发现是由于但是安装的时候,现在的兄弟没有改hosts文件。。。不说了,,,改吧。
          就这样折腾了一个下午吧,数据库是安装完毕了。我在这里劝大家安装之前一定要去看看官方帮助文档。对每个步骤要做到明白,要不然,去现场给客户弄得时候,丢大人了。
    笔记
  • 相关阅读:
    java中的lamda表达式
    Arrays.sort()中Lambda表达式
    检索中的函数及不同范围的处理
    2014.6.24
    2014.6.23
    第六天培训
    第五天培训
    第四天培训
    第三天培训!
    第二天培训
  • 原文地址:https://www.cnblogs.com/haoxiaoyu/p/3594831.html
Copyright © 2011-2022 走看看