Oracle expdp为什么比exp快,原理是什么

先看oracle 10g的官方文档:

Database Utilities

Data Performance Improvements for Data Pump Export and Import

The improved performance of the Data Pump Export and Import utilities is attributable to several factors, including the following:

Multiple worker processes can perform intertable and interpartition parallelism to load and unload tables in multiple, parallel, direct-path streams.

--多个进程并行和直接路径读

For very large tables and partitions, single worker processes can choose intrapartition parallelism through multiple parallel queries and parallel DML I/O server processes when the external tables method is used to access data.

Data Pump uses parallelism to build indexes and load package bodies.

--可以并行的建索引和包

Dump files are read and written directly by the server and, therefore, do not require any data movement to the client.

--在服务器上操作,不需要将数据返回给客户端,省去网络的环节

The dump file storage format is the internal stream format of the direct path API. This format is very similar to the format stored in Oracle database datafiles inside of tablespaces. Therefore, no client-side conversion to INSERT statement bind variables is
performed.

--导出的数据文件是block格式,不是exp的SQL语句

The supported data access methods, direct path and external tables, are faster than conventional SQL. The direct path API provides the fastest single-stream performance. The external tables feature makes efficient use of the parallel queries and parallel DML
capabilities of the Oracle database.

--支持直接路径读,比转换成SQL快

Metadata and data extraction can be overlapped during export.

--元数据和数据的提取可以同时执行

翻译的不好,总结如下:

1.expdp是服务端程序,exp是客户端程序,exp还需要网络传输,这个很影响速度。

2.expdp读的就是数据块,exp是要转换成SQL。

3.expdp可以并行导出数据、元数据和建索引、包,exp不行。

4.expdp采用的是直接路径读,exp是要通过SGA。

时间: 2024-07-29 13:13:54

Oracle expdp为什么比exp快,原理是什么的相关文章

ORACLE EXPDP IMPDP数据导入导出命令详解及同EXP IMP命令详细对比

ORACLE EXPDP IMPDP数据导入导出命令详解及同EXP IMP 命令详细对比 一.EXPDP IMPDP EXP IMP 可以实现 1.可以实现逻辑备份和逻辑恢复 2.可以在数据库用户之间移动对象 3.可以在数据库之间移动对象 4.可以实现表空间转移 二.EXPDP的命令详解 C:\Users\Administrator>20:42:32.90>expdp help=y Export: Release 11.2.0.1.0 - Production on 星期六 10月 10 09

[转载]expdp\impdp及exp\imp

expdp\impdp及exp\imp 数据泵文件 expdp介绍 EXPDP命令行选项1. ATTACH该选项用于在客户会话与已存在导出作用之间建立关联.语法如下ATTACH=[schema_name.]job_nameSchema_name用于指定方案名,job_name用于指定导出作业名.注意,如果使用ATTACH选项,在命令行除了连接字符串和ATTACH选项外,不能指定任何其他选项,示例如下:Expdp scott/tiger ATTACH=scott.export_job 2. CON

Oracle 11G R2 用exp无法导出空表解决方法

四.  Oracle 10g以后增加了expdp和impdp工具,用此工具也可以导出空的表 oracleexpdp/impdp 用法详解 1)  创建逻辑目录,该命令不会在操作系统创建真正的目录,最好以system等管理员创建. createdirectory db_bak as 'd:\test\dump'; 2)  查看管理理员目录(同时查看操作系统是否存在,因为Oracle并不关心该目录是否存在,如果不存在,则出错) select * fromdba_directories; 3)  给s

EXPDP/IMPDP与EXP/IMP在不同用户和表空间之间迁移数据的实现方法

1. EXPDP/IMPDP方式 SQL> create user zlm identified by zlm; User created. SQL> grant connect,resource to zlm; Grant succeeded. SQL> create tablespace ts_zlm datafile '/u01/app/oracle/oradata/ora10g/zlm01.dbf' size 100M reuse; Tablespace created. SQL

Oracle expdp/impdp导出导入命令及数据库备份

Oracle expdp/impdp导出导入命令及数据库备份 使用EXPDP和IMPDP时应该注意的事项: EXP和IMP是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用. EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端使用,不能在客户端使用. IMP只适用于EXP导出的文件,不适用于EXPDP导出文件:IMPDP只适用于EXPDP导出的文件,而不适用于EXP导出文件. expdp或impdp命令时,可暂不指出用户名/密码@实例名 as 身份,然后根据提示再输

oracle expdp 无法导出SYS下特定TABLE

创建测试表: D:\app\product\11.1.0\db_1>sqlplus "/as sysdba" SQL*Plus: Release 11.1.0.7.0 - Production on 星期日 5月 18 17:12:06 2014 Copyright (c) 1982, 2008, Oracle. All rights reserved. 连接到: Oracle Database 11g Enterprise Edition Release 11.1.0.7.0

Oracle 11G在用EXP 导出时,空表不能导出解决[转]

转自:http://wanwentao.blog.51cto.com/2406488/545154 11G中有个新特性,当表无数据时,不分配segment,以节省空间 解决方法: 1.insert一行,再rollback就产生segment了. 该方法是在在空表中插入数据,再删除,则产生segment.导出时则可导出空表. 2.设置deferred_segment_creation 参数 show parameter deferred_segment_creation NAME         

解决Oracle 11g在用EXP导出时,空表不能导出

一.问题原因:     11G中有个新特性,当表无数据时,不分配segment,以节省空间     1.insert一行,再rollback就产生segment了. 该方法是在在空表中插入数据,再删除,则产生segment.导出时则可导出空表. 2.设置deferred_segment_creation 参数 show parameter deferred_segment_creation NAME                                 TYPE        VALU

Oracle expdp/impdp 使用示例

1. 创建目录 使用数据泵之前,需要创建一个存放文件的目录. 这个目录要写入Oracle的数据字典中才能识别. (1)先查看一下已经存在的目录: SQL> col owner format a5 SQL> col directory_name format a25 SQL> select * from dba_directories; OWNER DIRECTORY_NAME            DIRECTORY_PATH ----- ------------------------