RedHat Enterprise LInux 6.3 安装Oracle Database 11g

时间:2022-10-03 08:28:18

本文描述的是在RHEL 6.3上面安装Oracle 11g的过程,关于RHEL的下载,其实可以去很多的镜像站点下载,例如下载地址,Oracle 11g的下载地址,需要注意的是本文使用的是11.2.0.3的版本,现在该版本还没有开放下载,只适用付费账户下载,付费账户不便公布,需要该版本的可以邮件联系我dazuanfeng@qq.com,读者可以下载已经公布的版本,下载1下载2

安装RedHat的时候需要注意的时候要选择所有的组件进行安装,尤其是桌面的部分,不然重启之后没有图形界面就比较坑了。。。

然后就是安装vmware tools了,解压缩之后,以root身份运行vmware-install.pl文件,一路回车即可完成安装,安装完成之后重启虚拟机。

在安装Oracle数据库的时候需要对一些参数环境参数进行设置,而且要安装一些相应的依赖包,为了安装方便,我们使用centos的yum。

安装centos的yum的步骤:

1.删除RedHat原有的yum:

rpm -aq|grep yum|xargs rpm -e --nodeps

2.下载yum安装组件:(随本机安装版本而定)

wget http://mirrors.163.com/centos/6.3/os/x86_64/Packages/yum-3.2.29-30.el6.centos.noarch.rpm    
wget http://mirrors.163.com/centos/6.3/os/x86_64/Packages/yum-metadata-parser-1.1.2-16.el6.x86_64.rpm   
wget http://mirrors.163.com/centos/6.3/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.30-14.el6.noarch.rpm   
wget http://mirrors.163.com/centos/6.3/os/x86_64/Packages/python-iniparse-0.3.1-2.1.el6.noarch.rpm  

如果不能下载也可以使用自己另外下载的centos里面的安装包

3.进行安装yum

rpm -ivh python-iniparse-0.3.1-2.1.el6.noarch.rpm   
rpm -ivh yum-metadata-parser-1.1.2-16.el6.x86_64.rpm   
rpm -ivh yum-3.2.29-30.el6.centos.noarch.rpm yum-plugin-fastestmirror-1.1.30-14.el6.noarch.rpm  

最后两个包一块安装,会相互依赖

4.在/etc/yum.repos.d/文件夹下新建一个名为rhel-debuginfo.repo的文件,使用gedit输入以下的内容:

[base]   
name=CentOS-$releasever - Base   
baseurl=http://mirrors.163.com/centos/6.3/os/$basearch/   
gpgcheck=1   
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-6   
  
#released updates   
[updates]   
name=CentOS-$releasever - Updates   
baseurl=http://mirrors.163.com/centos/6.3/updates/$basearch/   
gpgcheck=1   
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-6   
  
#packages used/produced in the build but not released   
#[addons]   
#name=CentOS-$releasever - Addons   
#baseurl=http://mirrors.163.com/centos/$releasever/addons/$basearch/   
#gpgcheck=1   
#gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-6   
#additional packages that may be useful   
[extras]   
name=CentOS-$releasever - Extras   
baseurl=http://mirrors.163.com/centos/6.3/extras/$basearch/   
gpgcheck=1   
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-6   
#additional packages that extend functionality of existing packages   
[centosplus]   
name=CentOS-$releasever - Plus   
baseurl=http://mirrors.163.com/centos/6.3/centosplus/$basearch/   
gpgcheck=1   
enabled=0  

5.yum clean all

6.这时候也可以测试一下yum命令是否可用,也可以使用yum update进行升级。

yum install vim

接下来就是配置Oracle 11g安装所需要的环境变量设置:

1.首先就是检查一下环境参数,主要是内存等信息

查看操作系统的架构(32位还是63位):uname -m

查看交换空间的大小:grep SwapTotal /proc/meminfo

查看使用情况:free

查看共享内存的使用量:df -h /dev/shm/

查看所有的:df -h

查看操作系统的信息:cat /proc/version

查看Linux 核心版本信息:uname -r

2.接下来就是检查依赖包的信息了

需要的依赖包有:(对于Redhat Enterprise Linux 而言)

binutils-2.20.51.0.2-5.11.el6 (x86_64)   
compat-libcap1-1.10-1 (x86_64)   
compat-libstdc++-33-3.2.3-69.el6 (x86_64)   
compat-libstdc++-33-3.2.3-69.el6.i686   
gcc-4.4.4-13.el6 (x86_64)   
gcc-c++-4.4.4-13.el6 (x86_64)   
glibc-2.12-1.7.el6 (i686)   
glibc-2.12-1.7.el6 (x86_64)   
glibc-devel-2.12-1.7.el6 (x86_64)   
glibc-devel-2.12-1.7.el6.i686   
ksh   
libgcc-4.4.4-13.el6 (i686)   
libgcc-4.4.4-13.el6 (x86_64)   
libstdc++-4.4.4-13.el6 (x86_64)   
libstdc++-4.4.4-13.el6.i686   
libstdc++-devel-4.4.4-13.el6 (x86_64)   
libstdc++-devel-4.4.4-13.el6.i686   
libaio-0.3.107-10.el6 (x86_64)   
libaio-0.3.107-10.el6.i686   
libaio-devel-0.3.107-10.el6 (x86_64)   
libaio-devel-0.3.107-10.el6.i686   
make-3.81-19.el6   
sysstat-9.0.4-11.el6 (x86_64)  

可以使用命令来查看是否安装了该包:rpm -q binutils

如果已经安装的话就会打印出安装的信息,没有安装的话就需要进行安装。

例如安装compat-libstdc++就可以使用yum install compat-libstdc++。

也可以独立下载这些包进行安装。

附:Redhat Enterprise Linux 6.3需要安装的包:

compat-libstdc++-33-3.2.3-69.el6.i686

ksh

libaio-devel

可见,大部分的组件都已经安装。

3.接下来就是修改内核参数gedit /etc/sysctl.conf

kernel.shmmni = 4096   
kernel.sem = 250 32000 100 128   
fs.file-max = 6815744   
net.ipv4.ip_local_port_range = 9000 65500   
net.core.rmem_default = 4194304   
net.core.wmem_default = 262144   
net.core.rmem_max = 4194304   
net.core.wmem_max = 1048576   
fs.aio-max-nr = 1048576  

使内核参数实时生效sysctl -p

4.新建用户和组(该步也可以在System->Administration->Users and Groups中进行)

groupadd oinstall

groupadd dba

useradd -g oinstall -G dba -m oracle

passwd oracle

5.为oracle用户设置Shell限制

修改/etc/security/limits.conf,加入

oracle soft   nproc 2047

oracle hard nproc 16384

oracle soft   nofile 1024

oracle hard nofile  65536

修改/etc/pam.d/login,加入

session  required pam_limits.so

修改/etc/profile,加入

if [ \$USER = "oracle" ]; then   
if [ \$SHELL = "/bin/ksh" ]; then    
ulimit -p 16384    
ulimit -n 65536    
else    
ulimit -u 16384 -n 65536    
fi    
umask 022    
fi  

6.创建安装文件夹并赋权

新建目录 mkdir -p /u01/app/oracle

设置目录所有权 chown oracle:oinstall /home/oracle/u01

设置目录权限 chmod -R 755 /home/oracle/u01

修改/etc/hosts文件加入 192.168.15.128 oracle.domain.com oracle

注意将主机名对应到真实ip地址,否则oracle有可能将监听程序仅仅建立在127.0.0.1上

7.正式安装

可以使用vmware的共享文件夹的方式,也可以将安装文件拷贝到Linux里进行解压缩之后安装。

如果采用的是共享文件夹的方式,则进入/mnt/hgfs/database中运行./runInstaller文件

接下来就是图形界面的安装了,需要注意的是,如果之前安装Linux选择的是中文简体的话,

需要将语言环境设置成英文环境,不然安装界面会出现乱码:

export LANG=en_US.utf8

然后再运行./runInstaller文件使用英文界面进行安装。

像安装Oracle的其他产品一样,选择安装选项是Create and configure a database

安装选择Server Class版本,不要选择Desktop Class。

Grid Installation Options选择Single instance database installation

Install Type选择Advanced install

然后在Product Languages中选择Simplified Chinese增加即可

Database Edition选择Enterprise Edition

Installation Location选择/home/oracle/u01/app/oracle

Create Inventory保持/home/oracle/u01/app/oraInventory,Group保持oinstall

Configuration Type选择General Purpose/Transaction Processing

接下来的一步保持默认,在Configuration Options设置编码为AL32UTF8

继续默认,在设置密码的时候设置统一的密码为Welcome1

在Operating System Groups中设置OSDBA为dba,OSOPER为oinstall

接下来就是检查约束,会发现有一个包确实pdksh-5.2.14,忽略即可。

接下来就是安装过程。安装完成之后会弹出一个窗口说明需要使用root命令执行,点击确认即可。

8.配置环境变量,进入/home/oracle,编辑.bash_profile,即gedit ./.bash_profile(使用Ctrl+H显示隐藏文件)

export ORACLE_HOME=/home/oracle/u01/app/oracle/product/11.2.0/dbhome_1

export ORACLE_SID=orcl

export PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin

保存完成,运行souce ./.bash_profile使更改生效。

这个时候会发现运行lsnrctl start命令仍然无效,需要继续操作。

9.设置oracle服务,以root身份执行下面的命令

修改$ORACLE_HOME/bin/dbstart和$ORACLE_HOME/bin/dbshut

gedit ./dbstart

gedit ./dbshut

改为ORACLE_HOME_LISTNER=$ORACLE_HOME(即将$1修改为$ORACLE_HOME)

然后新建文件touch /etc/rc.d/init.d/oracle

文件内容为:

#!/bin/bash    
# chkconfig: 2345 99 10    
# description: Startup Script for oracle Databases    
# /etc/rc.d/init.d/oracle   
export ORACLE_BASE=/home/oracle/u01/app/oracle/   
export ORACLE_HOME=/home/oracle/u01/app/oracle/product/11.2.0/dbhome_1   
export ORACLE_SID=orcl   
export PATH=$PATH:$ORACLE_HOME/bin   
case "$1" in   
start)   
echo "-----startup oracle-----" >> /var/log/racle11log   
su oracle -c "$ORACLE_HOME/bin/dbstart"  
su oracle -c "$ORACLE_HOME/bin/emctl start dbconsole"  
touch /var/lock/subsys/oracle   
echo "-----startup oracle successful-----" >> /var/log/oraclelog   
echo "OK"    
;;   
stop)   
echo "-----shutdwn oracle-----" >> /var/log/oraclelog   
su oracle -c "$ORACLE_HOME/bin/dbshut"  
su oracle -c "$ORACLE_HOME/bin/emctl stop dbconsole"  
rm -f /var/lock/subsys/oracle   
echo "-----shutdown oracle successful-----" >> /var/log/oraclelog   
echo "OK"    
;;   
*)   
echo "Usage: 'basename $0' start|stop"    
exit 1   
esac   
exit 0  

然后给该脚本设置权限chmod 755 /etc/rc.d/init.d/oracle

建立服务

chkconfig --add oracle

chkconfig oracle on

接下来就可以使用lsnrctl start命令了。

附:启动oracle数据库步骤

启动监听器lsnrctl start

连接数据库sqlplus /nolog

以sysdba登录conn / as sysdba

启动数据库服务startup

接下来数据库就可以正常使用了。