设为首页 收藏本站
查看: 505|回复: 0

[经验分享] Redhat AS4上安装64位Oracle9204

[复制链接]

尚未签到

发表于 2016-5-14 11:22:57 | 显示全部楼层 |阅读模式
  Redhat AS4上安装  6 4 位Oracle9204
===========================================================
作者: yangtingkun(http://yangtingkun.itpub.net)
发表于: 2006.09.20 20:03
分类: ORACLE
出处: http://yangtingkun.itpub.net/post/468/211768
---------------------------------------------------------------
  第一次尝试在REDHAT AS4上安装64位Oracle,由于缺少资料且操作系统知识相对匮乏,导致安装过程中错误频繁出现,不过幸好通过两天的不断折腾,终于将Oracle安装成功。这里将安装步骤简单总结一下,尽量使后来人少走弯路。
  这篇文档参考了Oracle9i for Linux x86-64的官方安装文档,不过这篇文档中遗留的东西很多。另外还参考了metalink上的几篇文档,这几篇文章主要是介绍如何解决isqlplus链接失败的。
  
  
  下面就开始介绍安装步骤,对于简单的部分就不多做说明了:
  首先检查系统是否满足安装Oracle的要求,其实这个对于目前大部分的服务器都是满足的,不过为了完整起见,还是把Oracle的最低要求和检查脚本列出来:
  512M以上内存;
  1G以上交换空间;
  /tmp目录下400M以上空间。
  # grep MemTotal /proc/meminfo
# grep SwapTotal /proc/meminfo
# df -k /tmp
# grep "model name" /proc/cpuinfo
  另外,需要保证Oracle的安装目录至少有超过2.5G的空间,才能保证企业版的正常安装。
  通过下面的脚本检查操作系统信息
  # more /etc/issue
# uname -a
  下面通过rpm –qa来检查操作系统是否已经包含了安装Oracle所需要的包。由于没有官方版的AS4所需的包的列表,我根据官方AS3所需列表将我的环境中对应的包列出,并将个人认为比较重要的放在前面。
  kernel-2.6.9-42.EL
  glibc-devel-2.3.4-2.25
  glibc-2.3.4-2.25
  gcc-3.4.6-3
  gcc-c++-3.4.6-3
  compat-libgcc-296-2.96-132.7.2
  compat-gcc-32-3.2.3-47.3
  compat-gcc-32-c++-3.2.3-47.3
  libstdc++-devel-3.4.6-3
  libstdc++-3.4.6-3
  make-3.80-6.EL4
  gtk+-1.2.10-33
  gnome-libs-1.4.1.2.90-44.1
  tcp_wrappers-7.6-37.2
  ORBit-0.5.17-14
  libpng10-1.0.16-1
  libungif-4.1.3-1.el4.2
  imlib-1.9.13-23
  setarch-1.6-1
  libaio-0.3.105-2
  audiofile-0.2.6-1.el4.1
  esound-0.2.35-2
  上面列出的包并不见得都是必须的,最后几个包没有的话,应该也可以安装成功。不过根据Oracle官方文档的建议都加上肯定不会有问题。这里要额外注意compat-libgcc-296-2.96-132.7.2这个包,这个包必须要加上,否则后面的安装无法继续进行。
  下面需要修改一下系统的核心参数,具体的含义就不多解释了,Oracle的推荐默认参数为:
  kernel.shmall = 2097152
  kernel.shmmax = 2147483648
  kernel.shmmni = 4096
  kernel.sem = 250 32000 100 128
  fs.file-max = 65536
  net.ipv4.ip_local_port_range = 1024 65000
  我只修改了kernel.shmmax参数,设置其大小超过我预计SGA的值。
  将上面的核心参数添加到/etc/sysctl.conf文件中。
  完成设置后,重启操作系统。通过/sbin/sysctl –p可以修改当前核心参数,不过如果系统可以重启,还是通过这种方式比较保险。
  下面为Oracle用户设置进程数和打开文件数的限制:修改/etc/security/limits.conf文件,将下面内容填入:
  * soft nproc 2047
  * hard nproc 16384
  * soft nofile 1024
  * hard nofile 65536
  修改/etc/pam.d/login文件,添加如下的内容:
  session required /lib/security/pam_limits.so
  这些操作完成之后,开始安装的前期工作了,首先是创建Oracle帐户:
  # groupadd oinstall
# groupadd dba
# useradd -g oinstall -G dba oracle
# passwd oracle
# mkdir -p /opt/oracle/product/9.2
# chown -R oracle.oinstall /opt/oracle
  至此,root用户的设置基本结束,可以切换到oracle用户了。
  # su - oracle
$ vi .bashrc
  在oracle用户的初始化脚本中添加如下内容:
  if [ $USER = "oracle" ]; then
  ulimit -u 16384 -n 65536
  fi
  
export ORACLE_BASE=/opt/oracle
  export ORACLE_HOME=/opt/oracle/product/9.2
  export ORACLE_SID=testdb
  export NLS_LANG='SIMPLIFIED CHINESE_CHINA.ZHS16GBK'
  export PATH=$ORACLE_HOME/bin:$PATH
  export DISPLAY=172.25.6.201:0
  
export LD_ASSUME_KERNEL=2.4.1
  其中上面设置进程和文件的限制是Oracle推荐的。ORACLE_BASE、ORACLE_HOME、ORACLE_SID以及NLS_LANG 的设置都需要根据个人的具体进行调整。DISPLAY变量设置的是我自己机器在局域网中的IP地址,这是方便我使用X-MANAGER进行图形化操作的。
  最需要注意的是LD_ASSUME_KERNEL的设置。首先Oracle的官方文档中并没有包含这个变量的设置,但是如果不进行设置的话,那么一 会在安装Oracle的时候,安装到17%,提示拷贝文件naeet.o的时候,整个安装就停住了,这个时候即使点cancel按钮都没有用,只能将整个 安装窗口关闭。
  Metalink上的文章倒是提到了对这个参数的设置,但是Metalink给出的建议设置是2.4.21。这个设置似乎对SuSE 8环境是有效的,但是对REDHAT AS4环境仍然没有作用。从Metalink上的回复看,也没有看到对这个问题的进一步说明。
  Oracle9204在REDHAT AS3上的安装时,建议将这个变量设置为2.4.1,因此,我选择了将这个变量也设置为2.4.1,在随后的安装过程中,上面提到的问题没有再次出现。我 估计将这个值设置的稍微大一些的话,也是可以的,我没有进行具体的测试,如果有兴趣,可以尝试一下,看看这个值最大可以设置到多大。
  设置好环境变量后,重新应用一下初始脚本,保证设置的环境应用到当前用户:
  $ . .bashrc
  如果是使用光盘介质,可以跳过下面的步骤,如果是下载的压缩包,需要将压缩包ftp到oracle用户可以访问的目录下。解压并展开:
  $ gunzip amd64_db_9204_Disk1.cpio.gz
$ gunzip amd64_db_9204_Disk2.cpio.gz
$ gunzip amd64_db_9204_Disk3.cpio.gz
$ cpio -idcmv < amd64_db_9204_Disk1.cpio
$ cpio -idcmv < amd64_db_9204_Disk2.cpio
$ cpio -idcmv < amd64_db_9204_Disk3.cpio
  展开文件后,终于可以开始安装了:
  $ cd Disk1
$ . runInstaller
  安装开始没有什么值得说的,无非是点击几个NEXT的,输入用户组oinstall,并根据提示在后台使用root用户执行/tmp/orainstRoot.sh脚本。
  随后选择安装Oracle Database 9204,同时添加简体中文语言,选择企业版,并选择定制数据库配置。这些配置都可以根据个人的需求进行调整。
  所有准备工作完成,点击install。
  在安装到88%的时候,会报错,错误信息如下:Error in invoking target install_isqlplus of makefile /opt/oracle/product/9.2/sqlplus/lib/ins_sqlplus.mk。
  这是使用了64位的gcc编译32位程序时出现的错误,这里先点击ignore忽略错误,随后我们在解决这个问题。
  在安装到98%的时候,会报和刚才类似的错误:Error in invoking target install of makefile /opt/oracle/product/9.2/rdbms/lib/ins_rdbms.mk,这里也点击ignore忽略错误。
  忽略了两个错误后,安装完成,这时候Oracle会但出一个对话框,要求用户以root身份执行$ORACLE_HOME目录下的一个root.sh脚本。
  我们先修正上面两个错误,然后在执行这个脚本。
  修正这两个错误是整个安装过程中最麻烦的地方,参照metalink上的文章,我又反反复复摸索了四、五次才尝试成功。
  首先以root身份来到/usr/bin目录下,查看gcc*:
  # cd /usr/bin
# ls -l gcc*
-rwxr-xr-x 2 root root 105392 May 24 07:46 gcc
-rwxr-xr-x 2 root root 94360 Dec 2 2004 gcc32
  这时候我们需要编写一个gcc296的脚本,内容如下:
  #!/bin/sh
exec /usr/bin/gcc32 -static-libgcc -B/usr/lib/gcc-lib/i386-redhat-linux/2.96/ "$@"
  注意,上述脚本是metalink给出的,不过metalink给出的脚本至少有3个问题,首先metalink上给出的gcc32错误拼写成了 gcc33,第二点metalink脚本中包含了-m32,而这个编译标志在编译上述两个错误时是不需要的,当然metalink上有进一步的说明,不过 还是容易使人误导。第三点其实不是metalink脚本的问题,而是这个脚本太长了,导致脚本最后的”$@”跑到了第三行,而实际上整个脚本只有两行。像 我这样对操作系统、shell脚本语言以及gcc编译不是很熟悉的人很容易在这里出错。
  将上面给出的内容添加到gcc296中,然后修改gcc296的文件属性为755。
  然后进行类似的操作编写g++296的脚本:
  #!/bin/sh
exec /usr/bin/g++32 -static-libgcc -B/usr/lib/gcc-lib/i386-redhat-linux/2.96/ "$@"
  同样,将g++296的脚本的文件属性修改为755。
  # chmod 755 gcc296
# chmod 755 g++296
  下面根据gcc和g++的版本信息,将gcc和g++重命名。然后将gcc和g++分别指向gcc296和g++296。
  # mv gcc gcc346
# mv g++ g++346
# ln -s -f gcc296 gcc
# ln -s -f g++296 g++
  下面回到oracle用户环境,重新编译刚才出现错误的两个对象:
  通过/opt/oracle/product/9.2/install/make.log文件,找到刚才出现错误的两个对象,重新make
  # su - oracle
$ cd /opt/oracle/product/9.2/sqlplus/lib
$ /usr/bin/make -f ins_sqlplus.mk install_isqlplus ORACLE_HOME=/opt/oracle/product/9.2
$ cd /opt/oracle/product/9.2/rdbms/lib
$ make -f /opt/oracle/product/9.2/rdbms/lib/ins_rdbms.mk /opt/oracle/product/9.2/rdbms/lib/extproc32 EXTPROC=/opt/oracle/product/9.2/rdbms/lib/extproc32 LIBDIR=lib32 LDFLAGS='-m32 -o $@ $(LDPATHFLAG)$(PRODLIBHOME) $(LDPATHFLAG)$(LIBHOME) $(LDPATHFLAG)$(LIBHOME)stubs/'
  重新编译后,回到root用户,恢复刚才进行的操作:
  $ exit
# rm -f gcc
# rm -f g++
# mv gcc346 gcc
# mv g++346 g++
# . /opt/oracle/product/9.2/root.sh
  至此,Oracle9204的软件部分安装完毕。
  建库、配置listener等操作就没有什么可说的了,值得一提的是,建库过程中安装data mining的时候碰到了一个ORA-1031的错误,比较奇怪。
  
yangtingkun 发表于:2006.09.20 20:03

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-216884-1-1.html 上篇帖子: redhat 的rpc.statd和rpcbind服务 下篇帖子: redhat 上网 网卡配置 驱动安装
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表