一、硬件要求
1、内存 & swap
Minimum: 1 GB of RAM
Recommended: 2 GB of RAM or more
检查内存情况
# grep MemTotal /proc/meminfo
# grep SwapTotal /proc/meminfo
2、硬盘
由于CentOS安装后差不多有4~5G,再加上Oracle等等的安装,所以请准备至少10G的硬盘空间。
检查磁盘情况
# df -h
二、软件
系统平台:CentOS 6.3(x86_64)
CentOS-6.3-x86_64-bin-DVD1.iso
Oracle版本:Oracle 10g R2
10201_database_linux_x86_64.cpio
补丁:p6810189_10204
p6810189_10204_Linux-x86-64.zip
三、系统安装注意
系统安装时一定要安装桌面模式,否则无法安装oracle,另外请勿开启SELinux,oracle官方不建议使用SELinux,CentOS的防火墙也请暂时关闭,减少安装时的困扰。为防止Oracle安装过程中出现乱码,建议使用英文作为系统语言,进行Oracle的安装工作。
本文中所描述的系统命令,未经特殊标示,均为“#”代表root权限,“$”代表oracle权限。
四、安装Oracle前的系统准备工作
首先,请先以root账号登入作一些前置设定作业。
1、关闭防火墙、禁用SELinux
# setup
# vi /etc/selinux/config
修改SELINUX=disabled,然后重启。
如果不想重启系统,使用命令setenforce 0
2、安装依赖包
Oracle官方文档要求的安装包:
查看Oracle相关包是否已经安装:
用yum方式安装所需的包:
# yum -y install binutils compat-libstdc++-33 compat-libstdc++-33.i686 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc.i686 glibc-common glibc-devel glibc-devel.i686 glibc-headers ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel make sysstat
最后还需要安装libXp这个Library,这个一定要安装,否则安装Oracle时会出现java Exception。
# yum install libXp
3、创建Oracle用户与组
在这里只讨论单主机环境,不考虑RAC环境的配置。
执行以下指令以新增oracle安装时所需要的使用者与群组。
(1) 建立群组oinstall
# groupadd oinstall
(2) 建立群组dba
# groupadd dba
(3) 新增使用者oracle并将其加入oinstall和dba群组
# useradd -m -g oinstall -G dba oracle
(4) 测试oracle账号是否建立完成
# id oracle
(5) 建立oracle的新密码
# passwd oracle
4、将oracle使用者加入到sudo群组中
# vi /etc/sudoers
找到
root ALL=(ALL) ALL
这行,并且在底下再加入
oracle ALL=(ALL) ALL
输入wq!(由于这是一份只读文档所以需要再加上!)并且按下Enter
5、配置系统内核参数
# vi /etc/sysctl.conf
修改和添加以下内容:
kernel.shmall = 4294967296 //表示系统一次可以使用的共享内存总量(以页为单位)。缺省值就是2097152,通常不需要修改
kernel.shmmax = 68719476736 //定义了共享内存段的最大尺寸(以字节为单位)。缺省为32M,对于oracle来说,该缺省值太低了,通常将其设置为2G
kernel.shmmni = 4096 //用于设置系统范围内共享内存段的最大数量。该参数的默认值是 4096 。通常不需要更改
kernel.sem = 250 32000 100 128 //表示设置的信号量
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=4194304 //默认的接收窗口大小
net.core.rmem_max=4194304 //接收窗口的最大大小
net.core.wmem_default=262144 //默认的发送窗口大小
net.core.wmem_max=262144 //发送窗口的最大大小
会有一些与目前的参数重复的,就修改成文件上提供的。
编辑完之后,储存,然后执行:
# sysctl –p
启用刚刚所做的变更。
6、编辑/etc/security/limits.conf
# vi /etc/security/limits.conf
添加以下四行
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
7、编辑/etc/pam.d/login
# vi /etc/pam.d/login
添加以下两行
session required /lib64/security/pam_limits.so
session required pam_limits.so
8、修改/etc/profile
# vi /etc/profile
将以下代码新增到profile档案中。
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
9、修改Linux发行版本信息
由于Oracle 10g发行的时候,CentOS 6没有发行,所以Oracle 10g并没有对CentOS 6确认支持,需要修改文件让Oracle 10g支持CentOS 6。
我们需要手工修改Linux的发行注记,让Oracle 10g支持CentOS 6。
编辑/etc/redhat-release文件
# vi /etc/redhat-release
将其中的内容CentOS release 6.3 (Final)修改为redhat 4
10、创建Oracle安装文件夹以及数据存放文件夹
#mkdir /opt/oracle
#mkdir /opt/oracle/102
#chown -R oracle:dba /opt/oracle
11、配置Linux主机
检查/etc/hosts文件中是否有localhost的记录(指向127.0.0.1即可),若没有的话,在后面配置Oracle监听的时候会出现一些问题,导致无法启动监听,在此手工添加此记录即可。
第一阶段到此完毕,接下来,完成这些设定之后,请先注销root账号,并且以oracle账号再次登入系统。
12、配置oracle用户环境变量
$ cd /home/oracle
$ vi .bash_profile
修改并加入以下