【Oracle】安裝完oracle 9i,執行sqlplus 遇到Segmentation Fault

楊奇龍發表於2011-11-25
安裝完成oracle 9.2.0.4之後,執行sqlplus 命令時遇到Segmentation Fault 錯誤,查詢 Metalink 是一個bug:Segmentation Fault When Execute Sqlplus, Oracle, Lsnrctl After New/Patchset Install [ID 316746.1]
對於新安裝的軟體或者打過補丁的oracle資料庫(9.2.0.1 to 10.1.0.2,for Linux x86,Linux x86-64)都可能遇到此bug
原因是:
The 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.
解決辦法:
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
我的步驟如下:
以root使用者做如下操作:
root@rac1:/opt/oracle/products/9.2.0#cd /usr/bin
root@rac1:/usr/bin#mv gcc gcc.sript
root@rac1:/usr/bin#mv gcc.sript gcc.script
root@rac1:/usr/bin#mv g++ g++.script
root@rac1:/usr/bin#ln -s gcc32 gcc
root@rac1:/usr/bin#ln -s g++32 g++
以oracle使用者
oracle@rac1:/home/oracle>cd $ORACLE_HOME/bin
oracle@rac1:/opt/oracle/products/9.2.0/bin>relink all
cp: cannot stat `/DISCARD/': No such file or directory
ar: creating /opt/oracle/products/9.2.0/lib/libclntst9.a
Created /opt/oracle/products/9.2.0/lib/libclntst9.a
cp: cannot stat `/DISCARD/': No such file or directory
ar: creating /opt/oracle/products/9.2.0/lib32/libclntst9.a
Created /opt/oracle/products/9.2.0/lib32/libclntst9.a
/opt/oracle/products/9.2.0/bin/genagtsh /opt/oracle/products/9.2.0/lib/libagtsh.so 1.0
Linking /opt/oracle/products/9.2.0/precomp/lib/proc
rm -f /opt/oracle/products/9.2.0/bin/proc
mv /opt/oracle/products/9.2.0/precomp/lib/proc /opt/oracle/products/9.2.0/bin/
- Linking Import utility (imp)
- Linking Export utility (exp)
- Linking SQL*Loader utility (sqlldr)
- Linking performance trace utility (tkprof)
- Linking recovery manager (rman)
- Linking PSP Loader utility (loadpsp)
- Linking otrcfmt
- Linking otrcrep
- Linking otrccol 
- Linking otrccref
- Linking sqlplus
- Linking wrap
- Linking /opt/oracle/products/9.2.0/bin/tnslsnr   
- Linking Oracle 
- Linking database file size utility (dbfsize)
 ....省略...
- Linking SGA Dump Utility (mapsga)
- Linking cursor size utility (cursize)
 ....省略...
 
oracle@rac1:/opt/oracle/products/9.2.0/bin>sqlplus "/as sysdba"
SQL*Plus: Release 9.2.0.4.0 - Production on Fri Nov 25 19:49:30 2011
Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.
Connected to an idle instance.
SQL> exit

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22664653/viewspace-712117/,如需轉載,請註明出處,否則將追究法律責任。

相關文章