达梦数据库的备份与还原

本文详细介绍了达梦数据库的备份与还原过程,包括物理备份的脱机和联机方式,逻辑备份的导出与导入,以及数据库的恢复操作。物理备份中,脱机备份需关闭数据库,而联机备份需开启归档。逻辑备份则通过导出数据的create和insert语句或对象定义。还原时,物理备份和逻辑备份各有适用场景,更新数据库魔术是关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

达梦数据库的还原可以分为物理备份和逻辑备份,理论上物理备份的恢复会比逻辑备份导入导出要快。
逻辑备份:导出的数据的 create 和 insert 语句或对象定义语句。
物理备份:直接对已使用的数据页进行拷贝(注意是己使用的数据页,而不是全部的)。分为冷备(脱机备份,数据库需要处于关闭状态)和热备(也叫联机备份)。

物理备份

脱机备份

命令行

首先需要关闭数据库服务,进入/dm8/bin 目录下,采用 dmrman 进行备份,最后对数据库魔术进行更新。

RMAN> backup database 'dm8/data/DAMENG/dm.ini' to DMFULLBAK03
backupset 1/dm8/backup/full/DMFULLBAK03

database 是指定待备份数据库的 ini文件,DMFULLBAK03 是备份集名称,backupset 是备份集路径。

RMAN> check backupset'/dm8/backup/full/DMFULLBAK03';

图形化

首先需要关闭数据库服务,进入/dm8/bin目录下,采用 console 进行备份,先获取备份,选择新建备份,填写备份名和目录名。
脱机备份不能备份表和表空间,因为数据库没有启动。

联机备份(需要开启归档)

SQL命令

backup database/tablespace/table to DMFULL01 BACKUPSET /dm8/backup/full/DMFULL01' 
backup tablespace dmtbs INCREMENT to DMTBSINCR01 BACKUPSET

可以对数据库、表空间、表和归档进行备份,不同备份集的路径不能相同,注意表备份不需要开归档,且没有增量备份只有全量。
最后备份目录下会有三个文件meta 元数据,_1日志备份片,最后一个是备份的数据。

图形化

在manager 里的备份上面右键新增备份。
***注意:开了归档立刻备份会报错归档不连续,因为还没有到下一个ckpt_LSN,甚至每个 ckpt,每次只刷 5%的脏页。在上个ckpt LSN 之后到开启归档这段时间的数据就没有了。
Method1:开了归档手动重启一下,因为数据库正常关闭的时候会自动做一次完全检查点。
Method2:也可以直接手动执行一次完全检查点 checkpoint(100)。

逻辑备份

逻辑备份可以按库名、用户名、模式名、表名进行导出,配置的参数分别为
全库导出 Full=y
按用户导出 Owner=Xx
按模式导出 Schemas=xx
导出指定的表 Tables=xx

逻辑备份导出

进入/dm8/bin 目录下,执行命令

./dexp userid=sysdba/Dameng:5236 directory=/dm8/backup/dexp file=full.dmp log=full.log full=y

userid: 用户名和密码以及端口号等登录信息
Directory:备份位置
File:各份文件名
Log:备份日志名

逻辑备份导入

进入/dm8/bin 目录下,执行命令

./dimp userid=sysdba/Dameng123 directory=/dm8/backup/dexp file=full.dmp log=impfull.log full=y

同时也支持跨模式/跨用户导入。将 DMTEST 模式下 TEMP 表导入到 HRTEST 用户下:

 dimp userid=hrtest/Dameng123@127.0.0.1:5238
directory=/dm8/backup/dexp file=dmtest_emp.dmp
log=dmtest_emp.log tables=DMTEST.T_EMP remap_schema=DMTEST:HRTEST

数据库还原

库、表空间和归档只能脱机还原,表可以联机还原。只有库级的还原才需要更新数据库魔术。
***先还原再恢复

命令行

restore-利用备份还原

RMAN> restore database

'/dm8/data/DAMENG/dm.ini' from backupset 'dm8/backup/full/DMFULLBAK03';

recover-利用归档恢复

RMAN> recover database

'/dm8/data/DAMENG/dm.ini' with archivedir '/dm8/arch';

更新数据库魔术

recover database 'dm8/data/DAMENG/dm.ini' update db_magic

更新数据库魔术,之前的 db_magic和现在的db_magic 不一样了,不能直接恢复到最新。
建议恢复后立刻进行全备。

图形化

在console 界面进行还原,注意可以跨数据库进行恢复,将B的数据和结构恢复到 A库。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值