我有一个要求,我必须将列(col_1)的数据类型从数字(38,0)更新为Varchar2(64)。该列也是组合主键的一部分。
我正在通过以下方式实现这一目标
1)添加数据类型为varchar2(64)的新列col_2
2)使用现有列col_1填充col_2的数据[UPDATE TABLE_1 SET col_2 = col_1]
3)删除主键(这将删除在pkey上创建的索引)
4)删除列col_1
5)将新列重命名为col_1 [ALTER TABLE TABLE_1 COLUMN col_2改为col_1]
6)创建主键(这会在pkey上创建索引)
7)收集表中的统计数据
成功完成上述步骤后,我正在运行常规的Informatica作业,该作业在表上执行更新/插入。这项工作需要更长的时间,而且还没有完成。插入/更新是informatica工作流程的一部分,我可以看到没有。会话属性下的目标统计信息中的行数正在增加,但每小时大约更新500行。
步骤中是否缺少某些内容。我是否需要显式重建索引或收集索引。我已经检查了索引和表的LAST_ANALYZED日期,并且两者均已更新。 查询计划也和以前一样。
Oracle版本- Oracle Database 12c企业版12.1.0.2.0版-64位生产
请帮助您提出建议。
非常感谢
基尔蒂