DM8数据库导入工具dimp/dimpdp详解


🌺The Begin🌺点点关注,收藏不迷路🌺

达梦数据库dimp/dimpdp逻辑导入工具完全指南

一、工具概述与核心功能

达梦数据库提供两种逻辑导入工具:

  • dimp:客户端导入工具(文件需存放在客户端)
  • dimpdp:服务端导入工具(文件需存放在服务端)

两者参数完全一致,主要差异在于文件存放位置。本文以dimpdp为例进行详细说明。

二、基础导入操作

指定模式(SCHEMAS=MYDMDB)将数据导出到 dmp 文件中。

./dexpdp USERID=SYSDBA/SYSDBA@192.168.234.10:5237 \
DIRECTORY=DM_BACKUP \
FILE=MYDMDB.dmp \
LOG=schema.log \
SCHEMAS=MYDMDB

在这里插入图片描述

1. 指定模式导入示例

指定模式(SCHEMAS=MYDMDB)将数据导入。

./dimpdp USERID=SYSDBA/SYSDBA@192.168.234.10:5237 \
FILE=MYDMDB.dmp \
DIRECTORY=DM_BACKUP \
SCHEMAS=MYDMDB \
LOG=schema_import.log

在这里插入图片描述

2. 全库导入

将整个数据库导出到 full.dmp 文件中,并生成 full.log 日志文件。

./dexpdp USERID=SYSDBA/SYSDBA@192.168.234.10:5237 \
DIRECTORY=DM_BACKUP \
FILE=full.dmp \
LOG=full.log \
FULL=Y

在这里插入图片描述

将之前导出的整个数据库的数据导入到目标数据库中。

./dimpdp USERID=SYSDBA/SYSDBA@192.168.234.10:5237 \
DIRECTORY=DM_BACKUP \
FILE=full.dmp \
LOG=full_import.log \
FULL=Y

在这里插入图片描述

三、关键参数详解

1. 导入对象控制

参数说明示例
INCLUDE指定导入对象类型INCLUDE=TABLE,INDEX
EXCLUDE排除特定对象EXCLUDE=CONSTRAINT
TABLE_EXISTS_ACTION表存在时的处理TRUNCATE/APPEND

2. 性能优化参数

PARALLEL=8 \                  # 并行进程数
TABLE_PARALLEL=4 \            # 单表并行度
COMMIT_ROWS=10000 \           # 批量提交行数
BUFFER_NODE_SIZE=8192         # 缓冲区大小(KB)

3.TABLE_EXISTS_ACTION 参数说明

作用:当导入的表已存在时,控制导入工具的处理方式。默认行为是直接报错。

语法格式

TABLE_EXISTS_ACTION=[SKIP | APPEND | TRUNCATE | REPLACE | TRUNCATE_CASCADE]

可选值及说明

选项值处理方式描述
SKIP跳过当前已存在的表,继续处理其他对象。
APPEND保留现有表结构和数据,直接将导出数据追加到表中。
TRUNCATE先清空现有表中的所有数据(保留表结构),再导入新数据。
REPLACE先删除现有表(包括表结构),再根据导出文件重新创建表并导入数据。
TRUNCATE_CASCADE清空现有表数据,并级联删除依赖表中的相关数据(如外键关联数据),再导入新数据。

适用场景

  • 数据增量同步:APPEND
  • 数据全量覆盖:TRUNCATEREPLACE
  • 处理关联表数据:TRUNCATE_CASCADE
  • 忽略已存在对象:SKIP

注意事项

  • 使用 REPLACE 会删除并重建表结构,可能影响表上的索引、约束和触发器
  • TRUNCATE_CASCADE 需要数据库支持级联截断功能,使用前请确认环境兼容性

如: 先删除现有表(包括表结构),再根据导出文件重新创建表并导入数据。

./dimpdp USERID=SYSDBA/SYSDBA@192.168.234.10:5237 \
DIRECTORY=DM_BACKUP \
FILE=full.dmp \
LOG=full_import.log \
FULL=Y  \
TABLE_EXISTS_ACTION=REPLACE

在这里插入图片描述

四、故障处理方案

1. 常见错误处理

错误类型解决方案
对象已存在IGNORE=YTABLE_EXISTS_ACTION
约束冲突CONSTRAINTS=N后单独导入
空间不足增加数据文件或使用COMPRESS

五、性能优化矩阵

场景推荐参数组合
大型表导入PARALLEL=8 FAST_LOAD=Y COMMIT_ROWS=50000
元数据导入PARALLEL=16
网络环境差BUFFER_NODE_SIZE COMPRESS=ALL

2. 数据校验方案

-- 导入前后记录count值
-- 7. 验证数据
SELECT 'employees' AS table_name, COUNT(*) AS record_count FROM employees
UNION ALL
SELECT 'departments', COUNT(*) FROM departments
UNION ALL
SELECT 'products', COUNT(*) FROM products
UNION ALL
SELECT 'customers', COUNT(*) FROM customers
UNION ALL
SELECT 'orders', COUNT(*) FROM orders;

在这里插入图片描述

通过合理使用dimpdp工具,可以实现TB级数据的高效导入。建议生产环境操作前在测试环境验证参数组合,并建立完善的回滚机制。

在这里插入图片描述


🌺The End🌺点点关注,收藏不迷路🌺
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Seal^_^

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值