LINUX中执行SQLLDR报错
客户端主机,上好不容易把sqlldr弄上去了,环境变量配置了。但是在执行ldd的时候:$ldd-rsqlldrlibclntsh.so.11.1=>/opt/oracle...
客户端主机,上好不容易把sqlldr弄上去了,环境变量配置了。
但是在执行ldd的时候:
$ ldd -r sqlldr
libclntsh.so.11.1 => /opt/oracle/instantclient_11_2/libclntsh.so.11.1 (0x00002b485d4f4000)
libnnz11.so => /opt/oracle/instantclient_11_2/libnnz11.so (0x00002b485fd34000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00000033e6a00000)
libdl.so.2 => /lib64/libdl.so.2 (0x00000033e6600000)
libm.so.6 => /lib64/libm.so.6 (0x00000033e6200000)
libnsl.so.1 => /lib64/libnsl.so.1 (0x00000033e9200000)
libc.so.6 => /lib64/libc.so.6 (0x00000033e5e00000)
libaio.so.1 => /usr/lib64/libaio.so.1 (0x00002b48600fe000)
/lib64/ld-linux-x86-64.so.2 (0x00000033e5a00000)
undefined symbol: sltlnx (./sqlldr)
我导入数据的时候,也是提示“undefined symbol: sltlnx”
这个“undefined symbol: sltlnx”到底是啥意思啊!!改如何解决啊!!!百度没有找到,请大神帮帮忙,急急急!!!!!
执行导入语句的时候,提示:“sqlldr: symbol lookup error: sqlldr: undefined symbol: sltln ” 展开
但是在执行ldd的时候:
$ ldd -r sqlldr
libclntsh.so.11.1 => /opt/oracle/instantclient_11_2/libclntsh.so.11.1 (0x00002b485d4f4000)
libnnz11.so => /opt/oracle/instantclient_11_2/libnnz11.so (0x00002b485fd34000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00000033e6a00000)
libdl.so.2 => /lib64/libdl.so.2 (0x00000033e6600000)
libm.so.6 => /lib64/libm.so.6 (0x00000033e6200000)
libnsl.so.1 => /lib64/libnsl.so.1 (0x00000033e9200000)
libc.so.6 => /lib64/libc.so.6 (0x00000033e5e00000)
libaio.so.1 => /usr/lib64/libaio.so.1 (0x00002b48600fe000)
/lib64/ld-linux-x86-64.so.2 (0x00000033e5a00000)
undefined symbol: sltlnx (./sqlldr)
我导入数据的时候,也是提示“undefined symbol: sltlnx”
这个“undefined symbol: sltlnx”到底是啥意思啊!!改如何解决啊!!!百度没有找到,请大神帮帮忙,急急急!!!!!
执行导入语句的时候,提示:“sqlldr: symbol lookup error: sqlldr: undefined symbol: sltln ” 展开
1个回答
2017-06-06
展开全部
1.?提高linux中默认同时打开的最大文件数量(默认是1024)
最便捷的方法是在/etc/profile文件中加入ulimit?-n?最大开启数量
但是这种方法无法从根本上查出什么原因导致java打开了这么多的文件
2.?java端调查开启文件多的原因
?Linux下查看进程打开了哪些文件
?lsof?-p??进程id????->??打开的具体文件
?lsof?-p??进程id|wc?-l???->??打开文件的数量
通过调查发现,java开了很多TYPE为FIFO(Linux中的管道)的文件,因此联想到有可能是java代码中的流没有正常关闭或者释放导致的。
而且Java在Linux下执行命令的时候需要用到Process类,这个类在使用后需要destroy()掉,否者也会导致文件数开启的过多
最便捷的方法是在/etc/profile文件中加入ulimit?-n?最大开启数量
但是这种方法无法从根本上查出什么原因导致java打开了这么多的文件
2.?java端调查开启文件多的原因
?Linux下查看进程打开了哪些文件
?lsof?-p??进程id????->??打开的具体文件
?lsof?-p??进程id|wc?-l???->??打开文件的数量
通过调查发现,java开了很多TYPE为FIFO(Linux中的管道)的文件,因此联想到有可能是java代码中的流没有正常关闭或者释放导致的。
而且Java在Linux下执行命令的时候需要用到Process类,这个类在使用后需要destroy()掉,否者也会导致文件数开启的过多
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询