首先准备安装需要的软件包和补丁包:
用rpm qa│grep compat 查看系统中是否安有以下几个软件包
compatlibstdc++
compatgccc++
compatlibstdc++devel
compatdb
compatgcc
nss_dbcompatirpm
rpm qa │ grep openmotif查看下列软件包
openmotif
rpm qa │ grep setarch查看:
setarch
以上文件如果没有的话在RHEL的CD和CD上有相关的RPM包使用:
# rpm i compatirpm
命令来安装相应的包
从网上下载升级补丁包用于将Oracle升级到:
p__LINUXzip
所有的补丁说明如下
p__LINUXzip 的升级补丁包
p__LINUXzip 在运行 runInstaller 之前打
p__LINUXzip 在升级到之后打
p__GENERICzip 打补丁所需要的补丁
第二准备安装过程中需要的用户和用户组
在安装的过程中我们使用两个用户同时进行其中一个是root用户另外一个是你新建立的oracle用户
打开一个终端以root用户登录或者是su
# groupadd oinstall
# groupadd dba
# useradd g oinstall G dba oracle
# passwd oracle
第三安装准备步骤
准备文件目录
# mkdir p /opt/ora/product/
# mkdir /var/opt/oracle
# chown oracledba /var/opt/oracle
# chown R oracledba /opt/ora
设置内核参数调节信号灯及共享内存
# echo > /proc/sys/kernel/sem
# echo > /proc/sys/kernel/shmmax
# echo > /proc/sys/kernel/shmmni
# echo > /proc/sys/kernel/shmall
# echo > /proc/sys/fs/filemax
# echo > /proc/sys/net/ipv/ip_local_port_range
当然为了一开机系统就能自动帮你设好这些参数也可改动 /etc/nf 这个文件加入以下的语句
kernelshmmax =
kernelshmmni =
kernelshmall =
kernelsem =
fsfilemax =
netipvip_local_port_range =
设置oracle对文件的要求
编辑文件/etc/security/nf 加入以下语句
oracle soft nofile
oracle hard nofile
oracle soft nproc
oracle hard nproc
设置系统环境
首先设置root用户这个终端的
export ORACLE_BASE=/opt/ora
export ORACLE_HOME=/opt/ora/product/
(Oracle被安装在这些位置)
这个步骤用来最后打补丁时使用注意这个终端要保持不要关掉它
设置oracle用户的环境 新开一个终端
su oracle
注意一定要新开一个
打开bashprofile文件将如下内容加入
#oracle i
export ORACLE_BASE=/opt/ora
export ORACLE_HOME=/opt/ora/product/
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH
export ORACLE_OWNER=oracle
export ORACLE_SID=orai
export ORACLE_TERM=vt
export LD_ASSUME_KERNEL=
export THREADS_FLAG=native
export LD_LIBRARY_PATH=/opt/ora/product//lib:$LD_LIBRARY_PATH
export PATH=/opt/ora/product//bin:$PATH
#
# change this NLS settings to suit your country:
# example:
# german_germanyweisop american_americaweisop etc
#
export LANG=en_US
保存后退出
然后退出登录再次进入这时候oracle的环境就已经生效了
解压文件安装前打补丁切换到root用户的控制台
第四开始正式安装
cd /home
mkdir orai
cd orai
这些目录你可以自己定义用来存放安装文件
然后将从网上下载的三个Oracle的安装文件拷到这里
解gz文件
gunzip gunzip lnx__diskcpiogz
gunzip lnx__diskcpiogz
gunzip lnx__diskcpiogz
释放cpio文件
cpio idmv < lnx__diskcpio
cpio idmv < lnx__diskcpio
cpio idmv < lnx__diskcpio
//这个步骤将生成三个文件夹DISK DISK DISK
打安装前的补丁
以root身份运行
这也是在/home/orai/里进行的
# unzip p__LINUXzip
Archive: p__LINUXzip
creating: /
inflating: /rhel_pre_installsh
inflating: /READMEtxt
# cd
# sh rhel_pre_installsh
完成Oracle的安装
新开一个控制终端(用root用户开)
#xhost +
这个命令用来保证oracle用户调用X否则无法安装
我看过的所有的文档里都没有提到结果害得我在这个地方憋了两个小时才搞定
#su oracle
在登录终端中切换到oracle用户
在oracle主目录里运行:/home/orai/Disk/runInstaller
注意的是以下几点:
第一在RedHat Advance Server 下安装Oraclei不用将gcc降级有些文档里说需要将gcc降为其实是不需要的
第二在部分文档里要求oracle用户的bashprofile文件中降LD_ASSUME_KERNEL设置为千万不要这样设置否则会在Rlink时会有一大堆报错
第三安装Oracle不需要额外安装JDKOracle自己带
第四再安装过程中系统会提醒你用root身份去执行两个sh文件再root的登录终端中按提示操作就可以了
第五Relink阶段会出两个错误:ins_oemagentmk 和 ins_ctxmk 点 Ignore 忽略
第六注意在安装过程中不要创建数据库如果创建了也没有关系在升级之前将它给删除掉(不过装了再删是不是有点麻烦?干脆不创建数据库了)
上面这几点害得我郁闷死了!!!!!!!!一定要注意啊!!!!
第五开始升级Oracle
安装结束后HTTPD会自动运行在升级之前需要将它停下来
$ cd $ORACLE_HOME/Apache/Apache/bin
$ /apachectl stop
/apachectl stop: httpd stopped
LISTENER也需要停下来
$ lsnrctl stop
LSNRCTL for Linux: Version Production on NOV ::
Copyright (c) Oracle Corporation All rights reserved
Connecting to (ADDRESS=(PROTOCOL=tcp)(PORT=))
The command completed successfully
注意:
如果不停的话oracle会提示不能覆盖文件这个时候再去将服务停下来也可以点Retry就可以了
开始打补丁升级
注意打补丁时使用root用户切换到root用户控制台
解包:
$ unzip p__LINUXzip
Archive: p__LINUXzip
inflating: _lnx_releasecpio
inflating: l
inflating: patchnotecss
$ cat _lnx_releasecpio │ cpio i makedirectories
做完这个后再切换到oracle用户控制台 再次运行/home/orai/Disk/runInstaller升级注意必须先选择最下面的安装选项安装OUI
要不然没有办法打那个最上面的升级补丁
升级完OUI后要退出再次运行/home/orai/Disk/runInstaller
选择第一个选项将Oracle升级到
这时候还是会有一个错误出现再次选择忽略它
打其它的补丁
切换到root的终端注意这个最好是原来那个保持了ORACLE_HOME ORACLE_BASE的环境变量那个终端
修复ins_oemagentmk错误
首先安装 opatch
$ unzip p__GENERICzip
Archive: p__GENERICzip
creating: OPatch/
creating: OPatch/docs/
inflating: Opatch/docs/FAQ
inflating: READMEtxt
$ ls
$ pwd
/home/ori