Oracle—导入用户名和表空间不同的dmp文件

将dmp格式的文件导入到本地数据库中由于用户和表空间不同,所以在导入的过程中出现很多问题

现在将解决办法分享给大家。

背景:需要将一个数据库中的部分表格导入到本地数据库,由于数据量过大,因此采用导出成dmp的形式,但是在插入的过程中出现了问题,由于用户和表空间不同出现了很多问题。

在使用plsql进行导入的时候,不知道什么原因,数据没有导入进去,只建立了表格,因此采用toad,使用toad进行导入的时候设置了fromuser和touser,用户的问题得到解决,但是由于找不到指定的表空间,所有的数据包括大字段类型全部导入进了user表空间下,由于之前不知道user表空间大小有限,在导入表的时候,导入了一半的时候控制台突然报错:

IMP-00064: 导出已截断 LOB 的定义
IMP-00028: 上一个表的部分导入已回退: 回退 88423 行

当时在网上查的大部分都说是表空间不足的原因,因此查看表空间大小,想对user表空间进行扩容,DBA查看表空间后说,user表空间存放的用户信息,不能存放这些数据,可以存放到其他表空间中。

具体解决办法:

先建表,再导数

1.先在目标数据库中建立表结构,指定表空间和用户

2.再通过imp命令导入dmp文件,注意只导出表的数据,不要表结构了在后面加上 data_only=Y

具体示例:

imp username/password@127.0.0.1:11521/bluedb file=H:\Desktop\testdmp\s_test.dmp  fromuser=user1 touser=user2 data_only=y

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值