如何将旧的Oracle Dbs架构/数据迁移到Oracle 18c

时间:2018-06-19 18:53:00

标签: sql-server oracle database-migration

我正在一个项目中,我们需要在新环境中仅创建几个旧Oracle系统的表/数据副本,并且想知道实现此目标的最佳方法。

目标RDBMS将是Oracle 18c。

旧版数据库是Oracle 8.1-各种Linux,Solaris,OEL和Windows服务器上的Oracle 11.2 Db。 (好吧!)

仅环境之间的通信将通过FTP进行,因此通信,数据库大小以及某些情况下的数据库版本将防止在环境之间泵送数据。

一旦数据处于新环境中,它将是只读的,并且不会被旧系统访问,因此我们不希望跨任何端口移植任何功能,SP,程序包等。

我在SQL Server方面有丰富的经验,但是在Oracle中没有很多经验。

目前,我认为可能的过程如下:

  • 使用从其他环境导出的数据库模式创建空模式
  • 导入前一个数据库的所有导出。 (这是我主要关心的问题,因为我看不到任何简单的方法来控制添加表数据的顺序以保持参照完整性)

此过程中的一些限制条件是:

  • 客户将提供架构详细信息和数据导出。
  • 目标环境将是纯粹用于以下目的的只读数据存储 查看旧数据。
  • 没有任何SP,触发器或功能将作为现有端口移植 不会使用旧版应用程序。
  • 当前环境和新环境将分开 安全的位置,将无法连接。
  • 涉及的旧版Oracle数据库版本为8.1.7-11.2
  • 保留多个不同版本的Oracle并不是一个选择

由于我使用的是Oracle版本,因此我怀疑较早的导出将使用原始的Exp完成,因此可能需要通过原始的imp函数进行导入。较新的导出应使用数据泵导出完成。

就数据规模/范围而言,我们正在处理最初的10-12Db的大约300-400gb的数据,其中包含800-1200个表,包括大约450m行。

请告知在原始Db的基础上创建新Db并导入数据的最佳方法是什么。

由于涉及的表数量众多,因此至少可以部分自动化的过程是可取的。

0 个答案:

没有答案