本文是我在
Red Hat 7.1 (内核版本:2.4.2-2 )和 7.2(内核版本:2.4.7-10) 上安装
Oracle 9i (9.0.1) 数据库的总结,如果需要更多的信息请参考 Oracle 的文档: Oracle9i Database Documentation for Linux。
需要说明的是, 7.1 已经得到了 9i 和 9iAS 的验证,可以参考: ” Red Hat Announces Validation Of Red Hat Linux For Oracle”,但是截止到 2001年年底,7.2 的验证还是没有通过。
下载 9i 并刻录 CD
Oracle9i for Linux 可以从下面的站点下载:
http://otn.oracle.com/software/products/oracle9i/htdocs/linuxsoft.htm
Oracle 并不提供这些文件的校验和,下面是我产生的校验和:
$ md5sum Linux9i_Disk1.cpio.gz
Linux9i_Disk2.cpio.gz Linux9i_Disk3.cpio.gz
f1a99eb8c8aca1d69a9eeaa8858570d7
Linux9i_Disk1.cpio.gz
f2444c0fa53c898e7d2f78c184829d7d
Linux9i_Disk2.cpio.gz
ec655402d8bc547ed031f14122da574b
Linux9i_Disk3.cpio.gz
解开压缩文件:
gunzip Linux9i_Disk1.cpio.gz
Linux9i_Disk2.cpio.gz Linux9i_Disk3.cpio.gz
解开打包文件:
cpio -idmv < Linux9i_Disk1.cpio
cpio -idmv < Linux9i_Disk2.cpio
cpio -idmv < Linux9i_Disk3.cpio
可以得到三个安装文件的目录:
Disk1
Disk2
Disk3
我用外置 USB 的 HP-8230e 刻录机,烧出这三张光盘(并非必须的步骤):
mkisofs -r Disk1 |
cdrecord -v –eject dev=0,0,0 speed=4 –
mkisofs -r Disk2 | cdrecord -v –eject dev=0,0,0 speed=4 –
mkisofs -r Disk3 | cdrecord -v –eject dev=0,0,0 speed=4 –
(设备号可以通过执行 cdrecord -scanbus 得到)。
交换空间
Oracle 推荐的交换空间大小为物理内存的两倍或者最少 512MB,采用两者之中大的那个值。我建议使用更多的交换空间,特别是你有其他的程序运行在 Oracle 服务器上时,我的 PC 有 256MB 内存,我使用了 600MB 的交换空间。如果在安装 Oracle 时没有足够的交换空间,特别是在建库时,将会导致系统几分钟没有任何反应。
检查交换空间:
cat /proc/swaps
增加交换空间:
dd if=/dev/zero
of=tmpswap bs=1k count=300000
chmod 600 tmpswap
mkswap tmpswap
swapon tmpswap
“binutils” RPM 版本的问题
7.1 和 7.2 随带的 binutils RPM 包使 9i 的 Universial Installer 不能跑起来,也没有更新的版本能解决这个问题,你可以有两个选择:
下载下面版本的 RPM 包,“降级” Oracle 服务器上的 binutil :
ftp://ftp.
RedHat.com/pub/redhat/
linux/7.0/en/os/i386/RedHat/RPMS/
binutils-2.10.0.18-1.i386.rpm
安装:
rpm -Uvh –force –nodeps binutils-2.10.0.18-1.i386.rpm
安装完 Oracle 后,别忘了把 binutil 升级回去。
另外一个简单的办法时在安装中等待出现下面的错误,然后手工修复:
“Error invoking target install of makefile /
opt/oracle/product/9.0.1/
plsql/lib/ins_plsql.mk”
请参考 Running Oracle Installation 以及 Oracle Installation Errors ,我推荐使用第二种方法。
安装 JDK
下载 JDK 1.3.1 或者 Blackdown 1.1.8_v3(我总是使用 Blackdown ,这是 Oracle 以前推荐给 Linux 用户的)。