2015-11-21 29 views
0
  1. 安裝oracle_client甲骨文SQLLDR - >未定義的符號:sldext

    • oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm
    • oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm
    • oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm
  2. 副本sqlldr文件/usr/lib/oracle/11.2/client64/bin

  3. 副本rdbmsnls文件夾/usr/lib/oracle/11.2/client64/

  4. 設置.bash_profile

    export LANG=en_US.UTF-8 
    export ORACLE_HOME=/usr/lib/oracle/11.2/client64 
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib 
    export NLS_LANG=KOREAN_KOREA.KO16KSC5601 
    export TNS_ADMIN=$ORACLE_HOME/network/admin 
    export ORA_NLS10=$ORACLE_HOME/nls/data 
    export PATH=$ORACLE_HOME/bin:$PATH 
    

但是,執行ldd -r sqlldr遵循下一行

linux-vdso.so.1 => (0x00007fff03fff000) 
     libclntsh.so.11.1 => /usr/lib/oracle/11.2/client64/lib/libclntsh.so.11.1 (0x00007f6f036bb000) 
     libnnz11.so => /usr/lib/oracle/11.2/client64/lib/libnnz11.so (0x00007f6f032ed000) 
     libpthread.so.0 => /lib64/libpthread.so.0 (0x00000037fae00000) 
     libdl.so.2 => /lib64/libdl.so.2 (0x00000037fa600000) 
     libm.so.6 => /lib64/libm.so.6 (0x00000037fb600000) 
     libnsl.so.1 => /lib64/libnsl.so.1 (0x00000037fce00000) 
     libc.so.6 => /lib64/libc.so.6 (0x00000037faa00000) 
     libaio.so.1 => /lib64/libaio.so.1 (0x00007f6f030e0000) 
     /lib64/ld-linux-x86-64.so.2 (0x00000037fa200000) 
undefined symbol: sldext  (./sqlldr) 
undefined symbol: sldextf  (./sqlldr) 

的.bash_profile

export LANG=en_US.UTF-8 
export ORACLE_HOME=/usr/lib/oracle/11.2/client64 
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib 
export TNS_ADMIN=$ORACLE_HOME/network/admin 
export ORA_NLS10=$ORACLE_HOME/nls/data 
export PATH=$ORACLE_HOME/bin:$PATH 

如何刪除undefined symbol

回答

3

的問題是在以下庫:

/usr/lib/oracle/11.2/client64/lib/libclntsh.so.11.1

更改這個庫的舊版本,它會工作。 我們看到在11.2.0.3版本正常工作時,庫的11.2.0.4版本拋出了這個錯誤。

+0

我想嘗試一下,但現在可以在哪裏找到11.2.0.3? –

+0

Here:http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html –