日期:2014-05-16  浏览次数:20585 次

Oracle DB 移动数据
? 描述移动数据的方式
? 创建和使用目录对象
? 使用SQL*Loader 加载非Oracle DB(或用户文件)中的数据
? 使用外部表并通过与平台无关的文件移动数据
? 说明Oracle 数据泵的一般体系结构
? 使用数据泵的导出和导入实用程序在Oracle DB 之间移动数据
 
  • 移动数据:一般体系结构
 
移动数据:一般体系结构
主要功能组件:
? DBMS_DATAPUMP:包括高速导出与导入实用程序的API,可用于成批地移动数据和元数据。
? 直接路径API (DPAPI):Oracle Database 11g支持直接路径API 接口,可在卸载和加载时将数据转换与语法分析工作量降至最低。
? DBMS_METADATA:Worker 进程使用该组件卸载或加载所有元数据。数据库对象定义是使用XML 存储的,而不是SQL。
? 外部表API:使用ORACLE_DATAPUMP和ORACLE_LOADER访问驱动程序,可将数据存储在外部表中(即与平台无关的文件中)。使用SELECT语句可读取外部表,就像外部表存储在Oracle DB 中一样。
? SQL*Loader:与外部表集成在一起,因此可为外部表访问参数提供自动移植加载程序控制文件的功能。
? expdp和impdp:瘦客户机层,可通过调用DBMS_DATAPUMP程序包启动和监视数据泵操作。
? 其它客户机:得益于此基础结构的应用程序(如Database Control、复制应用程序、可传输表空间应用程序和用户应用程序)。SQL*Plus 也可用作DBMS_DATAPUMP的一个客户机,但只提供实时操作的简单状态查询。
 
 
  • Oracle 数据泵:概览
作为一个基于服务器的用于高速移动数据与元数据的工具,Oracle 数据泵具有以下特点:
? 可通过DBMS_DATAPUMP调用
? 可提供以下工具:
– expdp
– impdp
– 基于Web 的界面
? 提供四种数据移动方法:
– 数据文件复制
– 直接路径
– 外部表
– 网络链接支持
? 可与长时间运行的作业分离后再重新挂接
? 可重新启动数据泵作业

使用Oracle 数据泵可快速加载或卸载Oracle DB 的数据与元数据。数据泵基础结构是通过DBMS_DATAPUMP PL/SQL 程序包调用的。因此,通过使用数据泵可构建定制的数据移动实用程序。
Oracle Database 11g提供以下工具:
? 命令行导出与导入客户机,分别称为expdp和impdp
? 基于Web 的导出与导入界面,可通过Database Control 访问
数据泵会自动确定要使用的数据访问方法;访问方法可能是直接路径或外部表。如果表结构允许使用直接路径加载和卸载,而且希望单个流性能达到最大时,数据泵会使用直接路径加载和卸载。但是,如果存在聚簇表、引用完整性约束条件、加密列或一些其它项,数
据泵会使用外部表(而不是直接路径)来移动数据。
因为数据泵能够在与长时间运行的作业分离后重新挂接而不影响作业本身,所以你可以监视多个位置正在运行的作业。只要元信息未受干扰,就可重新启动所有