Linux下精简版的oracle客户端配置使用sql load(sqlldr)

Linux下安装了精简版的oracle客户端(参考博文《Linux下Oracle client客户端简便安装》),却只可使用sqlplus,后需要使用sql load,需要对客户端进行简单的升级。

解决方案:将服务端sqlldr命令及相关文件拷贝到客户端电脑下
[root@server ~]scp $ORACLE_HOME/bin/sqlldr root@ip_client:$ORACLE_HOME/bin/sqlldr
[root@server ~]scp $ORACLE_HOME/network/mesg/* root@ip_client:$ORACLE_HOME/network/mesg/
[root@server ~]scp $ORACLE_HOME/rdbms/mesg/ulus.msb root@ip_client:$ORACLE_HOME/rdbms/mesg/ulus.msb
[root@server ~]scp $ORACLE_HOME/lib/libclntsh.so root@ip_client:$ORACLE_HOME/lib/libclntsh.so


另外如果执行导入数据时报如下错误

[root@server ~]sqlldr username/password@orcl_sid control='/opt/oracle/sqlload.ctl'

sqlldr: symbol lookup error: sqlldr: undefined symbol: sldext

则可能是由于
$ORACLE_HOME/network/mesg/tnsus.msb和 $ORACLE_HOME/rdbms/mesg/ulus.msb
这两个文件的版本与本地的client的版本不一致的原因,导致sqlldr在control=这一段报错
解决方法可参照上面,从server端scp 一份$ORACLE_HOME/lib/libclntsh.so到client的$ORACLE_HOME/lib/目录下

猜你喜欢

转载自blog.csdn.net/karloo/article/details/52441952