达梦数据库的logfile文件不支持删除。当redo log被意外删除,且如果没有备份时,数据库已经无法正常处理事务。
此时可以重新初始化一个数据库,初始化参数要和原库一样,比如页大小、大小写敏感、字符集等,并通过修改db_magic的方式来恢复,但是这种情况下有可能丢失数据。
1)重新初始化一个库,相关参数可以在达梦数据目录下的dminit+日期时间.log的一个文件中查询。
[dmdba@rac01 bin]$ ./dminit PATH=/dm/5237/TESTDB CASE_SENSITIVE=1 PAGE_SIZE=32 EXTENT_SIZE=32 CHARSET=1 PORT_NUM=5237 DB_NAME=TESTDB
2)将重新初始化的TESTDB01.log、TESTDB02.log拷贝到当前丢失redo日志的库目录下。
3)使用dmmdf工具获取SYSTEM.DBF的db_magic,并记录下来
例程: ./dmmdf TYPE=1 FILE=/opt/data/DAMENG/SYSTEM.DBF
关键字 说明
--------------------------------------------------------------------------------
TYPE 类型
1表示dbf
2表示rlog
3表示original bak
4表示bakset meta
5表示bakset bkp
6表示ba