oracle导入dmp的时候提示某个表空间不存在,但这个表空间确实已经建立好了,是什么问题呢

该dmp文件有多个表空间,我把这些表空间都给同一个用户user配额了,user也授权了dba,resource权限了,但imp的时候就是提示tablespaceXXXdo... 该dmp文件有多个表空间,我把这些表空间都给同一个用户user配额了,user也授权了dba,resource权限了,但imp的时候就是提示tablespace XXX dose not exist 展开
 我来答
一滴清茗
推荐于2017-12-15 · TA获得超过106个赞
知道答主
回答量:70
采纳率:0%
帮助的人:95万
展开全部
建议你使用下面的语句(在源库),查看一下用户所用的表空间,是否真的在你的目的库已经存在了
--源库
select distinct a.tablespace_name from dba_segments a where a.owner =upper('username');
select distinct a.temporary_tablespace from dba_users a where a.username =upper('username');

--目的库select name from v$datafile;

提示:既然系统都报错了,肯定八九不离十,先核对核对吧!
更多追问追答
追问
我查了一下,我原先给这个用户分配了5个表空间,其中一个是默认的,另外4个表空间是用如下语句分配的:alter user username quota unlimited on tablespace_name;结果刚刚查下来该用户的表空间只有默认的表空间和用上面语句执行分配的最后一个表空间,其他的表空间也是用上面的语句执行的,会不会系统只认最后一个分配给他的表空间?
追答
系统默认的给用户的存储表数据的表空间是在创建用户的时候指定的,如果没有指定就默认在user表空间,指定表空间的语句如下:
create user testserver_user identified by testserver_user default tablespace table_spacename;
你如果迁移的话,按照源库先整理吧,然后在目的库,再做合理的分配,比如这个用户需要建立分区表,就要指定表空间去建立这样的表,又或该用户下的表比较多,那么就可以考虑将表的索引建立在一个单独的表空间了,这样的话,便于管理。
schangliang11
2013-01-24 · 超过12用户采纳过TA的回答
知道答主
回答量:48
采纳率:0%
帮助的人:35.2万
展开全部
在数据库里面你没有指定dmpd的路径这个是需要创建的 然后授权才能读取导入
CREATE OR REPLACE DIRECTORY
DMPDP AS
'/oracledata/dmpdp';//你的dmpdp的文件存在路径

//用户授权
GRANT READ, WRITE ON DIRECTORY SYS.DMPDP TO IMA_MLC;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
云湖醉客
2013-01-22 · TA获得超过1983个赞
知道小有建树答主
回答量:820
采纳率:0%
帮助的人:307万
展开全部
哪个表空间没有就建哪个,这样应该就没有问题,从未遇到过楼主的问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友b01c387
2013-01-22
知道答主
回答量:69
采纳率:0%
帮助的人:23.5万
展开全部
dmp文件导出的时候表空间的命名和你现在新建的表空间是一致的吗?
追问
很肯定是一致的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式