ITPub博客

首页 > 数据库 > 数据库开发技术 > 10G新特性笔记之数据泵技术

10G新特性笔记之数据泵技术

原创 数据库开发技术 作者:empo007 时间:2007-11-12 22:30:57 0 删除 编辑
与EXP/IMP是客户端应用程序不同,数据泵是服务器端应用程序[@more@]

1、体系结构
Direct Path API (DPAPI):10G因为DPAPI的使用,减少了数据转换和分析
External Table:数据泵使用oracle datapump访问驱动处理External Table数据
DBMS_DATAPUMP包用于以DPAPI的方式处理数据导入导出
expdp/impdp用来调用DBMS_DATAPUMP
DBMS_METADATA用于处理METALDATA数据的导入导出
2、机制
expdp可以将数据导出到一个文件也可以通过DBLINK把数据导出到一个数据库中,impdp则相反
数据泵的核心是master table (MT),任何与数据泵作业相关的JOB都是由MT管理的。
当发起一个EXPDP/IMPDP进程,影子进程就被创建了,影子进程接收到DBMS_DATAPUMP.OPEN请求,就创建数据泵JOB,该JOB包含MT的创建,用于不同进程间通信的AQ的创建以及主控进程的创建。当JOB运行的时候,影子进程不断获取客户端状态信息,客户端DETACH,影子进程也消失。
主控进程(MCP)控制数据泵的执行,它管理JOB的状态、JOB的描述、JOB的重新启动等。主控进程名为DMnn.主控进程按照parallel参数启动一定数目的工作进程,工作进程名为DWnn.
3、优点
a.有两种数据访问方式:直接路径方式和外部表方式,当无法使用直接路径方式,会自动选择外部表方式。
b.客户端可以DETACH和REATTACH正在运行的数据泵JOB
c.可以重新启动数据泵JOB
d.细粒度数据对象筛选(参数EXCLUDE、INCLUDE和CONTENT)
e.可以指定version参数,用于生成和那个版本兼容的DUMP FILE
f.企业版可以进行并行操作(参数PARALLEL)
g.可以估计空间消耗(参数ESTIMATE_ONLY)
h.可以通过DBLINK,直接导入到另一个数据库中
i.可以改变数据文件名(参数REMAP_DATAFILE),schemas名(参数REMAP_SCHEMA)和表空间名(参数REMAP_TABLESPACE)
4、文件存放位置
三种导出文件:DUMP文件,log文件和SQL文件
不支持绝对路径
需要使用数据库目录对象,可以通过DIRECTORY:FILENAME方式,也可以通过指定DIRECTORY参数,否则将会使用DATA_PUMP_DIR环境变量
5、DUMP FILE
支持多个文件名(以逗号分隔),
或者%U模板
6、TRANSFORM参数
该参数可以指定是否导出或者导入表或者索引的存储选项
7、几个视图
V$SESSION_LONGOPS
DBA_DATAPUMP_JOBS
DBA_DATAPUMP_SESSIONS
V$SESSION
8、如何ATTACH
expdp system/manager ATTACH = EXP_TS1
ATTACH后可以执行STOP_JOB、start_job和KILL_JOB
9、外部表
外部表的数据不能DML
可以通过parrallel和location参数指定并行度(一个位置并行度为1)
可以通过下面的语句创建外部表:
CREATE TABLE emp_ext
(first_name, last_name, department_name)
ORGANIZATION EXTERNAL
(
TYPE ORACLE_DATAPUMP
DEFAULT DIRECTORY ext_dir
LOCATION (’emp1.exp’,’emp2.exp’,’emp3.exp’)
)
PARALLEL
AS
SELECT......
10、外部表的Projected Columns
如果外部表的projected column属性为REFERENCED,那么对表的查询将只基于某些列的有效,如果属性为all,那么对表的查询将基于所有列的有效

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/85922/viewspace-982006/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
  • 博文量
    126
  • 访问量
    1077504