在执行goldengate的ggsci命令的时候,报了一个错误如下:

[oracle@rac1 ggs]$ ./ggsci
./ggsci: error while loading shared libraries: libnnz10.so: cannot open shared object file: No such file or directory
感觉很怪异,环境变量已经包含了export LD_LIBRARY=$ORACLE_HOME/lib:$ORACLE_HOME/jdbc/lib:$ORACLE_BASE/ggs,而且也已经起了作用为什么还报错呢?并且库文件是存在这些目录之中的。
于是尝试执行这个操作ln -s $ORACLE_HOME/lib/libnnz10.so $ORACLE_BASE/ggs/libnnz10.so,再次执行ggsci命令,不再报libnnz10.so找不到这个错误了,但是新的错误又来了,
[oracle@rac1 ggs]$ ./ggsci
./ggsci: error while loading shared libraries: libclntsh.so.10.1: cannot open shared object file: No such file or directory
再次执行库的软链接:ln -s $ORACLE_HOME/lib/libclntsh.so.10.1 $ORACLE_BASE/ggs/libclntsh.so.10.1

命令终于能正常执行了。
[oracle@rac1 ggs]$ ./ggsci

Oracle GoldenGate Command Interpreter for Oracle
Version 11.1.1.0.0 Build 078
Linux, x86, 32bit (optimized), Oracle 10 on Jul 28 2010 13:24:18

Copyright (C) 1995, 2010, Oracle and/or its affiliates. All rights reserved.

GGSCI (rac1) 1>

ggsci文件是二进制文件,无法查看内容,但是当我取消LD_LIBRARY这个环境变量是,命令能够照常执行。但这个两个库文件必须存在ggsci所在的目录,即我的$ORACLE_BASE.

这个ggsci需要的库文件:
[oracle@rac1 ggs]$ ldd ggsci
        libdl.so.2 => /lib/libdl.so.2 (0x00bfb000)
        libicui18n.so.38 => /app/oracle/ggs/libicui18n.so.38 (0x00710000)
        libicuuc.so.38 => /app/oracle/ggs/libicuuc.so.38 (0x0025e000)
        libicudata.so.38 => /app/oracle/ggs/libicudata.so.38 (0xb7423000)
        libpthread.so.0 => /lib/tls/libpthread.so.0 (0x00c01000)
        libxerces-c.so.28 => /app/oracle/ggs/libxerces-c.so.28 (0x00c13000)
        libnnz10.so => /app/oracle/ggs/libnnz10.so (0x0037f000)
        libclntsh.so.10.1 => /app/oracle/ggs/libclntsh.so.10.1 (0x00fc0000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00101000)
        libm.so.6 => /lib/tls/libm.so.6 (0x00bd6000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x001cc000)
        libc.so.6 => /lib/tls/libc.so.6 (0x00aa5000)
        /lib/ld-linux.so.2 (0x00a8b000)
        libnsl.so.1 => /lib/libnsl.so.1 (0x001d6000)