日期:2014-05-16  浏览次数:20697 次

Linux下的ORACLE安装详解

原文链接:http://jingyan.baidu.com/article/922554469f9e59851648f4b3.html

?

相信很多童鞋都有过在Linux上安装Oracle数据库的痛苦经历,其中绝大多数都是环境设置的问题。我给大家推荐一个国外大牛写的Oracle的安装脚本 OTK,是用Bash写的,这东东大大简化了Oracle安装过程,而且成功率达到99%以上,只要确保你的Linux系统是干净的,那么按照这个教程,保证你会安装成功。

本文有点枯燥,但是希望大家能耐心的读下,我保证一定会对你有帮助的!

准备工作

OTK针对各种Linux提供了 安装文档,本文使用的RHEL5.5_x86_64位,数据库版本为11gR2,主要参考这个 文档。

首先准备阿好如下的安装文件:

linux.x64_11gR2_database_1of2.zip

linux.x64_11gR2_database_2of2.zip

oratoolkit-1.0.2.1.5-1.noarch.rpm

下载上述文件并放在/var/tmp/oracle目录下。最好要把你的YUM源指向你的系统安装光盘或者ISO文件。

安装OTK

用root登陆,执行如下命令:

# su - root# cd /var/tmp/oracle# ls -1 oratool*oratoolkit-1.0.2.1.5-1.noarch.rpm# rpm -ivh oratoolkit-1.0.2.1.5-1.noarch.rpmPreparing... ########################################### [100%]1:oratoolkit ########################################### [100%]

otk已经帮我们建立了oracle用户,下面需要设置Oracle用户密码

# passwd oracleChanging password for user oracle.New UNIX password:BAD PASSWORD: it is based on a dictionary wordRetype new UNIX password:passwd: all authentication tokens updated successfully.

解决环境依赖

这一步最爽,最为头疼的环境依赖问题轻松就解决了!首先要验证下你的系统还差什么没有满足要求,OTK脚本提供了智能的环境是否满足检查:

# /opt/oracle/otk/current/bin/installManager swReqCheck osSetup11gR2.cfg...//省略大部分输出20130521_165122: Info: Action swReqCheck of installManager ended with 7 WARNINGS

最后的结论告诉你的系统共有几个警告(我的系统是7个),你可以在输出日志中查看到底缺了什么。下面的一组命令很酷,让你一下子解决所有的问题:

//先拼装命令# REQ_FILE_DIR="/opt/oracle/otk/current/conf/installManager/requirement"# REQ_FILE_PATH="$REQ_FILE_DIR/ora11gR2-redhat-5-x86_64.pkg.lst"# YUM_COMMAND=$(echo "yum install")# YUM_COMMAND+=$(egrep -v "#" $REQ_FILE_PATH | grep 32-bit | awk '{ print " "$1".i[356]86" }')# YUM_COMMAND+=$(egrep -v "#" $REQ_FILE_PATH | grep 64-bit | awk '{ print " "$1".x86_64" }')//用echo看看最终拼装的命令是什么样# echo $YUM_COMMAND//执行命令# $YUM_COMMAND//再次执行环境检查# /opt/oracle/otk/current/bin/installManager swReqCheck osSetup11gR2.cfg...20130521_170131: Info: Action swReqCheck of installManager ended successfully //这次验证成功了,环境已经满足Oracle安装要求

增强sqlplus

OTK提供了一个优化增强的sqlplus环境:

# cd /opt/oracle/otk/current/tools/rlwrap/# ./configure# make# make install# /usr/local/bin/rlwrap -vrlwrap 0.30

使用installManager提取安装

切换到/opt/oracle/otk/current/conf/installManager目录,编辑osSetup11gR2.cfg来配置安装参数,包括内核参数、目录创建及所有授权等设置,如果你想默认安装就无需更改这个文件。

# cd /opt/oracle/otk/current/conf/installManager/# vi osSetup11gR2.cfg# sdiff -s osSetup11gR2.cfg sample/osSetup11gR2.cfg //对比哪些参数修改过# /opt/oracle/otk/current/bin/installManager osSetup osSetup11gR2.cfg

把Oracle安装文件移入资源目录

otk默认读取oracle安装文件的目录是/var/opt/oracle/repository,otk的swInst实例安装命令会读取这个目录:

# cd /var/tmp/oracle# chown oracle:oinstall *# mv linux.x64_11gR2_database_1of2.zip linux.x64_11gR2_database_2of2.zip /var/opt/oracle/repository/

定制oracle用户登录的PS1变量

这一步没什么实际意义,就是定制Oracle用户登录的提示符。

# su - oracle------------------------------------------------------oraToolKit environment variables------------------------------------------------------Installation directory : /opt/oracle/otkRelease : 1.0.2.1.5$RUN directory : /opt/oracle/otk/1.0/bin$LOG_BASE directory : /var/opt/oracle/otk/1.0/log------------------------------------------------------<SITE|COMPANY>:oracle@stquist1p:sidNotSet$ grep ^SITE .profile.custom.interactiveSITE="<SITE|COMPANY>"<SITE|COMPANY>:oracle@stquist1p:sidNotSet$ vi .profile.custom.interactive<SITE|COMPANY>:oracle@stquist1p:sidNotSet$ grep ^SITE .profile.custom.interactiveSITE="KuuYee"//修改这一行,可以显示你喜欢的内容<SITE|COMPANY>:oracle@stquist1p:sidNotSet$ exit# su - oracleKuuYee:oracle@stquist1p:sidNotSet$

安装Oracle数据库

OTK没有采用Oracle Universal Installer(OUI),而是用swInst来控制整个安装过程的:

$ bash$ cd $INSTALL_CONF$ cp sample/swInstEeSrv11gR2-Step1-linux-x86_64.cfg .$ installManager swInst swInstEeSrv11gR2-S