ORACLE 数据泵之NETWORK_LINK
数据泵之NETWORK_LINK
blog结构图:
1 环境介绍
|
SOURCE DB(虚拟机) |
TARGET DB(虚拟机) |
CLIENT(笔记本) |
EXP/IMP |
11.2.0.3.0 |
11.2.0.1.0 |
11.2.0.1.0 |
EXPDP/IMPDP |
11.2.0.3.0 |
11.2.0.1.0 |
11.2.0.1.0 |
HOST IP |
192.168.59.130 |
192.168.59.128 |
192.168.59.1 |
host 平台 内存 |
RHEL 6.5 MemTotal: 2.6g |
windows XP MemTotal: 2g |
windows 8.1 MemTotal: 20g |
DB VERSION |
11.2.0.3.0 |
11.2.0.1.0 |
无 |
ORACLE_SID |
orclasm |
orcl |
无 |
tnsname |
orclasm |
orclxp |
图形关系如下:
2 imp和exp简介
首先来看这句话: expdp属于服务端工具,而exp属于客户端工具,expdp生成的文件默认是存放在服务端的,而exp生成的文件是存放在客户端的
来验证exp和imp:
我们在client客户端执行:
C:\Users\Administrator>exp lhr/lhr@orclasm tables=xb_log_lhr file=e:\e1.dmp log=E:\exp_table.log buffer=41943040
Export: Release 11.2.0.1.0 - Production on 星期二 2月 10 15:55:25 2015
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, Automatic Storage Management, OLAP, Data Mining
and Real Application Testing options
已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集
即将导出指定的表通过常规路径...
. . 正在导出表 XB_LOG_LHR导出了 56 行
成功终止导出, 没有出现警告。
C:\Users\Administrator>imp lhr/lhr@orclxp tables=xb_log_lhr file=e:\e1.dmp log=E:\exp_table.log buffer=41943040
Import: Release 11.2.0.1.0 - Production on 星期二 2月 10 15:59:42 2015
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
经由常规路径由 EXPORT:V11.02.00 创建的导出文件
已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入
. 正在将 LHR 的对象导入到 LHR
. 正在将 LHR 的对象导入到 LHR
. . 正在导入表 "XB_LOG_LHR"导入了 56 行
成功终止导入, 没有出现警告。
而文件也的确是在本机的:
3 expdp不使用network_link
根据expdp的语法,我们执行如下脚本:
C:\Users\Administrator>expdp lhr/lhr@orclasm directory=DATA_PUMP_DIR dumpfile=exptable.dmp TABLES=xb_log_lhr LOGFILE=expdp_table.log
Export: Release 11.2.0.1.0 - Production on 星期二 2月 10 16:37:40 2015
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, Automatic Storage Management, OLAP, Data Mining
and Real Application Testing options
启动 "LHR"."SYS_EXPORT_TABLE_01": lhr/********@orclasm directory=DATA_PUMP_DIR dumpfile=exptable.dmp TABLES=xb_log_lhr LOGFILE=expdp_table.log
正在使用 BLOCKS 方法进行估计...
处理对象类型 TABLE_EXPORT/TABLE/TABLE_DATA
使用 BLOCKS 方法的总估计: 64 KB
处理对象类型 TABLE_EXPORT/TABLE/TABLE
处理对象类型 TABLE_EXPORT/TABLE/COMMENT
处理对象类型 TABLE_EXPORT/TABLE/INDEX/INDEX
处理对象类型 TABLE_EXPORT/TABLE/INDEX/FUNCTIONAL_INDEX/INDEX
处理对象类型 TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
处理对象类型 TABLE_EXPORT/TABLE/INDEX/STATISTICS/FUNCTIONAL_INDEX/INDEX_STATISTICS
处理对象类型 TABLE_EXPORT/TABLE/TRIGGER
处理对象类型 TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
. . 导出了 "LHR"."XB_LOG_LHR" 18.75 KB 56 行
已成功加载/卸载了主表 "LHR"."SYS_EXPORT_TABLE_01"
******************************************************************************
LHR.SYS_EXPORT_TABLE_01 的转储文件集为:
/u01/app/oracle/admin/orclasm/dpdump/exptable.dmp
作业 "LHR"."SYS_EXPORT_TABLE_01" 已于 16:38:00 成功完成
C:\Users\Administrator>
在服务器端查看可知,文件是存放在linux服务器端的:
[oracle@rhel6_lhr dpdump]$ ll
total 156
-rw-r--r-- 1 oracle asmadmin 1391 Feb 10 16:38 expdp_table.log
-rw-r----- 1 oracle asmadmin 151552 Feb 10 16:38 exptable.dmp
[oracle@rhel6_lhr dpdump]$ pwd
/u01/app/oracle/admin/orclasm/dpdump
[oracle@rhel6_lhr dpdump]$
而在这种情况下必须将exptable.dmp 拷贝到windows XP上的相应目录下才能使用impdp来进行导入,如下利用ftp 下载:
将exptable.dmp放到windows XP 下的虚拟机里:
C:\Users\Administrator>sqlplus lhr/lhr@orclxp
SQL*Plus: Release 11.2.0.1.0 Production on 星期二 2月 10 16:46:37 2015
Copyright (c) 1982, 2010, Oracle. All rights reserved.
连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> set line 9999
SQL> SELECT * FROM dba_directories d WHERE d.directory_name='DATA_PUMP_DIR';
OWNER DIRECTORY_NAME DIRECTORY_PATH
------------------------------ ------------------------------ ---------------------------------------------------------------------
SYS DATA_PUMP_DIR F:\app\oracle\admin\orcl\dpdump\
SQL>
然后再进行导入操作:
C:\Users\Administrator>impdp lhr/lhr@orclxp directory=DATA_PUMP_DIR dumpfile=exptable.dmp LOGFILE=impdp_table.log
Import: Release 11.2.0.1.0 - Production on 星期二 2月 10 16:50:46 2015
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
已成功加载/卸载了主表 "LHR"."SYS_IMPORT_FULL_01"
启动 "LHR"."SYS_IMPORT_FULL_01": lhr/********@orclxp directory=DATA_PUMP_DIR dumpfile=exptable.dmp LOGFILE=impdp_table.log
处理对象类型 TABLE_EXPORT/TABLE/TABLE
处理对象类型 TABLE_EXPORT/TABLE/TABLE_DATA
. . 导入了 "LHR"."XB_LOG_LHR" 18.75 KB 56 行
处理对象类型 TABLE_EXPORT/TABLE/COMMENT
处理对象类型 TABLE_EXPORT/TABLE/INDEX/INDEX
处理对象类型 TABLE_EXPORT/TABLE/INDEX/FUNCTIONAL_INDEX/INDEX
处理对象类型 TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
处理对象类型 TABLE_EXPORT/TABLE/INDEX/STATISTICS/FUNCTIONAL_INDEX/INDEX_STATISTICS
处理对象类型 TABLE_EXPORT/TABLE/TRIGGER
处理对象类型 TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
作业 "LHR"."SYS_IMPORT_FULL_01" 已经完成。
C:\Users\Administrator>
日志文件路径:
这样操作是否非常麻烦,那么如何将生成的文件放在目标数据库而不放在源数据库呢,在expdp中使用network_link。
4 expdp使用network_link
4.1 目标数据库创建dblink
C:\Users\Administrator>sqlplus lhr/lhr@orclxp
SQL*Plus: Release 11.2.0.1.0 Production on 星期二 2月 10 16:55:43 2015
Copyright (c) 1982, 2010, Oracle. All rights reserved.
连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> create public database link dblk_orclasm connect to lhr identified by lhr using 'orclasm' ;
数据库链接已创建。
SQL> SELECT count(1) FROM xb_log_lhr@dblk_orclasm;
COUNT(1)
----------
56
SQL> SELECT count(1) FROM xb_log_lhr;
SELECT count(1) FROM xb_log_lhr
*
第 1 行出现错误 :
ORA-00942: 表或视图不存在
SQL>
SQL> exit
从 Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options 断开
C:\Users\Administrator>
4.2 client端或目标数据库执行
注意这里的连接标识符是orclxp,即连接到windows xp系统,是target 库。
C:\Users\Administrator>expdp lhr/lhr@orclxp directory=DATA_PUMP_DIR dumpfile=exptable.dmp TABLES=xb_log_lhr network_link=dblk_orclasm LOGFILE=expdp_table.log
Export: Release 11.2.0.1.0 - Production on 星期二 2月 10 17:07:35 2015
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
启动 "LHR"."SYS_EXPORT_TABLE_01": lhr/********@orclxp directory=DATA_PUMP_DIR dumpfile=exptable.dmp TABLES=xb_log_lhr network_link=dblk_orclasm LOGFILE=expdp_table.log
正在使用 BLOCKS 方法进行估计 ...
处理对象类型 TABLE_EXPORT/TABLE/TABLE_DATA
使用 BLOCKS 方法的总估计 : 64 KB
处理对象类型 TABLE_EXPORT/TABLE/TABLE
处理对象类型 TABLE_EXPORT/TABLE/COMMENT
处理对象类型 TABLE_EXPORT/TABLE/INDEX/INDEX
处理对象类型 TABLE_EXPORT/TABLE/INDEX/FUNCTIONAL_INDEX/INDEX
处理对象类型 TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
处理对象类型 TABLE_EXPORT/TABLE/INDEX/STATISTICS/FUNCTIONAL_INDEX/INDEX_STATISTICS
处理对象类型 TABLE_EXPORT/TABLE/TRIGGER
处理对象类型 TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
. . 导出了 "LHR"."XB_LOG_LHR" 18.75 KB 56 行
已成功加载/卸载了主表 "LHR"."SYS_EXPORT_TABLE_01"
******************************************************************************
LHR.SYS_EXPORT_TABLE_01 的转储文件集为:
F:\APP\ORACLE\ADMIN\ORCL\DPDUMP\EXPTABLE.DMP
作业 "LHR"."SYS_EXPORT_TABLE_01" 已于 17:07:58 成功完成
C:\Users\Administrator>
结果:
C:\Users\Administrator>impdp lhr/lhr@orclxp directory=DATA_PUMP_DIR dumpfile=exptable.dmp LOGFILE=impdp_table.log
Import: Release 11.2.0.1.0 - Production on 星期二 2月 10 17:13:20 2015
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
已成功加载/卸载了主表 "LHR"."SYS_IMPORT_FULL_01"
启动 "LHR"."SYS_IMPORT_FULL_01": lhr/********@orclxp directory=DATA_PUMP_DIR dumpfile=exptable.dmp LOGFILE=impdp_table.log
处理对象类型 TABLE_EXPORT/TABLE/TABLE
处理对象类型 TABLE_EXPORT/TABLE/TABLE_DATA
. . 导入了 "LHR"."XB_LOG_LHR" 18.75 KB 56 行
处理对象类型 TABLE_EXPORT/TABLE/COMMENT
处理对象类型 TABLE_EXPORT/TABLE/INDEX/INDEX
处理对象类型 TABLE_EXPORT/TABLE/INDEX/FUNCTIONAL_INDEX/INDEX
处理对象类型 TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
处理对象类型 TABLE_EXPORT/TABLE/INDEX/STATISTICS/FUNCTIONAL_INDEX/INDEX_STATISTICS
处理对象类型 TABLE_EXPORT/TABLE/TRIGGER
处理对象类型 TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
作业 "LHR"."SYS_IMPORT_FULL_01" 已经完成(于 17:13:23 完成 )
C:\Users\Administrator>
4.3 总结
采用network_link选项时,所有的操作均在target 即目标端执行。
5 impdp使用network_link
如果想不生成dmp文件而直接将需要的数据导入garget数据库,则直接使用impdp带network_link ,这样可以直接impdp,而绕过了expdp的步骤
5.1 目标数据库创建dblink
C:\Users\Administrator>sqlplus lhr/lhr@orclxp
SQL*Plus: Release 11.2.0.1.0 Production on 星期二 2月 10 16:55:43 2015
Copyright (c) 1982, 2010, Oracle. All rights reserved.
连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> create public database link dblk_orclasm connect to lhr identified by lhr using 'orclasm' ;
数据库链接已创建。
SQL> SELECT count(1) FROM xb_log_lhr@dblk_orclasm;
COUNT(1)
----------
56
SQL> SELECT count(1) FROM xb_log_lhr;
SELECT count(1) FROM xb_log_lhr
*
第 1 行出现错误 :
ORA-00942: 表或视图不存在
SQL>
SQL> exit
从 Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options 断开
C:\Users\Administrator>
.5.2 client或目标端执行
C:\Users\Administrator>impdp lhr/lhr@orclxp network_link=dblk_orclasm directory=DATA_PUMP_DIR TABLES=xb_log_lhr PARALLEL=2
Import: Release 11.2.0.1.0 - Production on 星期二 2月 10 17:20:58 2015
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
启动 "LHR"."SYS_IMPORT_TABLE_01": lhr/********@orclxp network_link=dblk_orclasm directory=DATA_PUMP_DIR TABLES=xb_log_lhr PARALLEL=2
正在使用 BLOCKS 方法进行估计 ...
处理对象类型 TABLE_EXPORT/TABLE/TABLE_DATA
使用 BLOCKS 方法的总估计 : 64 KB
处理对象类型 TABLE_EXPORT/TABLE/TABLE
. . 导入了 "LHR"."XB_LOG_LHR" 56 行
处理对象类型 TABLE_EXPORT/TABLE/COMMENT
处理对象类型 TABLE_EXPORT/TABLE/INDEX/INDEX
处理对象类型 TABLE_EXPORT/TABLE/INDEX/FUNCTIONAL_INDEX/INDEX
处理对象类型 TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
处理对象类型 TABLE_EXPORT/TABLE/INDEX/STATISTICS/FUNCTIONAL_INDEX/INDEX_STATISTICS
处理对象类型 TABLE_EXPORT/TABLE/TRIGGER
处理对象类型 TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
作业 "LHR"."SYS_IMPORT_TABLE_01" 已经完成(于 17:21:10 完成 )
C:\Users\Administrator>
5.3 总结
不生成数据文件而直径导入的方法类似于在目标库中执行create table xxx as select * from xxx@dblink ,不过impdp+nework_link 一并将数据及其索引触发器等都导入到了目标端,这样就省了很多事情了。
注意: 本实验所有的代码无特殊说明均在client客户端执行
ORACLE 数据泵之NETWORK_LINK相关推荐
- oracle数据泵到处表结构,数据泵导出数据库所有表结构
Oracle11g中数据的倒库和入库操作以及高版本数据导入低版本数据可能引发的问题 文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaov ...
- 如何将mysql导出数据泵_Oracle数据库之ORACLE 数据泵导入导出数据
本文主要向大家介绍了Oracle数据库之ORACLE 数据泵导入导出数据,通过具体的内容向大家展现,希望对大家学习Oracle数据库有所帮助. 一.摘要 在平常备库和数据库迁移的时候,当遇到大的数据库 ...
- Oracle数据泵详解
Oracle数据泵详解 Oracle Database 10g中采用了数据泵(Data Dump)技术,使DBA或开发人员可以将数据库元数据(对象定义)和数据快速移动到另一个oracle数据库中 ...
- oracle 查看数据泵,1.Oracle数据泵介绍
1. Oracle 数据泵介绍 Oracle数据泵是用来替换原始的export和import工具(exp,imp) 它从Oracle 10g开始提供 它可以快速和高效的将数据从一个数据库移动到另一个数 ...
- oracle 数据泵导出简单使用版
<oracle 数据泵导出简单使用版> 1.数据泵可以导出表,表空间,用户schema,数据库 注意:导出表空间和数据库要求用户必须具有DBA 角色或EXP_FULL_DATABASE 角 ...
- Oracle 数据泵(IMPDP/EXPDP)导入导出总结
Oracle数据泵导入导出是日常工作中常用的基本技术之一,它相对传统的逻辑导入导出要高效,这种特性更适合数据库对象数量巨大的情形,因为我日常运维的数据库对象少则几千,多则几万甚至几十万,所以传统exp ...
- Oracle数据泵备份与恢复 命令 expdp/impdp 用法详解
Oracle数据泵备份与恢复 命令 expdp/impdp 用法详解 关于expdp和impdp 使用EXPDP和IMPDP时应该注意的事项: EXP和IMP是客户端工具程序,它们既可以在客户 ...
- oracle数据泵备份单表,使用数据泵备份/恢复某些表
问题提出: 两个系统a和b之间做了同步接口,可能是之前的接口出现了问题,导致两边的数据不一致,需要清除系统b中的数据,使用同步接口从系统a将数据批量同步到系统b中. 解决办法: 分析:由于此同步涉及到 ...
- oracle用数据泵,Oracle 数据泵使用
Oracle 数据泵使用--导入.导出 今天重新整理了下数据泵的使用,用数据泵完成数据的导出.导入,真的很方便,现将操作及语句记录下来. 第一步:导出数据 用数据泵导出原库的数据,这个不需要进行其他的 ...
- oracle数据泵的原理,oracle 数据泵 详解
导出数据 1)按用户导 expdp scott/tiger@orcl schemas=scott dumpfile=expdp.dmp DIRECTORY=dir logfile=expdp.log ...
最新文章
- HDFS-Shell
- Scrum敏捷开发工具实力推荐
- c语言动态申请函数,C语言用malloc函数申请二维动态数组
- Console-算法[for,if]-(大马-小马-马驹托砖)
- 自动登录(过滤器filter的应用)
- js中调用C标签实现百度地图
- 阿里云SAG2.0发布,助力企业全球互联
- daab 3.1使用笔记
- 《Android音视频开发》— Android 书籍
- HDFS简介及其功能
- 微信小程序蓝牙连接TSPL打印机打印图片思路
- [VOSViewer] 合并同义词、删除指定词语
- js读取本地excel到html,JS读取本地EXCEL文件
- 将vim打造成强大的python和c的ide
- LWP::UserAgent的用法
- 资本市场+金融科技,广州试点能否擦出新火花?
- 数据结构与算法-C版(王卓)day01
- Java 排序 - 冒泡排序
- 烽火移动设备管理:企业安全管理无处遁形
- java 给定价格和付款金额计算找零金额-挖财笔试编程题