问题描述:在执行dbca创建数据库实例时,告警“libgcc_s.so.1: cannot open shared object file”,安装必要的包后,再次执行dbca又报“UnsatisfiedLinkError exception loading native library: njni10”,如下所示:
系统:rhel 6.5 64位
数据库:oracle 10.2.0.1 64位
异常处理过程如下:
--dbca报错libgcc_s.so.1: cannot open shared object file
[oracle@leo-10g-ogg bin]$ dbca
java.lang.UnsatisfiedLinkError: /u01/app/oracle/product/10.2.0/db_1/lib32/libOsUtils.so: libgcc_s.so.1: cannot open shared object file: No such file or directory
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1586)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1511)
at java.lang.Runtime.loadLibrary0(Runtime.java:788)
at java.lang.System.loadLibrary(System.java:834)
at oracle.sysman.assistants.util.OsUtilsUnix.<init>(OsUtilsUnix.java:672)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
at java.lang.Class.newInstance0(Class.java:308)
at java.lang.Class.newInstance(Class.java:261)
at oracle.sysman.assistants.util.OsUtilsBase.constructInstance(OsUtilsBase.java:1416)
at oracle.sysman.assistants.util.OsUtilsBase.getOsUtils(OsUtilsBase.java:144)
at oracle.sysman.assistants.util.attributes.InitParamAttributes.initialize(InitParamAttributes.java:498)
at oracle.sysman.assistants.util.attributes.InitParamAttributes.<init>(InitParamAttributes.java:470)
at oracle.sysman.assistants.util.step.StepContext.<init>(StepContext.java:247)
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)
--安装必要的包
[root@leo-10g-ogg lib64]# yum -y install libgcc*
Loaded plugins: product-id, refresh-packagekit, security, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Setting up Install Process
No package libgcc_s-4.4.7-20120601.so.1 available.
Resolving Dependencies
--> Running transaction check
---> Package libgcc.i686 0:4.4.7-4.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=====================================================================================================================
Package Arch Version Repository Size
=====================================================================================================================
Installing:
libgcc i686 4.4.7-4.el6 rhel6 112 k

Transaction Summary
=====================================================================================================================
Install 1 Package(s)

Total download size: 112 k
Installed size: 144 k
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Warning: RPMDB altered outside of yum.
Installing : libgcc-4.4.7-4.el6.i686 1/1
Verifying : libgcc-4.4.7-4.el6.i686 1/1

Installed:
libgcc.i686 0:4.4.7-4.el6

Complete!
--再次dbca报错UnsatisfiedLinkError exception loading native library: njni10
[oracle@leo-10g-ogg 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)
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)
--查glibc-devel和glibc,确认64bit和32bit版本均有安装.
[root@leo-10g-ogg ~]# rpm -qa glibc-devel
glibc-devel-2.12-1.132.el6.i686
glibc-devel-2.12-1.132.el6.x86_64
[root@leo-10g-ogg ~]# rpm -qa glibc
glibc-2.12-1.132.el6.i686
kernel.core_uses_pid = 1
--此时说明数据库软件安装存在问题,卸载后重新安装数据库软件
--以下卸载数据库软件
[root@leo-10g-ogg ~]# cd /u01
[root@leo-10g-ogg u01]# ll
total 8
drwxrwxr-x. 2 oracle oinstall 4096 Dec 3 13:00 app
drwxr-xr-x. 3 oracle oinstall 4096 Dec 3 10:17 setup
[root@leo-10g-ogg u01]# rm -rf app
[root@leo-10g-ogg u01]# cd /usr/local/bin
[root@leo-10g-ogg bin]# ll
total 12
-rwxr-xr-x. 1 oracle root 2854 Dec 3 11:18 coraenv
-rwxr-xr-x. 1 oracle root 2417 Dec 3 11:18 dbhome
-rwxr-xr-x. 1 oracle root 2947 Dec 3 11:18 oraenv
[root@leo-10g-ogg bin]# rm -rf *
[root@leo-10g-ogg bin]# cd /etc
[root@leo-10g-ogg etc]# ll | grep ora
-rw-r--r--. 1 root root 63 Dec 3 11:17 oraInst.loc
-rw-rw-r--. 1 oracle root 678 Dec 3 11:18 oratab
[root@leo-10g-ogg etc]# rm -rf oratab
[root@leo-10g-ogg etc]# rm -rf oraInst.loc

说明:卸载完后重新安装oracle数据库软件,再次执行dbca,无异常发生.

参考网址:https://www.cnblogs.com/mathprice/articles/8871749.html