考虑我在表空间TS1中有TABLE1。我有另一个表空间TS2。
以下三个之间有什么区别
ALTER TABLE TABLE1移动NOLOGGING PARALLEL;
ALTER TABLE TABLE1移动TABLESPACE TS1 NOLOGGING PARALLEL;
ALTER TABLE TABLE1移动TABLESPACE TS2 NOLOGGING PARALLEL;
提前致谢..
答案 0 :(得分:5)
根据Database SQL Language Reference:
move_table_clause
允许您将非分区表或分区表的分区的数据重新定位到新段中,可选地在不同的表空间中,并可选择修改其任何存储属性。
因此,使用您的第一个语句,Oracle会将表移动到同一表空间上的新段,而在其他两个语句中,Oracle会将表移动到指定表空间(分别为TS1和TS2)上的新段。 / p>
如果TABLE1
已经在表空间TS1
上,则第一个和第二个命令将执行相同的操作。
在不更改表空间的情况下使用MOVE
只会重新组织原始表空间上的段。
答案 1 :(得分:0)
我尝试了许多脚本,但不适用于所有对象。您无法将群集的objects从一个tablespace移动到另一个https://www.orahow.com/2018/06/move-all-objects-to-another-tablespace.html,因为您将不得不使用expdp。因此,我建议expdp是将所有对象移动到不同表空间的最佳选择。
下面是命令。
nohup expdp \"/ as sysdba\" DIRECTORY=test_dir DUMPFILE=users.dmp LOGFILE=users.log TABLESPACES=USERS &
https://github.com/jamesmontemagno/FloatingActionButton-for-Xamarin.Android