我需要进行从11g到12c的Oracle数据迁移,其中模式变化很大。我有一个excel表,描述了所有架构更改。 Excel工作表包含' old_table_name',' old_column_name',' old_value'和新表一样。某些值可以直接复制到新表中,有些值不能以这种方式完成。
例如,我必须在将旧列值移动到新表时对其进行转换。有些转换很复杂,无法简单地进行映射。应该通过连接旧数据库中的其他表来转换它们。我正在尝试使用Talend Open Studio数据集成工具,并发现在我的情况下继续使用该工具有点复杂。有没有人想过使用Talend或任何其他工具完成这项工作?进行这样的迁移时,理想的方法是什么?我在下面列出了excel表的样本,其中只有简单的转换。
答案 0 :(得分: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';
等