我从oracle数据库用exp导出1个帐户user的数据,再将此数据导入到另外一个新建的oracle数据库,导入过程产生很多的警告,导入结束后发现新的数据库中此帐户少了很多表和其他对象。
我没有用到全库导入,我只想将user帐户的数据导入到新数据库中。在导入前我在新数据库中创建了1个同名的user帐户,并且也建立了和老数据库相同名称的表空间,只是表空间文件的个数(2个)比老数据库(4个)的要少。我用imp导入数据的语句基本如下:
imp system/manager file=user.dmp fromuser=em touser=em datafiles=(/home/oracle/oradata/oradb/USER_DATA.dbf,/home/oracle/oradata/oradb/USER_DAT
A_1.dbf)
我想将老数据库user帐户的所有对象和数据都导入到新数据库中,请问该如何做?谢谢高手指点。(步骤越详细越好)
我没有用到全库导入,我只想将user帐户的数据导入到新数据库中。在导入前我在新数据库中创建了1个同名的user帐户,并且也建立了和老数据库相同名称的表空间,只是表空间文件的个数(2个)比老数据库(4个)的要少。我用imp导入数据的语句基本如下:
imp system/manager file=user.dmp fromuser=em touser=em datafiles=(/home/oracle/oradata/oradb/USER_DATA.dbf,/home/oracle/oradata/oradb/USER_DAT
A_1.dbf)
我想将老数据库user帐户的所有对象和数据都导入到新数据库中,请问该如何做?谢谢高手指点。(步骤越详细越好)
imp的datafiles参数只在可传输表空间方式下用
先做一个user exp:
exp system/manager file=user.dmp owner=em在目标数据库上建立用户和表空间(表空间文件个数不限)执行倒入:
imp system/manager file=user.dmp fromuser=em touser=em
文件就在C:下
在你的数据库导入先建一用户userimp user/password@数据ID file=c:\a.dmp log=c:\a.log full=y
IMP-00003: ORACLE error 1659 encountered
ORA-01659: unable to allocate MINEXTENTS beyond 37 in tablespace USER_DATA
在这个表之前的表都导入了,而在这个表之后的表只有部分被导入,少了有40多个表,我现在手工创建了这个表,并想导入尚未导入的对象和数据,而已经导入的数据和对象不再重复导入,请问有什么办法可以做到。
这个问题一直难以较好的解决。谢谢了。
imp user/password@数据ID c:\a.dmp
谢谢 Torrice(沙丁鱼) ,不过你的回答有错误,compress参数默认是y。