oracle中用一个用户导出的dmp文件中含有多个表空间,怎么用该用户将这个文件再导入数据库

导入导出用的用户是一个

按用户导入是有要求的

    导入用户要存在

    要导入的用户表存在且结构与dmp中相同(可以不管表在哪个表空间里),自动建表时会报错:对象已存在。可以用ignore=y忽略,数据会正确导入 

    或者这些表空间存在且有权限和quota,它会自动建立表并导入数据

掌握这三个条件,没有什么用户不能导入的

追问

在导入.dmp 文件时 先要建立表空间用户,但是我这个.dmp文件中有几个表空间,一个用户 ,这个用户只能设置一个默认的表空间;这样我要如何导入呢

追答

需要你先建用户,然后再建这几个表空间,再给这个用户在这些表空间quota或者unlimited tablespace权限,导入就没问题了。
dmp里有建表语句,包含了表空间部分,所以它是不会管你默认表空间是什么,假设你默认表空间是system,而你所有的表都在其它表空间上,你导入时会按照表的原始位置建表,而不会建在你默认表空间的。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-09-26

用如下命令即可:

imp 用户名/密码@实例名称 file=磁盘路径\文件名.dmp fromuser=来自用户的名称 touser=导入到用户的名称

第2个回答  2013-08-17
首先用这个用户登录到oracle数据库。
imp username/pwd@SID file=d:\daochu.dmp
imp username/pwd@SID@HUST full=y file=file= d:\data\newsmgnt.dmp ignore=y
或者用plsql中的Tools--import tables --oracle import 选择你的dmp文件导入即可。追问

在导入.dmp 文件时 先要建立表空间用户,但是我这个.dmp文件中有几个表空间,一个用户 ,这个用户只能设置一个默认的表空间;这样我要如何导入呢

追答

建表空间和用户,要与之相对应。否则数据在导入时会报错。找不到用户或者表空间。

相似回答