imp导入到指定表空间

来源:互联网 发布:影视特效飞天软件 编辑:程序博客网 时间:2024/05/17 05:52

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字段表或分区表的数据导入。

0 0
原创粉丝点击