一、安装环境
我是在vmware里虚拟的RHEL5,分配的内存1G,SWAP分区1G,建议你最好把SWAP分区改成2G。否则安装时,到了测试的步骤会提示监测失败。(当然,如果你强行安装一样没问题)
注意:如果安装的过程中出现以下错误
二、安装Oracle 10g Release2 前的配置
1. 安装Oracle 10g R2所需的软件包
# cd /mnt/cdrom/Server/
# rpm -Uvh setarch-2*
# rpm -Uvh make-3*
# rpm -Uvh glibc-2*
# rpm -Uvh libaio-0*
# rpm -Uvh compat-libstdc++-33-3*
# rpm -Uvh compat-gcc-34-3*
# rpm -Uvh compat-gcc-34-c++-3*
# rpm -Uvh gcc-4*
# rpm -Uvh libXp-1*
# rpm -Uvh openmotif22-*
# rpm -Uvh compat-db-4*
其中除了openmotif22-2.2.3-18和compat-db-4.2.52-5.1在第三张盘上,其余的包都在第一张盘上。
2. 修改/etc/redhat-release文件
因为Oracle 10g官方只支持到RHEL4为止,所以需要更改版本说明,编辑/etc/redhat-release文件,删除Red Hat Enterprise Linux Server release 5 (Tikanga),改为redhat-4
3.修改内核参数
#vi /etc/sysctl.conf
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=262144
net.core.rmem_max=262144
net.core.wmem_default=262144
net.core.wmem_max=262144
使更改立即生效,使用下面的命令:
#sysctl -p
4.建立安装Oracle需要的用户,组,及目录
#groupadd oinstall
#groupadd dba
#groupadd oper
#useradd -g oinstall -G dba oracle
#passwd oracle
#mkdir /oracle
#chown -R oracle:oinstall /oracle
#chmod -R 775 /oracle
安装oracle的目录建议安装在一个单独的分区或者磁盘上。
5.设置oracle用户的shell limit
#vi /etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
接下来更改/etc/pam.d/login文件,添加下面的内容,使shell limit生效:
#vi /etc/pam.d/login
session required pam_limits.so
6.配置IP地址
安装RHEL的时候最好采用静态IP地址,如果当时选择的是DHCP,现在需要更改/etc/sysconfig/network-scripts/ifcfg-eth0文件
[root@TSM54-Test network-scripts]# cat ifcfg-eth0
# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth0
BOOTPROTO=static
HWADDR=00:0C:29:4B:17:C4
ONBOOT=yes
IPADDR=192.168.68.98
NETMASK=255.255.255.0
GATEWAY=192.168.68.10
7.配置oracle用户的环境变量
下面的操作,该用oracle用户登陆执行了。
为了防止安装oracle时出现乱码,先把语言环境改为英文,在终端里输入:
[oracle@TSM54-TEST ~]$export LC_CTYPE=en_US.UTF-8
接下来,编辑/home/oracle目录下的.bash_profile文件,添加如下内容:
export ORACLE_BASE=/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_SID=orcl
export PATH=$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export CLASSPATH
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi