最近因为工作需要,在Debian GNU/Linux安装了Oracle 9i。Debian代号sarge,版本号release 3.1,testing发行。Oracle代号9ir2,版本号9.2.0.4。安装文件名称为ship_9204_linux_disk1.cpio.gz ship_9204_linux_disk2.cpio.gz ship_9204_linux_disk3.cpio.gz。需要一个补丁,文件名为p3006854_9204_LINUX.zip。Oracle 9i安装的是Enterprise Datebase。

先执行以下脚本:

#! /bin/bash
#变更内核参数
cd /proc/sys/kernel
#1G内存状况,按照需要调整
echo 4294967295 > shmmax
touch /etc/rac_on
#增加一个link,debian需要
apt-get install libstdc++-glibc ; 或者使用aptitude
cd /usr/lib
ln -s libstdc++-libc6.2-2.so.3 libstdc++-libc6.1-1.so.2
#增加用户
cd /home
mkdir oracle
groupadd dba
useradd -g dba -d /home/oracle -s /bin/bash oracle
#注意-s参数,如果不指定下面的初试化脚本不一定跑的起来
passwd -d oracle
chown -cR oracle:dba oracle
cd /usr
mkdir oracle
chown -cR oracle:dba oracle
cd /var
mkdir oracle
chown -cR oracle:dba oracle
#增加初试化脚本
cd /home/oracle
echo "export DISPLAY=''">.bash_profile
echo "export BASH_ENV=$HOME/.bashrc">>.bash_profile
echo "export LD_ASSUME_KERNEL=2.4.1">>.bash_profile
echo "ORACLE_HOME=/usr/oracle; export
ORACLE_HOME">>.bash_profile
echo "ORACLE_BASE=/var/oracle; export
ORACLE_BASE">>.bash_profile
echo "ORACLE_SID=oracle; export ORACLE_SID">>.bash_profile
echo "ORACLE_TERM=xterm; export ORACLE_TERM">>.bash_profile
echo "TNS_ADMIN=/home/oracle/config/9.0.1;
export TNS_ADMIN">>.bash_profile
echo "NLS_LANG=american_america.ZHS16GBK;
export NLS_LANG">>.bash_profile
echo "ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data;
export ORA_NLS33">>.bash_profile
echo "LD_LIBRARY_PATH=$ORACLE_HOME/lib;export
LD_LIBRARY_PATH">>.bash_profile
echo "PATH=$PATH:/bin:/usr/bin:/usr/sbin:/etc:/opt/bin:/usr/ccs/bin:/usr/openwin">>.bash_profile
echo "PATH=$PATH:/opt/local/bin:/opt/NSCPnav/bin:$ORACLE_HOME/bin">>.bash_profile
echo "PATH=$PATH:/usr/local/samba/bin:/usr/ucb">>.bash_profile
echo "export PATH">>.bash_profile
echo "CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib">>.bash_profile
echo "CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib">>.bash_profile
echo "TMPDIR=/tmp;export TMPDIR">>.bash_profile
echo "umask 022">>.bash_profile

然后,复制oracle安装程序到用户目录,执行以下脚本:

#! /bin/bash
cd /home/oracle
gunzip -dc ship_9204_linux_disk1.cpio.gz | cpio -idv --quiet &
gunzip -dc ship_9204_linux_disk2.cpio.gz | cpio -idv --quiet &
gunzip -dc ship_9204_linux_disk3.cpio.gz | cpio -idv --quiet &
#使用补丁p3006854_9204_LINUX.zip
cd /home/oracle/patch
unzip p3006854_9204_LINUX.zip
cd 3006854
chmod 755 rhel3_pre_install.sh
./rhel3_pre_install.sh
cd ..
rm p3006854_9204_LINUX.zip
rm -R 3006854
cd /home/oracle
rm ship_9204_linux_disk2.cpio.gz
rm ship_9204_linux_disk1.cpio.gz
rm ship_9204_linux_disk3.cpio.gz
cd ..
chown -cR oracle:dba oracle

最后检查临时盘大小大于400M,交换区大小大于两倍内存。

df -hT

重新登录,使用oracle。

startx

Xwindows启动后开一个console,运行以下指令。

cd Disk1
./runInstaller

谢谢观赏