【求助】安装ORACLE时出现错误提示

【求助】安装ORACLE时出现错误提示

在LINUX AS 3.0上安装ORACLE9i时出现了下面这个错误.请问有什么方法解决.
jre/lib/i386
/libjava.so: symbol __libc_wait, version GLIBC_2.0 not defined in file libc.so.6
with link time reference      
我也是同样的系统出现同样的错误,至今不知为什么,是BLIBC的版本太高,是JAVA VM的问题还是其它什么问题,怎么没人来解决呢?      
你缺补丁,打个补丁就可以了      
[oracle@lrui Disk1]$ ./runInstaller
[oracle@lrui Disk1]$ Initializing Java Virtual Machine from /tmp/OraInstall2004-12-11_09-28-03PM/jre/bin/java. Please wait...
Error occurred during initialization of VM
Unable to load native library: /tmp/OraInstall2004-12-11_09-28-03PM/jre/lib/i386/libjava.so: symbol __libc_wait, version GLIBC_2.0 not defined in file libc.so.6 with link time reference

我的linux版本是fc3 安装也是报这个错误.
楼上说的补丁是什么。能不能给个地址 或者给个名称啊~      
下载文件libcwait.c        ftp://people.redhat.com/drepper/libcwait.c
用gcc -shared -o libcwait.so -fpic -O2 libcwait.c进行编译
然后export LD_PRELOAD=/path/libcwait.so就行了      
I was also got that error, and I had try to solve it with upper's guide. but I got  the same error      
Oracle 8i在GNU/Linux上的安装笔记作者: 车东 Email: chedongATbigfoot.com/chedongATchedong.com

写于:2002/12 最后更新: 02/25/2006 19:47:14
Feed Back >> (Read this before you ask question)


版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明
http://www.chedong.com/tech/oracle.html

关键词:oracle 8i redhat linux install

内容摘要:RedHat 7.3/8 下的Oracle 8i安装笔记

硬件需求
========
至少256M物理内存

系统准备
========
redhat8按server方式安装需要增加的安装包大类:
1 包含一个X系统,建议使用GNOME,
2 将开发工具包DEVELOP TOOLS选上,标准的GCC工具等就有了。
3 建议将NETWORK UTILIETY选上,nmap mtr之类的小工具很有用
安装大约1.4G空间

安装后将语言环境设置缺省的en_US.UTF-8 (在RedHat 7.3下缺省是en_US.iso885915)改成en_US
root#vi /etc/sysconfig/i18n
改成:
LANG="en_US"
SUPPORTED="en_US:en"




一 安装前准备
下载:

最新的JAVA虚拟机:建议使用IBM JVM1.3
http://www-106.ibm.com/developerworks/java/jdk/
Oracle8.1.7的安装包:
linux81701.tar oracle8i的LINUX安装包
glibc-2.1.3-stubs.tar.gz 补丁程序
http://technet.oracle.com/software/products/oracle8i/content.html
1 安装JDK
root#rpm -i IBMJava2-SDK-1.3.1-2.0.i386.rpm
将JAVA_HOME设置到/etc/profile
root#vi /etc/profile
export JAVA_HOME=/opt/IBMJava2-131
export PATH=$PATH:/opt/IBMJava2-131/bin

2 创建用户和组
oracle8i服务用户名:oracle属于dba组
root#groupadd dba
root#useradd oracle -g dba
修改oracle用户密码:
root#passwd oracle

3 设置oracle用户的环境变量,增加以下设置:
oracle%vi ~oracle/.bash_profile

export LD_ASSUME_KERNEL=2.2.5 export ORACLE_BASE=/opt/oracleexport ORACLE_HOME=$ORACLE_BASE/product/8.1.7export NLS_LANG=americanexport PATH=$PATHORACLE_HOME/bin
说明:
export LD_ASSUME_KERNEL=2.2.5
指让ORACLE运行在与Redhat 6.2所基于的glibc-2.1的环境中,很多人在后面的安装过程中运行runInstaller后界面迟迟出不来,多半是因为这个环境设置问题。以前很多文章都说要安装compat包,我试过可以不装;
ORACLE_BASE和ORACLE_HOME主目录环境设置。将来的ORACLE应用程序和数据库就装在相应目录下。当然你也可以设置为其他驱动器,比如安装说明推荐的:"/u01/oracle"等;
这里假设要安装到/opt/oracle目录下:如果/opt/oracle目录还不存在,则创建相应目录并设置为oracle用户/dba组拥有:
#mkdir /opt/oracle
#chown -R oracle:dba /opt/oracle
NLS_LANG是缺省的字符集设置,如果你的应用需要其他字符集设置,请参考:ORACLE所支持的字符集;
export PATH=$PATHORACLE_HOME/bin是让oracle用户缺省就能访问到ORACLE的命令行工具;
如果需要让这些环境设置马上生效:
source .bash_profile



二 ORACLE的安装过程

解包linux81701.tar(大约530M)
oracle%tar xf linux81701.tar

用Oracle用户进入X环境,运行解包出的Disk1/runInstaller,如果安装界面迟迟出不来,

请检查一下LD_ASSUME_KERNEL=2.2.5这个环境变量,
要不就是你根本没有装开发工具包大类(Developer Tools,包含:gcc 等开发工具)。
整个安装过程最好开启2个窗口:一个是Oracle的Installer,在另外一个终端窗口里运行一些辅助脚本程序,以下是按步骤安装时2个窗口的切换过程:

Oracle installer界面  脚本运行窗口
oracle%/PATH/TO/Disk1/runInstaller
按部就班地按照缺省选项安装就行。
Oracle包含了丰富的服务器组件LDAP JAVA应用服务器等,但如果只是用做数据库服务器的话,为了减少后面不必要的痛苦,建议不安装OPS,JServer等,否则会慢得让你怀疑死机了。
作为数据库服务器建议只选择以下组件:
Oracle Server
Net8
Oracle Utilities
Orcale Configuration Assistants
 
中间有关出现权限组设置时,都填写预先设置好的dba组
当ORACLE安装提示运行oracle用户组权限设置脚本时:
root#./orainstRoot.sh  
中间关于数据库安装的配置选择不安装数据库
(或者最后出现数据库助手时不安装,一定等用
oracle提供的glibc-2.1.3-stubs.tar.gz中的
setup_stub.sh打完补丁以后再装数据库)  

当ORACLE安装提示用root运行root.sh时:Oracle8.1.7.0.1的版本此时的root.sh有个bug在第156行:
改正如下:RUID=`/usr/bin/id|$AWK -F( '{print $2}'|$AWK -F) '{print $1}'`                                   最后少写个单引号 '---------^root#root.sh

ORACLE应用程序安装完成,NET8配置按照缺省设置(Perform typical configuration)即可。
至此:数据库应用和网络服务基本安装初步完成,但数据库没有初始化,退出Installer安装界面。  

切换回oracle用户打补丁程序:
oracle%cp glibc-2.1.3-stubs.tar.gz %ORACLE_HOME/
oracle%cd $ORACLE_HOME
oracle%tar zxf glibc-2.1.3-stubs.tar.gz
oracle%./setup_stubs.sh
补丁打完后,在X环境中,用oracle用户启动dbassist,并按照提示创建数据库。
oracle%dbassist
数据库安装完成   


数据库设置完成后,将新安装的实例ORACLE_SID设置到.bash_profile里:假设新建的数据库实例ID名是:orcl
export ORACLE_SID=orcl

这时候已经可以使用dbstart脚本启动数据库了
oracle%dbstart
或者
oracle%sqlplus
SQL>connect internal
SQL>startup

远程服务监听端口启动
oracle%lsnrctl start



三 设置服务自动启动

设置相应数据库实例允许用系统服务自动启动:修改oratab文件
root# vi /etc/oratab
将最后的:
orcl:/home/oracle/product/8.1.7:N
改为:
orcl:/home/oracle/product/8.1.7:Y


简单的服务自动启动脚本
root# vi /etc/rc.local
#start oracle8i listener first
su - oracle -c 'lsnrctl start'
#start oracle8i
su - oracle -c 'dbstart'





四 表空间创建和用户创建

表空间/用户一一对应,命名规则:username ==> USERNAME.dbf 比如:demo  ==> DEMO.dbf

创建表空间:
create tablespace DEMO datafile '$ORACLE_BASE/oradata/$ORACLE_SID/DEMO.dbf' size 200m;

创建用户:
create user demo identified by demo default tablespace DEMO quota 200m on DEMO;
grant connect to demo;

删除用户:
drop user demo CASCADE;

修改用户密码:
alter user demo identified by new_password;

安装后Oracle系统需要修改的缺省用户名和密码有:
    sys/change_on_install        (比system的权限更高,经常用来设置系统的参数,或者特殊系统视图)
    system/manager                (可以管理大部分的工作:表空间、用户、授权、数据文件等)
    internal/oracle                (经常用在通过svrmgrl来启动关闭数据库,因为缺省是os认证,所以不需要密码)

数据导出:
exp username/password@TNS file=user.dmp

按星期定期备份:
exp username/password@TNS file=$ORACLE_BASE/backup/user_`date +%w`.dmp
注意:在crontab中需要将“%”转义:\%w
24 17 * * * (source /home/oracle/.bash_profile; exp newdemo/newdemo file=$ORACLE_BASE/backup/user_`date +\%w`.dmp)

数据导入:
imp username/password file=name_of_backup.dmp fromuser=thatuser touser=thisuser



参考资料:

Install Oracle 8.1.7
http://openacs.org/doc/openacs-4/oracle.html

Oracle8i release 3 (8.1.7) installation on Red Hat Linux 7.3
http://staff.in2.hr/denis/oracle/817install_rh73_en.html


ORACLE深度历险
http://oracle9idba.nease.net/

原文出处:<a href="http://www.chedong.com/tech/oracle.html">http://www.chedong.com/tech/oracle.html</a>
<<返回

<<返回首页      
在执行./runInstall时出现 Unable to load native library: /tmp/OraInstall2006-04-19_01-51-39PM/jre/lib/i386/libjava.so: symbol __libc_wait, version GLIBC_2.0 not defined in file libc.so.6 with link time reference
按照上在的介绍还是会出错:gcc -shared -o libcwait.so -fpic -O2 libcwait.c

ERROR: ld.so: object '/tmp/OraInstall2006-04-19_12-59-21PM/jre/lib/i386/libcwait.so' from LD_PRELOAD cannot be preloaded: ignored.
为什么啊!还是不懂喔!望高手赐请喔!