在RedHat Linux Enterprise AS3 U3上安装Oracle9i
<前言>
这篇安装文档参考了CU及别的站点的几位前辈的大作才得以成文,但仓促之间竟未记得他们的名字,实在有些愧疚,不过在这里我依然要对他们的无私表示感谢!希望这篇文档可以对需要的人带来一点帮助,也希望看到这份文档的朋友斧正其中的错误。
硬件环境:普通PC机一台,AMD Duron800 CPU,640M DDR 内存,Mator 5400 RPM硬盘,768M交换分区
操作系统:RedHat Linux Enterprise Advanced Server 3 Update 3
数据库软件:Oracle9i
软件包名称:ship_9204_linux_disk1.cpio.gz
ship_9204_linux_disk2.cpio.gz
ship_9204_linux_disk3.cpio.gz
补丁: p3006854_9204_LINUX.zip
p3948480_9206_LINUX.zip
下载地址:mirrors.cn99.com,在这个站点可以下载到Oracle9i的3个CPIO包和p3948480_9206_LINUX.zip补丁
安装步骤:
1.在安装操作系统时,不安装apache服务器。
2.root用户的准备工作:
<1>建立oracle用户及oinstall、dba组
#groupadd oinstall (oinstall是在安装Oracle9i时提示要输入的的UNIX Group Name)
#groupadd dba
#useradd -g oinstall -G dba oracle
#passwd oracle
#groupadd apache
#useradd -g apache -G oinstall apache
#passwd apache
<2>建立相关的目录
#mkdir -p /opt/ora9/product/9.2
#mkdir /var/opt/oracle
#chown oracle.dba /var/opt/oracle
#chown -R oracle.dba /opt/ora9
#chmod 775 /opt
<3>检查是否安装以下包:
#rpm -qa|grep compat
compat-libstdc++-devel-7.3-2.96.128
compat-libstdc++-7.3.2.96.128
compat-db-4.0.14-5
compat-gcc-7.3-2.96.128
compat-gcc-c++-7.3-2.96.128
compat-glibc-7.x-2.2.4
nss_db-compat-2.2-20
#rpm -qa|grep openmotif
openmotif-2.2.3-3.RHEL3
#rpm -qa|grep setarch
setarch-1.3-1
若没有安装的话,插入相应的操作系统安装光盘进行安装。
<4>设置内核参数
#vi /etc/sysctl.conf,加入以下语句:
kernel.shmmax=1073741824
kernel.shmmni=4096
kernel.shmall=2097152
kernel.sem=250 32000 100 128
fs.file-max=65536
net.ipv4.ip_local_port_range=1024 65000
<5>查看修改
#sysctl -p
<6>设置oracle对文件的要求
#vi /etc/security/limits.conf,加入以下语句:
oracle soft nofile 65536
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
<7>设置环境变量
#export ORACLE_BASE=/opt/ora9
#export ORACLE_HOME=/opt/ora9/product/9.2
<8>确定使用正确的编译器
#mv /usr/bin/gcc /usr/bin/gcc323
#mv /usr/bin/g++ /usr/bin/gcc++323
#ln -s /usr/bin/gcc296 /usr/bin/gcc
#ln -s /usr/bin/g++296 /usr/bin/g++
<9>另开一个终端以oracle帐号登陆,设置oracle帐号的环境变量:
$vi /home/oracle/.bash_profile,添加以下语句:
export DISPLAY="192.168.0.2:0.0"
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=xterm
export LD_ASSUME_KERNEL=2.4.1
export THREADS_FLAG=native
export NLS_LANG=AMERICAN
export LD_LIBRARY_PATH=/opt/ora9/product/9.2/lib:$LD_LIBRARY_PATH
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
<10>解压cpio安装包:
#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三个目录
<11>安装补丁p3006854_9204_LINUX.zip
#unzip p3006854_9204_LINUX.zip
#cd 3006854
#./rhel3_pre_install.sh
系统提示:Applying patch...
Patch successfully applied
3.安装Oracle9i数据库软件:
#xhost +192.168.0.2 (本地IP地址)
(xhost disable访问控制,客户端可以从任何主机进行连接) 这个命令用来保证oracle用户调用X11,否则无法安装
<1>以oracle用户登陆,
<2>执行:
$./
<3> 按照OUI画面提示一步步进行,但是只安装数据库软件,不建数据库
<4>可以很顺利的安装完毕,用命令dbca建立数据库
$dbca
按照提示一步步进行,可以很顺利的建立SID为ora9的数据库!
<5>安装补丁p3948480_9206_LINUX.zip
#unzip p3948480_9206_LINUX.zip
......
<6>若Oracle正在运行,要停止所有相关的服务。
$cd /opt/ora9/product/9.2/Apache/Apache/bin
$./apachectl stop
停止运行监听器LISTENER
$lsnrctl stop
<7>安装新的OUI,执行
$./
<8>更新数据库,按照以下顺序执行sql脚本
$sqlplus /nolog
SQL>connect / as sysdba
SQL>startup migrate
SQL>spool /tmp/patchlog
SQL>@$ORACLE_HOME/rdbms/admin/catpatch.sql
SQL>spool off
SQL>shutdown
SQL>startup
SQL>spool /tmp/rp.log
SQL>@$ORACLE_HOME/rdbms/admin/utlrp.sql
SQL>spool off
SQL>shutdown
SQL>startup
SQL>exit
<9>启动监听器
$lsnrctl start
<10>
客户端可以正常使用Oracle。
<附录> Oracle9i部分安装故障及解决方法
1.安装补丁p3006854
$./rhel3_pre_install.sh,出现以下错误提示:
rhel3_pre_install.sh:line 36:gcc:command not found.
原因:未安装gcc.
解决办法:安装gcc的rpm软件包
2.发现一些指令不能使用了。如:
#ls
ls:error while loading shared libraries:/etc/libcwair.so:cannot open object file:No such file or directory.
#rm /etc/etc/ld.so.preload
rm:error while loading shared libraries:/etc/libcwair.so:cannot open object file:No such file or directory.
不要退出bash,否则重新启动机器后将不能进入Linux系统!你有可能要重新安装Linux系统!
用以下方法来修复:
#echo "" > /etc/ld.so.preload
#rm /etc/ld.so.preload
重启机器即可。