RedHat Advance Server 3上安装oracle 9.2.0, 并升级到9.2.0.4

来源:互联网 发布:淘宝查看商品降价 编辑:程序博客网 时间:2024/04/28 03:24
RedHat Advance Server 3上安装oracle 9.2.0, 并升级到9.2.0.4

今天花了一天的时间来装Oracle,在网上找了不少的资料,结果发现十个人有十种安装方法  
参考了其中的四种,然后自己安装了一遍,等于是综合了大家的智慧,完成了Oeacle的安装  
我把自己总结的文档发在这里,希望对大家有所帮助,绝对的原创啊  
下面所讲的安装方法可能也适用于RedHat9,有兴趣的朋友可以试一试  
  
首先,准备安装需要的软件包和补丁包:  
1.用rpm -qa│grep compat 查看系统中是否安有以下几个软件包:  
compat-libstdc++-7.3-2.96.122  
compat-gcc-c++-7.3-2.96.122  
compat-libstdc++-devel-7.3-2.96.122  
compat-db-4.0.14-5  
compat-gcc-7.3-2.96.122  
nss_db-compat-2.2-20.i386.rpm  
  
2. rpm -qa │ grep openmotif查看下列软件包  
openmotif21-2.1.30-8  
  
3. rpm -qa │ grep setarch查看:  
setarch-1.3-1  
  
以上文件如果没有的话,在RHEL3的CD3和CD4上有相关的RPM包,使用:  
# rpm -i compat...i386.rpm  
命令来安装相应的包.  
  
4.从网上下载升级补丁包,用于将Oracle9.2.0升级到9.2.0.4:  
p3006854_9204_LINUX.zip  
所有的补丁说明如下:  
p3095277_9204_LINUX.zip 9.2.0.4.0的升级补丁包.  
p3006854_9204_LINUX.zip 在运行 runInstaller 之前打.  
p3119415_9204_LINUX.zip 在升级到9.2.0.4.0之后打.  
p2617419_210_GENERIC.zip 打3119415补丁所需要的补丁.  
  
第二,准备安装过程中需要的用户和用户组  
    在安装的过程中我们使用两个用户同时进行,其中一个是root用户,另外一个是你新建立的oracle用户。  
  
1、打开一个终端,以root用户登录或者是:su -  
2、  
# groupadd oinstall  
# groupadd dba  
# useradd -g oinstall -G dba oracle  
# passwd oracle  
  
第三,安装准备步骤.  
1、准备文件目录:  
# mkdir -p /opt/ora9/product/9.2  
# mkdir /var/opt/oracle  
# chown oracle.dba /var/opt/oracle  
# chown -R oracle.dba /opt/ora9  
  
2、设置内核参数,调节信号灯及共享内存:  
# echo 250 32000 100 128 > /proc/sys/kernel/sem  
# echo 536870912 > /proc/sys/kernel/shmmax  
# echo 4096 > /proc/sys/kernel/shmmni  
# echo 2097152 > /proc/sys/kernel/shmall  
# echo 65536 > /proc/sys/fs/file-max  
# echo 1024 65000 > /proc/sys/net/ipv4/ip_local_port_range  
  
当然为了一开机系统就能自动帮你设好这些参数,也可改动 /etc/sysctl.conf 这个文件,加入以下的语句:  
kernel.shmmax = 536870912  
kernel.shmmni = 4096  
kernel.shmall = 2097152  
kernel.sem = 250 32000 100 128  
fs.file-max = 65536  
net.ipv4.ip_local_port_range = 1024 65000  
  
3、设置oracle对文件的要求:  
编辑文件:/etc/security/limits.conf 加入以下语句:  
oracle    soft    nofile    65536  
oracle    hard    nofile   65536  
oracle    soft    nproc    16384  
oracle    hard    nproc    16384  
  
4、设置系统环境:  
首先设置root用户这个终端的。  
export ORACLE_BASE=/opt/ora9  
export ORACLE_HOME=/opt/ora9/product/9.2  
(Oracle被安装在这些位置)  
这个步骤用来最后打补丁时使用,注意这个终端要保持不要关掉它。  
  
5.设置oracle用户的环境, 新开一个终端,  
su - oracle  
注意一定要新开一个  
  
打开.bash.profile文件,将如下内容加入:  
  
#oracle 9i  
export ORACLE_BASE=/opt/ora9  
export ORACLE_HOME=/opt/ora9/product/9.2  
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH  
export ORACLE_OWNER=oracle  
export ORACLE_SID=ora9i  
export ORACLE_TERM=vt100  
export LD_ASSUME_KERNEL=2.4.1  
export THREADS_FLAG=native  
export LD_LIBRARY_PATH=/opt/ora9/product/9.2/lib:$LD_LIBRARY_PATH  
export PATH=/opt/ora9/product/9.2/bin:$PATH  
#  
# change this NLS settings to suit your country:  
# example:  
# german_germany.we8iso8859p15, american_america.we8iso8859p2 etc.  
#  
export LANG=en_US  
保存后退出。  
然后。退出登录,再次进入,这时候oracle的环境就已经生效了。  
  
6、解压文件,安装前打补丁,切换到root用户的控制台:  
  
第四,开始正式安装  
  
1、  
cd /home  
mkdir ora9i  
cd ora9i  
这些目录你可以自己定义,用来存放安装文件。  
然后将从网上下载的三个Oracle920的安装文件拷到这里:  
  
2.解gz文件  
gunzip gunzip lnx_920_disk1.cpio.gz  
gunzip lnx_920_disk2.cpio.gz  
gunzip lnx_920_disk3.cpio.gz  
  
3.释放cpio文件  
cpio -idmv < lnx_920_disk1.cpio  
cpio -idmv < lnx_920_disk2.cpio  
cpio -idmv < lnx_920_disk3.cpio  
//这个步骤将生成三个文件夹:DISK1, DISK2, DISK3  
  
2、打安装前的补丁:  
  
以root身份运行.  
这也是在/home/ora9i/里进行的。  
  
# unzip p3006854_9204_LINUX.zip  
Archive: p3006854_9204_LINUX.zip  
creating: 3006854/  
inflating: 3006854/rhel3_pre_install.sh  
inflating: 3006854/README.txt  
  
# cd 3006854  
# sh rhel3_pre_install.sh  
  
3、完成Oracle的安装:  
  
新开一个控制终端(用root用户开)  
#xhost +  
这个命令用来保证oracle用户调用X11,否则无法安装  
我看过的所有的文档里都没有提到,结果害得我在这个地方憋了两个小时才搞定  
  
#su - oracle  
在登录终端中切换到oracle用户:  
在oracle主目录里运行:/home/ora9i/Disk1/runInstaller  
  
注意的是以下几点:  
第一,在RedHat Advance Server 3下安装Oracle9i不用将gcc降级,有些文档里说需要将gcc降为2.96,其实是不需要的  
第二,在部分文档里,要求oracle用户的bash.profile文件中降LD_ASSUME_KERNEL设置为2.4.19,千万不要这样设置,否则会在Rlink时会有一大堆报错  
第三,安装Oracle不需要额外安装JDK,Oracle自己带  
第四,再安装过程中,系统会提醒你用root身份去执行两个sh文件,再root的登录终端中按提示操作就可以了  
第五,Relink阶段,会出两个错误:ins_oemagent.mk 和 ins_ctx.mk. 点 Ignore 忽略.  
第六.注意在安装过程中不要创建数据库,如果创建了也没有关系在升级之前将它给删除掉(不过装了再删是不是有点麻烦?干脆不创建数据库了)  
  
上面这几点害得我郁闷死了!!!!!!!!一定要注意啊!!!!  
  
第五,开始升级Oracle9.2.0  
1.  
安装结束后,HTTPD会自动运行.在升级之前,需要将它停下来.  
$ cd $ORACLE_HOME/Apache/Apache/bin  
$ ./apachectl stop  
./apachectl stop: httpd stopped  
  
LISTENER也需要停下来.  
$ lsnrctl stop  
LSNRCTL for Linux: Version 9.2.0.1.0 - Production on 07-NOV-2003 16:25:41  
Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved.  
Connecting to (ADDRESS=(PROTOCOL=tcp)(PORT=1521))  
The command completed successfully  
  
注意:  
如果不停的话,oracle会提示不能覆盖文件.这个时候再去将服务停下来也可以,点Retry就可以了.  
  
2.  
开始打补丁升级.  
注意打补丁时使用root用户,切换到root用户控制台:  
  
解包:  
$ unzip p3095277_9204_LINUX.zip  
Archive: p3095277_9204_LINUX.zip  
inflating: 9204_lnx32_release.cpio  
inflating: README.html  
inflating: patchnote.css  
  
$ cat 9204_lnx32_release.cpio │ cpio -i --make-directories  
  
做完这个后,再切换到oracle用户控制台, 再次运行/home/ora9i/Disk1/runInstaller升级,注意必须先选择最下面的安装选项,安装OUI  
要不然没有办法打那个最上面的升级补丁。  
  
升级完OUI后,要退出,再次运行/home/ora9i/Disk1/runInstaller  
选择第一个选项,将Oracle升级到9.2.0.4。  
这时候还是会有一个错误出现。再次选择忽略它。  
  
3、打其他的补丁:  
  
切换到root的终端。注意这个最好是原来那个保持了ORACLE_HOME, ORACLE_BASE的环境变量那个终端:  
修复ins_oemagent.mk错误.  
  
首先安装 opatch.  
  
$ unzip p2617419_210_GENERIC.zip  
Archive: p2617419_210_GENERIC.zip  
creating: OPatch/  
creating: OPatch/docs/  
inflating: Opatch/docs/FAQ  
......  
inflating: README.txt  
$ ls  
$ pwd  
/home/or9i  
$ export PATH=$PATH:/home/or9i/OPatch:/sbin  
  
注意:  
修改PATH时,除了要包括解压出来的OPatch目录外,还要包括/sbin目录.这一点,metalink上没有说.  
  
$ unzip p3119415_9204_LINUX.zip  
Archive: p3119415_9204_LINUX.zip  
creating: 3119415/  
......  
inflating: 3119415/README.txt  
$ cd 3119415  
$ opatch apply  
  
呵呵,在这一步看到success的提示,那么全部的安装就算成功了.  
祝贺你,恶梦结束了  
  
用$dbca  
看看能不能出现Oracle的图形管理工具  
  
额外的提示:  
第一:很多人都没有解决安装界面乱码的问题,很不幸,我也没有解决.只找到一个曲线救国的办法.采用的方法是将系统语言暂时设置为英文,安装结束后再更改回中文简体,这样可以解决安装过程中的问题  
      如果你有解决的办法,请告诉我,谢谢!  
第二:要分清每一个步骤是需要用oracle用户还是root用户,有些问题,可以用set命令看看环境变量是不是设置正确  
第三,Oracle升级时所用的补丁必须以root身份打