Oracle DB 移动数据

本文详细介绍了Oracle数据库中数据泵和SQL*Loader的使用,从数据泵的概述、优点、目录对象创建,到数据泵的导出与导入操作,包括基本和高级选项,以及使用Enterprise Manager进行监视。同时,也提到了SQL*Loader的控制文件和加载方法,以及外部表的使用。最后,强调了数据字典的重要性。
摘要由CSDN通过智能技术生成
               
• 描述移动数据的方式
• 创建和使用目录对象
• 使用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 访问
数据泵会自动确定要使用的数据访问方法;访问方法可能是直接路径或外部表。如果表结 构允许使用直接路径加载和卸载,而且希望单个流性能达到最大时,数据泵会使用直接路 径加载和卸载。但是,如果存在聚簇表、引用完整性约束条件、加密列或一些其它项,数
据泵会使用外部表(而不是直接路径)来移动数据。
因为数据泵能够在与长时间运行的作业分离后重新挂接而不影响作业本身,所以你可以监 视多个位置正在运行的作业。只要元信息未受干扰,就可重新启动所有停止的数据泵作业 而不会丢失数据。无论作业是自发停止的,还是由于崩溃而非自发停止的,都无关紧要。
 
  • Oracle 数据泵:优点
与早期的数据移动工具相比,数据泵具有许多优点并提供了 一些新的功能,如:
• 细粒度级的对象和数据选择
• 显式指定数据库版本
• 并行执行
• 估计导出作业占用的空间
• 在分布式环境中支持网络模式
• 重新映射功能
• 数据取样率和元数据压缩
• 在数据泵导出期间压缩数据
• 通过加密增强安全性
• 能够将XMLType 数据作为CLOB 导出
• 在旧模式下支持旧的导入和导出文件
 
Oracle 数据泵:优点
EXCLUDE、INCLUDE和CONTENT参数 用于细粒度级的对象和数据选择。
可以通过指定要移动对象的数据库版本(使用VERSION参数)来创建与支持数据泵的 低版本Oracle DB 兼容的转储文件集。
可以使用PARALLEL参数 指定代表导出作业而运行的活动执行服务器的最大线程数。
使用ESTIMATE_ONLY 参数可估计导出作业占用的空间量(但实际上并不执行导出)。
使用网络模式可从远程数据库直接导出到转储文件集。使用指向源系统的数据库链接可 完成此操作。
在导入过程中,可以更改目标数据文件名、方案和表空间。
此外,还可指定执行数据泵导出时,要从源数据库取样和卸载的数据的百分比。指定 SAMPLE参数可完成此操作。
使用COMPRESSION参数 可指示是否在导出转储文件中压缩元数据,以便占用更少的磁盘 空间。如果压缩了元数据,导入过程中会自动执行解压缩。
 
在Oracle Database 11g中新增了一些功能,使你可以:
• 在导出期间同时压缩数据和元数据,仅压缩数据,仅压缩元数据或者不压缩数据。
• 指定以下几个方面的附加加密选项:
- 可选择在导出期间同时加密数据和元数据,仅加密数据,仅加密元数据,不加 密数据或仅加密列。
- 可指定要在导出期间使用的特定加密算法。
- 可指定在导出期间要用于执行加密和解密的安全类型。例如,转储文件集可能 会导入到其它数据库或远程数据库,而在传输过程中必须保障其安全性。另外,
转储文件集可能会使用Oracle Encryption Wallet 进行本地导入,但也可能需要在 无法使用Oracle Encryption Wallet 的情况下进行异地导入。
• 使用可移动方法执行表模式导出和导入;指定在执行导入操作期间应如何处理分区表。
• 在导出操作期间覆盖现有转储文件。
• 在执行导入操作期间重命名表。
• 指定即使遇到违反非延迟约束条件的情况,也应继续执行数据加载(这仅适用于使用 外部表访问方法的导入操作)。
• 指定无论为XMLType 列定义了何种XMLType 存储格式,都要以未压缩的CLOB 格 式导出这些列。
• 在导出期间指定重新映射功能,将指定列的原始值视为源,然后返回一个重新映射值, 此值将替换转储文件中的原始值。
• 在将数据导入到新数据库时重新映射数据。
• 在旧模式下支持使用原有的导出(exp) 和导入(imp) 脚本。
 
  • 数据泵的目录对象
目录对象是一些代表服务器文件系统上的物理目录的逻辑结构。这些对象包含了特定操作 系统目录的位置。可以在Enterprise Manager 中使用此目录对象名,这样就不必对目录路 径规范进行硬编码,从而获得更大的文件管理灵活性。目录对象由SYS用户拥有。目录
名在数据库中是唯一的,因为所有目录都位于一个名称空间(即SYS)中。
为数据泵指定文件位置时,需要用到目录对象。这是因为数据泵访问的文件在服务器上, 而不是在客户机上。
在Enterprise Manager 中,选择“Schema > Database Objects > Directory Objects(方案> 数据库对象> 目录对象)”。
要编辑或删除一个目录对象,请选择该对象,然后单击相应的按钮。
 
 
  • 创建目录对象
1. 在“Directory Objects(目录对象)”页中,单击“Create(创建)”按钮。
2. 输入目录对象的名称及目录对象映射到的操作系统路径。应先创建操作系统目录, 之后才能使用这些目录。你可以单击“Test File System(测试文件系统)”按钮对此 进行测试。为了进行测试,请提供主机登录身份证明(即有权限对此操作系统目录 进行操作的操作系统用户)。
 
CREATE DIRECTORY "EXT_TAB_LOGDIR" AS '/home/oracle/extab1'
3. 目录对象的权限不同于服务器文件系统物理目录的操作系统权限。你可以管理各个 目录对象的用户权限。这样做提高了安全级别,同时还允许你对这些对象进行粒度 级控制。在“Privileges(权限)”页中,单击“Add(添加)”,选择要向其授予 读权限、写权限或读写权限的用户。
 
GRANT READ ON DIRECTORY "EXT_TAB_LOGDIR" TO "HR","SCOTT"
GRANT WRITE ON DIRECTORY "EXT_TAB_LOGDIR" TO "HR","SCOTT"
4. 单击“Show SQL(显示SQL)”查看基础语句。完成后单击“Return(返回)”。
5. 单击“OK(确定)”创建对象。
 
  • 数据泵导出与导入客户机:概览
 
 
数据泵导出与导入客户机:概览
数据泵导出实用程序是这样一种实用程序,它可以将数据和元数据卸载到名为“转储文件 集”的操作系统文件集中。数据泵导入实用程序则用于将导出转储文件集中存储的元数据 和数据加载到目标系统。
数据泵API 访问位于服务器上的相应文件,而非客户机上的文件。
上述这两种实用程序还可以用于从远程数据库直接导出到转储文件集,或者从源数据库直 接加载目标数据库,而无需使用任何干预文件。这被称为“网络模式
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值