1) 安装glibc 2.1包
glibc2.1版本(GNU C Library,18M)下载地址:
ftp://ftp.kernel.org/pub/software/l....1-linux.tar.gz
下载后都放到了/backup目录
从RedHat7.0以后的版本,安装的是glibc2.2。Oracle 8I不能使用glibc 2.2进行编译,而需要glibc2.1的SDK。
#su - root
#cd /
#tar zxvf /backup/i386-glibc-2.1-linux.tar.gz
隐藏/usr/bin 目录下的gcc,cc,ld,避免被Oracle installer使用
#cd /usr/bin
#mkdir saved
#mv gcc cc ld saved
#n -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
隐藏/usr/lib目录下的libc.so,libdl.so,libm.so和libpthread.so文件,避免被Oracle installer使用
#cd ../lib
#mkdir saved
#mv libdl.so libm.so libpthread.so saved
#mv libc.a libdl.a libm.a libpthread.a saved
不要忘了安装完成后把文件恢复回来。
2)创建user/group
#su - root
#groupadd dba
#useradd oracle -g dba
3) 配置环境变量
#su - oracle
# vi .bash_profile
ORACLE_BASE=/u01/oracle
ORACLE_HOME=$ORACLE_BASE/product/8.1.7
ORACLE_SID=proc
NLS_LANG=AMERICAN_AMERICA.zhs16cgb122380
LANG=en_US #oracle安装中文界面无法安装(界面字体很小),所以改成english.安装后可去掉。
LD_LIBRARY_PATH=$ORACLE_HOME/lib
PATH=$PATH:$ORACLE_HOME/bin:.
exoprt LANG ORACLE_BASE ORACLE_HOME ORACLE_SID NLS_LANG LD_LIBRARY_PATH PATH
umask 022
. /usr/i386-glibc21-linux/bin/i386-glibc21-linux-env.sh #阅读此文件可得到说明
export LD_ASSUME_KERNEL=2.2.5 #只要小于2.4即可
export DISPLAY=192.168.0.1:0.0 #(假设IP是192.168.0.1)可以保证在终端能够运行。
4)设置系统参数
Linux Environment Summary
Shared Memory(共享内存参数)
SHMMAX 0.5*物理内存 到 1GB
SHMMIN 1
SHMMNI 100
SHMSEG 10
Semaphore(信号)
SEMMNI 100
SEMMSL 10 + initSID.ora PROCESSES 参数 [initSID.ora -> ORACLE
SEMMNS 2* the largest PROCESSES + 10* Oracle database数目
SEMOPM 100
SEMVMX 32767
编辑 /etc/services
set shmsys:shminfo_shmmax=4294967295
set shmsys:shminfo_shmmin=1
set shmsys:shminfo_shmmni=100
set shmsys:shminfo_shmseg=10
set semsys:seminfo_semmni=100
set semsys:seminfo_semmsl=100
# 每个数据库进程的总和+最大进程数量两倍+ 10*数据库数量
#例如 ORACLE_SID=A, PROCESSES=100
ORACLE_SID=B, PROCESSES=200
ORACLE_SID=C, PROCESSES=300
SEMMNS=[(A=100)+(B=200)]+[(C=300)]*2+[#of instance=3]*10]=930
set semsys:seminfo_semmns=200
set semsys:seminfo_semopm=100
set semsys:seminfo_semvmx=32767
编辑好后存盘重新启动系统
5) 安装数据库
# ./runInstaller
如果你能正确的安装通过,恭喜你,你太幸运了.
6)安装中可能出现的问题.
----------------------------------------------------------------------------------
问题 (1)
我在red hat 7.2上安装oracle8.1.7,在做完准备工作之后,(我安装的是:j2sdk-1_3_0_02-linux.rpm.bin) ,
设置好用户环境之后,运行:./runInstaller,出现下面信息:
Initializing Java Virtual Machine from ../stage/Components/oracle.swd.jre/1.1.8/1/DataFiles/Expanded/linux/bin/jre. Please wait...
答案:
从7.1以后kernel的版本对于java过高,必须降止<2.4
export LD_ASSUME_KERNEL=2.2.5 #只要小于2.4即可
----------------------------------------------------------------------------------
问题 (2)
我安装的redhat7.2 smaple chinese ,当运行oracle安装程序时,显示的界面中汉字全部挤在一起,使我无法安装.
答案:
我也遇到了此情况,我开始以为是分辨率的原因(dafalut 1024*768),后来我调整为800*600还是不行.于是我只能以english
环境安装了,反正不影响.
export LANG=en_US
安装后可去掉此环境变量 .
----------------------------------------------------------------------------------
问题 (3)
在安装过程中遇到下面的问题:
进行到"summy"一步,点"install",进度标志到"60%"时,不断弹出错误提示:
Error in invoking target install of makefile
/home/oracle/sqlplus/lib/ins-sqlplus.mk;
(/home/oracle/network/lib/ins-net-client.mk;
/home/oracle/network/lib/ins-cman.mk;
/home/oracle/precomp/lib/ins-precomp.mk;
/home/oracle/precomp/lib/ins-names.mk;
/home/oracle/ladp/lib/ins-ldap.mk;
/home/oracle/network/lib/ins-net-server.mk;
/home/oracle/network/lib/ins-oemagent.mk;
/home/oracle/odg/lib/ins-odg.mk;
/home/oracle/otrace/lib/ins-otrace.mk;
/home/oracle/plsql/lib/ins-plsql.mk;
/home/oracle/rdbms/lib/ins-rdbms.mk;
/home/oracle/ctx/lib/ins-ctx.mk;
安装时只能不断ignore;
接下来到"configuration tools"一步,进程挂起,安装界面的各按钮都
为灰,有如下的错误信息:
libcinsth.so.80: can not load shared object file:no such file or
directory libnjni8.so.
Error load native library: libnjni8.so.
java.lang.unsatisfieldlinkError:
答案:
这个问题是最要我头痛的事情,足足憋了我3天,从网上查到了几个解决法案都不成功,最后我想出了一个不是办法的
办法,如果你们真正有实际的解决方法请高知.
闲话少说,先介绍几个网上的方法,可能对你的机器就好使,这就是计算机.
1) 如果这样做了,联接系统库的时候还报make错误的话(我是从来没有遇到这样的make error问题,所以没有办法测试),
可能就不是glibc的问题,而是ld这些命令的版本问题了。我建议如果出现这种错误的话,试试这个方法,就是再降级binutil。
先下载binutils-2.10.0.18-1.i386.rpm
(下载网址:http://rpmfind.net/linux/RPM/redhat...com上搜索一下)
rpm -Uvh binutils-2.10.0.18-1.i386.rpm --force --nodeps
然后再runInstaller。
又或者虽然出现make error,但是毕竟可以拷贝文件安装过去的话,也可以试试这个方法:
在安装文件完成以后,会先后出现配置Net8和出现数据库助手创建数据库的过程。
(如果配置Net8出错的话,可以就这样退出,自己手工修改$ORACLE_HOME/network/admin下的listener.ora和tnsnames.ora.)
在出现数据库助手创建数据库的时候,不要创建数据库,退出。因为此时联接的可执行程序有问题,不能正确创建数据库。
到Oracle网站,在下载Oracle8.1.7的地方,可以找到一个glibc的patch:
http://download.oracle.com/otn/linu....3-stubs.tar.gz
把它下载,放到$ORACLE_HOME下,解压缩,
cd $ORACLE_HOME
tar xvfz glibc-2.1.3-stubs.tar.gz
./setup_stubs.sh
然后在
dbassist
启动数据库创建助手,创建数据库。
2) 这是发生在link安装时,忽略错误安装完成.
# sqlplus
libcinsth.so.80: can not load shared object file:
其实这些文件在开始安装时已经拷贝到$ORACLE_HOME/lib目录下,但在发生错误的时候被删除了,(我说不清为什么.)
方法: 在出现出错框的时候,查看以下$ORACLE_HOME/lib下文件libcinsth.so.80是否存在,把此文件靠出来,安装完成后再拷贝回
%ORACLE_HOME/lib目录下即可.如果你在以后的运行程序中发生其它库连接not found 的话,你干脆在出错前把此目录
$ORACLE_HOME/lib下的所有库文件全部备出,安装后在拷贝回去.(偏方治大病).
-------------------------------------------------------------------------------------------
问题 4
用dbassist创建数据库的时候,安装到80%就死机.
答案:
(我使没有遇到这种问题.)
在出现数据库助手创建数据库的时候,不要创建数据库,退出。因为此时联接的可执行程序有问题,不能正确创建数据库。
到Oracle网站,在下载Oracle8.1.7的地方,可以找到一个glibc的patch:
http://download.oracle.com/otn/linu....3-stubs.tar.gz
把它下载,放到$ORACLE_HOME下,解压缩,
cd $ORACLE_HOME
tar xvfz glibc-2.1.3-stubs.tar.gz
./setup_stubs.sh
然后在
dbassist
启动数据库创建助手,创建数据库。