2015-03-13 1049 views
-3

成交全部,ORA-14511:无法对分区对象执行操作

我创建了一个表格,其中包含分区并在表格中插入数据。我正确地提到了分区的表空间但是我忘了提到表的表空间。现在我试着通过使用“Alter Table INC_MDK移动表空间KOP_PES_D”命令来移动表空间。但它显示oracle错误

'ORA-14511: cannot perform operation on a partitioned object'; 

如果您需要任何其他信息进行分析,请回复我。

我的表创建脚本

CREATE TABLE INC_MDK 
    (
    INC_MDK_USER_IPN VARCHAR2(7 CHAR), 
    INC_COD_AKK  VARCHAR2(6 CHAR) NOT NULL, 
    INC_MDK_DATE  DATE , 
    CONSTRAINT INC_C02 UNIQUE (INC_MDK_USER_IPN) USING INDEX TABLESPACE KOP_PES_I 
) 
    partition BY range 
    (
    INC_MDK_DATE 
) 
    (
    partition INC_AVAN VALUES less than (TO_DATE ('01-09-2000', 'DD-MM-YYYY')) TABLESPACE KOP_PES_D, 
    partition INC_0009 VALUES less than (TO_DATE ('01-10-2000', 'DD-MM-YYYY')) TABLESPACE KOP_PES_D, 
    partition INC_APRS values less than (MAXVALUE) 
    tablespace SOP_PES_D 
enable row movement ; 

回答

0

分区表没有一个表空间。每个分区都是独立的分段。每个分区将位于一个表空间中。但是由于数据存储在分区的一个分段中,因此不需要表具有分段,因此不需要将表的分段分配给表空间。

+0

感谢Justin Cave提供的有用信息。这里是我的客户端期望移动表空间:(。 – user3797516 2015-03-13 06:58:23

+0

@ user3797516 - 正如我所说,你不能。那么,我想你可以删除表,重新创建一个非分区表,并创建表段你需要的表空间,但这似乎不是一个有用的解决方案 – 2015-03-13 07:02:07

+0

@ user3797516 - 你需要和你的客户讨论这个问题,表空间定义了数据的存储位置,对于定义适用于分区而不是表的分区表。因为这种情况下的表格只是标识一组分区的标签,那么客户希望您解决的实际问题是什么? – APC 2015-03-13 07:24:50