分享
 
 
 

Oracle 10G的Data Pump (Part I)

王朝oracle·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

Oracle 10G的Data Pump (Part I)

作者: Fenng

出处: Http://www.DBAnotes.net

Oracle 10G的Data Pump技术能够在不同数据库间高速的移动数据库和元数据. 这个技术的基础是两个数据移动工

具:Data Pump EXPort和Data Pump Import.

Oracle的Data Pump是通过一个PL/SQL包来实现的:DBMS_DataPump(也叫Data Pump API).Data Pump使用

直接路径装载和外部表机制进行数据的移动. Data Pump使用DBMS_METADATA PL/Sql包进行包括ETL过程在内的

所有的数据库对象操作.

Data Pump 是Oracle一些其它要害特性(如基于流的复制、逻辑Standby等)的基础。

Data Pump特性是集成到Oracle数据库10G中的,但是标准版本10G并行度只有1.

要害概念

Master Table

Master Table(MT)是Data Pump技术的核心.Master Table 用来保存整个过程中的细节信息(也可以说是一些

元数据信息).有了MT,导出或者导入的重启动才变为可能.这些细节信息包括:

产生Job状态的报告 重新启动Job 定位在Dump文件中的所有的对象.

主表在进行当前导出或者导入的操作的用户模式中被创建.该用户必须要有足够空间. 主表的名字和创建它的Job名字相

同.这也就是说,你不能显式的指定一个和现有的表或者视图重名的Data Pump Job.

导出的时候,主表被创建,并在完成的时候写到Dump文件中.在启动导入的时候,主表从Dump文件集中载入到数据库中,

并用来控制操作的顺序.主表也可以用一些参数来进行初始化操作.要注重的是主表不能跨文件存储.所以,指定的Dump

文件的大小至少要能够容纳得下MT.

主表依如下情况或被保留或者删除:

Job成功完成,MT被删除. 假如Job是使用STOP_JOB交互命令停掉的,MT将被保留以用来重启动Job. 假如Job是使用KILL_JOB交互命令Kill掉的,MT将被删除,并且Job不能重新启动. 假如Job意外中止,MT总是被保留.

Master Process 主进程

每一个导出或者导入的Job都会产生一个主进程. 主进程控制整个Job,包括和客户端通信,创建并控制worker 进程,

并进行日志操作.

Worker Process

Worker Process 是并行化进行实际的卸载与装载元数据和表数据的进程.进程的数量和PARALLEL指定的数值相等

.在整个Job过程中,该数量可以进行调整.我们在前面已经提及,标准版下并行度为1.

网络导出和导入

当你通过网络运行Import操作,源是另一个系统,不是一个Dump的文件集.

基于服务器的处理方式

和原来的Export/Import方式不同的是,Data Pump的导出和导入基本是在服务器.这意味着:

因为文件的读和写大部分都是在服务器端,所以路径的规范和数据库目录对象的解析都是针对服务器而不是客户

端 因为对文件的访问是在操作系统模式下,可能会存在数据安全问题. 假如使用默认的目录信息,可能会产生文件冲突问题.

Dump、Log和SQL文件的默认位置

Dump、Log和SQL文件的默认位置基于服务器的。在你运行Data Pump Export或者Data Pump Import的时候 ,

必须由DBA或者是有 CREATE ANY DirectorY 权限的用户创建一个目录对象.在该对象创建之后,你需要对其他用户

授权 READ/WRITE对象操作权限.

GRANT READ ON DIRECTORY data_pump_dir TO foo;

注重该目录只有在数据库服务器具有读取权限的时候才可以.

Data Pump根据如下的顺序决定文件的位置:

1. 对该文件指定的目录对象;

2. 假如对一个文件没有指定目录对象,那么将默认使用初始化参数中的DIRECTORY指定的对象.

特权用户和非特权用户

Data Pump识别两类的用户:特权(Privileged)用户和非特权(Nonprivileged)的用户.

Privileged用户具有EXP_FULL_DATABASE 和IMP_FULL_DATABASE权限. 非特权用户不具备这些权限.

特权用户可以作如下工作:

导出导入其他用户拥有的数据库对象. 导出导入非基于模式的对象(比如表空间和模式定义等内容). 对其他用户启动的Job进行一些操作.

Data Pump如何访问数据?

直接路径(Direct Path ,DP)和外部表(External Tables ,ET).ET模式下使用ORACLE_DATAPUMP驱动并使用直接

路径API内部数据流格式.Oracle称Data Pump会自动选择最快的方法.

文件分配

Data Pump Job治理三种类型的文件:

Dump文件 Log文件 记录一个操作的相关信息 SQL文件 记录一个SQL_FILE操作输出的记录

指定文件和额外的附件文件

对于导出操作,你可以指定 Dump文件,随着操作的进行你发现文件空间有些不够,你可以使用交互模式下的 ADD_FILE

命令添加额外的文件.对于导入的操作.所有的dump文件必须在Job定义的时候指定. Log文件和SQL文件将覆盖存在的

文件.Dump文件从不覆盖已经存在的文件.

设定并行度

对于导出和导入 ,并行度的设定(通过 PARALLEL 参数指定)应该低于或者等于Dump文件的个数.假如文件个数不足,性

能可能会降低(多线程同时访问一个Dump文件).前面已经提及,标准版本10G并行度只有1,所以,这个参数实际上对企业

版的10G才是有效的.

使用替代变量

在导出和导入操作中,可以使用%U替代变量来匹配文件名字,这样在一定情况下便捷了许多.

Data Pump中的Export和Import的新的特性

相对于旧有的exp/imp,Data Pump中的Export和Import有很多新的特性,包括:

1 Data Pump Job执行到一半的时候指定最大线程数的能力.

2 Data Pump job是完全能重新启动的.

3 从长时间运行的Job分离或者是重新附加上去而不会对Job本身有影响.

4 支持通过网络的导出导入操作.

5 Remap_datafile.

6 支持完美粒度对象选择.

7 支持对Job的交互命令行模式监控和交互.

8 对待导入的对象的空间评估.

9 具备指定数据库版本对象移动能力.

未完待续

附MT结构描述

SQL> desc SYS_EXPORT_SCHEMA_01

名称 是否为空? 类型

----------------------------------------- -------- -------------------

PROCESS_ORDER NUMBER

DUPLICATE NUMBER

DUMP_FILEID NUMBER

DUMP_POSITION NUMBER

DUMP_LENGTH NUMBER

DUMP_ALLOCATION NUMBER

COMPLETED_ROWS NUMBER

ERROR_COUNT NUMBER

ELAPSED_TIME NUMBER

OBJECT_TYPE_PATH VARCHAR2(200)

OBJECT_PATH_SEQNO NUMBER

OBJECT_TYPE VARCHAR2(30)

IN_PROGRESS CHAR(1)

OBJECT_NAME VARCHAR2(500)

OBJECT_SCHEMA VARCHAR2(30)

PARTITION_NAME VARCHAR2(30)

FLAGS NUMBER

COMPLETION_TIME DATE

OBJECT_TABLESPACE VARCHAR2(30)

SIZE_ESTIMATE NUMBER

OBJECT_ROW NUMBER

PROCESSING_STATE CHAR(1)

PROCESSING_STATUS CHAR(1)

BASE_OBJECT_TYPE VARCHAR2(30)

BASE_OBJECT_NAME VARCHAR2(30)

BASE_OBJECT_SCHEMA VARCHAR2(30)

PARALLELIZATION NUMBER

UNLOAD_METHOD NUMBER

GRANULES NUMBER

SCN NUMBER

DOMAIN_INDEX VARCHAR2(30)

DOMAIN_INDEX_SCHEMA VARCHAR2(30)

GRANTOR VARCHAR2(30)

NAME VARCHAR2(30)

VALUE_T VARCHAR2(4000)

VALUE_N NUMBER

IS_DEFAULT NUMBER

FILE_TYPE NUMBER

USER_DIRECTORY VARCHAR2(4000)

USER_FILE_NAME VARCHAR2(4000)

FILE_NAME VARCHAR2(4000)

EXTEND_SIZE NUMBER

FILE_MAX_SIZE NUMBER

EXTEND_ACTIVE NUMBER

OVERFLOW_TO NUMBER

PROCESS_NAME VARCHAR2(30)

LAST_UPDATE DATE

WORK_ITEM VARCHAR2(30)

NON_TRANSACTIONAL CHAR(1)

OBJECT_NUMBER NUMBER

COMPLETED_BYTES NUMBER

TOTAL_BYTES NUMBER

METADATA_IO NUMBER

DATA_IO NUMBER

CUMULATIVE_TIME NUMBER

OLD_VALUE VARCHAR2(4000)

SEED NUMBER

LAST_FILE NUMBER

USER_NAME VARCHAR2(30)

OPERATION VARCHAR2(30)

JOB_MODE VARCHAR2(30)

VERSION NUMBER

DB_VERSION VARCHAR2(30)

STATE VARCHAR2(30)

PHASE NUMBER

GUID RAW(16)

START_TIME DATE

BLOCK_SIZE NUMBER

METADATA_BUFFER_SIZE NUMBER

DATA_BUFFER_SIZE NUMBER

DEGREE NUMBER

LANGUAGE VARCHAR2(30)

PLATFORM VARCHAR2(100)

ABORT_STEP NUMBER

INSTANCE VARCHAR2(16)

参考文档

1.Oracle10i Database Utilities

2.Data Pump in Oracle Database 10g From OTN

原文出处:

<a href="http://www.dbanotes.net/Oracle/10G-Data-Pump-PartI.htm">http://www.dbanotes.net/Oracle/10G-Data-Pump-PartI.htm</a>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有