1.检查需要的软件包
rpm -ivh compat-libstdc++-33-3.2.3-61.x86_64.rpm
rpm -ivh compat-libstdc++-33-3.2.3-61.i386.rpm
rpm -ivh elfutils-libelf-devel-static-0.125-3.el5.x86_64.rpm elfutils-libelf-devel-0.125-3.el5.x86_64.rpm
rpm -ivh libaio-devel-0.3.106-3.2.x86_64.rpm
rpm -ivh libaio-devel-0.3.106-3.2.i386.rpm
rpm -ivh sysstat-7.0.0-3.el5.x86_64.rpm
rpm -ivh unixODBC-2.2.11-7.1.x86_64.rpm
rpm -ivh unixODBC-2.2.11-7.1.i386.rpm
rpm -ivh unixODBC-devel-2.2.11-7.1.x86_64.rpm
rpm -ivh unixODBC-devel-2.2.11-7.1.i386.rpm
rpm -ivh kernel-headers-2.6.18-53.el5.x86_64.rpm
rpm -ivh glibc-headers-2.5-18.x86_64.rpm
rpm -ivh glibc-devel-2.5-18.x86_64.rpm
rpm -ivh glibc-devel-2.5-18.i386.rpm
rpm -ivh libXp-1.0.0-8.1.el5.x86_64.rpm
rpm -ivh libXp-1.0.0-8.1.el5.i386.rpm
rpm -ivh libXau-devel-1.0.1-3.1.x86_64.rpm
rpm -ivh libXp-devel-1.0.0-8.1.el5.x86_64.rpm
rpm -ivh libXp-devel-1.0.0-8.1.el5.i386.rpm
rpm -ivh libgomp-4.1.2-14.el5.x86_64.rpm
rpm -ivh gcc-4.1.2-14.el5.x86_64.rpm

2.修改内核参数:

A.编辑文件 /etc/sysctl.conf,修改以下项目,如果没有可以自己添加。

# 可以使用的共享内存的总量。
kernel.shmall = 4294967296
# 最大共享内存段大小。
kernel.shmmax = 68719476736
# 整个系统共享内存段的最大数目。
kernel.shmmni = 4096
# 每个信号对象集的最大信号对象数;系统范围内最大信号对象数;每个信号对象支持的最大操作数;系统范围内最大信号对象集数。
kernel.sem = 250 32000 100 128
# 系统中所允许的文件句柄最大数目。
fs.file-max = 65536
# 应用程序可使用的IPv4端口范围。
net.ipv4.ip_local_port_range = 1024 65000
# 套接字接收缓冲区大小的缺省值
net.core.rmem_default = 1048576
# 套接字接收缓冲区大小的最大值
net.core.rmem_max = 1048576
# 套接字发送缓冲区大小的缺省值
net.core.wmem_default = 262144
套接字发送缓冲区大小的最大值
net.core.wmem_max = 262144 #
注:内核参数并非必须修改,可以根据自己实际情况而定。
使修改生效
#sysctl -p

B.编辑 /etc/security/limits.conf ,加入以下内容:
oracle               soft    nproc   2047
oracle               hard    nproc   16384
oracle               soft    nofile  1024
oracle               hard    nofile  65536

C.编辑 /etc/pam.d/login ,加入以下内容:
session    required     /lib/security/pam_limits.so

D.编辑 /etc/selinux/config,确认以下内容存在并打开(如没有则添加在最后)
SELINUX=disabled

E.添加以下内容到/etc/profile
# vi /etc/profile
if [ $USER = "oracle" ]; then
    if [ $SHELL = "/bin/ksh" ]; then
        ulimit -p 16384
        ulimit -n 65536
    else
        ulimit -u 16384 -n 65536
    fi
fi

3.修改Linux发行版本信息
由于Oracle 10g发行的时候,RedHat Enterprise Linux 5没有发行,所以Oracle 10g并没有对RedHat Enterprise Linux 5确认支持,我们有两种方法可以让Oracle 10g支持RedHat Enterprise Linux 5。
方法一:
我们需要手工修改Linux的发行注记,让Oracle 10g支持RedHat Enterprise Linux 5。
编辑/etc/RedHat-release文件
#cp  /etc/redhat-release /etc/redhat-release.bak
vi /etc/redhat-release
将其中的内容Red Hat Enterprise Linux Server release 5 (Tikanga)修改为Red Hat Enterprise Linux AS release 4 (Nahant Update 4)
方法二:
还有文章说修改Oracle安装包中install/oraparam.ini文件的内容,也可以让Oracle 10g支持RedHat Enterprise Linux 5,修改方法如下:
# vi install/oraparam.ini
在其中的Certified Versions段落增加RedHat-5
#[Certified Versions]
Linux=RedHat-3,SUSE-9,redhat-4,redhat-5,UnitedLinux-1.0,asianux-1,asianux-2]
再添加
[Linux-RedHat-5.0-optional]
TEMP_SPACE=80
SWAP_SPACE=150
MIN_DISPLAY_COLORS=256
经我测试,发现方法二在安装之前的系统检测过程可以通过,但是在安装过程中的系统支持检测无法通过,不知道是不是我设置的有问题,希望有高手可以给我点提示。

4. 创建oracle所需的组、用户,设定oracle用户环境变量
A.创建oracle所需的组
#groupadd -g 1001 dba
#groupadd -g 1000 oinstall
#useradd -u 2000 -g oinstall -G dba -m oracle
#passwd oracle
B.创建oracle安装所需的目录:
#mkdir -p /u01/app/oracle/product/10.2.0/db_1
#
C.修改oralce安装文件所在目录的组属性,一会儿要用oracle用户运行安装的:
#chown -R oracle:oinstall /u01/app/oracle/product/10.2.0/db_1(然后一个目录一个目录确认权限)
chown oracle:oinstall /u01
cd /u01
chown -R oracle:oinstall *
创建安装时候需要的/DISCARD/
[root@oracle-test ~]# mkdir -p /DISCARD/
[root@oracle-test ~]# chown -R 2000:1000 /DISCARD/
D.修改oracle用户的环境变量(vi /home/oracle/.bash_profile)
ORACLE_SID=mmdsdb; export ORACLE_SID
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1; export ORACLE_HOME
JAVA_HOME=$ORACLE_HOME/jdk; export JAVA_HOME
ORACLE_TERM=xterm; export ORACLE_TERM
NLS_DATE_FORMAT="DD-MON-YYYY HH24:MI:SS"; export NLS_DATE_FORMAT
TNS_ADMIN=$ORACLE_HOME/network/admin; export TNS_ADMIN
ORA_NLS11=$ORACLE_HOME/nls/data; export ORA_NLS11
PATH=.:${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin
PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export CLASSPATH
export TEMP=/tmp
export TMPDIR=/tmp
umask 022
NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export NLS_LANG
EDITOR=/bin/vi
export EDITOR

5.根据图形界面提示安装
A.解压缩安装文件
Oracle的安装包有这样几种格式:
(1) zip
这种格式最好解压缩,直接使用命令unzip 文件名即可
(2) cpio.gz
这种格式有这样几种解压缩方式
a.  # zcat 10201_database_linux_x86_64.cpio.gz | cpio -idmv
b.  # gunzip 10201_database_linux_x86_64.cpio.gz解压出XXXX.cpio文件
然后再 # cpio -idvm < 10201_database_linux_x86_64.cpio
解压缩完成后,设置oracle帐户可以操作安装文件所在的目录

B. 用oracle帐户进入安装文件所在目录,执行如下命令即可看到安装界面:
$ ./runInstaller
如果无法看到安装界面,请使用root帐户执行如下命令后再运行安装程序:
# export DISPLAY=IP:0.0
# xhost +
$ ./runInstaller
出现安装界面后,根据界面提示进行相关的设置,我的建议是在安装过程中不创建数据库,只安装程序,监听和创建数据库等安装完成后再进行相关的操作。
安装过程中,需要使用root权限执行两个脚本。
C. 安装完成后,将/etc/RedHat-release文件中的内容修改回Red Hat Enterprise Linux Server release 5 (Tikanga)

6.设置oracle开机启动启动
A、编辑 /etc/oratab,把所有的 instance 的重启动标志设置成 'Y',如:
fstest:/oracle/product/ 10.2.0:Y
B.脚本
#!/bin/sh  
# description: Oracle auto start-stop script.  
# chkconfig: - 20 80 
#  
# Set ORACLE_HOME to be equivalent to the $ORACLE_HOME  
# from which you wish to execute dbstart and dbshut;  
#  
# Set ORA_OWNER to the user id of the owner of the  
# Oracle database in ORACLE_HOME
ORACLE_BASE=/u01/app/oracle 
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
ORA_OWNER=oracle  
if [ ! -f $ORACLE_HOME/bin/dbstart ]  
then  
echo "Oracle startup: cannot start" 
exit  
fi  
case "$1" in  
'start')  
# Start the Oracle databases:  
# The following command assumes that the oracle login  
# will not prompt the user for any values  
su - $ORA_OWNER -c $ORACLE_HOME/bin/dbstart  
su - $ORA_OWNER -c "$ORACLE_HOME/bin/lsnrctl start" 
;;  
'stop')  
# Stop the Oracle databases:  
# The following command assumes that the oracle login  
# will not prompt the user for any values  
su - $ORA_OWNER -c "$ORACLE_HOME/bin/lsnrctl stop" 
su - $ORA_OWNER -c $ORACLE_HOME/bin/dbshut  
;;  
'restart')  
$0 stop  
$0 start  
;;  
esac 
赋予权限:
chmod 750 /etc/init.d/dbora
chkconfig --level 345 dbora on