When doing transportable tablespace, we get the following errors when run the TTS set check procedure.
SQL> EXECUTE dbms_tts.transport_set_check('USERS', TRUE, TRUE);
PL/SQL procedure successfully completed.
VIOLATIONS
--------------------------------------------------------------------
Default Partition (Table) Tablespace USERS for ... not contained ...
Default Partition (Table) Tablespace USERS for ... not contained ...
Default Partition (Table) Tablespace USERS for ... not contained ...
The problem is that the default tablespace of the partition table is not in the tablespace we need transported, we should change it. Actually we got this problem before, when we want to drop an empty tablespace, and we split, when we need to add a partition or split a partition. But I always forget the SQL syntax to modify it, I always try the following first.
ALTER TABLE ... MODIFY DEFAULT STORAGE TABLESPACE ...;
ALTER TABLE ... MODIFY DEFAULT PROPERTY TABLESPACE ...;
ALTER TABLE ... MODIFY DEFAULT PROPERTIES TABLESPACE ...;
However the correct SQL is :
ALTER TABLE ... MODIFY DEFAULT ATTRIBUTES TABLESPACE ...;
The keyword is "ATTRIBUTES", not "PROPERTIES".

Comments (1)
Cool.
I just had this problem and found the solution in about 2 minutes.
If these were partitioned IOTs you would additionally need to drop any global indexes defined on the IOTs, it's a bug, it exists in releases 8, 9 and 10.
Posted by TommyP | September 26, 2008 4:16 AM