在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后问题解决。
|