博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何通过instant client 来连接数据库以及使用exp/imp?
阅读量:4070 次
发布时间:2019-05-25

本文共 2718 字,大约阅读时间需要 9 分钟。

首先给大家说一下我们平时常说的Oracle Client和Install Client 的区别

1.Oracle Client
包含完整的客户端连接工具,他具有管理作用,如果我们想用到导入导出(exp/imp以及expdp/impdp)的功能,那我们基本上都是要安装这种客户端
2.Instant Client
是Oracle(R) 发布的轻量级数据库客户端,减少甚至只包含几个文件,您无需安装标准的客户端,就可以通过它来运行 OCI、OCCI、Pro*C、ODBC 和 JDBC 程序。
它适用于那些仅需要连接远程 oracle 数据库,本地不需要安装服务端的用户。例如Toad,PL/SQL/Lab128等Oracle连接工具,虽然依赖Oracle客户端环境,单Instant Client也可以满足要求。     

but......? but ....?

但是有的时候大家想通过sqlplus,以及使用exp/imp导入导出的功能,但又不想安装Oracle Client(虽然安装很简单,但是我很懒),那怎么办?
下面就通过一个测试案例来说明如何通过Instant Client 来实现我们的要求
1.首先我们要下载这3个包。这里以12.1.0.2 为测试环境
下载地址:https://www.oracle.com/technetwork/cn/database/features/instant-client/index-092699-zhs.html
instantclient-basic-linux.x64-12.1.0.2.0.zip
instantclient-sdk-linux.x64-12.1.0.2.0.zip
instantclient-sqlplus-linux.x64-12.1.0.2.0.zip
2.然后解压
[root@yuhuashi u01]# unzip instantclient-basic-linux.x64-12.1.0.2.0.zip
[root@yuhuashi u01]# unzip instantclient-sdk-linux.x64-12.1.0.2.0.zip
[root@yuhuashi u01]# unzip instantclient-sqlplus-linux.x64-12.1.0.2.0.zip
解压后目录如下:

3

3.创建数据库连接文件

在 instantclient_12_1 目录下创建 network/admin 目录,使用命令[root@yuhuashi instantclient_12_1]# mkdir network/admin/并在 admin 目录下创建 tnsnames.ora 文件,这里就不用多说了[root@yuhuashi admin]# pwd/u01/instantclient_12_1/network/admin[root@yuhuashi admin]# lltotal 4-rw-r--r-- 1 777 root 237 Nov  6 09:22 tnsnames.ora[root@yuhuashi admin]#

4.配置环境

这步骤很重要,一定要认真的检查

[root@yuhuashi u01]# vi ~/.bashrc 添加如下内容export ORACLE_HOME=/u01/instantclient_12_1export PATH=$ORACLE_HOME:$PATHexport TNS_ADMIN=$ORACLE_HOME/network/adminexport LD_LIBRARY_PATH=$ORACLE_HOME:$LD_LIBRARY_PATHexport NLS_LANG='AMERICAN_AMERICA.ZHS16GBK'别忘了使用下面命令使配置生效[root@yuhuashi ~]# source ~/.bashrc

5.测试

6.那下面配置如何使用exp/imp

最简单就是从一台安装oracle的机器上去拿下来

这里一开始为了测试顺利,也就找了对应的12.0.1.2 的exp/imp文件,具体操作如下:

exp/imp 是在$ORACLE_HOME/bin,具体如下$ORACLE_HOME/bin/exp$ORACLE_HOME/bin/imp将这2个文件放到你安装的客户端路径下,我这里是/u01/instantclient_12_1[root@yuhuashi instantclient_12_1]# pwd/u01/instantclient_12_1[root@yuhuashi instantclient_12_1]# ll exp imp -rwxrwxrwx 1 root root 1037699 Nov  6 05:16 exp-rwxrwxrwx 1 root root  502547 Nov  6 05:16 imp[root@yuhuashi instantclient_12_1]# 记住下面的操作也是必须的创建目录$ORACLE_HOME/rdbms/mesg/那我这里就是[root@yuhuashi mesg]# pwd/u01/instantclient_12_1/rdbms/mesg然后将$ORACLE_HOME/rdbms/mesg/expus.msb$ORACLE_HOME/rdbms/mesg/impus.msb这个2个文件放到/u01/instantclient_12_1/rdbms/mesg下面去[root@yuhuashi mesg]# pwd/u01/instantclient_12_1/rdbms/mesg[root@yuhuashi mesg]# ll  expus.msb impus.msb -rw-rw-r-- 1 root root 17408 Nov  6 06:19 expus.msb-rw-rw-r-- 1 root root 16384 Nov  6 06:19 impus.msb配置到此结束!!

那我们下面就测试一下exp/imp的功能了

一切OK!

小记:

刚才说了,我们刚才的exp/imp文件是从版本号相同的机器上拿下来的,那我们能不能使用11G的这个文件呢,

我这里又测试了一下,使用11.2.0.4 这个版本的exp/imp 放到对应的路径下,这里就略过,直接测试结果:

测试结果是No,但如果是用比他高的版本的exp/imp 能不能行呢,这里我就不测试了 !

转载地址:http://jzhji.baihongyu.com/

你可能感兴趣的文章
HQL语句大全(转)
查看>>
几个常用的Javascript字符串处理函数 spilt(),join(),substring()和indexof()
查看>>
javascript传参字符串 与引号的嵌套调用
查看>>
swiper插件的的使用
查看>>
layui插件的使用
查看>>
JS牛客网编译环境的使用
查看>>
9、VUE面经
查看>>
Golang 数据可视化利器 go-echarts ,实际使用
查看>>
mysql 跨机器查询,使用dblink
查看>>
mysql5.6.34 升级到mysql5.7.32
查看>>
dba 常用查询
查看>>
Oracle 异机恢复
查看>>
Oracle 12C DG 搭建(RAC-RAC/RAC-单机)
查看>>
Truncate 表之恢复
查看>>
Oracle DG failover 后恢复
查看>>
mysql 主从同步配置
查看>>
为什么很多程序员都选择跳槽?
查看>>
mongdb介绍
查看>>
mongdb在java中的应用
查看>>
Yotta企业云盘更好的为媒体广告业服务
查看>>