文档解释
ORA-42005: invalid type of redefinition method
Cause: An unknown redefinition method was used.
Action: Use one of the supported redefinition methods: o dbms_redefinition.cons_use_pk o dbms_redefinition.cons_use_rowid
。
ORA-42005: invalid type of redefinition method
官方解释
ORA-42005 表示在to重定义方法定义调用中使用了不允许的redefinition method.
这个错误一般是发生在执行DDL语句(例如add/drop columns from a table或者creating/dropping indexes)的时候。当试图使用DBMS_REDEFINITON包的重定义方法来更改表结构时,如果重定义方法(method type) 字段中出现非法值,这个错误将会发生。
常见案例
该错误在DBMS_REDEFINITION包中使用时会发生,例如在对一个表进行重定义时,调用 DBMS_REDEFINITION 包中的 DBMS_REDEFINITION.START_REDEF_TABLE 方法时,如果使用了一个非法的redefinition method,则可能会出现这个错误。
一般处理方法及步骤
1.确定使用了错误的重定义方法:
需要查看DBMS_REDEFINITION包中 START_REDEF_TABLE 方法定义中的methodtype字段,如果使用了一个不允许的redefinition method,则可能会出现这个错误。
2.更换合法的那个重定义方法:
需要更换合法redefinition method,或者按照规范处理方法调用,更换正确的重定义方法。