配置oracle-client链接server

由于Oracle的imp/exp组件的操作原则--向下兼容,且有一些规则:
 
规则1:低版本的exp/imp可以连接到高版本(或同版本)的数据库服务器,但高版本的exp/imp不能连接到低版本的数据库服务器;
 
规则2:高版本exp出的dmp文件,低版本无法imp(无法识别dmp文件);低版本exp出的dmp文件,高版本可以imp(向下兼容);
 
规则3:从Oracle 低版本Export的数据可以Import到Oracle高版本中,但限于Oracle的相邻版本,如从Oracle 10 到 Oracle 11.对于两个不相邻版本间进行转换,如从Oracle 9 到 Oracle  11,则应先将数据输入到中间版本-Oracle 10,再从中间数据库转入更高版本Oracle 11.
 
客户端与服务端需保持版本一致。所有操作皆在root账户下进行操作。
1,安装oracle linux客户端
oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm
oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm
oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm
安装命令:rpm -ivh ~/tmp/oracle-instantclient11.2-basic-11.2.0.2.0.i386.rpm
 
2,配置环境变量
vi /etc/profile
 
export ORACLE_HOME=/usr/lib/oracle/11.2/client64/
export LD_LIBRARY_PATH=:$ORACLE_HOME/lib:/usr/local/lib:$LD_LIBRARY_PATH:.
export TNS_ADMIN=$ORACLE_HOME
export PATH=$PATH:$ORACLE_HOME/bin:
#export NLS_LANG="simplified chinese_china.ZHS16GBK"
export NLS_LANG="AMERICAN_AMERICA.ZHS16GBK"
 
3,配置tnsnames.ora文件
在/usr/lib/oracle/11.2/client64/下创建network/admin/文件夹,将tnsnames.ora放到此目录下
ORCL_192.168.1.170 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.170)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SID = ORCL)
      (SERVER = DEDICATED)
    )
  )
4,配置exp和imp命令
从服务端拷贝exp和imp文件放到/usr/lib/oracle/11.2/client64/bin下面
从服务端拷贝expus.msb和impus.msb文件放到/usr/lib/oracle/11.2/client64/rdbms/mesg下面
 
如果报With the Partitioning, OLAP and Data Mining optionsexp: symbol lookup error: exp: undefined symbol: sldext错误,
则需要将服务端的libclntsh.so.11.1文件拷贝到客户端/usr/lib/oracle/11.2/client64/lib下面,覆盖同名文件即可。
 
如果出现-bash: /usr/lib/oracle/11.2/client64//bin/exp: Permission denied错误,则需要对文件进行授权
chmod +x /usr/lib/oracle/11.2/client64//bin/exp
chmod +x /usr/lib/oracle/11.2/client64//bin/imp
posted @ 2020-06-28 15:59  小雨淅淅o0  阅读(386)  评论(0编辑  收藏  举报