1.下载对应rpm文件
链接:https://pan.baidu.com/s/1G6DA383UI8ClHudsr82hRQ 密码:f02e
2.执行安装命令
[root@bogon oracle]# rpm -ivh oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm 准备中... ################################# [100%] 正在升级/安装... 1:oracle-instantclient11.2-basic-11################################# [100%] [root@bogon oracle]# rpm -ivh oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm 准备中... ################################# [100%] 正在升级/安装... 1:oracle-instantclient11.2-sqlplus-################################# [100%] [root@bogon oracle]#
|
3.在client64下创建文件夹network/admin,再把tnsn文件上传上去,改tnsnames.ora的配置
连接串名需要顶头书写,数据库连接串定义中除首尾括号外不允许其他内容顶头书写!
4.设置环境变量:
1) 这个有很多种方法,shell有很多版本,
在用户的家目录下打开.cshrc
设置文件编码:
setenv LANG zh_CN.gb18030
设置环境变量:
setenv ORACLE_HOME=/usr/lib/oracle/11.2/client64/
Setenv LD_LIBRARY_PATH=:$ORACLE_HOME/lib:/usr/local/lib:$LD_LIBRARY_PATH:.
Setenv TNS_ADMIN=$ORACLE_HOME
Setenv PATH=$PATH:$ORACLE_HOME/bin:
Setenv NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
执行source .cshrc,然后每次打一个窗口的时候就会自动执行.cshrc里面的命令。
-------------------------下面就开始往数据库里入数据了----------------------------
数据可以入到库里面,但是是乱码,我是用脚本入的。
乱码的原因:ORACLE的服务端 和客户端以及linux服务器的编码要一致。但是我这边都设置好了还是有乱码。
原来是之前的脚本是u8编码写的,跟数据库编码不一致导入乱码。
查看文件编码:file 文件名
到这里就搞定了。
==============新加20190506以上操作之后sqlldr还不能用,需要进行以下操作==============
1、从oracle服务器复制以下文件到客户端
scp $ORACLE_HOME/network/mesg/tnsus.msb zj_tnms@SERVER_IP:$ORACLE_HOME/rdbms/mesg scp $ORACLE_HOME/rdbms/mesg/ulus.msb zj_tnms@SERVER_IP:$ORACLE_HOME/rdbms/mesg
scp $ORACLE_HOME/bin/sqlldr zj_tnms@SERVER_IP:$ORACLE_HOME/bin
2、执行命令:sqlldr 账号/密码@实例 control="soldier_demo.ctl"
报以下错误:sqlldr: symbol lookup error: sqlldr: undefined symbol: sldext
则可能是由于
$ORACLE_HOME/network/mesg/tnsus.msb和 $ORACLE_HOME/rdbms/mesg/ulus.msb
这两个文件的版本与本地的client的版本不一致的原因,导致sqlldr在control=这一段报错
3、scp $ORACLE_HOME/lib/libclntsh.so zj_tnms@SERVER_IP:$ORACLE_HOME/lib
4、执行命令ldd -r $ORACLE_HOME/bin/sqlldr, 发现并没有用到libclntsh.so 库,只有一个相似的libclntsh.so.11.1
5、执行mv libclntsh.so libclntsh.so.11.1 将支持库替换,,成功导入数据 。
(ps:有的机器到第4步就可以,如果不行应该是库没被使用,就需要执行第5步)
[zj_tnms@localhost bin]$ ldd -r sqlldr linux-vdso.so.1 => (0x00007ffdb51da000) libclntsh.so.11.1 => /usr/lib/oracle/11.2/client64/lib/libclntsh.so.11.1 (0x00007f20333bd000) libnnz11.so => /usr/lib/oracle/11.2/client64/lib/libnnz11.so (0x00007f2032ff0000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f2032dd4000) libdl.so.2 => /lib64/libdl.so.2 (0x00007f2032bd0000) libm.so.6 => /lib64/libm.so.6 (0x00007f20328ce000) libnsl.so.1 => /lib64/libnsl.so.1 (0x00007f20326b4000) libc.so.6 => /lib64/libc.so.6 (0x00007f20322e7000) libaio.so.1 => /lib64/libaio.so.1 (0x00007f20320e5000) /lib64/ld-linux-x86-64.so.2 (0x00007f2035d2c000) undefined symbol: sldext (./sqlldr) undefined symbol: sldextf (./sqlldr) |