ITPub博客

首页 > 数据库 > Oracle > 将表从一个表空间迁移到另外一个表空间

将表从一个表空间迁移到另外一个表空间

原创 Oracle 作者:fiona8953 时间:2014-11-04 23:05:41 0 删除 编辑

缺省情况下,导入试图在与导出相同的表空间中创建对象。如果用户不具有那个表空间的权限,或者那个表空间不存在时,Oracle在用户帐户的缺省表空间中创建数据库对象。这些特性可以用于使用导出与导入在表空间之间移动数据库对象。要为USER_A将TABLESPACE_A的所有对象移动到TABLESPACE_B,应遵循以下步骤:

1 为USER_A导出TABLESPACE_A中的所有对象。

2 执行REVOKE UNLIMITED TABLESPACE ON TABLESPACE_A FROM USER_A;以收回任何授予用户帐户的无限制表空间权限。

3 执行ALTER USER USER_A QUOTA 0 ON TABLESPACE_A;以使USER_A帐户不能在TABLESPACE_A上创建任何对象。

4 删除TABLESPACE_A中USER_A拥有的所有对象。

5 执行ALTER USER USER_A DEFAULT TABLESPACE TABLESPACE_B;以使TABLESPACE_B成为USER_A用户帐户的缺省表空间。Oracle试图将对象导入TABLESPACE_A,因为这些对象是从TABLESPACE_A导出的。注意用户不具有TABLESPACE_A上的配额。然后将查看用户的缺省表空间。在Oracle可以将数据导入TABLESPACE_B之前,必须给予USER_A用户该表空间上足够大的配额,如下步骤所示。

6 执行ALTER USER USER_A QUOTA UNLIMITED ON TABLESPACE_B;

7 导入被导出的数据库对象。缺省情况下,导入工具试图将它们导入到TABLESPACE_A中,然而,因为用户不具有这个表空间的配额,所以所有的对象将被创建在USER_A的缺省表空间TABLESPACE_B中。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26477398/viewspace-1320687/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2014-06-13

  • 博文量
    284
  • 访问量
    222518