2.1.1 逻辑备份
数据库的逻辑备份涉及读取一组数据库行,并将其写入文件。将独立于物理位置读取这些记录。在Oracle中,Data Pump Export实用程序执行此类数据库备份。要恢复使用Data Pump Export生成的文件,请使用Data Pump Import实用程序。
提示:
Oracle的导入和导出实用程序(imp和exp, Oracle Database 10g之前的版本提供)依然作为Oracle 12c安装的一部分提供,但不再予以支持。鼓励使用旧式导出和导入实用程序的用户改用Data Pump Export和Data Pump Import。
Oracle的Data Pump Export实用程序expdp查询源数据库(包含数据字典),并将输出结果写入称为“导出转储文件”的二进制格式文件中。可以导出完整数据库、特定模式、表空间或特定表。在导出期间,可以选择是否需要导出与表相关的数据字典信息,如授权、索引和约束。Data Pump Export写入的文件将包含全面重建所有选定对象和数据需要的命令。
通过Data Pump Export导出数据后,可通过Data Pump Import实用程序将数据导入目标数据库中。Data Pump Import读取由Data Pump Export创建的转储文件,并执行其中的命令。例如,其中包括CREATE TABLE命令以及将数据加载到表中的INSERT命令。
提示:
Data Pump Export和Data Pump Import可为同时进行的导出和导入操作使用网络连接,这种做法避免了中间操作系统文件的使用,并且减少了总的导出和导入时间。
并非一定将已导出的数据再导入相同的数据库或模式(用于生成导出转储文件)。可以使用导出转储文件,在不同模式下创建导出对象集的副本,或将数据导入不同的目标数据库。
可导入所有导出数据,也可导入部分导出数据。如果导入完整导出的完整导出转储文件,将在导入期间创建所有数据库对象,包括表空间、数据文件和用户。但预先创建表空间和用户,以便指定对象在另一个数据库的物理分布方式通常是有用的做法。这是一种更改数据库物理结构的方法。
如果要从导出转储文件导入一部分数据,应该在导入前在目标数据库中设置表空间、数据文件以及拥有和存储数据的用户。