Writen by
HPLJ@2007.12.4
1. 所需软件
compat-egcs-6.2-1.1.2.16.i386.rpm
compat-egcs-c++-6.2-1.1.2.16.i386.rpm
compat-egcs-objc-6.2-1.1.2.16.i386.rpm
compat-glibc-6.2-2.1.3.2.i386.rpm
compat-libs-6.2-3.i386.rpm
compat-libstdc++-6.2-2.9.0.16.i386.rpm
glibc-2.1.3-stubs.tar.gz
jdk118_v3-glibc-2.1.3.tar.bz2
ORACLE817_LINUX_I386
i386-glibc-2.1-linux.tar.gz
2. 这些是很老的rpm,安装它们以便于Oracle 8.1.7兼容。(其实也可以用更高一点版本的,比如7.3下的rpm,可能会让系统不太稳定),建议去google的英文网站去找,直接输入该软件的名字就可以了,在中文google可能都找不到的。
rpm -Uvh --force --nodeps compat-egcs-6.2-1.1.2.16.i386.rpm
rpm -Uvh --force --nodeps compat-egcs-c++-6.2-1.1.2.16.i386.rpm
rpm -Uvh --force --nodeps compat-egcs-objc-6.2-1.1.2.16.i386.rpm
rpm -Uvh --force --nodeps compat-glibc-6.2-2.1.3.2.i386.rpm
rpm -Uvh --force --nodeps compat-libs-6.2-3.i386.rpm
rpm -Uvh --force --nodeps compat-libstdc++-6.2-2.9.0.16.i386.rpm
3. 这个很关键,因为这里的gcc/ld是安装成功的关键(也有备选方案,比如用7.3下的gcc269等)
cp i386-glibc-2.1-linux.tar.gz /
tar zxvf i386.glibc-2.1-linux.tar.gz
cd /usr/bin #降低gcc的版本,否则oracle无法成功安装的
mkdir saved
mv gcc cc ld saved
ln -s /usr/i386-glibc-2.1-linux/bin/i386-glibc21-linux-gcc gcc
ln -s gcc cc
ln -s /usr/i386-glibc-2.1-linux/bin/i386-glibc21-linux-ld ld
cd /usr/lib
mkdir saved
mv libc.so libdl.so libm.so libpthread.so saved
mv libc.a libdl.a libm.a libpthread.a saved
5.JDK使用118的,或使用了jdk118_v1也没有问题
cp jdk118_v3-glibc-2.1.3.tar.bz2 /usr/local
tar jxvf jdk118_v3-glibc-2.1.3.tar.bz2
ln -s /usr/local/jdk118_v3 /usr/local/java
rm jdk118_v3-glibc-2.1.3.tar.bz2
6. groupadd dba
groupadd oinstall
useradd -d /opt/oracle -g dba -G oinstall oracle
passwd oracle
chown -R oracle:dba /opt/oracle
chmod 750 /opt/oracle
7. 修改 /etc/sysctl.conf
kernel.shmmax=2621444000
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.sem = 250 32000 100 128
reboot
8. su oracle
.bash_profile
export JAVA_HOME=/usr/local/java
export LD_ASSUME_KERNEL=2.4
export ORACLE_BASE=/data/oracle817
export ORACLE_HOME=/data/oracle817/
export NLS_LANG=american_america.ZHS16GBK
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export ORACLE_SID=jjmis
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib
export PATH=$PATH:$ORACLE_HOME/bin
export CLASSPATH=.:$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib
export PATH=$PATH:$JAVA_HOME/bin
9.install
下面的一些问题在我安装时没有都出现,我只要执行root.sh,因为前面有安装过,所以有些脚本不用再次执行。
su root
cp glibc-2.1.3-stubs.tar.gz to /tmp
cd /data/oracle817
tar xvzf /tmp/ glibc-2.1.3-stubs.tar.gz
./setup_stubs.sh
************************************
如果出现错误提示: Error in invoking target relink of makefile
/data/oracle817/precomp/lib/ins_precomp.mk
检查/usr/bin/ld的链接
************************************
10. 修改/data/oracle817/ctx/lib/env_ctx.mk :
cd /data/oracle817/ctx/lib
vi env_ctx.mk 修改第1374行
CTXHX_LINKLINE=$(LINK) $(CTXLIB)ctxhx.$(OBJ_EXT) $(INSO_LINK) $(USRLIBS)
改为
CTXHX_LINKLINE=$(LINK) $(CTXLIB)ctxhx.$(OBJ_EXT) $(INSO_LINK) $(USRLIBS) -ldl
11. 修改/data/oracle817/root.sh :
cd /data/oracle817
vi root.sh
a. 修改第98行 SED=/usr/local/bin/sed 改为 SED=/bin/sed
b. 修改第102行 RMF=/bin/rm –f 改为 RMF="/bin/rm -f"
c. 修改第156行 RUID=`/usr/bin/id|$AWK -F\( '{print $2}'|$AWK -F\) '{print $1}`
改为 RUID=`/usr/bin/id|$AWK -F\( '{print $2}'|$AWK -F\) '{print $1}'`
12. run root.sh
13.配置比较慢
14. dbassist 创建数据库
**********************************
启动dbassist时,若弹出以下错误信息
ibnldapj8.so: cannot open shared object file: Permission denied (libnldapj8.so)
java.lang.UnsatisfiedLinkError: no nldapj8 in shared library path
在安装光盘的path目录下找到这个文件 拷贝该文件
cp ./Disk1/patch/bug1542738/libnldapj8.so /usr/lib
cp ./Disk1/patch/bug1542738/libnldapj8.so /usr/local/oracle/product/8.1.7/lib/
将全部权限授予该文件
chmod -R 777 /data/oracle817/lib/libnldapj8.so
************************************
sqlplus / nolog
conn / as sysdba
安装补丁8.1.7.4,按照文档做即可,基本不会出现以外
最后建议将步骤3中的
Gcc/gc/ld都恢复为原来的设定。
#mv /usr/bin/saved/* /usr/bin/