在RHEL 4 x86-64下,安装Oracle 9iR2

最近需要迁移一套非常古老的业务系统,数据库竟然还是9iR2的,本想在数据迁移的过程中一并进行数据库的升级工作,但由于这套业务系统已经没有业务厂商运维,最终也只能放弃了数据库升级的想法。

这就需要在新的环境中安装一套9iR2的库,回想一下,距离最后一次安装9i的oracle数据库,差不多都已经十几年时间了,于是又重新翻了下官方文档,并将过程简要记录一下。

 

(1). 操作系统调整
--关闭不必要的服务:
chkconfig sendmail off
chkconfig iptables off
chkconfig smartd off

--修改启动级别为3

--修改主机名

--修改/etc/hosts文件

--挂载光驱
# mkdir /mnt/cdrom
# mount /dev/cdrom /mnt/cdrom


(2). 软件包:
rpm -ihv glibc-kernheaders-2.4-9.1.103.EL.x86_64.rpm
rpm -ihv glibc-headers-2.3.4-2.43.x86_64.rpm
rpm -ihv glibc-devel-2.3.4-2.43.x86_64.rpm
rpm -ihv glibc-devel-2.3.4-2.43.i386.rpm
rpm -ihv compat-gcc-32-3.2.3-47.3.x86_64.rpm
rpm -ihv compat-gcc-32-c++-3.2.3-47.3.x86_64.rpm
rpm -ihv compat-libstdc++-33-3.2.3-47.3.x86_64.rpm
rpm -ihv libstdc++-devel-3.4.6-11.x86_64.rpm
rpm -ihv libaio-0.3.105-2.x86_64.rpm
rpm -ihv libaio-devel-0.3.105-2.x86_64.rpm
rpm -ihv compat-db-4.1.25-9.x86_64.rpm
rpm -ihv compat-libgcc-296-2.96-132.7.2.i386.rpm
rpm -ihv compat-libstdc++-296-2.96-132.7.2.i386.rpm
rpm -ihv compat-libstdc++-33-3.2.3-47.3.x86_64.rpm
rpm -ihv gcc-3.4.6-11.x86_64.rpm
rpm -ihv gcc-c++-3.4.6-11.x86_64.rpm
rpm -ihv make-3.80-7.EL4.x86_64.rpm
rpm -ihv binutils-2.15.92.0.2-25.x86_64.rpm
rpm -ihv openmotif21-2.1.30-11.RHEL4.6.i386.rpm
rpm -ihv compat-libgcc-296-2.96-132.7.2.i386.rpm


(3). 内核参数设置:
vi /etc/sysctl.conf
kernel.sem = 250 32000 100 128
kernel.shmall = 2097152 # physical RAM size / pagesize
kernel.shmmax = 2147483648 # 1/2 of physical RAM (当前2G的大小)
kernel.shmmni = 4096
fs.file-max = 512000 # 512 x processes
net.ipv4.ip_local_port_range = 9000 65000
net.core.rmem_default = 262144
net.core.rmem_max = 2097152
net.core.wmem_default = 262144
net.core.wmem_max = 2097152

sysctl -p


(4). 创建用户
groupadd -g 400 oinstall
groupadd -g 401 dba
groupadd -g 402 oper
useradd -u 400 -g oinstall -G dba,oper oracle

echo "welcome1" |passwd --stdin oracle


(5). 关闭防火墙
service iptables stop
chkconfig iptables off


(6). 禁用selinux
sed -i s/SELINUX=enforcing/SELINUX=disabled/ /etc/selinux/config


(7). 设置系统限制
vi /etc/security/limits.conf

oracle soft nofile 65536
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384


(8). 创建软件目录
mkdir -p /u01
chown oracle:oinstall /u01


(9). 设置profile

# Oracle DB 9iR2 Environment
export ORACLE_BASE=/u01/oracle
export ORACLE_HOME=$ORACLE_BASE/product/db9ir2
export ORACLE_SID=proplh
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/ctx/lib:$ORACLE_HOME/RDBMS/lib:$ORACLE_HOME/lib32::/lib:/usr/lib
export ORACLE_DOC=$ORACLE_HOME
export PATH=$PATH:/usr/sbin:/usr/local/bin
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib
export TMP=/tmp
export TMPDIR=$TMP
export NLS_DATE_FORMAT='yyyy-mm-dd hh24:mi:ss'
export EDITOR=vi
export LD_ASSUME_KERNEL=2.4.19
umask 0022


(10). 修改 /etc/pam.d/login

添加如下内容:
session required pam_limits.so

(11). 重新链接32位的gcc编译器
mv /usr/bin/gcc /usr/bin/gcc.orig
mv /usr/bin/g++ /usr/bin/g++.orig
ln -s /usr/bin/x86_64-redhat-linux-gcc32 /usr/bin/gcc
ln -s /usr/bin/x86_64-redhat-linux-g++32 /usr/bin/g++

如果不链接32位的gcc编译器,则在link阶段会报错。


(12). 安装数据库软件:
$ gunzip amd64_db_9204_Disk1.cpio.gz
$ gunzip amd64_db_9204_Disk2.cpio.gz
$ gunzip amd64_db_9204_Disk3.cpio.gz
$ cpio -idcmv < amd64_db_9204_Disk1.cpio
$ cpio -idcmv < amd64_db_9204_Disk2.cpio
$ cpio -idcmv < amd64_db_9204_Disk3.cpio

$ export DISPLAY=192.168.56.1:0.0
$ xclock
$ cd /u01/software/Disk1
$ ./runInstaller

输入oinstall用户组。

可能出现的错误:
在安装软件时,进度到88%的时候,会报错,错误信息如下:Error in invoking target install_isqlplus of makefile /u01/oracle/product/9.2/sqlplus/lib/ins_sqlplus.mk。
原因:
这是使用了64位的gcc编译32位程序时出现的错误
解决办法:
mv /usr/bin/gcc /usr/bin/gcc.orig
mv /usr/bin/g++ /usr/bin/g++.orig
ln -s /usr/bin/x86_64-redhat-linux-gcc32 /usr/bin/gcc
ln -s /usr/bin/x86_64-redhat-linux-g++32 /usr/bin/g++

然后,点击,retry即可。

(13). 最后就是netca和dbca。

posted @ 2021-07-08 10:03  石云华  阅读(154)  评论(0编辑  收藏  举报