《oracle数据库10g中的数据泵.ppt》由会员分享,可在线阅读,更多相关《oracle数据库10g中的数据泵.ppt(23页珍藏版)》请在三一办公上搜索。
1、Oracle 数据库 10g 中的数据泵:超高速数据转移实用工具的基础,甲骨文公司,数据泵:概述,什么是数据泵?主要特性体系结构性能要记住的事情对原来的 exp/imp 的一些看法,数据泵:什么是数据泵?,基于服务器的工具,用于在加载和卸载数据和元数据时获得高性能可调用:DBMS_DATAPUMP。在内部使用 DBMS_METADATA以直接路径(Direct Path)流的格式写入数据。以 XML 的格式写入元数据新的客户端程序 expdp 和 impdp:原来的 exp/imp 的扩展集流、逻辑备用、网格、可移动表空间和数据挖掘初始实例化的基础。,特性:高性能!,自动、双层并行化用于分区间
2、 并行化的直接路径用于分区内 并行化的外部表示例:parallel=动态:在企业版中可以从一个正在运行的作业中添加或删除工作线程自动构建索引,使并行度达到作业数同时进行数据和元数据卸载单线程数据卸载:1.5-2X exp单线程数据加载:15X-40X imp使用索引构建:4-10X imp,特性:检查点/重新启动,作业进度记录在一个“主表”中可以显式地停止并在以后重新启动:在当前项目完成后停止或立即停止异常终止的作业也可以重新启动如果有问题可以在重启时跳过当前的对象,特性:网络模式,网络导入:直接从一个数据库加载 另一个数据库网络导出:将一个远程数据库卸载至一个本地的转储文件集中允许导出只读数
3、据库数据泵在本地运行,元数据 API 远程运行。使用数据库链接,而不是管道。以 insert into select from 的方式转移数据直接路径引擎在两端均使用很容易阻塞网络带宽:小心!,特性:细粒度的对象选择,两种 操作(导出和 导入)都支持 所有的 对象类型Exclude(排除):从操作中 排除指定的对象类型Include(包含):只 包含指定的对象类型。例如,只包含检索程序包、函数和过程虽然可以指定两者中的一个或两个,但新的客户端程序禁止同时使用两者两者都使用一个可选的名称过滤器,以获得甚至更高的细粒度:INCLUDE PACKAGE:“LIKE PAYROLL%“EXCLUDE
4、TABLE:“IN(FOO,BAR,)“,特性:监控,灵活的 GET_STATUS 调用每个工作线程的状态,显示当前的对象和完成的百分比初始的作业空间估计和总体完成百分比作业状态和描述工作进度和错误,特性:转储文件集管理,基于目录:例如,DMPDIR:export01.dmp 其中 DMPDIR 创建为:SQL create directory dmpdir as/data/dumps支持指定多个带通配符的文件:dumpfile=dmp1dir:full1%u.dmp,dmp2dir:full2%u.dmp根据需要从提供的文件指定中循环创建文件可以限制文件大小以便管理自动维护转储文件集的一致性
5、,新的客户端程序 expdp/impdp,类似(但不完全相同)于 exp/imp 的外观支持所有的模式:完整、模式、表、表空间、可传输。exp/imp 的扩展集支持闪回expdp 和 impdp 都支持查询,并且在每一个表的基础上进行!与正在运行的作业连接或分离允许每个作业与多个客户端程序连接;但一个客户端程序一次只能与一个作业连接如果拥有权限,可以连接并控制其他用户的作业,新的客户端程序 expdp/impdp,通过 Ctl-C 进入交互式模式:ADD_FILE:为作业添加转储文件和通配符文件指定PARALLEL:动态添加或删除工作线程STATUS:获取每个工作线程的详细状态并修改报表时间间
6、隔STOP_JOB=IMMEDIATE:停止作业,使其为可重新启动。IMMEDIATE 不等待工作线程完成当前的工作项目它们将在重新启动时重新执行START_JOB:重新启动一个先前停止的作业KILL_JOB:停止作业并删除其所有的资源(主表、转储文件),使其为不可重新启动CONTINUE:退出交互模式,继续记录日志EXIT:退出客户端程序,使作业保持运行,特性:其他的出色特性,使用 XML 可以容易地进行 DDL 转换:REMAP_SCHEMAREMAP_TABLESPACEREMAP_DATAFILE可以隐藏段和存储属性可以只提取和加载数据、或元数据,或提取和加载两者SQLFILE 操作生
7、成可执行的 DDL 脚本如果一个表在加载时已存在,那么您可以:跳过它(默认)、替换它、截取然后加载或者附加到其末尾根据分配的块(默认)或统计信息(如果提供)进行空间估计企业管理器界面集成了 9i 和 10g可调用!,体系结构:结构图,直接路径API,外部表 API,元数据 API:DBMS_METADATA,数据泵,体系结构:流程图,无需客户端!,转储文件集:数据、元数据和主表,数据泵:性能调整,默认的初始化参数就非常好!确保 disk_asynch_io 保持为 TRUE扩展 I/O!Parallel=不超过两倍的 CPU 数量:不要超过磁盘最高容量。必然的结果:扩展 I/O!为 AQ 消息
8、发送和元数据 API 查询提供足够的 SGA为长时间运行的查询提供足够的回滚这就是性能调整!,大型的互联网公司2 个事实表:16.2M 行,2 Gb,Oracle 应用程序种子数据库:,密集的元数据:392K 个对象,200 个模式,10K 个表,总共 2.1 Gb 的数据原来的 exp/imp 总共花费:32 小时 50 分钟exp:2 小时 13 分钟 imp:30 小时 37 分钟数据泵 expdp/impdp 总共花费:15 小时 40 分钟Expdp:1 小时 55 分钟 impdp:13 小时 45 分钟对于 expdp 和 impdp,Parallel=2,请记住:,设计用于处理
9、大量数据的*大型*作业元数据性能几乎一样更复杂的基础架构,更长的启动时间XML 比 DDL 更大,但更灵活转储文件中的数据格式与 exp 相比压缩了大约 15%通过修剪主表实现了子集导入,原来的 exp 和 imp,将永远支持原来的 imp,以允许加载 V5 V9i 的转储文件原来的 exp 至少在 10g 中提供,但可能不支持所有新的功能。9i exp 可以用于从 10g 降级不兼容原来的转储文件格式和数据泵转储文件格式,10g Beta 反馈,英国电信:Ian Crocker,性能与存储顾问“我们已经测试了新的 Oracle10g 导出和导入实用工具:Oracle 数据泵。数据泵导出的执行速度是原来的两倍,数据泵导入的执行速度比原来快十倍。新的可管理性特性在监视作业状态时为我们提供更高的灵活性。”Airbus Deutschland:Werner Kawollek,操作应用程序管理“我们已经测试了 Oracle 数据泵导出和导入实用工具,丰富的功能给我们留下了深刻的印象。首次测试结果表明与原来的导出和导入实用工具相比性能得到了巨大的提高。”,