注册
达梦DCA学习:记录模拟SYSTEM.DBF文件损坏恢复过程
培训园地/ 文章详情 /

达梦DCA学习:记录模拟SYSTEM.DBF文件损坏恢复过程

tony 2023/08/17 1374 0 0

环境:
操作系统:银河麒麟V10 SP3 X86_64
达梦数据库:V8 458764

开启归档:
1.png

创建测试表:

2.png

全库联机备份:
3.png

4.png

模拟故障:
停止数据库模拟SYSTEM.DBF文件损坏

5.png

整库还原:

1、校验数据库备份集
6.png

2、数据库整库还原。
7.png

还原报错,提示SYSTEM.DBF文件不存在。
查看doc目录下的《DM8备份与还原》PDF文档,发现RESTORE命令有2个restore_type选项:
type1选项:
指定 dm.ini 还原,要求 dm.ini 中 CTL_PATH 必须配置正确,且内容有效;除 dm.ini 文件外,其他文件均可不存在;解析 dm.ini 配置文件,获取 dm.ctl 控制文件路径,删除控制文件中的数据文件,然后根据 OVERWRITE 选项,如果指定 OVERWRITE 选项,若待还原文件存在,则删除重建;如果未指定 OVERWRITE 选项,若待还原文件存在,则报错,但保留目标库的日志文件、控制文件等。
type2选项:
所有文件均可不在,system.dbf 所在路径需为有效路径,若不存在,restore
过程中会自动创建;所有前面提到的数据库配置文件均会在指定的 system.dbf 所在路径还原;若未指定 OVERWRITE,且 system.dbf 所在路径中存在待还原的库配置文件,则报错;若指定,则将已经存在的文件删除重建。

尝试使用type2选项还原:
8.png

提示文件已存在,使用OVERWRITE选项
9.png

3、数据库恢复
10.png

4、更新 DB_MAGIC
11.png

启动数据库验证测试表:
12.png

总结:
根据PDF文档描述type1选项除 dm.ini 文件外,其他文件均可不存在就可以还原,但是在测试过程中还原失败,难道是我使用RESTORE命令的选项有问题,希望有知道的大佬不吝赐教,使用type2选项相当于是把所有文件都重建了。

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服