曾经在几个月前写了一篇《RHEL 6 (x86_x64)安装oracle 11g r2》的文章。有朋友反映说安装不了,也有朋友说应该再讲得详细点。这几天有点空,加上CentOS 6.0也发布了,然后用U盘全新安装其liveCD,这回我还是选择64位版本,因为这样可以使用KVM虚拟化功能。把系统内核更新至2.6.32-71.29.1。本文同样适用于RHEL 6.0。
我的分区方案:
swap  2GB
/boot  200M
/     25G
/home  20G
这是懒人分区法。不建议这样分区,我因为磁盘不够才这样分的,至少应划出一个/opt来安装Oracle 11g,不然如果根分区不够的话系统死掉就不好了。提供一个方案(如果你的磁盘足够大):
swap  4G(可以是内存的1.5-2倍)
/boot   200M
/usr    10G
/       10G(其实5G就很够了)
/var    5G
/opt    20G
/home  
至于用于生产环境的话要/opt要大或者将数据分到另一个区。
安装程序所需的依赖包:
yum install libaio mksh unixODBC unixODBC-devel  libstdc++ libstdc++-devel libgcc
yum install compat-db
yum install compat*
yum install unixODBC-devel
yum install  libaio-devel
yum install  sysstat
下面的安装过程分为两步,一是修改系统参数,二是软件及数据库安装。
(1)vim /etc/sysctl.conf, 在末尾添加如下参数:
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 1073741824
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
保存并使之生效:
/sbin/sysctl -p
如果有如下提示错误,忽略,因为即使未修改参数也提示有这个错误
error: "net.bridge.bridge-nf-call-ip6tables" is an unknown key
error: "net.bridge.bridge-nf-call-iptables" is an unknown key
error: "net.bridge.bridge-nf-call-arptables" is an unknown key
注意: kernel.shmmax's 的值是物理内存的一半。 我的是2G内存,所以是1073741824
(2)对oracle帐号进行资源限制。vim /etc/security/limits.conf,添加:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
(3) vim /etc/pam.d/login,登录认证配置pam模块。添加参数:
session required pam_limits.so
(4) 为oracle用户在bash和ksh中设定资源限制编辑文件 /etc/profile。添加至末尾。vim /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
(5)C shell 登录配置。 vim /etc/csh.login,添加:
if( $USER == "oracle" ) then
limit maxproc 16384
limit descriptors 65536
umask 022
endif
(6)因为RHEL 6.0未经认证,所以修改为如下值,成功安装数据库后在修改回来。但这一步并非是必须的,但为了 避免安装中途出现问题,还是改好了。
vim /etc/redhat-release:
CentOS Linux release 6.0 (Final)
Red Hat Enterprise Linux Server release 5.0 (Tikanga)
(7)添加相关用户及用户组:
#groupadd dba
#groupadd oinstall
#useradd oracle -g oinstall -G dba
#passwd oracle
(8) 创建安装路径及修改权限:
mkdir -p /opt/11g/oracle
chown -R oracle:oinstall /opt/11g/oracle
chmod -R 775 /opt/11g/oracle
mkdir -p /opt/11g/oraInventory
chown -R oracle:oinstall /opt/11g/oraInventory
chmod -R 775 /opt/11g/oraInventory
(9) vim /home/oracle/.bash_profile, 其中ORACLE_SID的值可以自己定,我的设为orcl。
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_BASE=/opt/11g/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1; export ORACLE_HOME
ORACLE_SID=orcl; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;
export LD_LIBRARY_PATH
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
umask 022
使环境变量生效:
source  ~/.bash_profile
(9)切换到oracle解压11G的安装包,这样就不用再修改权限了。重启后以oracle登录开始安装。
(10)为避免错误,关闭防火墙:
     service iptables stop
登录oracle(建议选择英语语言登录,防止安装时界面中文空格乱码)安装开始:
    ./ runInstaller

100345575.png

100347519.png

100350215.png

100353369.png

100355900.png

100358245.png

100401196.png

100404286.png

100408673.png

100412254.png

100415315.png

100417583.png

100421706.png

注意,此时数据库并没有设置为随机启动,在windows下是以服务方式随机启动的。手动方式如下:
启动监听程序:lsnrctl start
启动OEM:emctl start dbconsole
附:
(1) 使用sqlplus时无法使用上下键翻看历史记录, 现在有一个工具rlwrap可以在linux下实现翻看历史命令功能:
  下载地址是:
  http://utopia.knoware.nl/~hlub/uck/rlwrap/
  解压缩:tar zxvf rlwrap-0.36.tar.gz
   安装: ./configure&&make;make install
用户配置文件配置
  # echo 'alias sqlplus="rlwrap sqlplus"'>> /home/oracle/.bash_profile
  # echo 'alias rman="rlwrap rman"'>> /home/oracle/.bash_profile
 (2)  分区时注意应考虑单独分/opt 大于6G,不信请看
[root@localhost ~]# du -sm /opt/11g
5541 /opt/11g
交换分区也应大点,但如果不是用于生产环境,忽略它也行。真正用到的不是很大。
[root@localhost ~]# free -m
total used free shared buffers cached
Mem: 2005 1932 73 0 33 821
-/+ buffers/cache: 1077 928
Swap: 4095 20 4075
 (3)对于使用RHEL 6的朋友更有更改至CentOS 6的yum源。至于一些动态库文件所需的软件包,可以到rpmfind.net等网站查找。