本文描述的是在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
接下来数据库就可以正常使用了。