Oralce 用IMP导入到指定表空间

来源:http://blog.sina.com.cn/s/blog_62d1205301012udn.html

SQL> create user myhuang identified by myhuang default tablespace myhuang;//先创建一个用户

SQL> grant resource,connect to myhuang;

SQL> grant dba to myhuang;//  DBA 权限

SQL> revoke unlimited tablespace from myhuang;// 撤销此权限,这个位置很关键

SQL> alter user myhuang quota 0 on system;// 将用户在 System 表空间的配额置为 0

SQL> alter user myhuang quota unlimited on myhuang;// 设置在用户在 myhuang 表空间配额不受限。

经过上述设置后,就可以用 imp 导入数据,数据将会进入指定的 myhuang 表空间:

window下导入方法   C:/Documents and Settings/myhuang>imp system/123456@vdb fromuser=lnxh tous

er=myhuang file=G:/myhuang/lnxh.dmp ignore=y grants=n

linux 下导入方法:

imp aiocp2/aiocp2 file=aiocp_testfull2010_11_9.dmp fromuser=aiocp_test touser=aiocp2 tables=TB_UCUSTOMMENUS,THASMROLECURL tablespaces=users


顺便说两个小问题:

 1  IMP-00003: 遇到 ORACLE 错误 1658

ORA-01658: 无法为表空间 MYHUANG 中的段创建 INITIAL 

通常这个问题可以通过 Resize 增加表空间数据文件大小来解决。

 2 )删除表空间

SQL> drop tablespace myhuang including contents and datafiles;

 

[个人补充]

如遇IMP -00003 : ORACLE error 1950 encountered.

ORA-01950 : no privileges on tablespace 'XXXXXXX'

说明你的表中有BLOB之类的字段或有分区的表,此类表无法导入新的表空间

网上说9i中此问题没有完美的解决方案,估计只能先建一个同名的表空间,然后把这个表移到新的表空间中。

在10g,11g中可以通过先在目标端创建同名的表 来实现将有BLOB字段表或分区表的数据导入。

转载:http://blog.csdn.net/wangdeng1314/article/details/5997479


你可能感兴趣的:(数据库)