昨天在一台新的机器装64位的Linux和Oracle 10G,32位的Linux和oracle装了无数次,心想这对我来讲还不是小菜。没想到遇到了几个非常棘手的问题,今天终于搞定了。
64位的Linux安装没有什么区别,只是安装完了网卡找不到,PC机的供应商提供了一个驱动,是C语言的源程序,按照readme的提示make了一下就搞定了。
然后是把64位的oracle安装包传上去,先gunzip解压,再cpio -idmv < 文件名展开。打开oracle的官方文档,发现64位的安装方法居然和32位的一模一样,一路轻车熟路,装完了,只是没有建库。
下午用建库,刚刚输完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)
上网查了半天,看来是少装了包,按照oracle的官方文档检查,包都有呀!再把网上网友推荐的各种包都装上试试,4张Linux的安装盘在光驱里换来换去,装了各种包都没有用,一直到下班也没有搞定。
对这个Linux的安装盘没有信心了,吸取换盘麻烦的教训,晚上换回家下载一个DVD的安装盘,一上CentOS的网站,发现最新的4已经的4.6了,刚刚 出来的。于是下载一个4.6的DVD安装盘,2.5G下了一晚上,60K多的流量,搞得今天上班也迟到了。用刚刚刻好的DVD安装盘重新安装Linux, 但刚刚装ORACLE时就遇到了问题,比昨天更糟!
$ ./runInstaller
Starting Oracle Universal Installer...
Checking installer requirements...
Checking operating system version: must be RedHat-3, SUSE-9, redhat-4, UnitedLinux-1.0, asianux-1 or asianux-2
Passed
All installer requirements met.
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2008-01-09_12-23-11PM. Please wait ...[oracle@web9p database]$ Oracle Universal Installer, Version 10.2.0.1.0 Production
Copyright (C) 1999, 2005, Oracle. All rights reserved.
Exception java.lang.UnsatisfiedLinkError: /tmp/OraInstall2008-01-09_12-23-11PM/jre/1.4.2/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory occurred..
java.lang.UnsatisfiedLinkError: /tmp/OraInstall2008-01-09_12-23-11PM/jre/1.4.2/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(Unknown Source)
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at sun.security.action.LoadLibraryAction.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.awt.NativeLibLoader.loadLibraries(Unknown Source)
at sun.awt.DebugHelper.(Unknown Source)
at java.awt.Component.(Unknown Source)
at oracle.sysman.oii.oiif.oiifm.OiifmGraphicInterfaceManager.(OiifmGraphicInterfaceManager.java:222)
at oracle.sysman.oii.oiic.OiicSessionInterfaceManager.createInterfaceManager(OiicSessionInterfaceManager.java:193)
at oracle.sysman.oii.oiic.OiicSessionInterfaceManager.getInterfaceManager(OiicSessionInterfaceManager.java:202)
at oracle.sysman.oii.oiic.OiicInstaller.getInterfaceManager(OiicInstaller.java:436)
at oracle.sysman.oii.oiic.OiicInstaller.runInstaller(OiicInstaller.java:926)
at oracle.sysman.oii.oiic.OiicInstaller.main(OiicInstaller.java:866)
从提示上看是少了一个libXp.so.6文件,但不知道这个文件在哪个包里,看来得用yum了,幸好是DVD的安装盘,本身就带一个yum的源
把DVD mount到/mnt目录,按下面的方法配置
[c4-media]
name=CentOS-$releasever - Media
baseurl=file:///mnt
gpgcheck=0
enabled=1