DM8 如何修改表所在的默认表空间

我们知道在oracle中,我们如果需要移动表从一个表空间到另外一个表空间,我们可以采用:

alter table 表名 move tablespace 新表空间名;

那么我们在DM中怎么去操作呢,DM中没有move直接的这个命令(可能我还未发现)。不过条条大道通罗马,可以采用下面的方式来实现:

  1. 通过复制功能,获取原表建表语句和数据插入语句。创建一张新表,然后重命名即可。

     DM8 如何修改表所在的默认表空间

DM8 如何修改表所在的默认表空间

得到建表语句后,我们调整默认表空间,然后执行即可

比如:

CREATE TABLE "HC"."TAB_COPY"

(

"ID" NUMBER,

"NAME" VARCHAR(20)) STORAGE(ON "MAIN", CLUSTERBTR) ;

INSERT INTO "HC"."TAB_COPY" SELECT * FROM "HC"."TAB";

 

将MAIN 改成我们需要移动的表空间,然后insert into 即可

 

CREATE TABLE "HC"."TAB_COPY"

(

"ID" NUMBER,

"NAME" VARCHAR(20)) STORAGE(ON "TBS1", CLUSTERBTR) ;

INSERT INTO "HC"."TAB_COPY" SELECT * FROM "HC"."TAB";

 

alter table hc.tab rename to tab_old;

alter table "HC"."TAB_COPY"  rename to tab;

这样我们也达到了我们需要的功能移动原表到新的表空间中,^_^

其实这中心思想就是获取到原表的建表语句,然后重建新表,插入数据,最后更换表名,达到目的!