为了图方便给新的oracle客户端安装了仅有sqlplus 版本的Instant Client 。后来发现需要用到sqlldr来批量导数据,难道要重新装个oracle client吗。
在网上搜索了相关资料开始手动添加sql*ldr。
由于这个个时候管理员的权限刚好被撤走了,所有原来的/data/Oracle/instantclient_11_2/整个目录都没有修改的权限,本还想没办法了。但是机智如我
,想到了一个办法
cp -r /data/Oracle /data/Oracle_KQB
就这样新建了一个有绝对权限的instantclient_11_2,然后当然是修改配置文件。
把旧的/data/Oracle/instantclient_11_2/替换成/data/Oracle_KQB/instantclient_11_2/
vi ~/.bash_profile
export ORACLE_HOME=/data/Oracle_KQB/instantclient_11_2
export TNS_ADMIN=$ORACLE_HOME
export LD_LIBRARY_PATH=$ORACLE_HOME:$LD_LIBRARY_PATH
export PATH=$ORACLE_HOME:$PATH
export NLS_LANG="AMERICAN_AMERICA.ZHS16GBK"
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
. ~/.bash_profile 刷新配置文件
which sqlplus 发现绝对路径变了
然后开始添加sqlldr
1.搜索/bin/sqlldr
在oracle服务器端肯定有sqlldr的因为服务端包含客户端的全部。
把以下的sqlldr 通过scp
/opt/app/product/11.2.0/dbhome_1/bin/sqlldr
复制到
/data/Oracle_KQB/instantclient_11_2/
2.搜索rdbms/mesg/ulus.msb
在本地/data/Oracle_KQB/instantclient_11_2/新建文件
mkdir -p /rdbms/mesg
然后把一下的文件通过scp
/opt/app/product/11.2.0/dbhome_1/rdbms/mesg/ulus.msb
复制到
/data/Oracle_KQB/instantclient_11_2//rdbms/mesg
里面去
这样就可以了。