Alter Table Move 命令 - ORACLE

3

假设我有一个名为TABLE1的表,它位于表空间TS1中。我还有另一个表空间TS2。

以下三个命令有何不同:

  1. ALTER TABLE TABLE1 MOVE NOLOGGING PARALLEL;

  2. ALTER TABLE TABLE1 MOVE TABLESPACE TS1 NOLOGGING PARALLEL;

  3. ALTER TABLE TABLE1 MOVE TABLESPACE TS2 NOLOGGING PARALLEL;

提前感谢。

2个回答

8
根据数据库SQL语言参考

move_table_clause允许您将非分区表或分区表的分区数据移动到一个新段中,可选择在不同的表空间中,并可选择修改任何其存储属性。

因此,使用第一条语句,Oracle会将表移动到同一表空间中的新段,而在其他两条语句中,Oracle会将表移动到指定表空间(分别为TS1和TS2)中的新段。
如果TABLE1已经在表空间TS1上,则第一条和第二条命令将执行相同的操作。
在不更改表空间的情况下使用MOVE只会在原始表空间上重新组织段。

Marco.. 第一个是仅移动.. 第二个是移动到与表存在的相同表空间.. 第三个是移动到其他表空间.. 1和2之间有什么区别?我已经转移到了一个新项目.. 它在其中使用第一个.. 执行后它大大减少了表空间的空间.. 但想知道它与第二个的不同之处在哪里?有什么优势? - GKN
@GKN 我已经扩展了我的回答。 - Marco Baldelli
谢谢Marco。如果你有相关链接,请分享给我。这会对我非常有帮助。 - GKN

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接