Oracle备份与恢复 expdp/impdp数据泵远程导入导出
Oracle备份与恢复 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导出
完事具备,开搞:
创建本地用户
在本地创建一个用户,一个目录,授权
$ mkdir /home/oracle/dmpfileCREATE 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;
创建dblink
这里要注意,创建的dblink必须要是public的
否则及时创建完后,也会报错找不到dblink
create public database link db_localconnect to userxx IDENTIFIED BY passwdusing '(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创建成功
用expdp导出数据
这是最关键的一步,因为参数有很多,所以使用parfile来完成,格式更好看些
vim test.paruserid=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
由一个用户导入到其他的用户,需要添加最后一个参数。
这样就可以导入成功了
Oracle备份与恢复 expdp/impdp数据泵远程导入导出相关推荐
- oracle数据泵导入导出6,oracle 10g数据泵和导入导出性能对比(六)
前一段时间在一次迁移中同时用到了数据泵和EXP,发现二者效率的差别还是相当大的.这里通过一个例子简单比较一下. 这篇文章同时使用直接路径和并行来加速数据泵导入. 上一篇结束了数据泵导入在非归档模式下获 ...
- oracle11g-R2数据库的逻辑备份(数据泵的导入导出)
一.环境: server1迁移到server2 server1: 服务器号:201 系统:Windows server 2008 R2 x64 IP地址:192.168.2.201 oracle数据库 ...
- PLSQL_数据泵Datapump导入导出数据IMPDP / EXPDP(概念)(Oracle数据导入导出工具)(转)...
一.摘要 在平常备库和数据库迁移的时候,当遇到大的数据库的时候在用exp的时候往往是需要好几个小时,耗费大量时间.oracle10g以后可以用expdp来导出数据库花费的时间要远小于exp花费的时间, ...
- oracle数据泵效率,oracle技术之oracle 10g数据泵和导入导出性能对比(五)
前一段时间在一次迁移中同时用到了数据泵和EXP,发现二者效率的差别还是相当大的.这里通过一个例子简单比较一下. 这篇文章讨论影响数据泵导入性能的最大因素. 前面写了几篇文章,分别介绍EXP/IMP与E ...
- su oracle c expdp,expdp/impdp 数据泵导入导出
userid=test/test --导出的用户,本地用户!! directory=dmpfile --导出的逻辑目录,一定要在oracle中创建完成的,并且给 ...
- oracle expdp导出教程,Oracle Expdp Impdp 数据泵导入导出
新建逻辑目录 Oracle不会自动创建实际的物理目录"D:\temp"(务必手动创建此目录),仅仅是进行定义逻辑路径dmp_dir: sql> conn username/p ...
- Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(上)
<Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(上)> <Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(下)> 目的:指导项 ...
- oracle数据泵导入append,Impdp数据泵导入
Impdp数据泵导入 执行导入前,先导出scott的schema作为测试数据: [oracle@localhost ~]$ expdp scott/oracle directory=expdp_dir ...
- oracle中imp命令详解,ORACLE EXPDP IMPDP数据导入导出命令详解及同EXP IMP命令详细对照...
ORACLE EXPDP IMPDP数据导入导出命令详解及同EXP IMP 命令详细对比 一.EXPDP IMPDP EXP IMP 可以实现 1.可以实现逻辑备份和逻辑恢复 2.可以在数据库用户之间 ...
最新文章
- 低端没出路,请接触高端!
- java实验 输入输出流_java实验七 输入输出流
- 全球化、文化和团队多样性
- Hadoop/Spark生态圈里的新气象
- PaddleOCR——Docker环境下基于HubServing模式部署Restful API服务(CPU版本)
- 一个支持Abort的BackgroundWorker
- android 如何终止线程
- c# mysql dbhelp,C#winfrom最简DBHelp(数据库连接操作)
- 浅谈种子搜索算法及C++实现方法
- 信息学奥赛一本通C++语言——1038:苹果和虫子
- SSL自签名的实现类org apache commons httpclient contrib ssl EasySSLP
- 马蜂窝承认部分点评造假;阿里要发射卫星;iPhone XR 供不应求 | 极客头条
- Docker使用CA认证
- java毕业设计蔚蓝在线学习平台源码+lw文档+mybatis+系统+mysql数据库+调试
- 2019最新超详细HUSTOJ在线判题系统及Virtual Judge的搭建
- HSPICE与非门仿真
- 十五. 项目沟通管理
- 峨眉山徒步休闲三日游攻略内附详细时间
- 颜色代码:网页颜色代码大全及色彩搭配教程
- 2021-11-25 统计学-基于R(第四版)第八章课后习题记录及总结