Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103729011
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: Oracle

2008-04-10 13:10:21

Redhat9.0是一个非常好的Linux发行版本,具有良好的中文支持和丰富的应用软件,令包括笔者在内的好多Linux用家爱不释手。但由于Redhat9.0采用的GCC版本比较高,造成了一定的兼容性问题。使得包括Oracle9.2和IBM DB2等大型数据库软件在Redhat9.0上不能顺利安装。

  经过一段时间的摸索和反复查找 资料。笔者终于总结除了Oracle9.2在Redhat9.0上的安装方法,在此给大家参考。

  首先需要安装Redhat9.0,如果您不是非常有经验的用户,请选择完整安装。

  安装前的准备工作

  建立一个用户和组,Oracle 往往要求建立两个组,一个负责安装,另一个负责管理,但很多老资格的DBA都认为建立一个组就足够了。以root用户运行下列命令:

  groupadd oracle
  useradd oracle -g dba
  passwd oracle

  Oracle安装的位置应遵守OFA( Optimal Flexible Architecture )规范,但在我的机器上,由于空间有限,所以将ORACLE_HOME设定为/soft/oracle,并要确保oracle用户对这个目录可写。

  安装和运行Oracle需要配置内核参数,我的电脑具有512M内存。在 /etc/sysctl.conf 文件中增加如下内容:

  kernel.shmmax = 536870912
  kernel.shmmni = 4096
  kernel.shmall = 2097152
  kernel.sem = 250 32000 100 128
  fs.file-max = 65536
  net.ipv4.ip_local_port_range = 1024 65000

  修改后运行sysctl -p 命令使得内核改变立即生效。

  还需要在/etc/security/limits.conf 文件增加如下内容:
  oracle soft nofile 65536
  oracle hard nofile 65536
  oracle soft nproc 16384
  oracle hard nproc 16384

  配置Oracle 的环境变量如下:

  export ORACLE_HOME=/soft/oracle
  export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH
  export ORACLE_SID=or9i
  export THREADS_FLAG=native
  export LD_LIBRARY_PATH=/soft/oracle/lib:$LD_LIBRARY_PATH
  export PATH=/$ORACLE_HOME/bin:$PATH

  最好将上边的环境变量写入/home/oracle/.bash_profile 中,使得oracle 每次登录时都带有这些环境变量。

  开始安装

  我采用在硬盘安装的方式,直接执行LANG=和./runInstaller,将出现下面的界面(图一)


图一

  点击Next 键,进入下一步,直至出现图二


图二

输入Unix 的组名"dba",下一步后,根据提示,需要打开一个新窗口,执行

  su - root
  /tmp/orainstRoot.sh

  一直按"next "键,当看到(图三)


图三

  选择"Software Only",我们将在以后建立数据库。

  运行了一会以后,出现了"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/lib
  make -f ins_net_client.mk install

  编辑$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.mk install

  现在,Oracle 软件已经完全安装成功,你可以用dbca命令来建立数据库,或者执行其他DBA命令。

  总结

  类似Oracle 和IBM DB2之类的大型数据库的安装,往往都比较复杂,在安装之前一般都需要调整内核参数。配置环境变量等,安装过程中也经常有这样那样的问题。建议非熟练用户在安装前一定要仔细阅读软件自带的PDF文档,并在网上参考其他用户的经验。在目前,一般大型数据库都在Unix平台上工作,做为一个优秀的DBA,不仅要有Oracle知识,还应该而且必需掌握一定的Unix知识。

阅读(290) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~