ITPub博客

首页 > 数据库 > Oracle > ORA-23539: 当前正在重新定义 "TESTTEMP"."RECORD" 表

ORA-23539: 当前正在重新定义 "TESTTEMP"."RECORD" 表

原创 Oracle 作者:呱呱牛 时间:2016-06-28 17:25:05 0 删除 编辑
    在使用在线重定义对表进行复制的过程中,意外中断,再次执行start_redef_table时提示 ORA-232539操作,提示‘当前正在重新定义表’,通过finish_refed_table解释重定义操作,提示'重新定义未实例化',
    这里只能尝试一下abort_redef_table操作,好像也花费好长时间,10分钟。

点击(此处)折叠或打开

  1. SQL> exec dbms_redefinition.start_redef_table(uname => 'testtemp',orig_table => 'record',int_table => 'record_partition');
  2.  
  3. begin dbms_redefinition.start_redef_table(uname => 'testtemp',orig_table => 'record',int_table => 'record_partition'); end;
  4.  
  5. ORA-23539: 当前正在重新定义 "TESTTEMP"."RECORD" 表
  6. ORA-06512: 在 "SYS.DBMS_REDEFINITION", line 56
  7. ORA-06512: 在 "SYS.DBMS_REDEFINITION", line 1498
  8. ORA-06512: 在 line 2
  9.  
  10. SQL>
  11. SQL> exec dbms_redefinition.can_redef_table(uname => 'testtemp',tname => 'record');
  12.  
  13. begin dbms_redefinition.can_redef_table(uname => 'testtemp',tname => 'record'); end;
  14.  
  15. ORA-23539: 当前正在重新定义 "TESTTEMP"."RECORD" 表
  16. ORA-06512: 在 "SYS.DBMS_REDEFINITION", line 143
  17. ORA-06512: 在 "SYS.DBMS_REDEFINITION", line 1635
  18. ORA-06512: 在 line 2
  19.  
  20. SQL>
  21. SQL>
  22. SQL> exec dbms_redefinition.finish_redef_table(uname => 'testtemp',orig_table => 'record',int_table => 'record_partition');
  23.  
  24. begin dbms_redefinition.finish_redef_table(uname => 'testtemp',orig_table => 'record',int_table => 'record_partition'); end;
  25.  
  26. ORA-42004: 重新定义未实例化
  27. ORA-06512: 在 "SYS.DBMS_REDEFINITION", line 82
  28. ORA-06512: 在 "SYS.DBMS_REDEFINITION", line 1532
  29. ORA-06512: 在 line 2
  30.  
  31. SQL> exec dbms_redefinition.abort_redef_table(uname => 'testtemp',orig_table => 'record',int_table => 'record_partition');
  32. PL/SQL procedure successfully completed
     
    Executed in 577.703 seconds


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/27039319/viewspace-2121133/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2014-05-29

  • 博文量
    96
  • 访问量
    286800