通过EXPDP/IMPDP导出导入远端数据倒本地

简介: 有的时候我们不想导出EXPDP文件然后FTP到目标服务器IMPDP 因为这样会占用大量的空间,并且浪费时间,我们就可以通过如下的方式 直接将远端的数据导入到本地。
有的时候我们不想导出EXPDP文件然后FTP到目标服务器IMPDP 因为这样会占用大量的空间,并且浪费时间,我们就可以通过如下的方式
直接将远端的数据导入到本地。

首先建立到目标端的DBLINK 使用导出用户的用户名


create public database link link33
connect to testimp identified by gelc123123
using '(DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.45.33)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = yjfcore)
    )
)';


如果采用SCHEMAS方式导出
这里注意赋予远端用户testimp用户exp_full_database
grant exp_full_database to testimp;
同时赋予目标端用户testimp2用户 imp_full_database
grant imp_full_database to testimp2;

否则导入的时候可能报错
ORA-31631: privileges are required
ORA-39149: cannot link privileged user to non-privileged user



然后可以进行远程导入,我这里也同时完成了导入到不同的用户
impdp testimp2/gelc123  job_name=test123_my  schemas=testimp remap_schema=testimp:testimp2 network_link=link33  TRANSFORM=SEGMENT_ATTRIBUTES:n logfile=bakdir:backlog.log
注意这里并没有 dumpfile=bakdir:test.dmp 很显然这里并没有生成任何DMP文件如此可以节约目标服务器空间

给出日志:
Estimate in progress using BLOCKS method...
Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 15.12 MB
Processing object type SCHEMA_EXPORT/USER
ORA-31684: Object type USER:"TESTIMP2" already exists
Processing object type SCHEMA_EXPORT/SYSTEM_GRANT
Processing object type SCHEMA_EXPORT/ROLE_GRANT
Processing object type SCHEMA_EXPORT/DEFAULT_ROLE
Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
Processing object type SCHEMA_EXPORT/TABLE/TABLE
. . imported "TESTIMP2"."TEST2"                          127151 rows
. . imported "TESTIMP2"."TEST1"                             732 rows

当然这种情况下及有FULL权限下也可以单表导入
Starting "TESTIMP2"."TEST123_MY":  testimp2/******** job_name=test123_my tables=testimp.TEST1 remap_schema=testimp:testimp2 network_link=link33 TRANSFORM=SEGMENT_ATTRIBUTES:n logfile=bakdir:backlog.log 
Estimate in progress using BLOCKS method...
Processing object type TABLE_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 128 KB
Processing object type TABLE_EXPORT/TABLE/TABLE
. . imported "TESTIMP2"."TEST1"                             732 rows
Job "TESTIMP2"."TEST123_MY" successfully completed at 18:27:27


当然也可以不赋予FULL权限,导出一个用户下面的所有OBJECT即可而不都出USER


使用,注意这里没有  schemas=testimp
[oradba@yjftestdb01 dmp]$ impdp testimp2/gelc123  job_name=test123_my   remap_schema=testimp:testimp2 network_link=link33  TRANSFORM=SEGMENT_ATTRIBUTES:n logfile=bakdir:backlog.log


Import: Release 11.2.0.3.0 - Production on Thu Sep 24 18:16:41 2015


Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.


Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Starting "TESTIMP2"."TEST123_MY":  testimp2/******** job_name=test123_my remap_schema=testimp:testimp2 network_link=link33 TRANSFORM=SEGMENT_ATTRIBUTES:n logfile=bakdir:backlog.log 
Estimate in progress using BLOCKS method...
Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 15.12 MB
Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
Processing object type SCHEMA_EXPORT/TABLE/TABLE
. . imported "TESTIMP2"."TEST2"                          127151 rows
. . imported "TESTIMP2"."TEST1"                             732 rows
Job "TESTIMP2"."TEST123_MY" successfully completed at 18:17:12


这里导入就没有用户的信息了
Processing object type SCHEMA_EXPORT/USER
ORA-31684: Object type USER:"TESTIMP2" already exists
Processing object type SCHEMA_EXPORT/SYSTEM_GRANT
Processing object type SCHEMA_EXPORT/ROLE_GRANT
Processing object type SCHEMA_EXPORT/DEFAULT_ROLE





然后测试一下远程导入到本地的EXPDP
expdp testimp2/gelc123  job_name=test123_my  schemas=testimp  network_link=link33   logfile=bakdir:backlog.log  dumpfile=bakdir:test.dmp


给出日志:
Total estimation using BLOCKS method: 15.12 MB
Processing object type SCHEMA_EXPORT/USER
Processing object type SCHEMA_EXPORT/SYSTEM_GRANT
Processing object type SCHEMA_EXPORT/ROLE_GRANT
Processing object type SCHEMA_EXPORT/DEFAULT_ROLE
Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
Processing object type SCHEMA_EXPORT/TABLE/TABLE
. . exported "TESTIMP"."TEST2"                           12.46 MB  127151 rows
. . exported "TESTIMP"."TEST1"                           88.54 KB     732 rows




这样就可以导出远端的数据,一般来说EXPDP是不能导出远端的数据到本地的但是使用NETWORK_LINK的方式可以实现,但是EXP就可以简单的加上
@来导出远端的数据倒本地。
相关文章
|
8月前
|
Oracle 关系型数据库 数据库
通过数据泵expdp、impdp方式备份与还原(导出与导入)Oracle数据库
通过数据泵expdp、impdp方式备份与还原(导出与导入)Oracle数据库
|
10月前
orcale导入导出dmp文件
orcale导入导出dmp文件
49 0
|
Oracle 关系型数据库 数据库
12 impdp 导入更好用户和表空间
12 impdp 导入更好用户和表空间
113 0
|
Oracle 关系型数据库 Linux
oracle数据库exp命令导入导出dmp文件演示,oracle数据库备份还原功能
oracle数据库exp命令导入导出dmp文件演示,oracle数据库备份还原功能
346 0
oracle数据库exp命令导入导出dmp文件演示,oracle数据库备份还原功能
|
机器学习/深度学习 Oracle 关系型数据库
【expdp】10g数据泵expdp工具选项详解及应用示例
理解expdp各个选项的含义最好的途径就是逐一的进行测试,这样可以在感性上有一个真实的体验。 1.数据泵expdp导出工具与传统的exp导出工具的区别 1)exp是客户端程序,既可以在客户端使用,也可以在服务器端使用; 2)expdp是服务器端工具,只能在ORACLE服务器端使用,不能在客户端使用; 3)这两个工具生成的备份文件不能被对方与之对应的导入工具使用; 4)expdp在灵活性和功能性上与exp相比,有质上的飞跃。 2.expdp命令行选项列表 使用“-help”选项获得expdp命令可用的选项列表和简单的注释信息。 ora10g@linux5 /expdp$ expdp help
277 0
|
关系型数据库 Oracle
|
SQL Oracle 关系型数据库
使用 EXPDP 远程导出数据
一个远程数据表的导入导出问题,使用exp/imp是完全可以做到的,因为他是客户端工具 那么服务端工具 expdp/impdp 应该如何做导入导出呢,方法如下: 我们可以通过dblink来实现远程数据的导入导出。
2288 0
|
运维 Oracle 关系型数据库
【故障处理】IMP-00010错误 12C的dmp文件导入11G
【故障处理】IMP-00010错误 12C的dmp文件导入11G 1  BLOG文档结构图   2  前言部分 2.
1726 0
|
监控 Oracle 关系型数据库
[20161002]impdp导入很慢.txt
[20161002]impdp导入很慢.txt --如果在导入前表以及对应索引已经存在,impdp导入(使用参数TABLE_EXISTS_ACTION=append)要维护索引,这样在导入时产生大量日志,比 --没有表存在的情况下慢很多,通过例子来说明.
1617 0