这个也是我曾经写在大富翁论坛上的笔记,今天也一并转贴一下:![]()
http://www.delphibbs.com/keylife/iblog_show.asp?xid=6526
如下:---
在redhat linux9下安装oracle9.2.0的一点经验
作者:jrq
摘要:简述在redhat linux9环境下安装oracle9.2.0数据库的过程。
关键字:oracle9i redhat linux9 内核参数 环境变量
一直是在redhat linux7.1环境下使用oracle817的,前几天整理系统,干脆整体升级,要在redhat linux9环境下安装oracle9i。花了几天的时间,在网上查找了很多资料和若干帖子,归纳整理了一下,然后动手终于在redhat9上成功的安装了oracle9.2.0(oracle9i enterprise edition release 9.2.0.1.0)。现在把安装过程记录一下,以备日后参考。
一、基本情况介绍:
我的机器配置情况:
cpu:p4 1.5g
内存:256m
硬盘:40gb
硬盘分区情况:
windows分区c、d、e,共有25gb。
linux swap:1.5gb
linux ext2:12gb
操作系统:radhat9(linux kernel 2.4.20-8)
在网上看到的介绍oracle如何安装的文章说,oracle对linux的swap分区的要求至少要有内存的2倍,即512m大小,当然越大越好。最初在linux7.1下使用oracle817的时候,我的swap分区大小一直是512m,在这次安装oracle9i的过程中发现,当到了创建数据库阶段的时候,提示“out of momery”的错误,安装过程被迫停止,估计是swap有点小了,没有办法,又重新划分了磁盘空间,把swap分区一下子增大到1.5gb,再次安装,果然安全的、顺利的、无误的通过。 ^_^
linux的文件分区最少需要7g。因为在linux下安装oracle的条件需求比较苛刻,所以在安装redhat linux9的时候我选择是全部安装,这样在后面的oracle9i安装中系统就不需要再安装这个包那个包了,省了很多的麻烦了,这个方法还是在redhat linux7.1下安装oracle817的时候学会的(在网上看到的文章中也有推荐说全部安装的)。redhat linux9的全部安装大约需要4.5g的空间,而oracle9i数据库大概需要2gb的空间(何致億在他的文章中说数据库系统需要2 ~ 2.5 gb的空间),所以一共下来差不多要7gb。
以上数据仅供参考,一句话,给linux的分区空间越大越好,对oracle的操作越有利。 ^_^
二、准备工作:
1.oracle 9i的获取
oracle920_for_linux是我在 ftp://ftp.lib.tsinghua.edu.cn/ 这个站点上(清华的ftp服务器),花了一个晚上的时间来下载的,一共是3个压缩文件,名字分别为:
lnx_920_disk1.cpio.gz 大小为527 mb (553,607,967 字节)
lnx_920_disk2.cpio.gz 大小为561 mb (588,799,187 字节)
lnx_920_disk3.cpio.gz 大小为421 mb (442,089,854 字节)
3个文件共有1.47 gb (1,584,497,008 字节)。
2.备注信息
看到网上的文章介绍,一般说是为考虑兼容性的问题,在安装前都需要对redhat系统进行安装或替换一些rpm包,还要确定rpm包的依赖关系,
如:
glibc-2.3.2-5.i686.rpm
glibc-common-2.3.2-5.i386.rpm
glibc-devel-2.3.2-5.i386.rpm
等。
我认为前面只要是选择了redhat linux9的全部安装,不要再安装或替换这些rpm包了(这个没有深入的研究,不知道说的对不对,但至少是我在自己的机子上没有再安装替换这些rpm包。还有的文章说网上提供免费下载的red hat9是一个不完全的版本,它本身并不带有相应版本的glibc安装包,需要对glibc进行安装替换,也许是我下载的redhat linux9是“完全的”,所以我也没有对glibc进行过任何操作。*_^ 当然在redhat linux7x下进行安装的时候要另当别论)。
另外,一些文章中介绍安装oracle9i的时候需要选择jdk的版本进行安装,我也没有进行这方面的工作,是直接安装oracle9i的(因为oracle的安装程序是要有jdk支持的,估计redhat linux9选择的是“全部安装”方式,development已经安装了。可能关于这一点,让曾经在redhat7x下安装过oracle8i的朋友有点不解 *_* )。
三、配置操作:
既然省却了前面那么一大堆烦人的预安装操作,那么下面就来进行一些实质的操作,从这里起,算是正式进入了oracle9i的安装过程。
1.设置内核参数,调节信号灯及共享内存:
oracle9i使用linux的共享内存、交换区等资源进行工作,如果系统的的内核参数设置不能满足oracle的需求,那么在安装或使用过程就会出现各种问题,因此建议配置或修改这些系统内核的参数。
打开/etc/sysctl.conf 文件,将下列数据写入到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
其中,kernel.shmmax是共享内存段最大尺寸,kernel.shmmni是共享内存段最小尺寸。进入目录/proc/sys/kernel,可分别用命令:
#cat shmmax
#cat shmmni
#cat shmall
查看 kernel.shmmax 、kernel.shmmni、kernel.shmall的数值。
我在一篇文章看到kernel.shmmax的计算方法为:
kernel.shmmax = 1024*1024*ram(m)/2 (至少)。
用命令:
#cat sem
可以查看kernel.sem的数值。其中, 250 是参数semmsl的值,32000是参数semmns的值, 100是参数semopm的值,而128则是参数semmni的值。
接下来,打开/etc/security/limits.conf文件,将下列数据添加到 limits.conf的末尾并保存:
oracle soft nofile 65536
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
这是设置oracle对文件的要求。
当对/etc/sysctl.conf 文件和/etc/security/limits.conf文件修改并保存完毕后,请重新启动(reboot)redhat linux9系统,这样设置的这些参数才能生效。
如果此时进入到/proc/sys/kernel路径,用上述的命令再次查看,就会看到设置的参数已经生效。
2.创建oracle用户帐号和安装目录