Oracle安装
安装前准备
检查AS5的SWAP分区,最好大于2G,否则会出现警告,强行安装也可以;不要使用防火墙和selinux。
把oracle的安装包放在/data/soft目录上(安装包存放路径可自由创建), 解压文件。 安装程序下载:
10.2.0.1版本:10201_database_linux32.zip
10.2.0.4升级补丁:p6810189_10204_Linux-x86.zip
安装前的配置
检查补丁
首先请安装本文档中《RedHat AS5 安装手册》文档安装linux,安装过程中有的需
要安装其他的依赖包,可以看提示安装依赖包在安装所需要的软件包,安装不成功的,可以尝试多安装一次,有些错误可以忽略
从对应光盘中找到并安装以下所需要的软件包:
注:安装操作系统时候如将开发组件全部选择上之后,可省略该步骤。 # 从RedHat AS5 光盘1 cd /media/cdrom/Server rpm -Uvh setarch-2* rpm -Uvh make-3* rpm -Uvh glibc-2* rpm -Uvh libaio-0*
# 从RedHat AS5 光盘2 cd /media/cdrom/Server
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*
# 从RedHat AS5 光盘3 cd /media/cdrom/Server rpm -Uvh openmotif-2* rpm -Uvh compat-db-4*
修改系统版本
因为oracle 的官方只支持到RHEL4为止,所以要修改版本说明,把Red Hat
Enterprise Linux Server release 5 (Tikanga) 注释掉,前面加上一行redhat-4,当然oracle安装完成后,要修改回来。redhat-4 必须为redhat-release文件的第一行,否则安装时还会报警告 # vi /etc/redhat-release
第 1 页 共 27 页
redhat-4
#Red Hat Enterprise Linux Server release 5 (Tikanga)
设置内核参数
修改sysctl.conf 文件
Root用户操作 # vi /etc/sysctl.conf
在末行修改并添加以下内容到文件中: kernel.shmmax = 2147483648 kernel.shmall = 2097152 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
(或者)/sbin/sysctl –p
注:重要参数说明 kernel.shmmax:
表示最大共享内存,如果小的话可以按实际情况而定,建议设大点,32Bit Linux 系统设置shmmax 为32Bit 最大的限制值,也就是4G。 1-4G 的物理内存,可以直接设置shmmax 为最大物理内存。
本测试环境是 2G 物理内存,故将该值设置为 1024*1024*1024*2=2147483648 1024*1024*1024*6=6442450944 kernel.shmall:
控制共享内存页数。Linux共享内存页大小为 4KB,共享内存段的大小=共享内存页大小*共享内存页数。一个共享内存段的最大大小是 16G,需要共享内存页数 16GB/4KB=16777216KB/4KB=4194304(页)。如果你的内存不超过 8G,那么 8GB/4KB=8388608KB/4KB=2097152(页)。个人认为如果你的内存大小不超过 8G,就默认使用 2097152 大小;如果内存大小为 16G, 则需要调大 kernel.shmall 参数至 4194304 kernel.shmmni:
内核参数是共享内存段的最大数量,缺省值 4096,一般肯定是够用了 kernel.sem:
4个数据分别对应
SEMMSL SEMMNS SEMOPM SEMMNI
SEMMSL应该设置为服务器中各个实例中最大的PROCESSES参数+10,例如,当最大的
第 2 页 共 27 页
PROCESSES参数为240时,SEMMSL应设置为250。
SEMMNS参数应设置为SEMMSL*SEMMNI,接上例SEMMSL为250,SEMMNS参数应为(250*128)=32000。
SEMOPM参数应设置与SEMMSL参数相同,接上例此处应设置为100
设置oracle用户的shell limit
这个步骤是为 Oracle 用户设定 Shell 的限制。一般来说,出于性能上的考虑,还需要进行 如上的设定,以便改进 Oracle 用户的有关 nofile(可打开的文件描述符的最大数)和 nproc(单个用户可用的最大进程数量) 的设定
修改/etc/security/limits.conf 在文件末尾添加以下内容: #vi /etc/security/limits.conf * soft nproc 2047 * hard nproc 16384 * soft nofile 1024 * hard nofile 65536
修改sysctl.conf 文件
修改/etc/pam.d/login文件
在文件末尾增加下面的内容到文件 /etc/pam.d/login 中,使shell limit生效: # vi /etc/pam.d/login
session required /lib/security/pam_limits.so
第 3 页 共 27 页
检查selinux
因为SELINUX对oracle有影响,所以把secure linux设成无效,编辑文件 /etc/selinux/config #vi /etc/selinux/config 添加或修改以下内容 SELINUX=disabled
确保文件内容如下图所示
也可以用图形界面下的工具 (系统 > 管理 > 安全级别和防火墙)。选择SELinux页面并且设为无效
至此,关于对操作系统内核的修改基本完成
新增组和用户
Root用户操作 # groupadd oinstall # groupadd dba
# useradd -g oinstall -G dba oracle # id oracle
# passwd oracle
输入两次相同的密码。
创建Oracle的安装目录,并把权限付给oracle用户 mkdir –p /data/oradata 创建存放文件目录 chmod -R 777 /data/
mkdir -p /data/oracle 创建安装目录 chown -R oracle.oinstall /data/oracle/ chmod -R 775 /data/oracle/
为安装文件夹进行权限准备:
将 ZIP 文件解压缩,ZIP 存放在/data/soft/目录下,我们继续使用 root账户将其解压缩(10.2.0.1版本的安装包) # cd /data/soft
# unzip 10201_database_linux32.zip
解压缩完成,如发现 oracle 用户对 database 文件夹没有写权限,做以下修改 # cd /data/soft
# chown -R oracle:oinstall database/
第 4 页 共 27 页
配置oracle用户的环境变量(.bash_profile): 下面的操作,必须用oracle用户登陆执行 # su - oracle
为了防止安装oracle时出现乱码,先把语言环境改为英文,在终端里输入: [oracle@TSM54-TEST ~]$export LANG=en_US
接下来,编辑修改主目录(/home/oracle)下的.bash_profile,在末尾添加如下内容: # vi /home/oracle/.bash_profile
注:红色为安装路径和SID 这步一定不能错!
# Oracle Settings
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_BASE=/data/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/10.2/db_1; export ORACLE_HOME ORACLE_SID=orcle10; export ORACLE_SID ORACLE_TERM=xterm; export ORACLE_TERM PATH=$PATH:$ORACLE_HOME/bin; export PATH
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib;export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JREORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
if [ $USER = \if [ $SHELL = %ulimit -p 16384 ulimit -n 65536 else
ulimit -u 16384 -n 65536 fi fi 注意
#里面的SID在安装数据库时候如果修改了,安装完后必须到环境变量总重新修改SID,这一点务必注意。
ORACLE_BASE 和 ORACLE_HOME 根据需要设置为你自己的目录即可 ORACLE_SID 根据需要设置成你自己的实例名 修改完用:source .bash_profile生效。
第 5 页 共 27 页