以 root 身份执行以下命令:


 # 设置临时交换分区(当交换空间不足时用, 建议重新分区更佳)
 # 设置为 1G, 请根据实际需要设置
 #dd if=/dev/zero of=/tempswap bs=1k count=1048576
 #chmod 600 /tempswap
 #mkswap /tempswap
 #swapon /tempswap
 # 得到一个 1G 的临时缓冲区

 # 设置共享内存
 # 这里设置为 4G, 请根据实际情况设置
 # 建议永久增加共享内存最大值, 如下操作:
 echo '
# Set this for Oracle9i
kernel.shmmax = 4294967295' >> /etc/sysctl.conf
 # 上面的设置要重启动机器才会生效, 所以还要这样设置一下
 expr 1024 \* 1024 \* 1024 \* 4 - 1 > /proc/sys/kernel/shmmax
 # 最大共享内存被设置为 4G

 # 创建 Oracle 用户和组
 # 拥有 SYSDBA 权限的用户组
 groupadd dba
 # Oracle 系统的文件属主组
 groupadd oinstall
 useradd -c "Oracle software owner" -g oinstall -G dba oracle
 passwd oracle
 # 得到 dba 和 oinstall 两个组, 用户 oracle 属于 oinstall 组, 且具有 dba 组属性

 # 创建 Oracle 相关目录
 mkdir /home/oracle/product
 mkdir /home/oracle/product/9.2.0.4.0
 chown -R oracle.oinstall /home/oracle/product
 mkdir /var/oracle
 chown -R oracle.dba /var/oracle
 chmod -R 755 /var/oracle
 # 得到 /home/oracle/9.2.0.4.0 目录, 用来存放安装后的系统文件
 # 得到 /var/oracle 目录, 用来存放数据文件

--------------------------------------------------------------

以 oracle 用户身份登录,将以下命令加到 ~/.bash_profile 末尾:

 # 仅在启用了 New Posix Thread Library 的系统上需要(如 RH9)
 export LD_ASSUME_KERNEL=2.4.1

 # Oracle 环境变量
 export ORACLE_BASE=/home/oracle
 export ORACLE_HOME=/home/oracle/product/9.2.0.4.0
 # ORACLE_SID 根据实际情况自行设置
 export ORACLE_SID=rubia
 export ORACLE_TERM=xterm
 export NLS_LANG=american_america.ZHS16GBK
 export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
 export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib

 export PATH=$PATH:$ORACLE_HOME/bin

 umask 022
 export LANG="en_US"

 CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
 CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib
 export CLASSPATH

然后重新登录,以使设置生效。

执行以下命令解开下载的 Oracle9i

 # 解开下载的 oracle
 zcat Linux9i_Disk1.cpio.gz | cpio -idmv
 zcat Linux9i_Disk2.cpio.gz | cpio -idmv
 zcat Linux9i_Disk3.cpio.gz | cpio -idmv
 # 应该得到 Disk1, Disk2, Disk3 三个目录, 内含安装文件

运行 Disk1/runInstaller,按提示进行即可。
注意:将 Oracle 数据安装到 /var/oracle。这是唯一改变默认项的地方。

最后还要复制一个文件(TNND,一定是ORACLE的BUG):
 $ORACLE_BASE/admin/rubia/pfile/initrubia.ora.xxxxxxxxxxx   # 最后的 x 是一串奇怪的的数字。
把它复制到:
 $ORACLE_HOME/dbs/initrubia.ora

现在安装完毕。为了使用 dbstart 和 dbshut ,以 root 身份修改文件: /etc/oratab
找到这样的行: rubia:/home/oracle/product/9.2.0.4.0:N
将行尾的 N 改为 Y

切换回 oracle 身份(不要用 root 啊,否则会有无穷无尽的麻烦),运行 $ORACLE_HOME/bin/dbstart

现在可以连接一下试试看了。