ORA-42000: invalid online redefinition column mapping for table “string”.”string
文档解释
ORA-42000: invalid online redefinition column mapping for table “string”.”string”
Cause: An attempt was made to change the logical structure of a materialized view log, queue table, or a partition by specifying a non-NULL column mapping during online redefinition.
Action: Pass a NULL column mapping parameter.
该错误消息指示在尝试使用Online Redefinition或DBMS_REDEFINITION进行表重定义时,提供的列映射无效。
官方解释
ORA-42000表明无效的列映射,当通过Online Redefinition(DBMS_REDEFINITION过程)重新定义表时,当使用DBMS_REDEFINITION.COLUMN_MAPPING进行列映射时,可能会发生这种情况。
常见案例
当DBMS_REDEFINITION.COLUMN_MAPPING用于定义表重定义过程时出现了一个错误:
SQL> BEGIN
2 DBMS_REDEFINITION.COLUMN_MAPPING( …
3 ‘table_name’,
4 ‘old_column_name’,
5 ‘new_column_name’);
6 END;
出现以下错误:
ORA-42000: invalid online redefinition column mapping for table “table_name”.”old_column_name”
一般处理方法及步骤
1.使用DBMS_REDEFINITION.VALIDATE_COLUMN_MAPPING检查列映射是否有效。如果不有效,它将生成错误消息,指出需要进一步确认的列映射。在修复错误之前,确保数据类型是可以重新定义单位的,并且保证不包含重复列和级联列。
2.如果在操作过程中发现有无效的列映射,请重新定义列映射,或者使用DBMS_REDEFINITION.SET_COLUMN_MAPPING替换旧的无效列映射。
3.重新定义重定义表时,使用DBMS_REDEFINITION.VALIDATE_COLUMN_MAPPINGS函数来确保列映射是有效的。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341