本文内容
Oracle Data Pump 技术(Oracle 数据泵技术)可以让你高速地把数据和元数据从一个数据库移动到另一个数据库。
- Data Pump 组件
- Data Pump 如何移动数据
- 参考资料
Data Pump 组件
Oracle Data Pump 由三个不同的部分组成:
- 命令行客户端 expdp 和 impdp
- DBMS_DATAPUMP PL/SQL 包(也叫 Data Pump API)
- DBMS_METADATA PL/SQL 包(也叫 Metadata API)
Data Pump 客户端
expdp 和
impdp 分别调用 Data Pump Export 和 Import 实用工具。
备注:由 Data Pump 导出实用工具(expdp )导出的转储文件与原来的导出工具(exp)导出的文件不兼容。因此,由 exp 工具生成的文件不能使用 impdp 工具导入。多数情况下,Oracle 推荐你使用 Data Pump Export 和 Import 实用工具。与原来的导出/导入工具相比,它们提供更强的数据移动性能。
expdp 和
impdp 客户端程序通过在命令行输入的参数,使用
DBMS_DATAPUMP PL/SQL 包中提供的存储过程,执行导出和导入命令。这些参数可以导出和导入全部部分数据库的数据和元数据。当移动元数据时,Data Pump 使用
DBMS_METADATA PL/SQL 包提供的功能。
DBMS_METADATA 包提供了一个集中化的设施,来提取、操作,和字典元数据的重新提交。
DBMS_DATAPUMP 和
DBMS_METADATA 包可以在命令行独立使用。
备注:所有的 Data Pump 导出和导入处理,包括读写转储文件,都是在你指定的数据库上完成的。因此,对于没有权限的用户,DBA 必须在服务器的文件系统上为 Data Pump 文件创建读写的目录对象。对于有权限的用户,可以使用一个默认的目录对象。
Data Pump 如何移动数据
Data Pump 使用四种机制来移动数据。按移动速度递增排序,如下所示:
- Data file 复制
- Direct path
- External tables
- 数据库链路导入
备注:Data Pump 不会加载禁用 unique 索引的那些表。如果数据被加载到这些表,那么必须删除或启用索引。
备注:有些情况,使用 direct path 或 external tables,Data Pump 将不能把数据加载到一个表。当表的属性存在冲突时,就会发生。例如,如果一个表包含一个 LONG 类型的字段(它需要 direct path 访问方法),但是有一个阻止 direct path 访问的条件。此时,会产生一个 ORA-39242 错误。为了解决该问题,导入前,创建 LOB 列的表。这样,可以执行导入,并使用值为 APPEND 或 TRUNCATE 的 TABLE_EXISTS_ACTION 参数。
参考资料
- Oracle 11g Release 1 (11.1) Documents-Oracle Data Pump http://docs.oracle.com/cd/B28359_01/server.111/b28319/part_dp.htm#CEGJCCHC
Oracle 11g Release 1 (11.1) Oracle 本文索引的四种类型Oracle 11g Release 1 (11.1) PL/SQL Collection 方法相关资讯 Oracle存储过程
- Oracle存储过程拼接in语句 & 自定 (今 09:21)
- 【PL/SQL系列】Oracle存储过程使用 (04月23日)
- Oracle存储过程及Java调用 (05/28/2015 20:29:33)
| - Java调用Oracle存储过程返回多条结 (04月29日)
- Oracle中的存储过程简单应用 (04月10日)
- 判断点是否落在面中的Oracle存储过 (05/09/2015 09:39:30)
|
本文评论 查看全部评论 (0)