分享

64bit DBCA报java.io.IOException: Bad file descriptor

 lanyue211 2011-06-20

在64bit的RHEL4上成功安装9204后,通过DBCA建库的时候产生如下错误:
java.io.IOException: Bad file descriptor
at java.io.FileInputStream.readBytes(Native Method)
at java.io.FileInputStream.read(FileInputStream.java:194)
at sun.nio.cs.StreamDecoder$CharsetSD.readBytes(StreamDecoder.java:40
at sun.nio.cs.StreamDecoder$CharsetSD.implRead(StreamDecoder.java:450)
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:182)
at java.io.InputStreamReader.read(InputStreamReader.java:167)
at java.io.BufferedReader.fill(BufferedReader.java:136)
at java.io.BufferedReader.readLine(BufferedReader.java:299)
at java.io.BufferedReader.readLine(BufferedReader.java:362)
at oracle.sysman.assistants.util.sqlEngine.SQLEngine$ErrorStreamReader.run(SQLEngine.java:1985)

执行如下binary命令的时候sqlplus竟然出如下错误:

[oracle@plinuxt19 bin]$ sqlplus
Segmentation fault

通过relink all数据库还是如此。
真faint..只能求助metalink了。

Metalink上这样说:
Subject: Segmentation Fault When Execute Sqlplus, Oracle, Lsnrctl After New/Patchset Install
Doc ID: Note:316746.1 Type: PROBLEM
Last Revision Date: 28-APR-2006 Status: MODERATED

In this Document
Symptoms
Changes
Cause
Solution
--------------------------------------------------------------------------------


This document is being delivered to you via Oracle Support's Rapid Visibility (RaV) Rapid Visibility (RaV) process, and therefore has not been subject to an independent technical review.

 

Applies to: Oracle Server - Enterprise Edition - Version: 9.2.0 to 10.1.0
Oracle Server - Standard Edition - Version: 9.2.0 to 10.1.0
Linux x86-64
Linux x86
SymptomsAfter fresh install and latest patchset 9.2.0.6.0 on Linux x86_64 every attempt to use sqlplus, lsnrctl fails with an segmentation fault. ChangesNew install or patchset apply. CauseThe gcc/g++ compilers in /usr/bin are a script. (with additional parameters)
which caused an incorrect compilation.

make.log shows this incorrect compilation:
/tpp/oracle/920/bin/genclntsh
/usr/bin/ld: skipping incompatible /usr/lib/gcc-lib/i386-redhat-linux/2.96/libgcc.a when
searching for -lgcc
/usr/bin/ld: skipping incompatible /usr/lib/gcc-lib/i386-redhat-linux/2.96/libgcc.a when
searching for -lgcc
/usr/bin/ld: warning: i386 architecture of input file
`/usr/lib/gcc-lib/i386-redhat-linux/2.96/crtbeginS.o' is incompatible with i386:x86-64 output
/usr/bin/ld: warning: i386 architecture of input file
`/usr/lib/gcc-lib/i386-redhat-linux/2.96/crtendS.o' is incompatible with i386:x86-64 output. SolutionTo implement the solution, please execute the following steps:

1. cd /usr/bin (as root)
2. mv gcc gcc.script
3. mv g++ g++.script
4. ln -s gcc32 gcc
5. ln -s g++32 g++
6. login as oracle software owner (make sure environment is correct)
7. cd $ORACLE_HOME/bin
8. relink all

原来安装过程中make.log已经报了一些/tpp/oracle/920/bin/genclntsh
/usr/bin/ld: skipping incompatible /usr/lib/gcc-lib/i386-redhat-linux/2.96/libgcc.a when等的错误了。将gcc/g++调成32bit后,再relink all后问题解决。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多