Oracle Database 12c DBA官方手册(第8版)
上QQ阅读APP看书,第一时间看更新

2.6 使用数据复制方法

数据复制方法需要源数据库和目标数据库同时存在。当迁移的表非常小并且数量很少时,这种方法最合适。和Data Pump Export/Import方法一样,必须提防在数据提取期间和之后发生在源数据库中的事务。在这种方法中,通过经由数据库链接的查询提取数据。

使用仅限Oracle Database 12c软件的安装创建目标数据库,然后预先创建将由源数据库中的数据填充的表空间、用户和表。在目标数据库中创建数据库链接(参阅第16章),这些链接访问源数据库中的账户。最后使用INSERT INTO . . . SELECT等命令将数据从源数据库移到目标数据库。

这种数据复制方法允许只引入所需要的行和列,查询可限制迁移的数据。你需要注意源数据库中表之间的关系,从而可在目标数据库中正确地重新创建它们。如果执行升级允许较长的应用程序停止时间,并且在迁移期间需要修改数据结构,则数据复制方法适于满足这些需求。注意,该方法要求数据同时存储在多个位置,因此会影响存储需求。

为提高该方法的性能,可考虑下列选项:

●禁用所有索引和约束,直到加载所有的数据。

●并行运行多个数据复制作业。

●使用并行查询和DML增强单个查询和插入的性能。

●使用APPEND提示增强插入(直接路径插入)的性能。

●在重新创建索引前收集表的统计数据。Oracle将在重建索引时自动收集索引上的统计数据。

从Oracle 10g开始,可使用跨平台的可移植表空间。传送表空间时,只导出和导入表空间的元数据,同时将数据文件物理移动到新平台。对于超大型数据库,移动数据文件所需要的时间比重新插入行所需要的时间短很多。查看第17章可了解使用可移植表空间的相关细节。查看第8章可了解关于性能调整的更多建议。