Absolutely...my favourite is [ding, ding, ding]:
Code:
alter table <owner>.<table_name>
move parallel nologging tablespace <new_tablespace_name>;
The fact that it takes advantage of multiple processors ("parallel") and dispenses with redo logging ("nologging") makes this one of the most-remarkably fast data movements in the Oracle World...6MB/second in my experience (depending upon processor and o/s).
Because of the lightening-fast speed, I prefer this over the "...Redefinition..." technique. I also recommend it to you since you mentioned that you have a "maintenance window," which is helpful since I recommend this for a time when users are not banging against the table.
WARNING: This technique does not work on tables with LONG columns...It throws an error, but no damage done. (You must use the export/import technique that you mentioned earlier.) Also, I have not tried it on partitioned tables (and do not bet that it will work), but I recommend you try it and see if it throws an error.
Also, when you use this technique, you must also rebuild any indexes since the indexes point to block locations within the table. But, (as you probably already know) you can effect fast index rebuilds (and relocations to new tablespaces, as well) with:
Code:
alter index <owner>.<index_name> rebuild parallel tablespace <new_tsname>;
Let us know if this suits your needs.
![[santa] [santa] [santa]](/data/assets/smilies/santa.gif)
Mufasa
(aka Dave of Sandy, Utah, USA)
[I can provide you with low-cost, remote Database Administration services: see our website and contact me via
www.dasages.com]