DM集群系列—DW集群手动切换
文章目录
一、守护集群搭建
1.1、集群环境规划
服务器配置信息
1.2、配置文件说明
1.2.1 dm.ini
1.3、主备手动切换
1.3.1、主库配置(192.168.10.100)
1.3.1.1、初始化实例、备份数据库
--初始化实例
[dmdba@dmp ~]$ dminit PATH=/dm8/data PAGE_SIZE=32 EXTENT_SIZE=32 INSTANCE_NAME=DW1_01 LOG_SIZE=2048
--启动服务
[dmdba@dmp ~]$ dmserver /dm8/data/DAMENG/dm.ini
--开启归档
[dmdba@dmp ~]$ /opt/dmdbms/bin/disql SYSDBA/SYSDBA@172.16.1.1:5236
SQL> ALTER DATABASE MOUNT;
SQL> ALTER DATABASE ARCHIVELOG;
SQL> ALTER DATABASE ADD ARCHIVELOG 'DEST=/dm8/arch, TYPE=LOCAL, FILE_SIZE=1024, SPACE_LIMIT=51200';
SQL> ALTER DATABASE OPEN;
--备份数据
SQL> BACKUP DATABASE BACKUPSET '/dm8/data/DAMENG/bak/BACKUP_FILE';
--修改dm.ini
SQL> SP_SET_PARA_VALUE (2,'PORT_NUM',5236);
SQL> SP_SET_PARA_VALUE (2,'DW_INACTIVE_INTERVAL',60);
SQL> SP_SET_PARA_VALUE (2,'ALTER_MODE_STATUS',0);
SQL> SP_SET_PARA_VALUE (2,'ENABLE_OFFLINE_TS',2);
SQL> SP_SET_PARA_VALUE (2,'MAL_INI',1);
SQL> SP_SET_PARA_VALUE (2,'RLOG_SEND_APPLY_MON',64);
1.3.1.2、编辑dmarch.ini
[dmdba@dmp DAMENG]$ vi dmarch.ini
ARCH_WAIT_APPLY = 0
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL #本地归档类型
ARCH_DEST = /dm8/arch #本地归档存放路径
ARCH_FILE_SIZE = 1024 #单个归档大小,单位MB
ARCH_SPACE_LIMIT = 51200 #归档上限,单位MB
ARCH_FLUSH_BUF_SIZE = 0
ARCH_HANG_FLAG = 1
[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME #实时归档类型
ARCH_DEST = DW1_02 #实时归档目标实例名
1.3.1.3、创建dmmal.ini
[dmdba@dmp DAMENG]$ vi dmmal.ini
MAL_CHECK_INTERVAL = 10 #MAL链路检测时间间隔
MAL_CONN_FAIL_INTERVAL = 10 #判定MAL链路断开的时间
MAL_TEMP_PATH = /dm8/data/malpath/ #临时文件目录
MAL_BUF_SIZE = 512 #单个MAL缓存大小,单位MB
MAL_SYS_BUF_SIZE = 2048 #MAL总大小限制,单位MB
MAL_COMPRESS_LEVEL = 0 #MAL消息压缩等级,0表示不压缩
[MAL_INST1]
MAL_INST_NAME = DW1_01 #实例名,和 dm.ini的INSTANCE_NAME一致
MAL_HOST = 192.168.10.100 #MAL系统监听TCP连接的IP地址
MAL_PORT = 5336 #MAL系统监听TCP连接的端口
MAL_INST_HOST = 192.168.2.100 #实例的对外服务IP地址
MAL_INST_PORT = 5236 #实例对外服务端口,和dm.ini的PORT_NUM一致
MAL_DW_PORT = 5436 #实例对应的守护进程监听TCP连接的端口
MAL_INST_DW_PORT = 5536 #实例监听守护进程TCP连接的端口
[MAL_INST2]
MAL_INST_NAME = DW1_02
MAL_HOST = 192.168.10.101
MAL_PORT = 5336
MAL_INST_HOST = 192.168.2.101
MAL_INST_PORT = 5236
MAL_DW_PORT = 5436
MAL_INST_DW_PORT = 5536
1.3.1.4、创建dmwatcher.ini
[dmdba@dmp DAMENG]$ vi dmwatcher.ini
[GDW1]
DW_TYPE = GLOBAL #全局守护类型
DW_MODE = MANUAL #故障手动切换模式(AUTO自动)
DW_ERROR_TIME = 20 #远程守护进程故障认定时间
INST_ERROR_TIME = 20 #本地实例故障认定时间
INST_RECOVER_TIME = 60 #主库守护进程启动恢复的间隔时间
INST_OGUID = 45331 #守护系统唯一OGUID值
INST_INI = /dm8/data/DAMENG/dm.ini #dm.ini文件路径
INST_AUTO_RESTART = 1 #打开实例的自动启动功能
INST_STARTUP_CMD = /dm8/bin/dmserver #命令行方式启动
RLOG_SEND_THRESHOLD = 0 #指定主库发送日志到备库的时间阈值,默认关闭
RLOG_APPLY_THRESHOLD = 0 #指定备库重演日志的时间阈值,默认关闭6
1.3.1.5、拷贝实例目录到备库
[dmdba@dmp ~]$ scp -r /dm8/data/DAMENG/ 192.168.10.101:///dm8/data/DAMENG/
1.3.1.6、注册服务
[root@dmp root]# ./dm_service_installer.sh -t dmserver -p DW1_01 -dm_ini /dm8/data/DAMENG/dm.ini -m mount
Created symlink from /etc/systemd/system/multi-user.target.wants/DmServiceDW1_01.service to /usr/lib/systemd/system/DmServiceDW1_01.service.
创建服务(DmServiceDW1_01)完成
[root@dmp root]#
[root@dmp root]# ./dm_service_installer.sh -t dmwatcher -p Watcher -watcher_ini /dm8/data/DAMENG/dmwatcher.ini
Created symlink from /etc/systemd/system/multi-user.target.wants/DmWatcherServiceWatcher.service to /usr/lib/systemd/system/DmWatcherServiceWatcher.service.
创建服务(DmWatcherServiceWatcher)完成
备注:删除自启
[root@dmp root]# ./dm_service_uninstaller.sh -n DmServiceDW1_01
[root@dmp root]# ./dm_service_uninstaller.sh -n DmWatcherServiceWatcher
1.3.2、备库配置(192.168.10.101)
1.3.2.1、编辑dm.ini替换实例名
[dmdba@dmp DAMENG]$ vi dm.ini
#instance name
INSTANCE_NAME = DW1_02
1.3.2.2、编辑dmarch.ini
[dmdba@dmp DAMENG]$ vi dmarch.ini
ARCH_WAIT_APPLY = 0
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL #本地归档类型
ARCH_DEST = /dm8/arch #本地归档存放路径
ARCH_FILE_SIZE = 1024 #单个归档大小,单位MB
ARCH_SPACE_LIMIT = 51200 #归档上限,单位MB
ARCH_FLUSH_BUF_SIZE = 0
ARCH_HANG_FLAG = 1
[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME #实时归档类型
ARCH_DEST = DW1_01 #实时归档目标实例名
1.3.2.3、相同配置项
dmmal.ini和dmwatcher.ini配置相同,无需修改
1.3.2.4、注册服务
[root@dmp root]# ./dm_service_installer.sh -t dmserver -p DW1_02 -dm_ini /dm8/data/DAMENG/dm.ini -m mount
Created symlink from /etc/systemd/system/multi-user.target.wants/DmServiceDW1_01.service to /usr/lib/systemd/system/DmServiceDW1_01.service.
创建服务(DmServiceDW1_01)完成
[root@dmp root]#
[root@dmp root]# ./dm_service_installer.sh -t dmwatcher -p Watcher -watcher_ini /dm8/data/DAMENG/dmwatcher.ini
Created symlink from /etc/systemd/system/multi-user.target.wants/DmWatcherServiceWatcher.service to /usr/lib/systemd/system/DmWatcherServiceWatcher.service.
创建服务(DmWatcherServiceWatcher)完成
备注:删除自启
[root@dmp root]# ./dm_service_uninstaller.sh -n DmServiceDW1_02
[root@dmp root]# ./dm_service_uninstaller.sh -n DmWatcherServiceWatcher
1.3.2.5、恢复数据
[dmdba@dms1 ~]$ dmrman CTLSTMT="RESTORE DATABASE '/dm8/data/DAMENG/dm.ini' FROM BACKUPSET '/dm8/data/DAMENG/bak/BACKUP_FILE'"
dmrman V8
RESTORE DATABASE '/dm8/data/DAMENG/dm.ini' FROM BACKUPSET '/dm8/data/DAMENG/bak/BACKUP_FILE'
file dm.key not found, use default license!
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
[Percent:100.00%][Speed:0.00M/s][Cost:00:00:04][Remaining:00:00:00]
restore successfully.
time used: 00:00:04.597
[dmdba@dms1 ~]$ dmrman CTLSTMT="RECOVER DATABASE '/dm8/data/DAMENG/dm.ini' FROM BACKUPSET '/dm8/data/DAMENG/bak/BACKUP_FILE'"
dmrman V8
RECOVER DATABASE '/dm8/data/DAMENG/dm.ini' FROM BACKUPSET '/dm8/data/DAMENG/bak/BACKUP_FILE'
file dm.key not found, use default license!
Database mode = 0, oguid = 0
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
EP[0]'s cur_lsn[38075], file_lsn[38075]
[Percent:100.00%][Speed:0.00PKG/s][Cost:00:00:00][Remaining:00:00:00]
recover successfully!
time used: 00:00:02.471
[dmdba@dms1 ~]$ dmrman CTLSTMT="RECOVER DATABASE '/dm8/data/DAMENG/dm.ini' UPDATE DB_MAGIC"
dmrman V8
RECOVER DATABASE '/dm8/data/DAMENG/dm.ini' UPDATE DB_MAGIC
file dm.key not found, use default license!
Database mode = 0, oguid = 0
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
EP[0]'s cur_lsn[38093], file_lsn[38093]
recover successfully!
time used: 00:00:01.089
1.3.3、监听器配置(192.168.10.102)
1、在各节点数据库的bin目录中 存放非确认监视器配置文件。
2、在确认监视器机器上(非集群节点)注册确认监视器自启服务。
1.3.3.1、创建dmmonitor_manual.ini
[dmdba@~]# vi /dm8/bin/dmmonitor_manual.ini
MON_DW_CONFIRM = 0 #0为非确认,1为确认
MON_LOG_PATH = ../log #监视器日志文件存放路径
MON_LOG_INTERVAL = 60 #每隔 60s 定时记录系统信息到日志文件
MON_LOG_FILE_SIZE = 512 #单个日志大小,单位MB
MON_LOG_SPACE_LIMIT = 2048 #日志上限,单位MB
[GDW1]
MON_INST_OGUID = 45331 #组GDW1的唯一OGUID 值
MON_DW_IP = 192.168.10.100:5436 #IP对应MAL_HOST,PORT对应MAL_DW_PORT
MON_DW_IP = 192.168.10.101:5436
1.3.3.2、注册服务
[root@dmm root]# ./dm_service_installer.sh -t dmmonitor -p Monitor -monitor_ini /dm8/bin/dmmonitor_manual.ini
Created symlink from /etc/systemd/system/multi-user.target.wants/DmMonitorServiceMonitor.service to /usr/lib/systemd/system/DmMonitorServiceMonitor.service.
创建服务(DmMonitorServiceMonitor)完成
备注:删除自启
[root@dmm root]# ./dm_service_uninstaller.sh -n DmMonitorServiceMonitor
1.3.3.3、监视器常用命令
1.3.4、启动服务
1.3.4.1、启动数据库并修改参数
192.168.10.100
[dmdba@dmp ~]$ DmServiceDW1_01 start
Starting DmServiceDW1_01: [ OK ]
[dmdba@dmp ~]$ disql SYSDBA/SYSDBA
服务器[LOCALHOST:5236]:处于普通配置状态
登录使用时间 : 4.249(ms)
disql V8
SQL> SP_SET_OGUID(45331);
DMSQL 过程已成功完成
已用时间: 8.496(毫秒). 执行号:0.
SQL> ALTER DATABASE PRIMARY;
操作已执行
已用时间: 5.128(毫秒). 执行号:0.
SQL> exit;
192.168.10.101
[dmdba@dms1 ~]$ DmServiceDW1_02 start
Starting DmServiceDW1_02: [ OK ]
[dmdba@dms1 ~]$ disql SYSDBA/SYSDBA
服务器[LOCALHOST:5236]:处于普通配置状态
登录使用时间 : 3.607(ms)
disql V8
SQL> SP_SET_OGUID(45331);
DMSQL 过程已成功完成
已用时间: 7.270(毫秒). 执行号:0.
SQL> ALTER DATABASE STANDBY;
操作已执行
已用时间: 22.055(毫秒). 执行号:0.
SQL> exit;
1.3.4.2、启动守护进程
100/101机器:
[dmdba@dmp ~]$ DmWatcherServiceWatcher start
Starting DmWatcherServiceWatcher: [ OK ]
[dmdba@dms1 ~]$ DmWatcherServiceWatcher start
Starting DmWatcherServiceWatcher: [ OK ]
1.3.4.3、启动监视器
[dmdba@dmm ~]$ DmMonitorServiceMonitor start
Starting DmMonitorServiceMonitor: [ OK ]
[dmdba@dmm ~]$ cd /dm8/bin
[dmdba@dmm bin]$ ./dmmonitor dmmonitor_manual.ini
[monitor] 2022-05-26 11:30:02: DMMONITOR[4.0] V8
[monitor] 2022-05-26 11:30:02: DMMONITOR[4.0] IS READY.
[monitor] 2022-05-26 11:30:03: 收到守护进程(DW1_02)消息
WTIME WSTATUS INST_OK INAME ISTATUS IMODE RSTAT N_OPEN FLSN CLSN
2022-05-26 11:30:03 OPEN OK DW1_02 OPEN STANDBY NULL 3 40790 40790
[monitor] 2022-05-26 11:30:03: 收到守护进程(DW1_01)消息
WTIME WSTATUS INST_OK INAME ISTATUS IMODE RSTAT N_OPEN FLSN CLSN
2022-05-26 11:30:03 OPEN OK DW1_01 OPEN PRIMARY VALID 3 40791 40792
1.3.4.3、启动集群顺序
启动:100/101机器数据库→100/101守护进程→102监视器
100机器:[dmdba@dmp ~]$ DmServiceDW1_01 start
101机器:[dmdba@dms1 ~]$ DmServiceDW1_02 start
100机器:[dmdba@dmp ~]$ DmWatcherServiceWatcher start
101机器:[dmdba@dms1 ~]$ DmWatcherServiceWatcher start
102机器:[dmdba@dmm bin]$ DmMonitorServiceMonitor start
停止:102监听器→101/100机器守护进程→100机器DW1_01主库→101机器DW1_02备库
102机器:[dmdba@dmm bin]$ DmMonitorServiceMonitor stop
101机器:[dmdba@dms1 ~]$ DmWatcherServiceWatcher stop
100机器:[dmdba@dmp ~]$ DmWatcherServiceWatcher stop
100机器:[dmdba@dmp ~]$ DmServiceDW1_01 stop
101机器:[dmdba@dms1 ~]$ DmServiceDW1_02 stop
1.3.5、手动执行切换主备库
[dmdba@dmm bin]$ ./dmmonitor dmmonitor_manual.ini
[monitor] 2022-05-26 13:11:26: DMMONITOR[4.0] V8
[monitor] 2022-05-26 13:11:26: DMMONITOR[4.0] IS READY.
[monitor] 2022-05-26 13:11:27: 收到守护进程(DW1_02)消息
WTIME WSTATUS INST_OK INAME ISTATUS IMODE RSTAT N_OPEN FLSN CLSN
2022-05-26 13:11:26 OPEN OK DW1_02 OPEN STANDBY NULL 4 45520 45520
[monitor] 2022-05-26 13:11:27: 收到守护进程(DW1_01)消息
WTIME WSTATUS INST_OK INAME ISTATUS IMODE RSTAT N_OPEN FLSN CLSN
2022-05-26 13:11:26 OPEN OK DW1_01 OPEN PRIMARY VALID 4 45520 45521
输入命令非法,请输入help命令查看帮助信息!
help
达梦守护监视器当前支持以下命令:
用法说明:
命令中的[group_name]和[db_name],在组名或库名不唯一的情况下,需要指定名称,组名和库名之间用'.'分隔.
对于show monitor命令,如果db_name未指定,则按照监视器ini的配置顺序,使用组中第一个活动的守护进程获取连接信息,
#=============================================================================================#
#-----------------------------------系统全局命令----------------------------------------------#
1.help --显示帮助信息
2.exit --退出监视器
3.show version --显示监视器自身版本信息
4.show global info --显示所有组的全局信息
5.show database [group_name.]db_name --显示指定库的详细信息
6.show [group_name] --显示指定组的详细信息,如果未指定组名,则显示所有组的详细信息
7.show i[nterval] n --每隔n秒自动显示所有组的详细信息
8.q --取消自动显示
9.list [[group_name.]db_name] --列出指定组的库对应的守护进程配置信息,如果都未指定,则列出所有守护进程配置信息
10.show open info [group_name.]db_name --显示指定库的OPEN历史信息
11.show arch send info [group_name.]db_name --查看源库到指定组的指定库的归档同步信息(包含恢复间隔信息)
12.show apply stat [group_name.]db_name --查看指定组的指定库的日志重演信息
13.show monitor [group_name[.]] [db_name] --列出连接到指定守护进程的所有监视器信息
14.show state --显示当前监视器所在监视器配置组的所有监视器的状态信息
15.tip --查看系统当前运行状态
16.login --登录监视器
17.logout --退出登录
18.get takeover time --获取备库开始自动接管需要延迟等待的时间
---输入q/Q退出或者回车键继续---
#---------------------------------------------------------------------------------------------#
#-----------------------------------以组为单位执行的命令--------------------------------------#
19.startup dmwatcher [group_name] --启动指定组的守护进程监控功能
20.stop dmwatcher [group_name] --关闭指定组的守护进程监控功能
21.startup group [group_name] --启动指定组中的所有库
22.stop group [group_name] --关闭指定组中的所有库
23.kill group [group_name] --强制杀掉指定组中的所有活动库
24.choose switchover [group_name] --选择可切换为PRIMARY库的备库列表
25.choose takeover [group_name] --选择可接管故障PRIMARY库的备库列表
26.choose takeover force [group_name] --选择可强制接管故障PRIMARY库的备库列表
27.set group [group_name] auto restart on --打开指定组中所有节点的自动拉起功能
28.set group [group_name] auto restart off --关闭指定组中所有节点的自动拉起功能
29.set group [group_name] para_name para_value --修改指定组的所有守护进程的指定配置参数(同时修改ini文件和内存值),如果未指定组名,则通知所有组执行
--para_name指定参数名称,para_value指定参数值
--支持修改参数: DW_ERROR_TIME/INST_RECOVER_TIME/INST_ERROR_TIME/INST_AUTO_RESTART/
INST_SERVICE_IP_CHECK/RLOG_SEND_THRESHOLD/RLOG_APPLY_THRESHOLD
30.set group [group_name] recover time time_value --修改指定组中所有备库的恢复间隔为time_value指定的整数值(time_value取值:3~86400,单位为秒)(只修改守护进程内存值)
--如果未指定组名,则通知所有组执行
31.set group [group_name] arch invalid --修改指定组中所有备库的归档为无效状态,如果未指定组名,则通知所有组执行
32.clear group [group_name] arch send info --清理指定组中源库到所有备库(包括异步备库)的最近N次归档发送信息(通知源库执行),没有指定组名则通知所有组执行
--N值取主库dm.ini中配置的RLOG_SEND_APPLY_MON值和实际归档发送次数中的较小值
33.clear group [group_name] apply stat --清理指定组中所有备库的最近N次重演信息(通知组中所有备库执行),没有指定组名则通知所有组执行
--N值取备库dm.ini中配置的RLOG_SEND_APPLY_MON值和实际重演次数中的较小值
---输入q/Q退出或者回车键继续---
#---------------------------------------------------------------------------------------------#
#-----------------------------------以库为单位执行的命令------------------------------------#
34.check recover [group_name.]db_name --检查指定组的指定库是否满足自动恢复条件
35.check open [group_name.]db_name --检查指定组的指定库是否满足自动OPEN条件
36.open database [group_name.]db_name --强制OPEN指定组的指定库
37.switchover [group_name[.]] [db_name] --切换指定组的指定库为PRIMARY库
38.takeover [group_name[.]] [db_name] --使用指定组的指定库接管故障PRIMARY库
39.takeover force [group_name[.]] [db_name] --使用指定组的指定库强制接管故障PRIMARY库
40.set database [group_name.]db_name recover time time_value --修改指定组的指定库的恢复间隔为time_value指定的整数值(time_value取值:3~86400,单位为秒)(只修改守护进程内存值)
41.set database [group_name.]db_name arch invalid --修改指定组的指定库的归档为无效状态
42.detach database [group_name.]db_name --将指定的备库分离出守护进程组
43.attach database [group_name.]db_name --将分离出去的备库重新加回到守护进程组
44.startup dmwatcher database [group_name.]db_name --启动指定库的守护进程监控功能
45.stop dmwatcher database [group_name.]db_name --关闭指定库的守护进程监控功能
46.startup database [group_name.]db_name --启动指定组的指定库
47.stop database [group_name.]db_name --关闭指定组的指定库
48.kill database [group_name.]db_name --强杀指定组的指定库
49.clear database [group_name.]db_name arch send info --清理指定组中主库到指定备库的最近N次归档发送信息(通知主库执行)
--N值取主库dm.ini中配置的RLOG_SEND_APPLY_MON值和实际归档发送次数中的较小值
50.clear database [group_name.]db_name apply stat --清理指定备库的最近N次重演信息(通知备库执行)
--N值取备库dm.ini中配置的RLOG_SEND_APPLY_MON值和实际重演次数中的较小值
51.set database [group_name.]db_name until time time_val --设置指定组的指定异步备库重演到的时间点为time_value指定的时间点
52.cancel database [group_name.]db_name until time --取消设置指定组的指定异步备库重演到的时间点
---输入q/Q退出或者回车键继续---
#---------------------------------------------------------------------------------------------#
#-----------------------------------只允许在MPP主备环境下使用的命令---------------------------#
53.show mpp --显示MPP节点信息
54.startup dmwatcher all --启动所有组的守护进程监控功能
55.stop dmwatcher all --关闭所有组的守护进程监控功能
56.startup group all --启动所有组的库
57.stop group all --关闭所有组的库
58.kill group all --强制杀掉所有组中的活动库
59.check mppctl --检查MPP控制文件是否处于一致状态
60.recover mppctl --恢复MPP控制文件到一致状态
#=============================================================================================#
1.3.5.1 切换备库为主库
1、选择可切换为PRIMARY库的备库列表
choose switchover
Can choose one of the following instances to do switchover:
1: DW1_02
2、登录监视器
login
用户名:SYSDBA
密码:
[monitor] 2022-05-26 13:17:04: 登录监视器成功!
3、执行switchover命令
switchover GDW1.DW1_02
[monitor] 2022-05-26 13:18:08: 开始切换实例DW1_02
[monitor] 2022-05-26 13:18:08: 通知守护进程DW1_01切换SWITCHOVER状态
[monitor] 2022-05-26 13:18:08: 守护进程(DW1_01)状态切换 [OPEN-->SWITCHOVER]
[monitor] 2022-05-26 13:18:09: 切换守护进程DW1_01为SWITCHOVER状态成功
[monitor] 2022-05-26 13:18:09: 通知守护进程DW1_02切换SWITCHOVER状态
[monitor] 2022-05-26 13:18:09: 守护进程(DW1_02)状态切换 [OPEN-->SWITCHOVER]
[monitor] 2022-05-26 13:18:10: 切换守护进程DW1_02为SWITCHOVER状态成功
[monitor] 2022-05-26 13:18:10: 实例DW1_01开始执行SP_SET_GLOBAL_DW_STATUS(0, 6)语句
[monitor] 2022-05-26 13:18:11: 实例DW1_01执行SP_SET_GLOBAL_DW_STATUS(0, 6)语句成功
[monitor] 2022-05-26 13:18:11: 实例DW1_02开始执行SP_SET_GLOBAL_DW_STATUS(0, 6)语句
[monitor] 2022-05-26 13:18:11: 实例DW1_02执行SP_SET_GLOBAL_DW_STATUS(0, 6)语句成功
[monitor] 2022-05-26 13:18:11: 实例DW1_01开始执行ALTER DATABASE MOUNT语句
[monitor] 2022-05-26 13:18:12: 实例DW1_01执行ALTER DATABASE MOUNT语句成功
[monitor] 2022-05-26 13:18:12: 实例DW1_02开始执行SP_APPLY_KEEP_PKG()语句
[monitor] 2022-05-26 13:18:12: 实例DW1_02执行SP_APPLY_KEEP_PKG()语句成功
[monitor] 2022-05-26 13:18:12: 实例DW1_02开始执行ALTER DATABASE MOUNT语句
[monitor] 2022-05-26 13:18:12: 实例DW1_02执行ALTER DATABASE MOUNT语句成功
[monitor] 2022-05-26 13:18:12: 实例DW1_01开始执行ALTER DATABASE STANDBY语句
[monitor] 2022-05-26 13:18:13: 实例DW1_01执行ALTER DATABASE STANDBY语句成功
[monitor] 2022-05-26 13:18:13: 实例DW1_02开始执行ALTER DATABASE PRIMARY语句
[monitor] 2022-05-26 13:18:13: 实例DW1_02执行ALTER DATABASE PRIMARY语句成功
[monitor] 2022-05-26 13:18:13: 通知实例DW1_02修改所有归档状态无效
[monitor] 2022-05-26 13:18:13: 修改所有实例归档为无效状态成功
[monitor] 2022-05-26 13:18:13: 实例DW1_01开始执行ALTER DATABASE OPEN FORCE语句
[monitor] 2022-05-26 13:18:13: 实例DW1_01执行ALTER DATABASE OPEN FORCE语句成功
[monitor] 2022-05-26 13:18:13: 实例DW1_02开始执行ALTER DATABASE OPEN FORCE语句
[monitor] 2022-05-26 13:18:13: 实例DW1_02执行ALTER DATABASE OPEN FORCE语句成功
[monitor] 2022-05-26 13:18:13: 实例DW1_01开始执行SP_SET_GLOBAL_DW_STATUS(6, 0)语句
[monitor] 2022-05-26 13:18:14: 实例DW1_01执行SP_SET_GLOBAL_DW_STATUS(6, 0)语句成功
[monitor] 2022-05-26 13:18:14: 实例DW1_02开始执行SP_SET_GLOBAL_DW_STATUS(6, 0)语句
[monitor] 2022-05-26 13:18:14: 实例DW1_02执行SP_SET_GLOBAL_DW_STATUS(6, 0)语句成功
[monitor] 2022-05-26 13:18:14: 通知守护进程DW1_01切换OPEN状态
[monitor] 2022-05-26 13:18:14: 守护进程(DW1_01)状态切换 [SWITCHOVER-->OPEN]
[monitor] 2022-05-26 13:18:15: 切换守护进程DW1_01为OPEN状态成功
[monitor] 2022-05-26 13:18:15: 通知守护进程DW1_02切换OPEN状态
[monitor] 2022-05-26 13:18:16: 守护进程(DW1_02)状态切换 [SWITCHOVER-->OPEN]
[monitor] 2022-05-26 13:18:16: 切换守护进程DW1_02为OPEN状态成功
[monitor] 2022-05-26 13:18:16: 通知组(GDW1)的守护进程执行清理操作
[monitor] 2022-05-26 13:18:17: 清理守护进程(DW1_01)请求成功
[monitor] 2022-05-26 13:18:17: 清理守护进程(DW1_02)请求成功
[monitor] 2022-05-26 13:18:17: 实例DW1_02切换成功
2022-05-26 13:18:17
#================================================================================#
GROUP OGUID MON_CONFIRM MODE MPP_FLAG
GDW1 45331 FALSE AUTO FALSE
<<DATABASE GLOBAL INFO:>>
DW_IP MAL_DW_PORT WTIME WTYPE WCTLSTAT WSTATUS INAME INST_OK N_EP N_OK ISTATUS IMODE DSC_STATUS RTYPE RSTAT
192.168.10.101 5436 2022-05-26 13:18:17 GLOBAL VALID OPEN DW1_02 OK 1 1 OPEN PRIMARY DSC_OPEN REALTIME VALID
EP INFO:
INST_IP INST_PORT INST_OK INAME ISTATUS IMODE DSC_SEQNO DSC_CTL_NODE RTYPE RSTAT FSEQ FLSN CSEQ CLSN DW_STAT_FLAG
192.168.2.101 5236 OK DW1_02 OPEN PRIMARY 0 0 REALTIME VALID 6889 48104 6889 48104 NONE
<<DATABASE GLOBAL INFO:>>
DW_IP MAL_DW_PORT WTIME WTYPE WCTLSTAT WSTATUS INAME INST_OK N_EP N_OK ISTATUS IMODE DSC_STATUS RTYPE RSTAT
192.168.10.100 5436 2022-05-26 13:18:17 GLOBAL VALID OPEN DW1_01 OK 1 1 OPEN STANDBY DSC_OPEN REALTIME INVALID
EP INFO:
INST_IP INST_PORT INST_OK INAME ISTATUS IMODE DSC_SEQNO DSC_CTL_NODE RTYPE RSTAT FSEQ FLSN CSEQ CLSN DW_STAT_FLAG
192.168.2.100 5236 OK DW1_01 OPEN STANDBY 0 0 REALTIME INVALID 6886 45657 6886 45657 NONE
DATABASE(DW1_01) APPLY INFO FROM (DW1_02), REDOS_PARALLEL_NUM (1):
DSC_SEQNO[0], (RSEQ, SSEQ, KSEQ)[6886, 6886, 6886], (RLSN, SLSN, KLSN)[45657, 45657, 45657], N_TSK[0], TSK_MEM_USE[0]
REDO_LSN_ARR: (45657)
1.3.5.2 切回备库为主库
show global info
2022-05-26 13:21:31
#================================================================================#
GROUP OGUID MON_CONFIRM MODE MPP_FLAG
GDW1 45331 FALSE AUTO FALSE
<<DATABASE GLOBAL INFO:>>
DW_IP MAL_DW_PORT WTIME WTYPE WCTLSTAT WSTATUS INAME INST_OK N_EP N_OK ISTATUS IMODE DSC_STATUS RTYPE RSTAT
192.168.10.101 5436 2022-05-26 13:21:30 GLOBAL VALID OPEN DW1_02 OK 1 1 OPEN PRIMARY DSC_OPEN REALTIME VALID
DW_IP MAL_DW_PORT WTIME WTYPE WCTLSTAT WSTATUS INAME INST_OK N_EP N_OK ISTATUS IMODE DSC_STATUS RTYPE RSTAT
192.168.10.100 5436 2022-05-26 13:21:30 GLOBAL VALID OPEN DW1_01 OK 1 1 OPEN STANDBY DSC_OPEN REALTIME VALID
1、选择可切换为PRIMARY库的备库列表
choose switchover
Can choose one of the following instances to do switchover:
1: DW1_01
2、执行switchover命令
switchover GDW1.DW1_01
[monitor] 2022-05-26 13:23:10: 开始切换实例DW1_01
[monitor] 2022-05-26 13:23:10: 通知守护进程DW1_02切换SWITCHOVER状态
[monitor] 2022-05-26 13:23:10: 守护进程(DW1_02)状态切换 [OPEN-->SWITCHOVER]
[monitor] 2022-05-26 13:23:10: 切换守护进程DW1_02为SWITCHOVER状态成功
[monitor] 2022-05-26 13:23:10: 通知守护进程DW1_01切换SWITCHOVER状态
[monitor] 2022-05-26 13:23:10: 守护进程(DW1_01)状态切换 [OPEN-->SWITCHOVER]
[monitor] 2022-05-26 13:23:11: 切换守护进程DW1_01为SWITCHOVER状态成功
[monitor] 2022-05-26 13:23:11: 实例DW1_02开始执行SP_SET_GLOBAL_DW_STATUS(0, 6)语句
[monitor] 2022-05-26 13:23:11: 实例DW1_02执行SP_SET_GLOBAL_DW_STATUS(0, 6)语句成功
[monitor] 2022-05-26 13:23:11: 实例DW1_01开始执行SP_SET_GLOBAL_DW_STATUS(0, 6)语句
[monitor] 2022-05-26 13:23:11: 实例DW1_01执行SP_SET_GLOBAL_DW_STATUS(0, 6)语句成功
[monitor] 2022-05-26 13:23:11: 实例DW1_02开始执行ALTER DATABASE MOUNT语句
[monitor] 2022-05-26 13:23:11: 实例DW1_02执行ALTER DATABASE MOUNT语句成功
[monitor] 2022-05-26 13:23:11: 实例DW1_01开始执行SP_APPLY_KEEP_PKG()语句
[monitor] 2022-05-26 13:23:12: 实例DW1_01执行SP_APPLY_KEEP_PKG()语句成功
[monitor] 2022-05-26 13:23:12: 实例DW1_01开始执行ALTER DATABASE MOUNT语句
[monitor] 2022-05-26 13:23:12: 实例DW1_01执行ALTER DATABASE MOUNT语句成功
[monitor] 2022-05-26 13:23:12: 实例DW1_02开始执行ALTER DATABASE STANDBY语句
[monitor] 2022-05-26 13:23:12: 实例DW1_02执行ALTER DATABASE STANDBY语句成功
[monitor] 2022-05-26 13:23:12: 实例DW1_01开始执行ALTER DATABASE PRIMARY语句
[monitor] 2022-05-26 13:23:14: 实例DW1_01执行ALTER DATABASE PRIMARY语句成功
[monitor] 2022-05-26 13:23:14: 通知实例DW1_01修改所有归档状态无效
[monitor] 2022-05-26 13:23:14: 修改所有实例归档为无效状态成功
[monitor] 2022-05-26 13:23:14: 实例DW1_02开始执行ALTER DATABASE OPEN FORCE语句
[monitor] 2022-05-26 13:23:14: 实例DW1_02执行ALTER DATABASE OPEN FORCE语句成功
[monitor] 2022-05-26 13:23:14: 实例DW1_01开始执行ALTER DATABASE OPEN FORCE语句
[monitor] 2022-05-26 13:23:15: 实例DW1_01执行ALTER DATABASE OPEN FORCE语句成功
[monitor] 2022-05-26 13:23:15: 实例DW1_02开始执行SP_SET_GLOBAL_DW_STATUS(6, 0)语句
[monitor] 2022-05-26 13:23:15: 实例DW1_02执行SP_SET_GLOBAL_DW_STATUS(6, 0)语句成功
[monitor] 2022-05-26 13:23:15: 实例DW1_01开始执行SP_SET_GLOBAL_DW_STATUS(6, 0)语句
[monitor] 2022-05-26 13:23:15: 实例DW1_01执行SP_SET_GLOBAL_DW_STATUS(6, 0)语句成功
[monitor] 2022-05-26 13:23:15: 通知守护进程DW1_02切换OPEN状态
[monitor] 2022-05-26 13:23:15: 守护进程(DW1_02)状态切换 [SWITCHOVER-->OPEN]
[monitor] 2022-05-26 13:23:16: 切换守护进程DW1_02为OPEN状态成功
[monitor] 2022-05-26 13:23:16: 通知守护进程DW1_01切换OPEN状态
[monitor] 2022-05-26 13:23:17: 守护进程(DW1_01)状态切换 [SWITCHOVER-->OPEN]
[monitor] 2022-05-26 13:23:17: 切换守护进程DW1_01为OPEN状态成功
[monitor] 2022-05-26 13:23:17: 通知组(GDW1)的守护进程执行清理操作
[monitor] 2022-05-26 13:23:17: 清理守护进程(DW1_01)请求成功
[monitor] 2022-05-26 13:23:17: 清理守护进程(DW1_02)请求成功
[monitor] 2022-05-26 13:23:17: 实例DW1_01切换成功
2022-05-26 13:23:17
#================================================================================#
GROUP OGUID MON_CONFIRM MODE MPP_FLAG
GDW1 45331 FALSE AUTO FALSE
<<DATABASE GLOBAL INFO:>>
DW_IP MAL_DW_PORT WTIME WTYPE WCTLSTAT WSTATUS INAME INST_OK N_EP N_OK ISTATUS IMODE DSC_STATUS RTYPE RSTAT
192.168.10.100 5436 2022-05-26 13:23:17 GLOBAL VALID OPEN DW1_01 OK 1 1 OPEN PRIMARY DSC_OPEN REALTIME VALID
EP INFO:
INST_IP INST_PORT INST_OK INAME ISTATUS IMODE DSC_SEQNO DSC_CTL_NODE RTYPE RSTAT FSEQ FLSN CSEQ CLSN DW_STAT_FLAG
192.168.2.100 5236 OK DW1_01 OPEN PRIMARY 0 0 REALTIME VALID 6990 50649 6990 50650 NONE
<<DATABASE GLOBAL INFO:>>
DW_IP MAL_DW_PORT WTIME WTYPE WCTLSTAT WSTATUS INAME INST_OK N_EP N_OK ISTATUS IMODE DSC_STATUS RTYPE RSTAT
192.168.10.101 5436 2022-05-26 13:23:17 GLOBAL VALID OPEN DW1_02 OK 1 1 OPEN STANDBY DSC_OPEN REALTIME INVALID
EP INFO:
INST_IP INST_PORT INST_OK INAME ISTATUS IMODE DSC_SEQNO DSC_CTL_NODE RTYPE RSTAT FSEQ FLSN CSEQ CLSN DW_STAT_FLAG
192.168.2.101 5236 OK DW1_02 OPEN STANDBY 0 0 REALTIME INVALID 6989 48203 6989 48203 NONE
DATABASE(DW1_02) APPLY INFO FROM (DW1_01), REDOS_PARALLEL_NUM (1):
DSC_SEQNO[0], (RSEQ, SSEQ, KSEQ)[6989, 6989, 6989], (RLSN, SLSN, KLSN)[48203, 48203, 48203], N_TSK[0], TSK_MEM_USE[0]
REDO_LSN_ARR: (48203)
#================================================================================#
[monitor] 2022-05-26 13:23:19: 守护进程(DW1_01)状态切换 [OPEN-->RECOVERY]
WTIME WSTATUS INST_OK INAME ISTATUS IMODE RSTAT N_OPEN FLSN CLSN
2022-05-26 13:23:19 RECOVERY OK DW1_01 OPEN PRIMARY VALID 6 50650 50650
[monitor] 2022-05-26 13:23:22: 守护进程(DW1_01)状态切换 [RECOVERY-->OPEN]
WTIME WSTATUS INST_OK INAME ISTATUS IMODE RSTAT N_OPEN FLSN CLSN
2022-05-26 13:23:22 OPEN OK DW1_01 OPEN PRIMARY VALID 6 50651 50651
社区地址:https://eco.dameng.com