您的位置:首页 > 其它

Oralce 用IMP导入到指定表空间

2014-11-30 10:10 246 查看
来源: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字段表或分区表的数据导入。

转载:/article/10099773.html

复制去Google翻译翻译结果
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: