oracle 9i 一个表空间 导入到另外一个表空间

oracle 9i 一个表空间 导入到另外一个表空间

缺省情况下,导入试图在与导出相同的表空间中创建对象。如果用户不具有那个表空间的权限,或者那个表空间不存在时,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中。
Top

 

REVOKE   UNLIMITED   TABLESPACE   ON   itmpspace  FROM  itmp  ;
ALTER   USER      itmp    QUOTA   0   ON   itmpspace ;

ALTER   USER  itmp       DEFAULT   TABLESPACE   idmp;
ALTER   USER   itmp     DEFAULT   TABLESPACE    idmp;
ALTER   USER   itmp      QUOTA   UNLIMITED   ON    idmp;    

 

你可能感兴趣的:(oracle 9i 一个表空间 导入到另外一个表空间)