实验无备份,修复redo日志,自行实验测试下。
删除或者重命名redo日志文件:
此时数据库无法启动:
提示是不存在redo日志,无法启动数据库。
查看初始化参数,然后根据参数新建个相同配置的库,数据库名和端口号要进行修改。
查看init.log:
cd /home/dmdba/dmdbms/bin
./dminit path=/home/dmdata page_size=32 extent_size=32 db_name=DAMENG02 port_num=5237
在前台启动新实例后,拷贝出redo日志至本库。
如果直接启动本库:
出现报错,原因是db_mgic和pemnt_magic和原库的对应不上。
通过dmmdf查看原库数据文件的SYSTEM.DBF的db_magic和pemnt_magic:
./dmmdf type=1 file=/home/dmdata/DAMENG/SYSTEM.DBF
将新实例的日志文件发送过来重命名:
cp DAMENG0202.log ../DAMENG
mv DAMENG0202.log DAMENG02.log
通过dmmdf工具修改日志文件的db_magic和pemnt_magic:
./dmmdf type=2 file=/home/dmdata/DAMENG/DAMENG02.log
修改6和12:
输入y确认。
启动服务:
此时已能正常启动。
但是redo这样的修复方式是存在风险的,因为损坏的redo日志中可能存在未写入的数据,这样替换日志文件可能会丢失数据,只能应急,最好的修复方式还是要通过备份还原来进行。
更多资讯请上达梦技术社区了解: https://eco.dameng.com