RHEL 6.4下安装Oracle 11.2.0.3
1 软件版本
数据库:11.2.0.3.0 - 64bit 操作系统:RHEL6.4 x86_64
2 硬件配置
2.1 Swap
下图是官方建议的交换内存设置:
如果物理内存足够大,根本就不需要交换内存了。为了让oracle安装脚本运行成功,可以设置一个很小的交换分区。安装操作系统时就应该把交换内存设置好。
如果安装操作系统时候没有建立交换分区,或者交换分区不够,导致无法启动oracle安装脚本,可以使用以下两种办法解决:
(1)当前还有多余的空余磁盘分区 卸掉使用的交换内存:
[root@huida ~]# swapoff -v /dev/sdb2 挂载新的交换内存
[root@huida ~]# swapon -v /dev/sdb3 (2)没有了多余的空闲分区
如果安装系统时交换分区设置得太小,而且没有多余的磁盘分区,可以手动建立交换文件,充当交换分区。
建立交换文件,文件包括2000个块,块大小是1m,所以文件大小是2G: [~]#dd if=/dev/zero of=/root/swapfile count=2000 bs=1024k 格式化交换文件: [~]#mkswap /root/swapfile 挂载交换文件: [~]#swapon /root/swapfile
于是,交换内存就在原来的基础上增加了2G。 设置为开机自动挂载:
echo “/root/swapfile swap swap defaults 0 0” >> /etc/fstab
注意:一般情况下,只有的确存在问题(例如oracle安装启动脚本无法运行)时,才改变交换分区
2.2 /tmp可用空间确认
/tm剩余空间大小需要在1G以上 使用如下命令确认: [~]#df -h /tmp
文件系统 容量 已用 可用 已用%% 挂载点 /dev/sda1 28G 16G 11G 59% /
2.3 磁盘空间
简单测试使用,30g足够;生产环境使用,自然越多越好。
2.4 内存
最小512m,越大约好
在RHEL上需要着重关注shmfs文件系统: [~]#df –h //查看当前的shmfs文件系统大小 文件系统 容量 已用 可用 已用%% 挂载点 /dev/sda1 28G 14G 13G 51% / shmfs 200M 0 200M 0% /dev/shm
注意:shmfs文件系统大小一般是物理内存的一半,如果准备分配给oracle的内存(memory_target)大于物理内存的一半,就需要使用下面的命令重新分配shmfs大小:
[root@huida ~]# mount -t tmpfs shmfs -o size=300m /dev/shm 写入开机启动文件:
[~]#echo \/dev/shm\>> /etc/rc.local
或者:echo \ /dev/shm tmpfs rw,size=1000m 0 0\ >> /etc/fstab
注意:在rc.local文件中,自动挂载命令必须写在oracle启动脚本之前,否则会影响oracle启动。
3 关闭相关服务
测试环境下,为避免不必要的麻烦,关闭防火墙,关闭selinux,重启系统
3.1 关闭防火墙
#service iptables stop #chkconfig iptables off #service ip6tables stop #chkconfig ip6tables off
3.2 关闭SELINUX
编辑 SELinux 配置文件 #vi /etc/selinux/config,将 SELINUX 的值设为 disabled,如下: SELINUX=disabled;
修改该文件可使重启系统后不启动 SELinux。关闭当前已开启的 SELinux 使用如下命令: #setenforce 0
查看SELinux状态:
1、/usr/sbin/sestatus -v ##如果SELinux status参数为enabled即为开启状态 SELinux status: enabled
2、getenforce ##也可以用这个命令检查
关闭SELinux:
1、临时关闭(不用重启机器):
setenforce 0 ##设置SELinux 成为permissive模式
##setenforce 1 设置SELinux 成为enforcing模式
2、修改配置文件需要重启机器: 修改/etc/selinux/config 文件
将SELINUX=enforcing改为SELINUX=disabled
4 安装包检查:
检查下列rpm包是否已经安装:
rpm -qa libaio mksh unixODBC unixODBC-devel libstdc++ libstdc++-devel libgcc gcc gcc-c++ sysstat binutils make libaio-devel glibc
glibc-devel glibc-headers glibc-common elfutils-libelf elfutils-libelf-devel setarch compat-libstdc++-33 pdksh
在安装操作系统时,上面的包多数都安装了,少数几个可能需要安装(比如
libaio,libaio-devel,setarch, pdksh),如果在安装光盘里找不到,可以上网下载对应版本的包,下载链接:http://rpm.pbone.net。部分安装包也可以在ISO文件的Packages目录下找到。
// 在Packages下有
#rpm -ivh mksh-39-7.el6.x86_64.rpm
#rpm -ivh unixODBC-2.2.14-12.el6_3.x86_64.rpm
#rpm -ivh compat-libstdc++-33-3.2.3-69.el6.x86_64.rpm // 也可以像下面一样安装
#yum -y install gcc-4.4.7-3.el6.x86_64.rpm // 需下载
#rpm -ivh libaio-devel-0.3.107-10.el6.x86_64.rpm #rpm -ivh elfutils-libelf-devel-0.152-1.el6.x86_64.rpm #rpm -ivh libstdc++-devel-4.4.7-3.el6.x86_64.rpm #rpm -ivh gcc-c++-4.4.7-3.el6.x86_64.rpm #rpm -ivh pdksh-5.2.14-37.el5.x86_64.rpm
// 安装所有运行库/开发库
#yum groupinstall \// 安装输入法
#yum groupinstall \
5 配置相关参数和oracle帐号。
5.1 配置内核参数
vi /etc/sysctl.conf, 在末尾添加如下参数(有的参数可能已经有了): fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 2097152
kernel.shmmax = 17179869184 //此数代表单个共享内存块最大大小,可以设置为80%内存大小,单位字节
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 = 1048576
注意:上面这些参数有的已经有默认值了,如果默认值比上面列出的大,就不要再把他调小了。
保存并使之生效: sysctl -p
如果有如下提示错误,忽略,因为即使未修改参数也可能会提示有这个错误 error: \error: \error: \
5.2 进行安装用户的资源限制
vi /etc/security/limits.conf,对oracle帐号进行资源限制,添加下面内容到末尾: oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 oracle soft stack 10240
5.3 配置登录认证pam模块
vi /etc/pam.d/login,配置登录认证pam模块,添加下面内容到末尾: session required pam_limits.so /lib64/security/pam_limits.so
5.4 设定bash和ksh资源限制
(为oracle用户在bash和ksh中设定资源限制。编辑文件vi /etc/profile,添加下列内容至末尾:
if [ $USER = \if [ $SHELL = \#ulimit -p 16384 ulimit -n 65536 else
ulimit -u 16384 -n 65536 fi fi
5.5 C shell 登录配置
vi /etc/csh.login,添加: if( $USER == \limit maxproc 16384 limit descriptors 65536 umask 022
endif
5.6 添加相关用户组及用户:
groupadd oinstall groupadd dba
useradd -g oinstall -G dba -d /u01 oracle //把/u01设置为软件基目录 chown -R oracle:oinstall /u01 passwd oracle //设置oracle帐号密码
6 用oracle帐号登录:
用oracle帐号登录,建立相关目录,配置相关环境变量: $mkdir /u01/oracle
$mkdir /u01/oracle/oraInventory $vi /u01/.bash_profile ORACLE_BASE=/u01/oracle ORACLE_HOME=$ORACLE_BASE/soft LD_LIBRARY_PATH=$ORACLE_HOME/lib
ORACLE_SID=orcl #实例名,尽量不要超过八位,否则数据库名会被截断 #NLS_LANG='SIMPLIFIED CHINESE_CHINA.ZHS16GBK' NLS_LANG='SIMPLIFIED CHINESE_CHINA.AL32UTF8'
LANG=zh_CN.UTF-8 #设置好这个环境变量,否则安装时会出现乱码 #NLS_LANG=American_America.ZHS16GBK #LANG=en_US
#英文版用这个
PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_BASE ORACLE_HOME LD_LIBRARY_PATH ORACLE_SID PATH LANG NLS_LANG 使环境变量生效:
$source ~/.bash_profile
$mkdir /u01/soft //创建软件安装包存放目录
使用oracle帐号,上传软件安装包到oracle目录/u01/soft
[oracle.11.2.0.3.linux.64.bit].[oracle.11.2.0.3.linux.64.bit].p10404530_112030_Linux-x86-64_1of7.zip
[oracle.11.2.0.3.linux.64.bit].[oracle.11.2.0.3.linux.64.bit].p10404530_112030_Linux-x86-64_2of7.zip
解压安装包 $unzip
[oracle.11.2.0.3.linux.64.bit].[oracle.11.2.0.3.linux.64.bit].p10404530_112030_Linux-x86-64_1of7.zip
$unzip
[oracle.11.2.0.3.linux.64.bit].[oracle.11.2.0.3.linux.64.bit].p10404530_112030_Linux-x86-64_2of7.zip
注意:不要使用su oracle命令,应该用oracle帐号重新登录,登录界面中要切换到中文。