注册
数据库关闭情况下,误删roll回滚文件恢复
技术分享/ 文章详情 /

数据库关闭情况下,误删roll回滚文件恢复

小家伙 2022/07/12 1453 1 0
                          达梦数据库roll回滚段文件关库情况下损坏故障处理

1.检查数据库是否开启跟踪日志
SQL> select para_name,para_value,para_type from v$dm_ini where para_name =‘SVR_LOG’;

行号 PARA_NAME PARA_VALUE PARA_TYPE


1 SVR_LOG 0 SYS

2.开启数据库跟踪日志
SP_SET_PARA_VALUE(1, ‘SVR_LOG’, 1);

3.关闭数据库服务
[dmdba@DMP bin]$ ./DmServicedmdb stop
Stopping DmServicedmdb: [ OK ]

4.move roll文件,模仿roll文件损坏
[dmdba@DMP dmdb]$ mv ROLL.DBF ROLL.DBF.bak

5.启动数据库服务
[dmdba@DMP bin]$ ./DmServicedmdb start
Starting DmServicedmdb: [ FAILED ]
file dm.key not found, use default license!
version info: develop
DM Database Server x64 V8 1-2-70-21.09.08-147080-10028-ENT startup…
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
Database mode = 0, oguid = 453331
/dm8/data/dmdb/ROLL.DBF not exist, can not startup

6.初始化一个新的数据库,参数与前面数据库一致
[dmdba@DMP dmdb]$ cd /dm8/data/dmdb
[dmdba@DMP dmdb]$ cat dminit20220620141728.log
start init database: V8, 2022-06-20 14:17:28
init params:
db path: /dm8/data/dmdb
db name: dmdb
auto overwrite: 0
page size: 32768
extent size: 32
time zone: +08:00
string case sensitive: 1
charset: 0
length in char: 1

7.开启初始化新库
[dmdba@DMP bin]$ ./dminit PATH=/dm8/data PAGE_SIZE=32 EXTENT_SIZE=32 CASE_SENSITIVE=Y LENGTH_IN_CHAR=Y CHARSET=0 SYSDBA_PWD=dmorcl123456 DB_NAME=DM INSTANCE_NAME=DM LOG_SIZE=2048 PORT_NUM=5236

8.对新库做一次启停操作
[dmdba@DMP bin]$ ./dmserver path=/dm8/data/DM/dm.ini

9.拷贝新库的roll文件到旧数据库
[dmdba@DMP DM]$ cp ROLL.DBF /dm8/data/dmdb/

10.测试旧数据库是否能正常启动
[dmdba@DMP bin]$ ./DmServicedmdb start
Starting DmServicedmdb: [ OK ]

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服