Oracle 执行在线重定义时,表空间满了报错 ORA-23539,怎么破?

今天执行转分区表操作时,使用在线重定义,去吃个饭的功夫,表空间满了,报错如下:


Oracle 执行在线重定义时,表空间满了报错 ORA-23539,怎么破?


天真的我以为,添加表空间数据文件后,再次执行就可以了!结果,报错:


Oracle 执行在线重定义时,表空间满了报错 ORA-23539,怎么破?


大概意思就是已经被重定义了,无法再次重定义,怎么破呢?


✅ 解决方案:


--查询表对应的物化视图
select mview_name from user_mviews;
--删除物化视图的日志
drop materialized view log on T;
--终止之前的重定义
exec DBMS_REDEFINITION.abort_redef_table('LUCIFER','T','T_PAR');
--再次进行重定义
EXEC DBMS_REDEFINITION.START_REDEF_TABLE('LUCIFER','T','T_PAR',NULL,DBMS_REDEFINITION.CONS_USE_ROWID);


上述中,T 代表原表,T_PAR 代表中间分区表,LUCIFER 代表用户!

上一篇:进程内存管理初探【转】


下一篇:SAP CRM Fiori 应用和 SAP Commerce Cloud (电商云) UI 如何通过调整 CSS 来改变UI显示风格