作者: 大叔    发表日期: 2006-08-24 12:41   复制链接

Oracle9.2.0.7在Red Hat Enterprise Linux AS4上安装方法
http://mirrors.cn99.com/oracle/9i/下载Oracle9.2.0.4安装文件及升级到9.2.0.7的补丁文件p4163445_92070_LINUX.zip
一、环境和软件准备
1.1 liunx软件包
检查下面软件包是否安装(版本必须一样或更高)
compat-db-4.1.25-9
compat-gcc-32-3.2.3-47.3
compat-gcc-32-c++-3.2.3-47.3
compat-libgcc-296-2.96-132.7.2
compat-libstdc++-296-2.96-132.7.2
compat-libstdc++-33-3.2.3-47.3
gcc-3.4.3-9.EL4
gcc-c++-3.4.3-9.EL4
gnome-libs-1.4.1.2.90-44
gnome-libs-devel-1.4.1.2.90-44(第四张光盘)
libaio-devel-0.3.102-1
libaio-0.3.102-1
make-3.80-5
openmotif21-2.1.30-11
xorg-x11-deprecated-libs-devel-6.8.1-23.EL
xorg-x11-deprecated-libs-6.8.1-23.EL
compat-oracle-rhel4-1.0-3
compat-libcwait-2.0-1

提示:在安装的linux的时候,最好安装开发工具中的所有组件以及与xwindow相关的所有组件,如果装完系统后发现还有未安装的包,除了gnome-libs-devel-1.4.1.2.90-44包在第四张光盘外,其他的包一般都在第二或者第三张光盘,找到相应的包安装(rpm –ihv 包的名字),千万不要在添加删除程序里更新软件包,否则你会死的很惨,至少要换20次以上的光盘而且都是二三二三的换,苦不堪言,不信你可以一试!
其中compat-oracle-rhel4-1.0-3和compat-libcwait-2.0-1下载文件名称P4198954_21_LINUX.zip,下载完后用rpm –ihv 包的名字命令安装
解压P4198954_21_linux.zip,解出来是两个文件:compat-oracle-rhel4-1.0-3和compat-libcwait-2.0-1
安装:
Rpm –ihvU compat*.rpm
Preparing…         ########################################### [100%]
1:compat-libcwait-2.0-2.i386.rpm ##################################### [ 50%]
2:compat-oracle-rhel4-1.0-5.i386.rpm#################################### [100%]
1.2 linux环境
1,创建oracle安装用户组及用户帐号;
#groupadd dba
#groupadd oinstall
#useradd oracle -g oinstall -G dba
#passwd oracle
2,建立oracle安装文件夹;
# mkdir -p /u01/app/oracle/product/9.2.0.4
# mkdir /u01/cwdata
# chmod 777 /u01/cwdata
# chown oracle.dba /u01/cwdata
# chown oracle.dba /orasetup
# chmod 777 /orasetup
# chown -R oracle.dba /u01/app/oracle/product/9.2.0.4
# chmod -R 777 /u01/app/oracle/product/9.2.0.4
2, 配置环境变量;
  以root用户登录,设置root用户的环境打开.bash_profile文件,将如下内容加入:
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/9.2.0.4
export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin
export ORACLE_OWNER=oracle
export ORACLE_SID=oradb
3、设定oracle安装用户环境参数,以oracle用户登录,修改环境配置文件:
vi $HOME/.bash_profile
添加下面内容:
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi

# User specific environment and startup programs
PATH=$PATH:$HOME/bin
#ORACLE_BASE 可以定位到盘阵上/data
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/9.2.0.4
export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin
export ORACLE_OWNER=oracle
export ORACLE_SID=oradb (这里是你要创建的数据库名,可以自己设置)
export ORACLE_TERM=xterm
export LD_ASSUME_KERNEL=2.4.19 (这个是内核版本参数,AS4应设置为2.4.19)
export THREADS_FLAG=native
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
export NLS_LANG=”American_america.zhs16gbk”
# export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export DISPLAY=xjgz01:0.0(这里可以是主机名或是IP)
export LANG=en_US
export GDM_LANG= en_US
export LC= en_US
export PATH
unset USERNAME
4, 设置系统参数;
#su – root切换到root用户
a) 修改#vi /etc/sysctl.conf, 以下是配置文件的内容(其中红色字体为添加的内容):
# Kernel sysctl configuration file for Red Hat Linux
#
# For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and
# sysctl.conf(5) for more details.

# Controls IP packet forwarding
net.ipv4.ip_forward = 0

# Controls source route verification
net.ipv4.conf.default.rp_filter = 1

# Controls the System Request debugging functionality of the kernel
kernel.sysrq = 0

# Controls whether core dumps will append the PID to the core filename.
# Useful for debugging multi-threaded applications.
kernel.core_uses_pid = 1
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
修改后运行#sysctl –p命令使得内核改变立即生效;
译者注:一般情况下可以设置最大共享内存为物理内存的一半,如果物理内存是 2G,则可以设置最大共享内存为 1073741824,如上;如物理内存是 1G,则可以设置最大共享内存为 512 * 1024 * 1024 = 536870912;以此类推。)
建议永久地增加 shmmax 设置。
sem 4个参数依次为SEMMSL(每个用户拥有信号量最大数);SEMMNS(系统信号量最大数);SEMOPM(每次semopm系统调用操作数);SEMMNI(系统辛苦量集数最大数).Shmmax 最大共享内存,官方文档建议是内存的1/2,Shmmni 最小共享内存 4096KB.Shmall 所有内存大小
B) 设置oracle对文件的要求:
编辑文件:#vi /etc/security/limits.conf 加入以下语句:
oracle    soft    nofile    65536
oracle    hard    nofile   65536
oracle    soft    nproc    16384
oracle    hard    nproc    16384
C) gcc降级 (这个我只做了前两项,后面的没有管,也没有大的问题)
#su – root
#mv /usr/bin/gcc /usr/bin/gcc34
#ln –s /usr/bin/gcc32 /usr/bin/gcc
#mv /usr/bin/g++ /usr/bin/g++34
#ln –s /usr/bin/g++32 /usr/bin/g++
二、安装Oracle9i软件
提示:从下面开始,所有工作默认都是以当前登录的oracle用户为准,除非特别说明之外。你最好开N个终端以备用,至少2个是有root权限的,因为安装过程中要多次用到root权限
2.1、将oracle安装文件解压出来
用oracle帐号登陆创建一个目录装软件包(最好用英文的xwindows,中文的会出些怪问题,我的是这样的,晕)
mkdir install
cd install
gunzip ship_9204_linux_disk1.cpio.gz
gunzip ship_9204_linux_disk2.cpio.gz
gunzip ship_9204_linux_disk3.cpio.gz
cpio -idmv < ship_9204_linux_disk1.cpio
cpio -idmv < ship_9204_linux_disk2.cpio
cpio -idmv < ship_9204_linux_disk3.cpio
执行完命令后会生成Disk1、Disk2、Disk3三个目录。
2.2、运行oracle安装程序
1、要想在工作机上运行远程的桌面程序的话需要在本机装一个Hummingbird Connectivity 10的软件,打开Exceed
cd Disk1
./runInstaller (这里可能出错,说你的Xlib有问题,应有如下句子:
•      Xlib: connection to ":0.0" refused by server
•      Xlib: Client is not authorized to connect to Server
如果是这样的话,ctr+c结束安装,然后用命令:xhost +IP,如:xhost +192.168.0.1,最好清空/tmp/目录下的文件,rm –rf *,之后再次运行./runInstaller,当然也可能是你的oracle用户目录下的.bash_profile文件里的设置有问题,检查是否有这句export DISPLAY=xjgz01:0.0(这里可以是主机名或是IP)如果没有就加上)

2、如果你严格按照本方法安装,跟着安装向导走就可以了
在安装过程中间,出现弹出窗口提示用root用户执行命令时,用root登陆照着提示命令就即可,出现有关权限组设置时,都填写预先创建好的dba组,

3、在语言选择上“Product Languages”千万要记得添加上“Simplified Chinese”(简体中文)

4、在安装产品上选择“Oracle9i Database 9.2.0.4.0”,在安装类型上选择“Custom”,并只选择下列组件:
Oracle9i 9.2.0.4.0
Oracle Net Services 9.2.0.1.0
Oracle9i Development Kit 9.2.0.1.0

5、在安装过程中间,出现"Create Database"就选择NO",我们会在最后通过dbca创建数据库的。

6、在安装将完成之前,安装程序将会运行配置程序,在运行"Agent Configuration Assistant"的时候,将会出现失败的情况,这时候请继续下一步先。(而且是乱码,根本不知道是什么东西,晕啊)
7、安装补丁p2617419_10102_GENERIC.zip得到opatch工具
得到opatch工具
unzip p2617419_10102_GENERIC.zip
cp -a OPatch $ORACLE_HOME/
8、安装补丁p3238244_9204_LINUX.zip
unzip p3238244_9204_LINUX.zip
cd 3238244
$ORACLE_HOME/Opatch/opatch apply
当出现是否准备好Updating时,选择“Y”

或手工将3238244/files/lib/stubs目录下的所有文件复制到/oracle/product/9.2.0.6/lib/stubs/目录下也可以,如下:
cp files/lib/stubs/* $ORACLE_HOME/lib/stubs/

9、重新连接编译"Agent"相关程序
cd $ORACLE_HOME/network/lib/
make -f ins_oemagent.mk install
耐心等待成功编译。

10、再点击前面oracle安装程序中的"Agent Configuration Assistant",并点击"Retry"重新运行配置工具程序,过一会应该会成功. (我的就没有成功,郁闷呀!:-(,不用管它成功不成功因为后面我们要安装9.2.0.7的补丁的)
2.3 创建和配置数据库
1、至此,oracle9iR2已经安装成功了,(为了不至于走前面的找不到DBCA的老路,我先创建数据库,再打9.2.0.7的补丁。)下面开始创建数据库,运行下面命令创建一个数据库实例
dbca
(如果dbca执行到开始创建数据库时出错退出,修改文件/u01/app/oracle/product/9.2.0/bin/dbca,注释掉118、121、123、124这几行,我也试过另行安装JDK,把JRE的路径指向这个,也可以解决问题。)
"Step 1 of 7"选择"Create Database"并点击"Next"进入下一步
"Step 2 of 7"选择"Transaction Processing"并点击"Next"进入下一步
"Step 3 of 7"在“Global Database Name:”里输入“oradb”,点击"Next"进入下一步
"Step 4 of 7"选择"Shared Server Mode",点击"Next"进入下一步
"Step 5 of 7"时,选择“Character Sets”页,点击“Choose from the list of character sets”,
并在下拉框里选择“ZHS16GBK”,点击“Next”到下一步。
"Step 6 of 7"时,直接点击“Next”到下一步
在最后一步,点击“Finish”按钮再点击"OK"然后耐心等待数据库的创建完成。
(这个过程可能比较长,喝口水或者出去转一圈时间是足够的,oradb就是你的数据库名)
2、当数据库创建完成之后,会出现一个对话框"Database Configuration Assistant",告诉你创建的结果以及要求你修改oracle
  默认登录帐户的密码,包括"SYS password"、"SYSTEM password";输入之后点击"Exit"退出完成最终的数据库创建。

3、配置数据库的配置init文件
cp $ORACLE_BASE/admin/oradb/pfile/init*
$ORACLE_HOME/dbs/initoradb.ora
(这里要注意路径是否正确,还有就是initoradb.ora,其中oradb一定要和你的数据库名一致,否则可能会出现Can’t find init file …的错误)
一般上来说,pfile目录下只会有一个文件的直接用CP命令拷到$ORACLE_HOME/dbs/initoradb.ora下也可以的

4、切换到root用户,配置oracle服务自动启动:
su – root
vi /etc/oratab
将此文件中的有你的数据库名的那行:
oradb:/oracle/product/9.2.0.6:N
修改成:
oradb:/oracle/product/9.2.0.6:Y
保存退出

5、手工启动数据库(或下一步的自动启动配置)
$ORACLE_HOME/bin/lsnrctl start
$ORACLE_HOME/bin/dbstart
数据库应该可以启动得起来!
3继续升级:

1) 如果你已经装好了9204,现在想升级到9207,还会碰到中文乱码问题。
  首先是要停止Oracle的所有服务,否则安装程序会提示文件无法覆盖。

  $ dbshut
  $ lsnrctl stop
  $ agentctl stop
  $ stopJServ.sh

  $ cd patchDisk1(patchDisk1是我解压p4163445_92070_LINUX.zip的目录)
  $ find -name all_except_bin.jar
<—–
/stage/Components/oracle.swd.jre/1.4.2.02.0/1/DataFiles/all_except_bin.jar
(这里会找到两个)
—–>
  $ cd stage/Components/oracle.swd.jre/1.4.2.02.0/1/DataFiles
  $ cp -pf all_except_bin.jar all_except_bin.jar.eng
  $ unzip all_except_bin.jar.eng
  $ find -name font*zh*
<—–
./jre/1.4.2/lib/font.properties.zh.Turbo
./jre/1.4.2/lib/font.properties.zh_CN.Redhat8.0
./jre/1.4.2/lib/font.properties.zh_TW.Redhat8.0
./jre/1.4.2/lib/font.properties.zh_CN.Sun
./jre/1.4.2/lib/font.properties.zh_CN_UTF8.Sun
./jre/1.4.2/lib/font.properties.zh_TW.Sun
./jre/1.4.2/lib/font.properties.zh_TW_UTF8.Sun
—–>
  $ cd jre/1.4.2/lib
  $ rm -f font.*.zh font.*.tlc font.*.zys

  $ ln -s font.properties.zh_CN.Redhat8.0 font.properties.zh.zys
  $ ln -s font.properties.zh.Turbo font.properties.zh.tlc
  $ ln -s font.properties.zh.zys font.properties.zh
  $ ls -la *zh*

{说明:font.properties.zh.zys,此选项保证Redhat AS4显示中文}
{说明:font.properties.zh.tlc,如果安装了tlc字体,可以显示中文}

  $ cd ../../..
  $ rm -f all_except_bin.jar
  $ zip -r all_except_bin.jar jre/
  $ rm -Rf jre/

  注意:在9207里面是两个地方出现all_except_bin.jar,这两个文件是
  一样的。所以只要重做一次就行了,或者干脆把改好的拿去覆盖也可以。
2)运行升级
在patchDisk1目录下运行./runInstaller,现在你应该可以看到中文的界面了,将ouihome1改成ouihome,将安装路径改成你的oracle安装目录,基本上是next就可以了。

为了方便管理,可以写一个启动脚本ora9i:
以root身份进入,编写以下脚本:

#!/bin/bash
#start and stop the oracle instance
# chkconfig –level 5 –add ora9i
#chkconfig: 345 91 19
# description: starts the oracle listener and instance

export ORACLE_HOME="/u01/app/oracle/product/9.2.0.4"
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH
export ORACLE_OWNER="oracle"
export ORACLE_SID=oradb

if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]
then
  echo "oracle startup:cannot start"
  exit 1
fi

case "$1" in
start)
#startup the listener and instance
  echo -n "oracle startup: "
  su – $ORACLE_OWNER -c "$ORACLE_HOME/bin/lsnrctl start"
  su – $ORACLE_OWNER -c $ORACLE_HOME/bin/dbstart
  touch /var/lock/subsys/oracle
  echo "finished"
  ;;
stop)
# stop listener, apache and database
  echo -n "oracle shutdown:"
  su – $ORACLE_OWNER -c "$ORACLE_HOME/bin/lsnrctl stop"
  su – $ORACLE_OWNER -c $ORACLE_HOME/bin/dbshut
  rm -f /var/lock/subsys/oracle
  echo "finished"
;;
reload|restart)
  $0 stop
  $0 start
;;
*)
  echo "Usage: ora9i [start|stop|reload|restart]"
  exit 1

esac
exit 0

存为ora9i后,然后用chmod a+x ora9,即可在以后以root身份运行/etc/rc.d/init.d/ora9i start |stop 来管理oracle的启动和停止了。

安装完毕:


1条评论

  1. 楼上写的很好!!!

    谢谢!!

发表评论

评论也有版权!