达梦数据库dimp导入Code:7041,Database object ..alread exists

在对生产数据库进行数据清理并重新导入时,遇到Code:7041错误,原因是表的约束已存在。解决办法包括:1) 查找并保存同名约束信息;2) 删除同名约束;3) 使用dimp导入报错表;4) 重建约束。
摘要由CSDN通过智能技术生成

背景

生产数据库需要对全库数据进行清理。清理方案按如下步骤执行:一是将数据按用户方式导出,并放入开发环境进行清理;二是对生产环境进行全库备份,方式后续操作导致数据丢失;三是将清理后的数据重新导入到生产环境数据库。

操作过程

/按用户数据导出
./dexp userid=dmuser/*****  file=exp_dmuser.dmp  log=exp_dmuser.log directory=/dm8/backup owner=dmuser

/按用户数据导入
./dimp userid=dmuser/*****  file=exp_dmuser.dmp  log=imp_dmuser.log directory=/dm8/backup table_exists_action=replace

导入报错

由于生产环境包含要导入用户的所有表,因此在导入时使用table_exists_action=replace.

table_exists_action参数共有:1. SKIP 2.APPEND 3.TRUNCATE 4. REPLACE 选项

TABLE_EXISTS_ACTION 用于要导入的表已经存在时的处理方式。默认为直接报错。
语法如下:
TABLE_EXISTS_ACTION=[SKIP | APPEND | TRUNCATE | REPLACE]

  • SKIP:跳过此表。
  • APPEND:直接向现有表中导入数据
  • TRUNCATE:先删除现有表中的数据,再向表中导入数据
  • REPLACE:先删除现有表,再导数据
     

由于用户全部数据已经升级修改,此次导

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值