问题现象:主备集群运行过程中,发现备库与主库数据不一致,备库无法同步主库数据,通过监视器日志发现备库损坏
解决方法:
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.备库能够同步主库数据,则主备库服务修复完毕
文章
阅读量
获赞