ORA-39282: Cannot alter default tablespace of partitions in partitioned table. ORACLE 报错 故障修复 远程处理
文档解释
ORA-39282: Cannot alter default tablespace of partitions in partitioned table.
Cause: DBMS_METADATA_DIFF was comparing two partitioned tables with different default tablespaces. There is no SQL ALTER statement to change the default tablespace of a partitioned table.
Action: The difference cannot be eliminated with an SQL ALTER statement.
ORA-39282:无法更改分区表中分区的默认表空间。
官方解释
ORA-39282:不允许更改分区表中分区的默认表空间。对于分区表,ALTER TABLE语句只允许更改表的表空间,而不允许更改其分区的表空间。
常见案例
当用户试图在分区表上执行alter table语句来更改现有分区的默认表空间时,将会收到此错误。
正常处理方法
如果您希望更改现有分区的表空间,可以使用ALTER TABLE语句在分区表上,对分区列进行更新,以更改分区与表空间之间的映射。
步骤:
1.使用ALTER TABLE语句在分区表上,对分区列进行更新,如:
ALTER TABLE TABLENAME MODIFY PARTITION p1 TABLESPACE NEWTABLESPACE;
2.通过更改分区列来更改分区/表空间映射,如:
ALTER TABLE TABLENAME MODIFY PARTITION p1 LOCATION(newpath);