0

我需要进行从 11g 到 12c 的 Oracle 数据迁移,其中架构更改很丰富。我有一个描述所有架构更改的 Excel 表。Excel 工作表具有“old_table_name”、“old_column_name”、“old_value”列,对于新表也是如此。有些值可以直接复制到新表中,有些则不能这样做。

例如,当旧列值移动到新表时,我必须对其进行转换。有些转换很复杂,不能简单地映射。它们应该通过与旧数据库中的其他表连接来进行转换。我为此尝试了 Talend Open Studio Data Integration 工具,发现在我的情况下继续使用该工具有点复杂。有没有人知道使用 Talend 或任何其他工具来完成这项工作?进行这样的迁移时,理想的方法是什么?我在下面包含了一个只有简单转换的 excel 表示例。

在此处输入图像描述

4

1 回答 1

1

电子表格中显示的那种转换都可以使用重命名语句和/或基本的 ddl 和 dml 语句在表本身上执行。我会将旧表加载到新数据库中并在表上执行这些语句。

alter table
   old_table_one
rename to
   new_table_one;

alter table
   new_table_one
rename column
   old_col_one 
to
   new_col_one;

update new_table_one
set new_col_one = 'A_NEW'
where new_col_one = 'A';

等等

于 2014-05-22T06:16:50.780 回答