
也行有的朋友会问,为什么要做表空间迁移呢?
这里简单说一下我们在数据库表空间维护方面的规范之一,就是将table、index和lob分开存储。所有表有个default tablespace,在创建schema的时候直接指定。对于Index和LOB数据,则分别存在在单独的表空间,以此降低磁盘I/O,降低表空间维护的消耗等,提升Oracle数据库的性能。
本次操作流程比较简单,具体如下:
1.计划将CAMS_CORE用户下的表做一次表空间迁移,按照原定方案,直接move表到新的tablespace,生成迁移命令脚本如下:

2.将生成的语句进行迁移,其中有2个表为Interval Partition分区表。

迁移时遇到的问题:
ORA-14511: cannot perform operation on
a partitioned object
3.使用oerr查看错误信息

4.从错误提示上看,应该是分区表的迁移不能基于表迁移,需要基于分区进行迁移,特此改进操作,先查看dba_tab_partitions表的字段。

5.按照基于分区迁移的原则,重新编写SQL,拼写自动生成迁移语句,执行生成alter……move……语句。

6.将生成的sql重新执行,全部提示成功,表空间迁移顺利完成。

文章转载自IT技术佳肴,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




