注册
主备集群备库损坏问题解决
培训园地/ 文章详情 /

主备集群备库损坏问题解决

夏季 2025/06/13 155 1 0

问题现象:主备集群运行过程中,发现备库与主库数据不一致,备库无法同步主库数据,通过监视器日志发现备库损坏
解决方法:
1.在主库服务器上停止守护进程,再停止停止主库实例服务,进入实例安装的bin目录,例如:进入/opt/dmdbms/bin 目录,运行 ./dmrman
2.对主库进行全量备份,执行命令:

backup database '/opt/dmdbms/data/DAMENG/dm.ini' full backupset '/opt/dmdbms/data/backup/fullbak';

3.进入备份目录将备份文件传到备库

scp -r /opt/dmdbms/data/backup/fullbak/* dmdb02:/opt/dmdbms/data/backup/fulllbak/

4.进入备库停止守护进程,再停止数据库服务实例,再进入/opt/dmdbms/bin 目录,运行./dmrman,进行数据库还原

restore database '/opt/dmdbms/data/DAMENG/dm.ini' from backupset '/opt/dmdbms/data/backup/fullbak';
recover database '/opt/dmdbms/data/DAMENG/dm.ini' from backupset '/opt/dmdbms/data/backup/fullbak';
recover database '/opt/dmdbms/data/DAMENG/dm.ini' update db_magic;

5.检查数据一致性,dmdb01 & dmdb02

cd /opt/dmdbms/bin
./dmserver /opt/dmdbms/data/DAMENG/dm.ini mount
./disql SYSDBA/SYSDBA
select file_LSN, cur_LSN from v$rlog;
quit;

6.以 mount 方式启动数据库实例,并设置主库和备库
dmdb01

cd /opt/dmdbms/bin
./dmserver /opt/dmdbms/data/DAMENG/dm.ini mount
./disql SYSDBA/SYSDBA
sp_set_oguid(453331);
alter database primary;

dmdb02

cd /opt/dmdbms/bin
./dmserver /opt/dmdbms/data/DAMENG/dm.ini mount
./disql SYSDBA/SYSDBA
sp_set_oguid(453331);
alter database standby;

启动守护进程

dmdb01 & dmdb02
cd /opt/dmdbms/bin
./dmwatcher /opt/dmdbms/data/DAMENG/dmwatcher.ini

7.验证主备集群同步
dmdb01

cd /home/dmdba/dm/dmdbms/bin
./disql SYSDBA/SYSDBA
create table test_01 (a int, b int);
insert into test_01 values (1,1);
insert into test_01 values (2,2);
commit;
select * from test_01;

dmdb02

cd /home/dmdba/dm/dmdbms/bin
./disql SYSDBA/SYSDBA
select * from test_01;

8.备库能够同步主库数据,则主备库服务修复完毕

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服