Redhat9.0是一个非常好的Linux发行版本,具有良好的中文支持和丰富的应用软件,令包括笔者在内的好多Linux用家爱不释手。但由于Redhat9.0采用的GCC版本比较高,造成了一定的兼容性问题。使得包括Oracle9.2和IBMDB2等大型数据库软件在Redhat9.0上不能顺利安装。经过一段时间的摸索和反复查找资料。笔者终于总结除了Oracle9.2在Redhat9.0上的安装方法,在此给大家参考。首先需要安装Redhat9.0,如果您不是非常有经验的用户,请选择完整安装。安装前的准备工作建立一个用户和组,Oracle往往要求建立两个组,一个负责安装,另一个负责管理,但很多老资格的DBA都认为建立一个组就足够了。以root用户运行下列命令:groupaddoracleuseraddoracle-gdbapasswdoracleOracle安装的位置应遵守OFA(OptimalFlexibleArchitecture)规范,但在我的机器上,由于空间有限,所以将ORACLE_HOME设定为/soft/oracle,并要确保oracle用户对这个目录可写。安装和运行Oracle需要配置内核参数,我的电脑具有512M内存。在/etc/sysctl.conf文件中增加如下内容:kernel.shmmax=536870912kernel.shmmni=4096kernel.shmall=2097152kernel.sem=25032000100128fs.file-max=65536net.ipv4.ip_local_port_range=102465000修改后运行sysctl-p命令使得内核改变立即生效。还需要在/etc/security/limits.conf文件增加如下内容:oraclesoftnofile65536oraclehardnofile65536oraclesoftnproc16384oraclehardnproc16384配置Oracle的环境变量如下:exportORACLE_HOME=/soft/oracleexportPATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATHexportORACLE_SID=or9iexportTHREADS_FLAG=nativeexportLD_LIBRARY_PATH=/soft/oracle/lib:$LD_LIBRARY_PATHexportPATH=/$ORACLE_HOME/bin:$PATH最好将上边的环境变量写入/home/oracle/.bash_profile中,使得oracle每次登录时都带有这些环境变量。开始安装我采用在硬盘安装的方式,直接执行LANG=和./runInstaller,将出现下面的界面(图一)图一点击Next键,进入下一步,直至出现图二图二输入Unix的组名dba,下一步后,根据提示,需要打开一个新窗口,执行su-root/tmp/orainstRoot.sh一直按next键,当看到(图三)图三选择SoftwareOnly,我们将在以后建立数据库。运行了一会以后,出现了ins_oemagent.mk的错误提示,如下(图四)图四这时我们可以暂时选择ignore,安装完成以后再来解决这个问题.接下来又会出现ins_ctx.mk的问题,如图五图五在编辑$ORACLE_HOME/ctx/lib/env_ctx.mk文件,在INSO_LINK=行(第1365行)加入$(LDLIBFLAG)dl修改后如下:INSO_LINK=-L$(CTXLIB)$(LDLIBFLAG)m$(LDLIBFLAG)dl$(LDLIBFLAG)sc_ca$(LDLIBFLAG)sc_fa$(LDLIBFLAG)sc_ex$(LDLIBFLAG)sc_da$(LDLIBFLAG)sc_ut$(LDLIBFLAG)sc_ch$(LDLIBFLAG)sc_fi$(LLIBCTXHX)$(LDLIBFLAG)c-Wl,-rpath,$(CTXHOME)lib$(CORELIBS)$(COMPEOBJS)按retry键即可继续。最后,还需要根据提示,用root用户执行一次$ORACLE_HOME/root.sh,Oracle软件就初步安装完了。安装完成以后的工作我们回头来解决上边的那个ins_oemagent.mk问题。以Oracle用户执行:cd$ORACLE_HOME/network/libmake-fins_net_client.mkinstall编辑$ORACLE_HOME/ctx/lib/ins_ctx.mk文件的第13-14行,由:ctxhx:$(CTXHXOBJ)$(LINK)$(CTXHXOBJ)$(INSO_LINK)改为ctxhx:$(CTXHXOBJ)$(LINK)-ldl$(CTXHXOBJ)$(INSO_LINK)然后执行make-f$ORACLE_HOME/ctx/lib/ins_ctx.mkinstall现在,Oracle软件已经完全安装成功,你可以用dbca命令来建立数据库,或者执行其他DBA命令。总结类似Oracle和IBMDB2之类的大型数据库的安装,往往都比较复杂,在安装之前一般都需要调整内核参数。配置环境变量等,安装过程中也经常有这样那样的问题。建议非熟练用户在安装前一定要仔细阅读软件自带的PDF文档,并在网上参考其他用户的经验。在目前,一般大型数据库都在Unix平台上工作,做为一个优秀的DBA,不仅要有Oracle知识,还应该而且必需掌握一定的Unix知识。