CentOS 安装 Oracle 11g R2

Oracle数据库11g版本2企业版提供了业界领先的性能、可伸缩性、安全性和可靠性在选择的集群或单一服务器运行,它提供全面的特性来轻松地管理最苛刻的事务处理,商业智能和内容管理应用程序,附带了一个广泛的的选择范围,扩展世界排名第一的数据库,帮助发展你的业务和满足你的用户的性能、安全性和可用性服务水平的期望。

配置主机名

# vim /etc/sysconfig/network

HOSTNAME=orcl.123admin.com

# vim /etc/hosts

192.168.1.100 orcl.123admin.com oracle

# service network restart

关闭selinux

# vim /etc/selinux/config

SELINUX=disabled

# reboot

添加用户

# groupadd oinstall
# groupadd dba
# groupadd oper
# useradd -g oinstall -G dba,oper oracle
# passwd oracle

查看oracle用户和组是否正确

# id oracle

如果出现如下输出则表明正确

uid=500(oracle) gid=500(oinstall) groups=500(oinstall),501(dba),502(oper)

修改内核参数

# vim /etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
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

最大:kernel.shmmax 参数值为内存总字节数减去1
建议:超过内存总容量的一半
注意:sysctl.conf中kernel.shmmax,kernel.shmall已经有了,建议注释掉,不注释掉的话,也可以,但要将新添加的参数放在下面,这样可以覆盖原有的参数。

# sysctl -p

安装所需程序包

第一种方法:
# yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33.i686 elfutils-libelf-devel gcc gcc-c++ glibc.i686 glibc glibc-devel glibc-devel.i686 ksh libgcc.i686 libgcc libstdc++ libstdc++.i686 libstdc++-devel libstdc++-devel.i686 libaio libaio.i686 libaio-devel libaio-devel.i686 make sysstat unixODBC unixODBC.i686 unixODBC-devel unixODBC-devel.i686

上面的不方便阅读,就用下面的命令

# yum -y install \
binutils \
compat-libcap1 \
compat-libstdc++-33 \
compat-libstdc++-33.i686 \
elfutils-libelf-devel \
gcc \
gcc-c++ \
glibc.i686 \
glibc \
glibc-devel \
glibc-devel.i686 \
ksh \
libgcc.i686 \
libgcc \
libstdc++ \
libstdc++.i686 \
libstdc++-devel \
libstdc++-devel.i686 \
libaio \
libaio.i686 \
libaio-devel \
libaio-devel*.i686 \
make \
sysstat \
unixODBC \
unixODBC.i686 \
unixODBC-devel \
unixODBC-devel.i686

注意:安装到第18步会提示缺少pdksh包,pdksh和ksh都可以,默认安装一个就可以了,因为已经安装了ksh,就不需要安装pdksh,直接忽略这个报错就可。

第二种方法:

也可以使用oracle官方yum库安装依赖包

#cd /etc/yum.repo.d/
# wget http://public-yum.oracle.com/public-yum-ol6.repo
# wget http://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol6 -O /etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
# yum install oracle-rdbms-server-11gR2-preinstall

这样子所需要的包就自动安装了。

修改用户资源限制

# vim /etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
# vim /etc/security/limits.d/90-nproc.conf

添加如下:

# To this
* - nproc 16384

创建所需的目录

# mkdir /opt/oracle
# chown oracle:oinstall /opt/oracle
# chmod 755 /opt/oracle
# mkdir /opt/oraInventory
# chown oracle:oinstall /opt/oraInventory
# chmod 755 /opt/oraInventory

配置用户环境变量

# su - oracle
# vim .bash_profile
# Oracle Settings
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR

ORACLE_HOSTNAME=orcl.123admin.com; export ORACLE_HOSTNAME
ORACLE_UNQNAME=orcl; export ORACLE_UNQNAME
ORACLE_BASE=/opt/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1; export ORACLE_HOME
ORACLE_SID=orcl; export ORACLE_SID
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH export PATH

保存退出后执行如下命令使以上设置立即生效:

source /home/oracle/.bash_profile

或者重新登录,验证环境变量是否生效

env | grep ORACLE

安装 X Window System

# yum groupinstall "X Window System"

下载oracle

下载oracle到/home/oracle目录下
http://download.oracle.com/otn/linux/oracle11g/R2/linux.x64_11gR2_database_1of2.zip
http://download.oracle.com/otn/linux/oracle11g/R2/linux.x64_11gR2_database_2of2.zip

修改库依赖检查版本

Oracle安装包中, 在目录stage/cvu下,存在一个文件cvu_prereq.xml,其中包含了有关认证的操作系统的库依赖关系。在这些依赖库的32位版本,文件中对于ARCHITECTURE的标注是”i386″,64位版本则是x86_64。而红帽系列32位版本库都是i686,因此将i386都替换为i686。

使用本地图形界面

# export DISPLAY=192.168.1.86:0.0

安装oracle

# unzip linux.x64_11gR2_database_1of2.zip
# unzip linux.x64_11gR2_database_2of2.zip
# cd database
# ./runInstaller

使用root执行脚本

# /opt/oraInventory/orainstRoot.sh
# /opt/oracle/product/11.2.0/dbhome_1/root.sh

防火墙打开1158端口

# iptables -A INPUT -p tcp --dport 1158 -j ACCEPT

# service iptables restart

打开浏览器,输入https://192.168.1.100:1158/em,可打开Database Control管理界面,则Oracle已经开始运行了。