Oracle IMP导出到不同表空间不成功

本文描述了在Oracle中使用IMP导入数据时遇到的问题,即数据始终导入到SYSTEM表空间而不是期望的表空间。问题源于EXP导出的dmp文件包含了源表空间信息,IMP会据此进行导入。解决思路包括保持相同表空间间的导出导入,迁移表到默认表空间,修改用户在SYSTEM表空间的限额,或直接更改数据表的表空间。
摘要由CSDN通过智能技术生成

Oracle IMP导出到不同表空间不成功

       一、问题描述

       所用环境:Oracle 11g客户端、Windows 64bit、C#;

       具体描述:用户UserA默认表空间为tablespace_A,使用EXP命令导出数据表备份文件.dmp,用IMP命令导入时发现数据仍然自动导入到SYSTEM表空间下,即并没有导入到期望的tablespace_A表空间中去。在IMP导入时即使指定了tablespaces=tablespace_A,也无效,数据还是导入到SYSTEM表空间下。


       二、原因

       IMP在导入dmp文件时,会根据该dmp导出时的源表空间为依据进行导入表空间的选择,即:从SYSTEM表空间导出的dmp文件,导入时只会默认导入到当初导出时的表空间SYSTEM中。这是因为EXP在导出dmp时不仅包含了导出数据表的脚本语句,还包括其导出时的表空间信息;IMP在导入时就根据dmp中该表空间信息来当做目标表空间进行导入。所以,即使用户UserA的默认表空间为tablespace_A,但如果dmp的源表空间若是SYSTEM表空间的话,用户UserA在用IMP导入并显式指定表空间时,数据还是自动导入到SYSTEM表空间中去。

       上述情况常发生于不同电脑上的备份还原,比如用户UserB的数据表都存在于SYSTEM中,他EXP时生成dmp文件的源表空间自然就是SYSTEM;当UserA用这个dmp进行还原时就会直接导入到SYSTEM表空间中而非他自己的默认tablespace_A表空间。

       一句话总

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值