【EXPDP】expdp/impdp数据泵远程导入导出
Oracle在10g的时候有一个很好用的导出工具expdp(数据泵)
但是这个工具好用的同时,有一个局限,就是必须用本地的用户才可以导出数据,也就是说数据泵只能导出本地数据库的数据
但是如果业务需求是 将一个用户的全部表都导出,但是不需要t1,t2,t3而且这个数据库不是本地的,是异地的一个数据库
正常的思路是通过exp userxx/passwd@192.168.1.100/orcl file=xxx.dmp log=xxx.log 就可以异地导出,但是消耗很多时间,而且有一个硬性要求,必须要除去某些表,所以必须要用到expdp来完成
expdp中有一个参数是exclude,这个参数中就可以添加不想导出的索引或者表之类的
但是再一想,必须要用expdp,而且是一个异地的数据库,主机登录不上,很是矛盾
思考了好久,终于想到办法
用dblink来做一个中间的链接,再用expdp导出
完事具备,开搞:
1.在本地创建一个用户,一个目录,授权
$ mkdir /home/oracle/dmpfile
CREATE USER TEST IDENTIFIED BY TEST DEFAULTE TABLESPACE XXX;
CREATE DIRECTORY DMPFILE AS '/oracle/dmpfile'
GRANT resource,connect,imp_full_database to TEST;
GRANT read,write on directory dmpfile to test;
还要有一个准备工作:
如果需要用dblink来导出数据的话需要给远程的用户一个exp_full_database的权限
sqlplus system/xxxx@192.168.1.100/orcl
GRANT EXP_FULL_DATABASE TO USERXX;
2.创建dblink
这里要注意,创建的dblink必须要是public的
否则及时创建完后,也会报错找不到dblink
create public database link db_local
connect to userxx IDENTIFIED BY passwd
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl )
)
)';
创建完成后,查看下数据是否存在
select * from userxx.test@db_local;
如果找到userxx重的test表的数据,证明dblink创建成功
3.用expdp导出数据
这是最关键的一步,因为参数有很多,所以使用parfile来完成,格式更好看些
vim test.par
userid=test/test --导出的用户,本地用户!!
directory=dmpfile --导出的目录,一定要在oracle中创建完成的,并且给用户授权读写权限
dumpfile=userxx.dmp --导出的数据文件的名称,如果想在指定的位置的话可以写成dumpfile=/home/oracle/userxx.dmp
logfile=userxx.log --日志文件,如果不写这个参数的话默认名称就是export.log,可以在本地的文件夹中找到
SCHEMAS=userxx --使用dblink导出的用户不是本地的用户,需要加上schema来确定导出的用户,类似于exp中的owner,但还有一定的区别
EXCLUDE=TABLE:"IN('T1','T2','T3')" --exclude 可以指定不导出的东西,table,index等,后面加上不想导出的表名
network_link=db_local --这个参数是使用的dblink来远程导出,需要指定dblink的名称
完成后退出保存。
执行导出
expdp parfile=test.par
就可以看到最后的导出了
导入的话需要这样:必须要在oracle中有一个目录,而且要有读写权限,要有imp_full_database权限
impdp testuser/testuser dumfile=userxx.dmp logfile=imp_userxx.log directory=dmpfile remap_schema=userxx:testuser
最后一个参数需要加上remap_schema=old:new
由一个用户导入到其他的用户,需要添加最后一个参数。
这样就可以导入成功了
【EXPDP】expdp/impdp数据泵远程导入导出的更多相关文章
- ORACLE使用EXPDP和IMPDP数据泵进行导出导入的方法
ORACLE使用EXPDP和IMPDP数据泵进行导出导入的方法 (2010-05-28 12:54:34) http://blog.sina.com.cn/s/blog_67d41beb0100ixn ...
- oracle11g-R2数据库的逻辑备份(数据泵的导入导出)
一.环境: server1迁移到server2 server1: 服务器号:201 系统:Windows server 2008 R2 x64 IP地址:192.168.2.201 oracle数据库 ...
- 【Oracle】EXPDP和IMPDP数据泵进行导出导入的方法
一.expdp/impdp和exp/imp 客户端工具 1.exp和imp是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用. 服务端工具 2.expdp和impdp是服务端的工具程序,他们 ...
- PLSQL_数据泵Datapump导入导出数据IMPDP / EXPDP(概念)(Oracle数据导入导出工具)(转)
一.摘要 在平常备库和数据库迁移的时候,当遇到大的数据库的时候在用exp的时候往往是需要好几个小时,耗费大量时间.oracle10g以后可以用expdp来导出数据库花费的时间要远小于exp花费的时间, ...
- expdp/impdp数据泵分区表导入太慢了。添加不检查元数据参数提高效率:ACCESS_METHOD=DIRECT_PATH
分区表数据泵导入太慢,达不到客户的迁移要求导出语句如下:(10G单节点)userid='/ as sysdba'directory=milk_dirdumpfile=mon_%U.dmplogfile ...
- Oracle数据泵的导入导出
说明:数据泵技术是Oracle Database 10g 中的新技术,它比原来导入/导出(imp,exp)技术快15-45倍.速度的提高源于使用了并行技术来读写导出转储文件. expdp导出 1.以s ...
- Oracle数据库采用数据泵方式导入导出数据
特别说明:Oralce的数据泵导入导出技术只能用在数据库服务器上,在只有客户端的机器上是无法使用数据泵技术的. 1.创建备份文件目录 mkdir d:\dmp 2.在Oralce中注册该目录,将目录 ...
- oracle表分区、表分析及oracle数据泵文件导入导出开心版
1.先说oracle表分区是什么吧,这样吧我们来举个桃子,栗子太小,我们就不举了,我们来举个桃子. 你有500万份文件,你要把他存在磁盘上,好嘛,我们就一个文件夹,500万分文件在那儿杵着,我们想找到 ...
- oracle表分区、表分析及oracle数据泵文件导入导出
1.先说oracle表分区是什么吧 你有500万份文件,你要把他存在磁盘上,好嘛,我们就一个文件夹,500万分文件在那儿杵着,我们想找到要的那个打开,嘿嘿,我们得找到什么时候. 这时候,有个人告诉你, ...
随机推荐
- 牛客挑战赛46 D
题目链接: 数列 查询有多少\([l,r]\)区间满足每个数出现\(k\)的倍数次 即为\(1\)到\(r\)与\(1\)到\(l-1\)每个数相减的次数为\(k\)的倍数次 可以使用哈希维护 记录每 ...
- [从源码学设计]蚂蚁金服SOFARegistry 之 自动调节间隔周期性任务
[从源码学设计]蚂蚁金服SOFARegistry 之 自动调节间隔周期性任务 目录 [从源码学设计]蚂蚁金服SOFARegistry 之 自动调节间隔周期性任务 0x00 摘要 0x01 业务领域 0 ...
- Tomcat文件包含漏洞的搭建与复现:CVE-2020-1938
Tomcat文件包含漏洞的搭建与复现:CVE-2020-1938 漏洞描述 2020年2月20日,国家信息安全漏洞共享平台(CNVD)发布了Apache Tomcat文件包含漏洞(CNVD-2020- ...
- Python:值得学习的二十个技巧
本文为大家介绍20个值得记住的 Python 技巧,可以提升您编程技巧, 并为您节省大量时间. 在平常编程过程中,以下技巧大多非常有用. 1 字符串反转 使用切片反转字符串. str1="q ...
- [实用指南]如何使您的旧代码库(遗留代码)符合MISRA C 2012编码规范?
重用旧代码是现实,但是在安全关键型软件项目中重用旧代码并实现MISRA C 2012的完全合规性是艰巨的任务. 最初的MISRA原则是为了在开发代码时应用而创建的,即使文档本身也有警告: " ...
- VS中RDLC提示类型不一致
错误"基类包括字段"XXXXXXX",但其类型(Microsoft.Reporting.WebForms.ReportViewer)与控件(Microsoft.Repor ...
- Java进阶专题(二十) 消息中间件架构体系(2)-- RabbitMQ研究
前言 接上文,这个继续介绍RabbitMQ,并理解其底层原理. 介绍 RabbitMQ是由erlang语言开发,基于AMQP(Advanced Message Queue 高级消息队列协议)协议实现的 ...
- Redis 设计与实现 4:字典
Redis 中,字典是基础结构.Redis 数据库数据.过期时间.哈希类型都是把字典作为底层结构. 字典的结构 哈希表 哈希表的实现代码在:dict.h/dictht ,Redis 的字典用哈希表的方 ...
- Java:利用BigDecimal类巧妙处理Double类型精度丢失
目录 本篇要点 经典问题:浮点数精度丢失 十进制整数如何转化为二进制整数? 十进制小数如何转化为二进制数? 如何用BigDecimal解决double精度问题? new BigDecimal(doub ...
- web版文件管理系统 ——文件图标的获取
需求来源:公司需要一个文件的管理系统,方便管理公司文档以及互相传阅以及一些权限控制的便利,其中极小的一块功能点就是现实文件列表里面的图标获取,从网上找图标太麻烦,而且不现实,不可能用户每次上传文件等你 ...