达梦数据库备份还原


--归档周期
SELECT '单个文件大小' AS 名称, WM_CONCAT(ARCH_FILE_SIZE || 'MB') AS 信息 FROM V$DM_ARCH_INI WHERE ARCH_TYPE = 'LOCAL' UNION ALL SELECT '归档日志上限', WM_CONCAT(ARCH_SPACE_LIMIT || 'MB') FROM V$DM_ARCH_INI WHERE ARCH_TYPE = 'LOCAL' UNION ALL SELECT '归档目录', WM_CONCAT(ARCH_DEST) FROM V$DM_ARCH_INI WHERE ARCH_TYPE = 'LOCAL' UNION ALL SELECT '归档日志个数',TO_CHAR(COUNT(1)||'个') FROM V$ARCH_FILE UNION ALL SELECT '当前归档周期',TO_DATE(MIN(CREATE_TIME),'YYYY-MM-DD HH24:MI:SS')||' ~ '||TO_DATE(MAX(CLOSE_TIME),'YYYY-MM-DD HH24:MI:SS') FROM V$ARCH_FILE;
alter database mount;
alter database noarchivelog;
alter database delete archivelog 'type=local,dest=/dmdata/arch';
alter database archivelog;
alter database open;
2 数据库备份
创建测试数据
create table t (id int ,name VARCHAR (100));
begin
for i in 1..10000 loop
insert into t values (i,'test' ||i);
end loop;
commit;
end;
联机全量备份 (压缩等级2,并行4)
BACKUP DATABASE FULL BACKUPSET '/dmdata/bakful'compressed level 2 parallel 4;
删除一部分数据
delete from t where id<20;
联机增量备份
BACKUP DATABASE INCREMENT WITH BACKUPDIR '/dmdata/bakful' BACKUPSET '/dmdata/increment_bak';
清空表数据
truncate table t;
3 数据库还原恢复
关闭数据库,使用dmrman脱机还原
使用dmdba用户,切换到安装目录bin下面执行如下命令
./dmrman use_ap=2
第一步:使用全量备份文件还原数据库
RESTORE DATABASE '/dmdata/DAMENG/dm.ini' FROM BACKUPSET'/dmdata/bakful';
使用增量量份文件还原数据库(增量还原过程中隐含了一个完全还原操作,如果有全量的基备份,无需执行全量,直接执行增量即可)
RESTORE DATABASE '/dmdata/DAMENG/dm.ini' FROM BACKUPSET '/dmdata/increment_bak';
第二步:使用全量备份文件进行恢复
RECOVER DATABASE '/dmdata/DAMENG/dm.ini' FROM BACKUPSET'/dmdata/bakful';
如果要恢复数据库最新状态,全量还原之后,直接利用归档文件进行恢复(要看归档周期是否覆盖到备份的日期)
RECOVER DATABASE '/dmdata/DAMENG/dm.ini' WITH ARCHIVEDIR'/dmdata/arch'
也可利用归档恢复到某个时间点
RECOVER DATABASE '/dmdata/DAMENG/dm.ini' WITH ARCHIVEDIR'/dmdata/dmarch' UNTIL TIME'2022-07-25 17:57:22';
第三步:更新魔数
RECOVER DATABASE '/dmdata/DAMENG/dm.ini' UPDATE DB_MAGIC
4 验证数据是否正确

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了