以 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
现在可以连接一下试试看了。