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

Posted Lucifer三思而后行

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 代表用户!


本次分享到此结束啦~

如果觉得文章对你有帮助,点赞、收藏、关注、评论,一键四连支持,你的支持就是我创作最大的动力。

❤️ 技术交流可以 关注公众号:Lucifer三思而后行 ❤️

以上是关于Oracle 执行在线重定义时,表空间满了报错 ORA-23539,怎么破?的主要内容,如果未能解决你的问题,请参考以下文章

oracle普通表转分区表(在线重定义方式)

Oracle已有数据表建立表分区—在线重定义

如何处理Oracle中TEMP表空间满的问题

oracle system01.dbf表空间满了,导致用户没法登入怎么办

db2有表空间的LRG跟FLG文件,能恢复出来吗?

ORACLE 在线表重定义