linux oracle11g客户端安装

 

 

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)

 

你可能感兴趣的:(数据库,linux,client,oracle)