1. 使用expdp要先在数据库中创建directory,并给相应的用户read,write权限.
SQL>create directory dmpdir as '/u01/dmdir';
SQL>grant read,write on directory to test;
2. 最常用导出方法
$expdp scott/tiger DUMPFILE=scott.dmp DIRECTORY=dmpdir SCHEMAS=test
$expdp scott/tiger DUMPFILE=tmp_dump.dmp DIRECTORY=dmpdir TABLES=(tmp_test:p1,tmp_test:p2) JOB_NAME=tmp_dump LOGFILE=tmp_dump.log
$expdp scott/tiger DUMPFILE=full.dmp DIRECTORY=dmpdir FULL=Y JOB_NAME=full
$expdp scott/timer DUMPFILE=tmp_200703.dmp DIRECTORY=dmpdir TABLES=tmp QUERY=\"where to_char\(create_time,\'yyyy-mm-dd\'\)\<\'2007-04\'\"
常用一些参数说明:
SCOTT/TIGER:用户/密码(*)
DUMPFILE:导出后的文件名(*)
DIRECTORY:导出文件存放位置(位于服务器端)(*)
CONTENT:导出文件中包含的内容(默认为:ALL,可选DATA_ONLY/METADATA_ONLY)
FILESIZE:指定导出文件大小(单位为bytes).
JOB_NAME:此次导出进程使用的名称,方便跟踪查询(可选)
LOGFILE:日志文件名(默认为:export.log)
INCLUDE:导出时包含指定的类型
(例:INCLUDE=TABLE_DATA,
INCLUDE=TABLE:"LIKE 'TAB%'"
INCLUDE=TABLE:”NOT LIKE ‘TAB%’”…)
EXCLUDE:导出时排除的数据类型(例:EXCLUDE=TABLE:EMP)
FULL:全库导出时使用(同EXP的FULL,默认为N)
SCHEMA:导出某一个SCHEMA下的所有数据
TABLES:按表导出(这里的方法和EXP一样)
TABLESPACE:指定一个表空间导出.
QUERY:按表导出时,使用条件语句限定导出范围(同exp中的QUERY)
TRANSPORT_FULL_CHECK:
TRANSPORT_TABLESPACES:
FLASHBACK_SCN:
FLASHBACK_TIME:
PARALLEL:并行操作
PARFILE:
NETWORK_LINK:
3. 导出过程中的监控
当 Data Pump Export (DPE) 运行时,按 Control-C;它将阻止消息在屏幕上显示,但不停止导出进程本身。相反,它将显示 DPE 提示符(如下所示)。进程现在被认为处于“交互式”模式:
Export>
这种方法允许在这个 DPE 作业上输入命令查询及控制当前作业。
4. 并行操作(PARALLEL)
您可以通过 PARALLEL 参数为导出使用一个以上的线程来显著地加速作业。每个线程创建一个单独的转储文件,因此参数 dumpfile 应当拥有和并行度一样多的项目。您可以指定通配符作为文件名,而不是显式地输入各个文件名,例如:
expdp ananda/abc123 tables=CASES directory=DPDATA1 dumpfile=expCASES_%U.dmp parallel=4 job_name=Cases_Export
注意:dumpfile 参数拥有一个通配符 %U,它指示文件将按需要创建,格式将为expCASES_nn.dmp,其中nn 从 01 开始,然后按需要向上增加。
在并行模式下,状态屏幕将显示四个工作进程。(在默认模式下,只有一个进程是可见的)所有的工作进程同步取出数据,并在状态屏幕上显示它们的进度。
分离访问数据文件和转储目录文件系统的输入/输出通道是很重要的。否则,与维护 Data Pump 作业相关的开销可能超过并行线程的效益,并因此而降低性能。并行方式只有在表的数量多于并行值并且表很大时才是有效的。
5. 数据库监控
您还可以从数据库视图获得关于运行的 Data Pump 作业的更多信息。监控作业的主视图是 DBA_DATAPUMP_JOBS,它将告诉您在作业上有多少个工作进程(列 DEGREE)在工作。
另一个重要的视图是 DBA_DATAPUMP_SESSIONS,当它与上述视图和 V$SESSION 结合时将给出主前台进程的会话 SID。
select sid, serial#
from v$session s, dba_datapump_sessions d
where s.saddr = d.saddr;
这条指令显示前台进程的会话。更多有用的信息可以从警报日志中获得。当进程启动时,MCP 和工作进程在警报日志中显示如下:
kupprdp:master process DM00 started with pid=23, OS id=20530 to execute -
SYS.KUPM$MCP.MAIN('CASES_EXPORT', 'ANANDA');
kupprdp:worker process DW01 started with worker id=1, pid=24, OS id=20532 to execute -
SYS.KUPW$WORKER.MAIN('CASES_EXPORT', 'ANANDA');
kupprdp:worker process DW03 started with worker id=2, pid=25, OS id=20534 to execute -
SYS.KUPW$WORKER.MAIN('CASES_EXPORT', 'ANANDA');
它显示为数据泵操作启动的会话的 PID。您可以用以下查询找到实际的 SID:
select sid, program from v$session where paddr in
(select addr from v$process where pid in (23,24,25));
PROGRAM 列将对应警报日志文件中的名称显示进程 DM (为主进程)或 DW (为工作进程)。如果一个工作进程使用了并行查询,比如说 SID 23,您可以在视图 V$PX_SESSION 中看到它,并把它找出来。它将为您显示从 SID 23 代表的工作进程中运行的所有并行查询会话:
select sid from v$px_session where qcsid = 23;
从视图 V$SESSION_LONGOPS 中可以获得其它的有用信息来预测完成作业将花费的时间。
select sid, serial#, sofar, totalwork
from v$session_longops
where opname = 'CASES_EXPORT'
and sofar != totalwork;
列 totalwork 显示总工作量,该列的 sofar 数量被加和到当前的时刻 — 因而您可以用它来估计还要花多长时间。
6. 处理特定对象
l Data Pump 允许您只导出特定类型的对象。
例如,以下命令只导出过程,而不导出其它任何东西(不导出表、视图、甚至函数):
expdp scott/tiger directory=dmpdir dumpfile=procedure.dmp include=PROCEDURE
l 要只导出一些特定的对象(比如说,函数 FUNC1 和过程 PROC1)
expdp scott/tiger directory=dmpdir dumpfile=test.dmp
include=PROCEDURE:\"=\'PROC1\'\",FUNCTION:\"=\'FUNC1\'\"
l 可以用导出的dmp文件来创建dmp文件中包含对象的 DDL 脚本,以供之后使用。
一个称为 SQLFILE(impdp参数)参数允许创建 DDL 脚本文件。
impdp scott/tiger DIRECTORY=dmpdir DUMPFILE=expprocs.dmp SQLFILE=aa.sql
使用这种方法的impdp,可以从dp出来的dmp文件中提取对象的DDL语句,这样的impdp并不把数据导入数据库中,只是创建DDL语句文件
相关推荐
ORACLE EXPDP/IMPDP 参数详解 ORACLE EXPDP/IMPDP 是 Oracle 数据库中用于数据泵导出导入的工具,分别对应 EXP 和 IMP ...在使用 EXPDP 和 IMPDP 时,需要注意这些选项的使用方法和注意事项,以便正确地使用这些工具。
Oracle的EXPDP(Export Data Pump)和IMPDP(Import Data Pump)是数据库迁移、备份和恢复过程中的关键工具。这两个命令允许用户高效地导出和导入数据库对象和数据,包括表、视图、索引、存储过程等。下面将详细解释...
### Oracle 数据库备份工具 exp/imp 与 expdp/impdp 的对比及优化事项 #### 一、引言 在Oracle数据库管理中,备份与恢复是确保数据安全的关键环节之一。传统的exp/imp工具和现代的expdp/impdp工具分别代表了不同的...
这种方法通常使用Oracle Data Pump工具(expdp 和 impdp)来实现,它允许在数据库运行时执行数据导出和导入,从而避免了停机时间对业务的影响。以下是关于使用expdp/impdp进行非归档迁移的关键知识点: 1. **迁移前...
在 Oracle 10g 及其以上版本中,expdp 和 impdp 命令取代了传统的 exp 和 imp 命令,提供了更多的功能和选项。expdp 命令可以将数据导出到文件中,impdp 命令可以将数据从文件中导入到数据库中。 使用 imp/exp 命令...
使用expdp/impdp进行逻辑备份恢复迁移的主要场景包括数据库迁移、系统复制、灾难恢复等。相比传统的exp/imp工具,expdp/impdp提供了更高的性能和灵活性,支持数据过滤、网络压缩、并行处理等特性,大大减少了备份和...
在使用 EXPDP/IMPDP 之前,需要创建逻辑目录,以便存放导出和导入的数据文件。使用 CREATE DIRECTORY 命令创建逻辑目录,例如: create directory dpdata1 as 'd:\dump'; 注意,创建逻辑目录时需要以 system 等...
EXPDP和IMPDP的比较详细使用说明 EXPDP和IMPDP是Oracle 10g版本中引入的新的数据导入导出工具,提供了高速的数据和元数据传输功能。本文将详细介绍EXPDP和IMPDP的使用说明,包括其主要特性、Directory对象、参数...
oracle 数据迁移可以使用传统的 exp/imp 工具,也可以使用数据泵 expdp/impdp 工具。 exp/imp 工具是 oracle 数据迁移的传统方法,用于将数据库中的对象和数据导出到一个二进制文件中,然后将该文件导入到目标...
### ORACLE expdp-impdp 使用详解 #### EXPDP 命令行选项解析 **1. ATTACH** - **用途**: 该选项用于在客户端会话与已存在的导出任务之间建立联系。 - **语法**: ```plaintext ATTACH=[schema_name.]job_name ...
- 改变导入用户:Expdp/Impdp使用`remap_schema='old_user':'new_user'`,而Exp/Imp使用`fromuser=user1 touser=user2`。 - 更改表空间:Expdp/Impdp通过`remap_tablespace='old_tablespace':'new_tablespace'`,...
EXPDP 和 IMPDP 的优点在于它们可以快速地将数据从一个数据库导出到另一个数据库中,而不需要使用普通的 SQL 命令。这使得它们非常适合大规模数据的迁移和备份。 在使用 EXPDP 和 IMPDP 时,需要注意以下几点: * ...
- Expdp 和 Impdp 仅限于服务端使用,不能在客户端运行。 - Imp 只能用于处理 Exp 导出的文件,而不能用于 Expdp 文件;反之亦然。 #### 三、本地 Expdp\Impdp 在当前环境下,存在两个测试用户 lufei 和 suolong...
EXPDP/IMPDP使用Direct Path模式,将数据直接从硬盘读取,然后写入PGA,最后将数据写入Export客户端。 本手册提供了Oracle数据库备份和恢复的详细指南,涵盖了环境变量设置、数据备份、数据恢复、EXP/IMP与EXPDP/...
### Oracle_expdp_impdp用法详解 ...通过本指南提供的示例,您可以掌握如何使用`expdp`和`impdp`进行基本和高级的数据操作。无论是简单的数据导出还是复杂的跨数据库复制,DataPump都能提供强大的支持。
### Oracle EXPDP-IMPDP 用法详解:深入解析...通过上述详尽的介绍,我们不仅了解了Oracle EXPDP-IMPDP命令的基本使用方法,还深入探讨了其高级选项的应用场景,这对于高效管理和操作Oracle数据库中的数据至关重要。
在使用expdp和impdp时,用户需要注意以下几个关键点: 1. 需要有足够的权限来运行这些工具,通常需要数据库的系统管理员权限。 2. 确保目录对象已经存在于数据库中,并且有相应的操作系统权限来读写该目录。 3. 转储...
1. **执行环境**:`EXP`和`IMP`是在客户端执行的工具,而`EXPDP`和`IMPDP`则在服务器端运行,减少了网络负载。 2. **性能**:数据泵的效率远高于传统工具,这主要得益于其服务器端执行、直接路径I/O以及并行处理的...
### Oracle 10G 使用数据泵 (EXPDP 和 IMPDP) #### 一、概述 Oracle 数据泵(Data Pump)是 Oracle 10g 版本引入的一种高效的数据导入导出工具,它通过 EXPDP 和 IMPDP 命令提供了一种快速的方法来迁移数据库对象...