关于修改数据库服务器时间导致达梦数据库集群裂开

故障原因:

因为每天数据库服务器时间都不一致,想要给数据库服务器配置个NTP服务器。结果导致达梦数据库裂库。后面查看了达梦系统管理员手册了解了达梦集群的机制,知道数据库服务器时间需要先关闭数据库服务之后才可以修改数据库服务器时间。

现在只能恢复数据库集群了。

数据库模式是读写分离:1主库,N备库

监听器IP是:192.168.1.199

主库IP是:192.168.1.206

备库1IP是:192.168.1.207

备库2IP是:192.168.1.208

达梦数据库是安装在/opt/dmdmbms/下面

恢复的思路是先停止集群、关闭监听器服务、关闭数据库守护进程、关闭各个数据库服务.

关闭数据库守护的流程是先关闭备库,再关闭主库。

启动数据库守护的流程是先启动主库,再启动备库。

关闭数据库服务的流程是:先关闭主数据库实例,再关闭备数据库实例。

启动数据库服务器的流程:先启动主数据库服务,再启动备库服务。

然后将主库数据备份然后通过RMAN恢复。

在199监听器服务器上面操作

/opt/dmdbms/bin/dmmonitor /opt/dmdbms/dmmoitorm.ini

show

#日常操作查看集群状态 或则show global info或则tip

#主要是查看各个服务器之间的FLSN之间的值,不能差距太大

login #登陆

stop group grp1 #停止集群

关闭监听器服务

/opt/dmdbms/bin/DmMonitorServiceGRP1 stop

关闭操作

关闭数据库守护进程

通过ssh 用户名@IP地址,登陆到各台服务器上面操作

备库1IP是:192.168.1.207

/opt/dmdbms/bin/DmWathcerServiceDM stop

备库2IP是:192.168.1.208

/opt/dmdbms/bin/DmWathcerServiceDM stop

主库IP是:192.168.1.206

/opt/dmdbms/bin/DmWathcerServiceDM stop

关闭数据库服务

主库IP是:192.168.1.206

/opt/dmdbms/bin/DmServiceDM stop

备库1IP是:192.168.1.207

/opt/dmdbms/bin/DmServiceDM stop

备库2IP是:192.168.1.208

/opt/dmdbms/bin/DmServiceDM stop

备份数据库

主库数据库备份

在主库上查看INST_OGUID

cat /dm8/dm8_data/DAMENG/dmwatcher.ini

比如是595558

dmrman 备份

/opt/dmdbms/bin/dmrman

backup data '/dm8/dm8_data/DAMENG/dm.ini' BACKUPSET '/dm8/dm8backup1' FULL backupset '/dm8/dm8backup1';

文件复制

scp -r /dm8/dm8backup1 root@192.168.1.207:/dm8

scp -r /dm8/dm8backup1 root@192.168.1.208:/dm8

备库数据库配置文件备份

在备库上配置文件备份

备库1IP是:192.168.1.207

备库2IP是:192.168.1.208

mkdir -p /dm8/conBackup

cd /dm8/dm8_data/DAMENG

cp dm.ini dmwatcher.ini dmarch.ini dmmal.ini /dm8/dm8/conBackup

更改旧的数据库文件夹名字

mv /dm8/dm8_data/DAMENG /dm8/dm8_data/old_dameng

创建新的数据库文件夹

mkdir -p /dm8/dm8_data/DAMENG

chmod 777 -R /dm8/dm8_data/DAMENG

chown dmdba:dinstall -R /dm8/dm8_data/DAMENG

#备库服务器 还原

数据库还原

备库1IP是:192.168.1.207

备库2IP是:192.168.1.208

/opt/dmdbms/bin/dmrman use_ap=2

restore database to '/dm8/dm8_data/DAMENG' from backupset '/dm8/d8backup1';

recover database '/dm8/dm8_data/DAMENG/dm.ii' from backupset '/data/dm8backup1';

recover database '/dm8/dm8_data/DAMENG/dm.ini' update db_magic;

配置文件还原

备库1IP是:192.168.1.207

备库2IP是:192.168.1.208

cp /dm8/conBackup/. /dm8/dm8_data/DAMENG

chmod 777 -R /dm8/dm8_data/DAMENG

chown dmdba:dinstall -R /dm8/dm8_data/DAEMENG

数据库启动

数据库服务启动

主库IP是:192.168.1.206

备库1IP是:192.168.1.207

备库2IP是:192.168.1.208

先启动主库服务,在启动备库服务

/opt/dmdbms/bin/DmServiceDM start

/opt/dmdbms/bin/DmServiceDM start

/opt/dmdbms/bin/DmServiceDM start

修改备库模式

如果备库oguid已经是和主库一样,这步骤可以省略

/opt/dmdbms/bin/disql SYSDBA/DFD23aFDS234@192.168.1.207/208

SP_SET_PARA_VALUE(1,'ALTER_MODE_STATUS',1);

sp_set_oguid(453331);#这里的值和dmwatcher.ini里面的INST_OGUID参数保持一致

alter database standby;

sp_set_para_value(1,'ALTER_MODE_STATUS',0);

exit

数据库守护进程启动

启动主库守护进程,后启动备库守护进程

主库IP是:192.168.1.206

备库1IP是:192.168.1.207

备库2IP是:192.168.1.208

/opt/dmdbms/DmWathcerServiceDM start

/opt/dmdbms/DmWathcerServiceDM start

/opt/dmdbms/DmWathcerServiceD start

## 启动数据库监听器

最后一步

ssh root@192.168.1.199

/opt/dmdbin/bin

/opt/dmdbin/bin/DmMonitorServiceGRP1 start

#查看数据库状态

dmmonitor dmmmonitorm.ini

show

相关推荐
好奇的菜鸟1 小时前
如何在IntelliJ IDEA中设置数据库连接全局共享
java·数据库·intellij-idea
tan180°1 小时前
MySQL表的操作(3)
linux·数据库·c++·vscode·后端·mysql
Hello.Reader3 小时前
Redis 延迟排查与优化全攻略
数据库·redis·缓存
简佐义的博客3 小时前
破解非模式物种GO/KEGG注释难题
开发语言·数据库·后端·oracle·golang
爬山算法3 小时前
MySQL(116)如何监控负载均衡状态?
数据库·mysql·负载均衡
老纪的技术唠嗑局6 小时前
OceanBase PoC 经验总结(二)—— AP 业务
数据库
阿里云大数据AI技术7 小时前
OpenSearch 视频 RAG 实践
数据库·人工智能·llm
m0_623955669 小时前
Oracle使用SQL一次性向表中插入多行数据
数据库·sql·oracle
阿蒙Amon9 小时前
C#读写文件:多种方式详解
开发语言·数据库·c#
东窗西篱梦10 小时前
Redis集群部署指南:高可用与分布式实践
数据库·redis·分布式