qinglangee 发表于 2013-2-7 16:16:44

IMP数据到指定的表空间(zz)

自己做的处理,首先照下面操作。
如果建的表中有LOB列,LOB列是建在原来表空间中,比如说SYSTEM,这样导入时还是会导入到SYSTEM表空间中。没有权限就会报错。
采用了一个暴力方法,用vim打开DMP文件,将TABLESPACE "SYSTEM"全换成TABLESPACE "USERS", "SYSTEM".也全换成"USERS".,再导入可以成功,但不知有没有后患。
=====另一篇========================
Oracle imp导入数据指定表空间

=======================下面的分界线============================================
原文:http://www.cnblogs.com/KissKnife/archive/2007/09/17/896459.HTML

一直以来,我都认为只要指定用户的默认表空间,向该用户导入数据时,会自动进入到默认表空间。后来发现从System导出的dmp文件在导入时,即使指定新用户的默认表空间,还是要往System表空间中导数据。

上网搜了一下,还是有解决方法的,常见的方法如下:

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表空间:

C:\Documents and Settings\myhuang>imp system/123456@vdb fromuser=lnxh tous

er=myhuang file=G:\myhuang\lnxh.dmp ignore=y grants=n
页: [1]
查看完整版本: IMP数据到指定的表空间(zz)