日期:2014-05-16  浏览次数:20546 次

oracle 导出移动表空间
例如有两个用户 一个 A对应表空间A    一个B对应表空间B

1.首先用A 导出dmp;

2.给B赋予DBA权限,然后执行: revoke unlimited tablespace from B;

3. alter user B  quota 0 on A;

4. alter user B quota unlimited on B;

5. 执行导入 imp xxx/xxx@orcl_xxx.xxx.xxx.xxx fromuser=A touser=B file=xxx.dmp

如果表中包含lob  则不能导入,会报1536 异常。
6. 如果异常执行 alter user B quota unlimited on A; 重新导入带有lob的表。但是会导入到空间A中。

7. alter table A move tablespace B; 把A移动到B中

8. alter table B move   lob(lob名) store as (tablespace  B); 把A的lob字段移动到B

把lob 移动到B中,最后就ok,别忘记每句最后都commit;