1、Oracle Database 10g基础教程基础教程 清华大学出版社清华大学出版社2023年1月17日第1页第第18章章 数据传输技术数据传输技术 Oracle Database 10g基础教程基础教程 清华大学出版社清华大学出版社教学目标 教学难点和重点教学过程Oracle Database 10g基础教程基础教程 清华大学出版社清华大学出版社2023年1月17日第2页教学目标教学目标l了解为什么传输和转换数据了解为什么传输和转换数据l理解数据泵的体系架构理解数据泵的体系架构l了解新增的数据泵数据字典视图了解新增的数据泵数据字典视图l理解和掌握引出数据技术理解和掌握引出数据技术l理解和掌握
2、引入数据技术理解和掌握引入数据技术Oracle Database 10g基础教程基础教程 清华大学出版社清华大学出版社2023年1月17日第3页教学难点和重点教学难点和重点l为什么传输和转换数据为什么传输和转换数据l数据泵的体系架构数据泵的体系架构l新增的数据泵数据字典视图新增的数据泵数据字典视图l引出数据技术引出数据技术l引入数据技术引入数据技术Oracle Database 10g基础教程基础教程 清华大学出版社清华大学出版社2023年1月17日第4页教学过程教学过程18.1 概述概述 18.2 数据泵的体系架构数据泵的体系架构 18.3 Data Pump引出数据引出数据 18.4 Da
3、ta Pump引入数据引入数据 Oracle Database 10g基础教程基础教程 清华大学出版社清华大学出版社2023年1月17日第5页18.1 概述概述l无论是数据库管理员,还是数据库应用开无论是数据库管理员,还是数据库应用开发人员,都需要经常性传输数据和转换数发人员,都需要经常性传输数据和转换数据,满足自己的需要。据,满足自己的需要。l本节将对数据传输和数据转换的基本概念本节将对数据传输和数据转换的基本概念进行全面的介绍。首先,描述为什么传输进行全面的介绍。首先,描述为什么传输数据。接下来,讨论为什么转换数据。数据。接下来,讨论为什么转换数据。Oracle Database 10g基
4、础教程基础教程 清华大学出版社清华大学出版社2023年1月17日第6页为什么传输数据为什么传输数据 l作为数据库管理员,必须理解如何管理数据,了作为数据库管理员,必须理解如何管理数据,了解如何在应用程序和不同环境之间引入和引出数解如何在应用程序和不同环境之间引入和引出数据。由于需求的多样性,在许多环境中,都需要据。由于需求的多样性,在许多环境中,都需要移动数据、制作数据的拷贝、归档历史数据等。移动数据、制作数据的拷贝、归档历史数据等。l一般地,把数据从一个环境中传输到另外一个环一般地,把数据从一个环境中传输到另外一个环境中,需要考虑境中,需要考虑3个方面的因素:个方面的因素:确认数据源确认数据
5、源 指定数据的目标地指定数据的目标地 操纵数据的传输和转换过程操纵数据的传输和转换过程Oracle Database 10g基础教程基础教程 清华大学出版社清华大学出版社2023年1月17日第7页为什么转换数据为什么转换数据 l互操作性是引入引出数据的主要原因。由于环境不同,所互操作性是引入引出数据的主要原因。由于环境不同,所以在引入引出数据的过程中需要转换数据源中的数据。数以在引入引出数据的过程中需要转换数据源中的数据。数据的转换过程既可以是简单的,也可以是复杂的。例如,据的转换过程既可以是简单的,也可以是复杂的。例如,如果只是映射不同的数据类型,那么这种转换是简单;但如果只是映射不同的数据
6、类型,那么这种转换是简单;但是,如果需要分解或组合数据,那么转换过程就可能是复是,如果需要分解或组合数据,那么转换过程就可能是复杂的。常见的数据转换方式包括:杂的。常见的数据转换方式包括:改变数据的格式;改变数据的格式;转换和映射数据;转换和映射数据;保持数据的一致性;保持数据的一致性;校验数据;校验数据;调度数据的转换过程;调度数据的转换过程;在异构环境中转换数据。在异构环境中转换数据。Oracle Database 10g基础教程基础教程 清华大学出版社清华大学出版社2023年1月17日第8页18.2 数据泵的体系架构数据泵的体系架构 Oracle Database 10g基础教程基础教程
7、 清华大学出版社清华大学出版社2023年1月17日第9页18.3 Data Pump引出数据引出数据 l与与Oracle 9i中中exp命令相比,命令相比,Oracle Database 10g系统中的系统中的expdp命令有了很命令有了很大的变化,增加了许多功能。大的变化,增加了许多功能。l下面,首先介绍下面,首先介绍expdp命令的新增功能。命令的新增功能。然后,描述如何使用然后,描述如何使用expdp命令。接下来,命令。接下来,讲述一些示例讲述一些示例Oracle Database 10g基础教程基础教程 清华大学出版社清华大学出版社2023年1月17日第10页expdp命令的新增功能命
8、令的新增功能 l在没有实际向引出文件写入数据时,可以估计在没有实际向引出文件写入数据时,可以估计expdp命令引出的文件大小。命令引出的文件大小。l可以根据用户需要,既可以悬挂引出作业,也可以重新启动中止的作业。可以根据用户需要,既可以悬挂引出作业,也可以重新启动中止的作业。l可以根据用户需要,既可以把分离引出作业,也可以附加引出作业。可以根据用户需要,既可以把分离引出作业,也可以附加引出作业。l在许多情况下,可以从失败点重新启动失败的作业。在许多情况下,可以从失败点重新启动失败的作业。l在执行引出操作时,可以引出粒度更小的对象。例如,可以仅仅引出过程和在执行引出操作时,可以引出粒度更小的对象
9、。例如,可以仅仅引出过程和函数。函数。l可以控制引出操作中使用的线程数量。可以控制引出操作中使用的线程数量。l可以使用两种数据访问方法:外部表访问法和直接路径访问法。使用的方法可以使用两种数据访问方法:外部表访问法和直接路径访问法。使用的方法是由引出进程自动选择。是由引出进程自动选择。l支持网络模式操作,运促通过网络连接直接加载另外一个数据库。支持网络模式操作,运促通过网络连接直接加载另外一个数据库。l可以控制引出对象的版本。这种功能使得用户可以从一个可以控制引出对象的版本。这种功能使得用户可以从一个Oracle数据库中引数据库中引出数据,且保证这些引出的数据与低版本的出数据,且保证这些引出的
10、数据与低版本的Oracle数据库兼容。但是,这种数据库兼容。但是,这种功能只能适用于功能只能适用于Oracle Database 10g以后的功能,以前的功能则不适用。以后的功能,以前的功能则不适用。l可以选择引出数据的方法:只引出元数据(例如,创建表或索引的语句);可以选择引出数据的方法:只引出元数据(例如,创建表或索引的语句);只引出数据库中的数据;同时引出数据库的元数据和数据。只引出数据库中的数据;同时引出数据库的元数据和数据。Oracle Database 10g基础教程基础教程 清华大学出版社清华大学出版社2023年1月17日第11页使用使用Data Pump引出数据引出数据 l下面
11、介绍如何使用下面介绍如何使用Data Pump引出数据。引出数据。首先,描述引出数据前需要的准备工作;首先,描述引出数据前需要的准备工作;接下来,介绍引出数据时可以使用的参数。接下来,介绍引出数据时可以使用的参数。Oracle Database 10g基础教程基础教程 清华大学出版社清华大学出版社2023年1月17日第12页Data Pump引出数据的示例引出数据的示例 l为了理解为了理解Data Pump引出数据的操作,下引出数据的操作,下面通过一些示例演示操作的方式。这些示面通过一些示例演示操作的方式。这些示例内容包括:例内容包括:引出整个数据库引出整个数据库 引出表空间引出表空间 仅引出
12、数据库数据仅引出数据库数据 引出特定的数据库对象引出特定的数据库对象 估计引出文件的大小估计引出文件的大小Oracle Database 10g基础教程基础教程 清华大学出版社清华大学出版社2023年1月17日第13页18.4 Data Pump引入数据引入数据 l与与expdp工具对应的是工具对应的是impdp工具。工具。impdp工具可以执行工具可以执行Data Pump引入数据引入数据操作。操作。l下面首先介绍下面首先介绍impdp工具的新增功能,然工具的新增功能,然后描述如何使用后描述如何使用impdp工具。工具。Oracle Database 10g基础教程基础教程 清华大学出版社清
13、华大学出版社2023年1月17日第14页Data Pump引入数据的新增功能引入数据的新增功能 l支持使用元数据过滤器,允许用户控制引入对象支持使用元数据过滤器,允许用户控制引入对象的类型,例如索引、函数、过程等。的类型,例如索引、函数、过程等。l可以根据需要悬挂或重新启动引入作业。可以根据需要悬挂或重新启动引入作业。l可以分离或附加某个已有的引入作业。可以分离或附加某个已有的引入作业。l可以从失败点启动大多数失败的引入作业。可以从失败点启动大多数失败的引入作业。l可以控制引入操作过程中使用的线程数量。可以控制引入操作过程中使用的线程数量。l支持网络模式操作,允许直接加载其他数据库。支持网络模
14、式操作,允许直接加载其他数据库。l可以控制引入对象的类型。可以控制引入对象的类型。Oracle Database 10g基础教程基础教程 清华大学出版社清华大学出版社2023年1月17日第15页使用使用Data Pump引入数据引入数据 l在使用在使用Data Pump引入数据时,可以使用引入数据时,可以使用许多参数。许多参数。l表表18-5列出了列出了impdp命令中使用到的全部命令中使用到的全部参数。参数。Oracle Database 10g基础教程基础教程 清华大学出版社清华大学出版社2023年1月17日第16页Data Pump引入数据示例引入数据示例 l下面介绍一些引入数据的示例。这些示例下面介绍一些引入数据的示例。这些示例包括:包括:完全数据库引入完全数据库引入 表空间引入表空间引入 仅引入数据仅引入数据 仅引入指定的数据库对象仅引入指定的数据库对象