第 17 章 数据传输技术

22
第 1第 Oracle Database 10g 第第第第 ( 第第第 ) 第 17 第 第第 第第第 第 17 第 第第 第第第 第第第第 第第第第 第第第第

description

第 17 章 数据传输技术. 本章概述 本章要点 教学过程. 本章概述. 数据库市场上硝烟弥漫的激烈竞争,导致了异构数据环境的普遍存在。对用户来说,这是一个很大的现实问题。为了方便地使用异构数据环境中的数据, Oracle Database 10g 提供了一整套的数据传输和数据转换的工具。使用这些工具可以高效地完成所需要的数据传输和数据转换。另外,在决策支持系统中,需要不断地把数据库中的数据加载到数据仓库中,这些操作也离不开数据传输和数据转换的工具。 本章介绍 Oracle Database 10g 提供的数据传输和转换功能,全面介绍新增的数据泵技术。. 本章要点. - PowerPoint PPT Presentation

Transcript of 第 17 章 数据传输技术

Page 1: 第 17 章  数据传输技术

第 1页Oracle Database 10g 基础教程 ( 第二版 ) 第 17 章 数据传输技术

第 17 章 数据传输技术

本章概述

本章要点

教学过程

Page 2: 第 17 章  数据传输技术

第 2页Oracle Database 10g 基础教程 ( 第二版 ) 第 17 章 数据传输技术

本章概述 数据库市场上硝烟弥漫的激烈竞争,导致了异构

数据环境的普遍存在。对用户来说,这是一个很大的现实问题。为了方便地使用异构数据环境中的数据, Oracle Database 10g 提供了一整套的数据传输和数据转换的工具。使用这些工具可以高效地完成所需要的数据传输和数据转换。另外,在决策支持系统中,需要不断地把数据库中的数据加载到数据仓库中,这些操作也离不开数据传输和数据转换的工具。

本章介绍 Oracle Database 10g 提供的数据传输和转换功能,全面介绍新增的数据泵技术。

Page 3: 第 17 章  数据传输技术

第 3页Oracle Database 10g 基础教程 ( 第二版 ) 第 17 章 数据传输技术

本章要点了解为什么传输和转换数据理解数据泵的体系架构了解新增的数据泵数据字典视图理解和掌握引出数据技术理解和掌握引入数据技术

Page 4: 第 17 章  数据传输技术

第 4页Oracle Database 10g 基础教程 ( 第二版 ) 第 17 章 数据传输技术

教学过程17.1 概述 17.2 数据泵的体系架构 17.3 Data Pump 引出数据 17.4 Data Pump 引入数据

Page 5: 第 17 章  数据传输技术

第 5页Oracle Database 10g 基础教程 ( 第二版 ) 第 17 章 数据传输技术

教学过程17.1 概述 17.2 数据泵的体系架构 17.3 Data Pump 引出数据 17.4 Data Pump 引入数据

Page 6: 第 17 章  数据传输技术

第 6页Oracle Database 10g 基础教程 ( 第二版 ) 第 17 章 数据传输技术

17.1 概述无论是数据库管理员,还是数据库应用开

发人员,都需要经常传输数据和转换数据,以满足自己的需要。

本节将对数据传输和数据转换的基本概念进行全面的介绍。首先介绍为什么传输数据,接着介绍为什么转换数据。

Page 7: 第 17 章  数据传输技术

第 7页Oracle Database 10g 基础教程 ( 第二版 ) 第 17 章 数据传输技术

为什么传输数据 作为数据库管理员,必须理解如何管理数据,了解如何在

应用程序和不同环境之间引入和引出数据。由于需求的多样性,在许多环境中都需要移动数据、制作数据的拷贝、归档历史数据等。

一般情况下,把数据从一个环境中传输到另外一个环境中,需要考虑以下 3 个方面的因素:– 确认数据源;– 指定数据的目标地;– 操纵数据的传输和转换过程;

传输数据是数据库管理员的日常任务。这些传输数据的任务既可以是非常简单的,也可能是非常复杂的。

Page 8: 第 17 章  数据传输技术

第 8页Oracle Database 10g 基础教程 ( 第二版 ) 第 17 章 数据传输技术

为什么转换数据 互操作性是引入引出数据的主要原因。由于环境不同,所

以在引入引出数据的过程中需要转换数据源中的数据。数据的转换过程既可以是简单的,也可以是复杂的。例如,如果只是映射不同的数据类型,那么这种转换是简单的;但是,如果需要分解或组合数据,那么转换过程就可能是复杂的。常见的数据转换方式如下:– 改变数据的格式;– 转换和映射数据;– 保持数据的一致性;– 校验数据;– 调度数据的转换过程;– 在异构环境中转换数据。

Page 9: 第 17 章  数据传输技术

第 9页Oracle Database 10g 基础教程 ( 第二版 ) 第 17 章 数据传输技术

教学过程17.1 概述 17.2 数据泵的体系架构 17.3 Data Pump 引出数据 17.4 Data Pump 引入数据

Page 10: 第 17 章  数据传输技术

第 10页Oracle Database 10g 基础教程 ( 第二版 ) 第 17 章 数据传输技术

17.2 数据泵的体系架构 Oracle Database 10g 系统引入了一种新的 Data

Pump( 数据泵 ) 体系架构。在以前的版本中,使用 imp 命令引入数据或使用 exp 命令引出数据。现在,可以使用 Oracle Data Pump 来代替这些引入引出数据的命令。在 Oracle Database 10g系统中, imp 命令和 exp 命令依然可以使用,且Oracle Data Pump 可以读取 exp 命令生成的引出数据的文件。

Oracle Data Pump 提供了在两个数据库之间移动数据的方法。在 Oracle Data Pump 体系结构中提供了许多组件。这些组件及其作用如表 17-1所示。

Page 11: 第 17 章  数据传输技术

第 11页Oracle Database 10g 基础教程 ( 第二版 ) 第 17 章 数据传输技术

Oracle Data Pump 系统的体系结构示意图

Page 12: 第 17 章  数据传输技术

第 12页Oracle Database 10g 基础教程 ( 第二版 ) 第 17 章 数据传输技术

教学过程17.1 概述 17.2 数据泵的体系架构 17.3 Data Pump 引出数据 17.4 Data Pump 引入数据

Page 13: 第 17 章  数据传输技术

第 13页Oracle Database 10g 基础教程 ( 第二版 ) 第 17 章 数据传输技术

17.3 Data Pump 引出数据与 Oracle 9i 中的 exp 命令相比, Oracle

Database 10g 系统中的 expdp 命令有了很大的变化,增加了许多功能。

下面首先介绍 expdp 命令的新增功能,然后介绍如何使用 expdp 命令。最后,通过示例讲述加何执行操作。

Page 14: 第 17 章  数据传输技术

第 14页Oracle Database 10g 基础教程 ( 第二版 ) 第 17 章 数据传输技术

expdp 命令的新增功能 在没有实际向引出文件写入数据时,可以估计 expdp 命令引出的文件大小。 根据用户需要,既可以悬挂引出作业,也可以重新启动中止的作业。 根据用户需要,既可以把分离引出作业,也可以附加引出作业。 在许多情况下,可以从失败点重新启动失败的作业。 在执行引出操作时可以引出粒度更小的对象,例如,可以仅仅引出过程和函

数。 可以控制引出操作中使用的线程数量。 可以使用两种数据访问方法,即外部表访问法和直接路径访问法,使用的方

法由引出进程自动选择。 支持网络模式操作,允许通过网络连接直接加载另外一个数据库。 可以控制引出对象的版本。这种功能使得用户可以从一个 Oracle 数据库中引

出数据,且保证这些引出的数据与低版本的 Oracle 数据库兼容。但是,这种功能只能适用于 Oracle Database 10g 以后的功能,以前的功能则不适用。

可以选择引出数据的方法:只引出元数据(例如,创建表或索引的语句);只引出数据库中的数据;同时引出数据库的元数据和数据。

Page 15: 第 17 章  数据传输技术

第 15页Oracle Database 10g 基础教程 ( 第二版 ) 第 17 章 数据传输技术

使用 Data Pump 引出数据 下面介绍如何使用 Data Pump 引出数据。

首先介绍引出数据前需要的准备工作,接着,介绍引出数据时可以使用的参数。

在使用 expdp 之前,应该在数据所在的数据库中创建一个目录对象。可以使用 create directory 命令来创建目录,使用 grant命令进行授权。使用 create directory 命令和 grant 命令的示例如图 17-4 所示。

Page 16: 第 17 章  数据传输技术

第 16页Oracle Database 10g 基础教程 ( 第二版 ) 第 17 章 数据传输技术

Data Pump 引出数据的示例 为了理解 Data Pump 引出数据的操作,下

面通过示例来演示引出操作的方式。这些示例内容包括:引出整个数据库、引出表空间、仅引出数据库数据、引出特定的数据库对象、估计引出文件的大小等。

下面是一个引出数据的示例。该示例,引出了整个数据库。其中,每一个文件都不超过 100MB ,所有转储文件和日志文件都存储在 pump_dir 目录中。

Page 17: 第 17 章  数据传输技术

第 17页Oracle Database 10g 基础教程 ( 第二版 ) 第 17 章 数据传输技术

教学过程17.1 概述 17.2 数据泵的体系架构 17.3 Data Pump 引出数据 17.4 Data Pump 引入数据

Page 18: 第 17 章  数据传输技术

第 18页Oracle Database 10g 基础教程 ( 第二版 ) 第 17 章 数据传输技术

17.4 Data Pump 引入数据与 expdp 工具对应的是 impdp 工具。 imp

dp 工具可以执行 Data Pump 引入数据操作。

下面首先介绍 impdp 工具的新增功能,然后描述如何使用 impdp 工具。

Page 19: 第 17 章  数据传输技术

第 19页Oracle Database 10g 基础教程 ( 第二版 ) 第 17 章 数据传输技术

Data Pump 引入数据的新增功能 支持使用元数据过滤器,允许用户控制引入对象的类型,

例如索引、函数、过程等。 可以根据需要悬挂或重新启动引入作业。 可以分离或附加某个已有的引入作业。 可以从失败点启动大多数失败的引入作业。 可以控制引入操作过程中使用的线程数量。 支持网络模式操作,允许直接加载其他数据库。 可以控制引入对象的类型。允许用户引入某个版本的 Ora

cle 数据库,并且确保数据库各版本之间的兼容性。该功能只能用于 Oracle Database 10g 以后的系统。

Page 20: 第 17 章  数据传输技术

第 20页Oracle Database 10g 基础教程 ( 第二版 ) 第 17 章 数据传输技术

使用 Data Pump 引入数据 在使用 Data Pump 引入数据时,可以使用

许多参数。如表 17-5 所示列出了 impdp命令中使用到的全部参数。

Page 21: 第 17 章  数据传输技术

第 21页Oracle Database 10g 基础教程 ( 第二版 ) 第 17 章 数据传输技术

Data Pump 引入数据的示例 下面介绍一些引入数据的示例。这些示例包括:– 完全数据库引入– 表空间引入–仅引入数据–仅引入指定的数据库对象

Page 22: 第 17 章  数据传输技术

第 22页Oracle Database 10g 基础教程 ( 第二版 ) 第 17 章 数据传输技术

教学过程17.1 概述 17.2 数据泵的体系架构 17.3 Data Pump 引出数据 17.4 Data Pump 引入数据