在达梦数据库中,有多种数据迁移方式,包括但不仅限于以下几种:
本文主要讲解表的物理备份还原迁移数据的使用方式,其他几种方式有机会再记录分享,大家可以直接参考官方文档。
迁移速度快。备份1亿数据(约2.7GB)耗时30秒,还原耗时38秒,总计耗时约1分钟(未计算传输备份集时间)
不需要额外的第三方工具。
首先摘取几个比较重要的使用限制条件,其他限制条件请参考官方关于表备份还原的限制。
表备份集的页大小、簇大小、大小写是否敏感、UNICODE_FLAG 等不可变的数据库初始化参数必须与目标还原库一致
仅支持对普通用户表进行还原,包括堆表
不支持在加密库上进行表还原
仅支持从表备份集中还原表(不可从库级备份中还原指定表)
若表中存在大字段列,INI 参数BLOB_OUTROW_REC_STOR
不一致可能导致数据丢失
表还原不检查目标表的缺省表达式(default值会丢失)
-- 创建测试表
create table t1(id int);
-- 插入1亿行测试数据,并提交
insert into t1(id)select level from dual connect by level<=100000000;
commit;
backup TABLE T1 BACKUPSET 'BAK_TAB_T1';
-- 检验 T1 表的备份集
SELECT SF_BAKSET_CHECK('DISK','BAK_TAB_T1');
# 通过SCP(或U盘等其他方式)将表备份集目录拷贝到目标库服务器
scp -r /home/dmdba/dmdata/DAMENG/bak/BAK_TAB_T1 192.168.10.33:/home/dmdba/
# 在目标库服务器上将备份集所属用户更改为 dmdba
chown -R dmdba:dinstall /home/dmdba/
-- 登陆目标数据库,执行表结构还原(可选,如表结构已存在则可跳过)
restore table struct from backupset '/home/dmdba/BAK_TAB_T1';
-- 执行表数据还原
restore table from backupset '/home/dmdba/BAK_TAB_T1';
文章
阅读量
获赞