签到成功

知道了

CNDBA社区CNDBA社区

DM8 达梦 数据库 数据守护(Data Watch) 实时主备环境搭建 与 切换测试

2019-11-01 09:37 5929 1 原创 DM 达梦
作者: dave

在之前的博客我们了解到DM7 DW环境的搭建,如下:

DM7 达梦 数据库 数据守护(Data Watch) (15) — 精简版 DW实时主备搭建与切换测试
https://www.cndba.cn/dave/article/3710

http://www.cndba.cn/dave/article/3772

本篇我们了解一下DM8中DW 实时主备的搭建与测试。

1 环境说明

本示例中组名为“GRP1”,配置为实时主备,主库命名为“DAVE1”,备库命名为“DAVE2”。

配置环境说明

主机类型 IP地址 实例名 操作系统
备库 192.168.20.161(外部服务)
192.168.56.161(内部通信)
DAVE2 Red Hat Enterprise Linux Server release 7.5 (Maipo)
主库 192.168.20.162(外部服务)
192.168.56.162(内部通信)
DAVE1 Red Hat Enterprise Linux Server release 7.5 (Maipo)
监视器 192.168.20.163(外部服务)
192.168.56.163(内部通信)
Red Hat Enterprise Linux Server release 7.5 (Maipo)

端口规划:

实例名 PORT_NUM MAL_INST_DW_PORT MAL_HOST MAL_PORT MAL_DW_PORT
DAVE1 5235 5237 192.168.56.161 5238 5239
DAVE2 5235 5237 192.168.56.162 5238 523

  MAL 系统是基于 TCP 协议实现的一种内部通信机制,DM 通过 MAL 系统实现 Redo 日志传输,以及其他一些实例间的消息通讯。

  守护进程(dmwatcher)是数据库实例和监视器之间信息流转的桥梁。数据库实例向本地守护进程发送信息,接收本地守护进程的消息和命令;

  监视器(dmmonitor)接收守护进程的消息,并向守护进程发送命令;数据库实例与监视器之间没有直接的消息交互;

  守护进程解析并执行监视器发起的各种命令(Switchover/Takeover/Open force 等),并在必要时通知数据库实例执行相应的操作。

  MAL_DW_PORT: 守护进程监听端口,其他守护进程或监视器使用 MAL_HOST + MAL_DW_PORT 创建 TCP连接。监视器配置文件 dmmonitor.ini 中,MON_DW_IP 就是一组 MAL_HOST: MAL_DW_PORT。

  MAL_INST_DW_PORT:实例对守护进程的监听端口,守护进程使用 MAL_HOST + MAL_INST_DW_PORT 创建到实例的 TCP 连接。

2 同步原始数据

DM7 达梦数据库 通过dminit 创建 并 注册 数据库实例
https://www.cndba.cn/dave/article/3580

创建主备库的数据库相同,实例名不同。

2.1 创建主库

[dave@www.cndba.cn data]$ dminit PATH=/dm/dmdbms/data DB_NAME=DAVE INSTANCE_NAME=DAVE1 PORT_NUM=5235

使用dmserver 启动数据库,在DM 数据库第一次必须正常启动,完成初始化的动作:

http://www.cndba.cn/dave/article/3772

[dave@www.cndba.cn data]$ dmserver /dm/dmdbms/data/DAVE/dm.ini
file dm.key not found, use default license!
version info: develop
Use normal os_malloc instead of HugeTLB
Use normal os_malloc instead of HugeTLB
DM Database Server x64 V8 startup...
Database mode = 0, oguid = 0
License will expire on 2020-09-16
file lsn: 0
ndct db load finished
ndct fill fast pool finished
iid page's trxid[1002]
NEXT TRX ID = 1003
pseg_collect_items, collect 0 active_trxs, 0 cmt_trxs, 0 pre_cmt_trxs, 0 active_pages, 0 cmt_pages, 0 pre_cmt_pages
pseg_process_collect_items end, 0 active trx, 0 active pages, 0 committed trx, 0 committed pages
total 0 active crash trx, pseg_crash_trx_rollback begin ...
pseg_crash_trx_rollback end
purg2_crash_cmt_trx end, total 0 page purged
set EP[0]'s pseg state to inactive
pseg recv finished
nsvr_startup end.
aud sys init success.
aud rt sys init success.

trx: 2004 purged 1 pages
……
trx: 3358 purged 1 pages
systables desc init success.
ndct_db_load_info success.
nsvr_process_before_open begin.
nsvr_process_before_open success.
total 0 active crash trx, pseg_crash_trx_rollback begin ...
pseg_crash_trx_rollback end
SYSTEM IS READY.

2.2 启动归档模式

SQL> alter database mount;
executed successfully
used time: 00:00:01.812. Execute id is 0.
SQL> alter database add archivelog 'DEST=/dm/dmarch,TYPE=local,FILE_SIZE=128,space_limit=0';
executed successfully
used time: 4.907(ms). Execute id is 0.
SQL>  alter database archivelog;
executed successfully
used time: 14.877(ms). Execute id is 0.
SQL>  alter database open;
executed successfully
used time: 00:00:02.010. Execute id is 0.
SQL>  select arch_mode from v$database;

LINEID     ARCH_MODE
---------- ---------
1          Y

used time: 7.350(ms). Execute id is 56.
SQL>

2.3 注册服务并启动实例

[root@dm8dw1 ~]# /dm/dmdbms/script/root/dm_service_installer.sh -t dmserver -dm_ini /dm/dmdbms/data/DAVE/dm.ini -p DAVE
Created symlink from /etc/systemd/system/multi-user.target.wants/DmServiceDAVE.service to /usr/lib/systemd/system/DmServiceDAVE.service.
Finished to create the service (DmServiceDAVE)
[root@dm8dw1 ~]# 

[root@dm8dw1 ~]# systemctl start DmServiceDAVE
[root@dm8dw1 ~]# ps -ef|grep dm.ini
dmdba      763     1  0 10:21 ?        00:02:06 /dm/dmdbms/bin/dmserver /dm/dmdbms/data/dave/dm.ini -noconsole
dmdba    11554     1  1 22:00 ?        00:00:00 /dm/dmdbms/bin/dmserver /dm/dmdbms/data/DAVE/dm.ini -noconsole
root     11645 11088  0 22:01 pts/1    00:00:00 grep --color=auto dm.ini
[root@dm8dw1 ~]#

达梦数据库 DM8 中 注册服务 说明
https://www.cndba.cn/dave/article/3753

2.4 备份主库:

可以使用联机备份:

SQL> backup database full backupset ‘/dm/dwbak/dave_full_01’;

也可以使用DMRMAN 脱机备份,我们这里用DMRMAN 脱机备份进行:

#停止DM实例:
[root@dm8dw1 ~]# systemctl stop DmServiceDAVE

[dave@www.cndba.cn bin]$ ./dmrman 
dmrman V8
RMAN> backup database '/dm/dmdbms/data/DAVE/dm.ini' full backupset '/dm/dmbakup/dbbak01';
backup database '/dm/dmdbms/data/DAVE/dm.ini' full backupset '/dm/dmbakup/dbbak01';
file dm.key not found, use default license!
Database mode = 0, oguid = 0
EP[0]'s cur_lsn[56706]
BACKUP DATABASE [DAVE],execute......
CMD CHECK LSN......
BACKUP DATABASE [DAVE],collect dbf......
CMD CHECK ......
DBF BACKUP SUBS......
total 1 packages processed...
total 3 packages processed...
total 4 packages processed...
DBF BACKUP MAIN......
BACKUPSET [/dm/dmbakup/dbbak01] END, CODE [0]......
META GENERATING......
total 8 packages processed...
total 8 packages processed...
total 8 packages processed!
CMD END.CODE:[0]
backup successfully!
time used: 00:00:01.099
RMAN>

2.5 创建备库备库并恢复

[dave@www.cndba.cn2 ~]$ dminit PATH=/dm/dmdbms/data DB_NAME=DAVE INSTANCE_NAME=DAVE2 PORT_NUM=5235

将主库的备份复制备库:

[dave@www.cndba.cn dm]$ scp -r dmbakup 192.168.20.162:pwd

恢复备库:http://www.cndba.cn/dave/article/3772

[dave@www.cndba.cn2 bin]$ pwd
/dm/dmdbms/bin
[dave@www.cndba.cn2 bin]$  ./dmrman CTLSTMT="RESTORE DATABASE '/dm/dmdbms/data/DAVE/dm.ini' FROM BACKUPSET '/dm/dmbakup/dbbak01'"
dmrman V8
RESTORE DATABASE '/dm/dmdbms/data/DAVE/dm.ini' FROM BACKUPSET '/dm/dmbakup/dbbak01'
file dm.key not found, use default license!
RESTORE DATABASE CHECK......
RESTORE DATABASE,dbf collect......
RESTORE DATABASE,dbf refresh ......
RESTORE BACKUPSET [/dm/dmbakup/dbbak01] START......
total 4 packages processed...
total 8 packages processed...
RESTORE DATABASE,UPDATE ctl file......
RESTORE DATABASE,REBUILD key file......
RESTORE DATABASE,CHECK db info......
RESTORE DATABASE,UPDATE db info......
total 8 packages processed...
total 8 packages processed!
CMD END.CODE:[0]
restore successfully.
time used: 422.846(ms)

[dave@www.cndba.cn2 bin]$ ./dmrman CTLSTMT="RECOVER DATABASE '/dm/dmdbms/data/DAVE/dm.ini' FROM BACKUPSET '/dm/dmbakup/dbbak01'"
dmrman V8
RECOVER DATABASE '/dm/dmdbms/data/DAVE/dm.ini' FROM BACKUPSET '/dm/dmbakup/dbbak01'
file dm.key not found, use default license!
Database mode = 0, oguid = 0
EP[0]'s cur_lsn[56706]
RESTORE RLOG CHECK......
CMD END.CODE:[603],DESC:[no log generates while the backupset [/dm/dmbakup/dbbak01] created]
no log generates while the backupset [/dm/dmbakup/dbbak01] created
recover successfully!
time used: 320.730(ms)
[dave@www.cndba.cn2 bin]$ 

[dave@www.cndba.cn2 bin]$  ./dmrman CTLSTMT="RECOVER DATABASE '/dm/dmdbms/data/DAVE/dm.ini' UPDATE DB_MAGIC" 
dmrman V8
RECOVER DATABASE '/dm/dmdbms/data/DAVE/dm.ini' UPDATE DB_MAGIC
file dm.key not found, use default license!
Database mode = 0, oguid = 0
EP[0]'s cur_lsn[56706]
EP[0]'s apply_lsn[56706] >= end_lsn[56706]
recover successfully!
time used: 00:00:01.048
[dave@www.cndba.cn2 bin]$

3 配置主备库参数

3.1 配置 dm.ini

修改主备库参数,注意2个库的instance_name参数不同。

INSTANCE_NAME = DAVE1 
#INSTANCE_NAME = DAVE2
PORT_NUM = 5235  #数据库实例监听端口
ALTER_MODE_STATUS = 0  #不允许手工方式修改实例模式/状态
ENABLE_OFFLINE_TS = 2  #不允许备库 OFFLINE 表空间
MAL_INI = 1  #打开 MAL 系统
ARCH_INI = 1  #打开归档配置

3.2 配置 dmmal.ini

2节点配置配置一样。具体如下:

MAL_CHECK_INTERVAL = 5             #MAL 链路检测时间间隔
MAL_CONN_FAIL_INTERVAL = 5         #判定 MAL 链路断开的时间

[MAL_INST1]
MAL_INST_NAME = DAVE1         #实例名,和 dm.ini 中的 INSTANCE_NAME 一致
MAL_HOST = 192.168.56.161             #MAL 系统监听 TCP 连接的 IP 地址
MAL_PORT = 5238                     #MAL 系统监听 TCP 连接的端口
MAL_INST_HOST = 192.168.20.161         #实例的对外服务 IP 地址
MAL_INST_PORT = 5235                 #实例的对外服务端口,和 dm.ini 中的 PORT_NUM 一致
MAL_INST_DW_PORT = 5237        #实例监听守护进程TCP连接的端口
MAL_DW_PORT = 5239              #实例对应的守护进程监听 TCP 连接的端口

[MAL_INST2]
MAL_INST_NAME = DAVE2
MAL_HOST = 192.168.56.162
MAL_PORT = 5238
MAL_INST_HOST = 192.168.20.162
MAL_INST_PORT = 5235
MAL_INST_DW_PORT = 5237        
MAL_DW_PORT = 5239

3.3 配置 dmarch.ini

2节点都配置,ARCH_DEST分写写对方的实例。比如当前实例 DAVE1 是主库,则ARCH_DEST 配置为 DAVE2。http://www.cndba.cn/dave/article/3772

[ARCHIVE_REALTIME] 
ARCH_TYPE = REALTIME  #实时归档类型
ARCH_DEST = DAVE2  #实时归档目标实例名

[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL #本地归档类型
ARCH_DEST = /dm/dmarch #本地归档文件存放路径
ARCH_FILE_SIZE = 128   #单位 Mb,本地单个归档文件最大值
ARCH_SPACE_LIMIT = 0  #单位 Mb,0 表示无限制,范围 1024~4294967294M

3.4 配置 dmwatcher.ini

2节点都配置。守护进程使用MANUAL,手工切换模式。

[GRP1]
DW_TYPE = GLOBAL                         #全局守护类型
DW_MODE = MANUAL                         #自动切换模式
DW_ERROR_TIME = 10                         #远程守护进程故障认定时间
INST_RECOVER_TIME = 60                     #主库守护进程启动恢复的间隔时间
INST_ERROR_TIME = 10                        #本地实例故障认定时间
INST_OGUID = 453331                      #守护系统唯一 OGUID 值
INST_INI = /dm/dmdbms/data/DAVE/dm.ini           #dm.ini 配置文件路径
INST_AUTO_RESTART = 1                       #打开实例的自动启动功能
INST_STARTUP_CMD = /dm/dmdbms/bin/dmserver       #命令行方式启动
RLOG_SEND_THRESHOLD = 0                   #指定主库发送日志到备库的时间阀值,默认关闭
RLOG_APPLY_THRESHOLD = 0                   #指定备库重演日志的时间阀值,默认关闭

在DM DW4.0 之后,已经不再需要生成dmwatcher.ctl 控制文件,dmctlcvt 工具也不再支持dmwaterch.ctl 文件的生成。

[dave@www.cndba.cn DAVE]$ dmctlcvt help
DMCTLCVT V8

Format:  ./dmctlcvt KEYWORD=value
Note:    ctl file name must be dm.ctl or dmmpp.ctl

Keyword             Explanation
--------------------------------------------------------------------------------
TYPE                1 convert ctl file(dm.ctl or dmmpp.ctl) to txt file
                    2 convert txt file to ctl file(dm.ctl or dmmpp.ctl)
SRC                 Source file
DEST                Destination file
DCR_INI             the path of dmdcr.ini
HELP                Show this help info

Example:
./dmctlcvt TYPE=1 SRC=/opt/dmdbms/data/dameng/dm.ctl DEST=/opt/dmdbms/data/dameng/dmctl.txt
./dmctlcvt TYPE=2 SRC=/opt/dmdbms/data/dameng/dmctl.txt DEST=/opt/dmdbms/data/dameng/dm.ctl
[dave@www.cndba.cn DAVE]$

3.5 以mount模式启动主备库

以 mount 方式启动主库

[dave@www.cndba.cn DAVE]$ dmserver /dm/dmdbms/data/DAVE/dm.ini mount
[dave@www.cndba.cn2 DAVE]$ dmserver /dm/dmdbms/data/DAVE/dm.ini mount

  一定要以 mount 方式启动数据库实例,否则系统启动时会重构回滚表空间,生成 Redo 日志;并且,启动后应用可能连接到数据库实例进行操作,破坏主备库的数据一致性。数据守护配置结束后,守护进程会自动 Open 数据库。

3.6 设置 OGUID

在主备库分别执行:

SQL>sp_set_oguid(453331);

3.7 修改数据库模式

主库修改数据库为 primary

SQL>alter database primary;

备库:

SQL> alter database standby;http://www.cndba.cn/dave/article/3772http://www.cndba.cn/dave/article/3772

  如果当前数据库不是 normal 模式,需要先修改 dm.ini 中 ALTER_MODE_STATUS 值 为 1,允许修改数据库模式,修改 Standby 模式成功后再改回为 0。

#STEP 1:
SQL> SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
DMSQL executed successfully
used time: 9.822(ms). Execute id is 2.
#STEP 2:
SQL> alter database standby;
executed successfully
used time: 7.475(ms). Execute id is 0.
#STEP 3:
SQL> SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0); 
DMSQL executed successfully
used time: 9.070(ms). Execute id is 3.
SQL>

4 注册并启动守护进程

在主备库进行注册:

[root@dm8dw1 ~]# /dm/dmdbms/script/root/dm_service_installer.sh -t dmwatcher -watcher_ini /dm/dmdbms/data/DAVE/dmwatcher.ini -p DAVE
Created symlink from /etc/systemd/system/multi-user.target.wants/DmWatcherServiceDAVE.service to /usr/lib/systemd/system/DmWatcherServiceDAVE.service.
Finished to create the service (DmWatcherServiceDAVE)

在主备库启动服务:http://www.cndba.cn/dave/article/3772

[root@dm8dw1 ~]# systemctl start DmWatcherServiceDAVE

  守护进程启动后,进入 Startup 状态,此时实例都处于 Mount 状态。守护进程开始广播自身和其监控实例的状态信息,结合自身信息和远程守护进程的广播信息,守护进程将本地实例 Open,并切换为 Open 状态。

http://www.cndba.cn/dave/article/3772

5 配置监视器(第三台服务器)

5.1 参数文件

  在监控节点的/dm/dmdbms/data/DAVE/目录下创建并修改 dmmonitor.ini 配置确认监视器,其中 MON_DW_IP 中的 IP 和 PORT 和dmmal.ini 中的 MAL_HOST 和 MAL_DW_PORT 配置项保持一致。

MON_DW_CONFIRM = 1 #确认监视器模式
MON_LOG_PATH = /dm/dmdbms/log #监视器日志文件存放路径
MON_LOG_INTERVAL = 60 #每隔 60s 定时记录系统信息到日志文件
MON_LOG_FILE_SIZE = 32 #每个日志文件最大 32M
MON_LOG_SPACE_LIMIT = 0 #不限定日志文件总占用空间

[GRP1]
MON_INST_OGUID = 453331  #组 GRP1 的唯一 OGUID 值
MON_DW_IP = 192.168.56.162:5239
MON_DW_IP = 192.168.56.161:5239

5.2 启动监视器

启动监视器:http://www.cndba.cn/dave/article/3772

[dave@www.cndba.cn data]$ dmmonitor /dm/dmdbms/data/dmmonitor.ini
[monitor]         2019-10-31 02:26:14: DMMONITOR[4.0] V8
[monitor]         2019-10-31 02:26:14: DMMONITOR[4.0] IS READY.

[monitor]         2019-10-31 02:26:14: Received message from(DAVE2)
                  WTIME                WSTATUS        INST_OK   INAME            ISTATUS     IMODE     RSTAT    N_OPEN   FLSN            CLSN            
                  2019-10-31 02:26:14  OPEN           OK        DAVE2            OPEN        STANDBY   NULL     7        71664           71664           

[monitor]         2019-10-31 02:26:14: Received message from(DAVE1)
                  WTIME                WSTATUS        INST_OK   INAME            ISTATUS     IMODE     RSTAT    N_OPEN   FLSN            CLSN            
                  2019-10-31 02:26:14  OPEN           OK        DAVE1            OPEN        PRIMARY   VALID    7        71664           71664      


#================================================================================#

show
2019-10-31 02:26:29 
#================================================================================#
GROUP            OGUID       MON_CONFIRM     MODE            MPP_FLAG  
GRP1             453331      TRUE            MANUAL          FALSE     


<<DATABASE GLOBAL INFO:>>
IP              MAL_DW_PORT  WTIME                WTYPE     WCTLSTAT  WSTATUS        INAME            INST_OK   N_EP  N_OK  ISTATUS     IMODE     DSC_STATUS     RTYPE     RSTAT    
192.168.56.161  5239         2019-10-31 02:26:28  GLOBAL    VALID     OPEN           DAVE1            OK        1     1     OPEN        PRIMARY   DSC_OPEN       REALTIME  VALID    

EP INFO:
INST_PORT  INST_OK   INAME            ISTATUS     IMODE     DSC_SEQNO  DSC_CTL_NODE RTYPE     RSTAT    FSEQ            FLSN            CSEQ            CLSN            DW_STAT_FLAG          
5235       OK        DAVE1            OPEN        PRIMARY   0          0            REALTIME  VALID    3654            71664           3654            71664           NONE                  

<<DATABASE GLOBAL INFO:>>
IP              MAL_DW_PORT  WTIME                WTYPE     WCTLSTAT  WSTATUS        INAME            INST_OK   N_EP  N_OK  ISTATUS     IMODE     DSC_STATUS     RTYPE     RSTAT    
192.168.56.162  5239         2019-10-31 02:26:28  GLOBAL    VALID     OPEN           DAVE2            OK        1     1     OPEN        STANDBY   DSC_OPEN       REALTIME  VALID    

EP INFO:
INST_PORT  INST_OK   INAME            ISTATUS     IMODE     DSC_SEQNO  DSC_CTL_NODE RTYPE     RSTAT    FSEQ            FLSN            CSEQ            CLSN            DW_STAT_FLAG          
5235       OK        DAVE2            OPEN        STANDBY   0          0            REALTIME  VALID    3645            71664           3645            71664           NONE                  

DATABASE(DAVE2) APPLY INFO FROM (DAVE1):
DSC_SEQNO[0], (ASEQ, SSEQ, KSEQ)[3654, 3654, 3654], (ALSN, SLSN, KLSN)[71664, 71664, 71664], N_TSK[0], TSK_MEM_USE[0]


#================================================================================#

6 主备同步测试

主库:

[dave@www.cndba.cn DAVE]$ disql SYSDBA/SYSDBA@localhost:5235

Server[localhost:5235]:mode is primary, state is open
login used time: 10.132(ms)
disql V8
SQL>  create table dave as select * from sysobjects;
executed successfully
used time: 33.758(ms). Execute id is 3.
SQL>

备库:

[dave@www.cndba.cn2 bin]$ disql SYSDBA/SYSDBA@localhost:5235

Server[localhost:5235]:mode is standby, state is open
login used time: 11.451(ms)
disql V8
SQL>  select count(1) from dave;

LINEID     COUNT(1)            
---------- --------------------
1          1295

used time: 13.585(ms). Execute id is 1.
SQL>

7 主备切换测试

操作直接在监控器里执行。

7.1 Switchover 切换

#================================================================================#

show
2019-10-31 02:26:29 
#================================================================================#
GROUP            OGUID       MON_CONFIRM     MODE            MPP_FLAG  
GRP1             453331      TRUE            MANUAL          FALSE     


<<DATABASE GLOBAL INFO:>>
IP              MAL_DW_PORT  WTIME                WTYPE     WCTLSTAT  WSTATUS        INAME            INST_OK   N_EP  N_OK  ISTATUS     IMODE     DSC_STATUS     RTYPE     RSTAT    
192.168.56.161  5239         2019-10-31 02:26:28  GLOBAL    VALID     OPEN           DAVE1            OK        1     1     OPEN        PRIMARY   DSC_OPEN       REALTIME  VALID    

EP INFO:
INST_PORT  INST_OK   INAME            ISTATUS     IMODE     DSC_SEQNO  DSC_CTL_NODE RTYPE     RSTAT    FSEQ            FLSN            CSEQ            CLSN            DW_STAT_FLAG          
5235       OK        DAVE1            OPEN        PRIMARY   0          0            REALTIME  VALID    3654            71664           3654            71664           NONE                  

<<DATABASE GLOBAL INFO:>>
IP              MAL_DW_PORT  WTIME                WTYPE     WCTLSTAT  WSTATUS        INAME            INST_OK   N_EP  N_OK  ISTATUS     IMODE     DSC_STATUS     RTYPE     RSTAT    
192.168.56.162  5239         2019-10-31 02:26:28  GLOBAL    VALID     OPEN           DAVE2            OK        1     1     OPEN        STANDBY   DSC_OPEN       REALTIME  VALID    

EP INFO:
INST_PORT  INST_OK   INAME            ISTATUS     IMODE     DSC_SEQNO  DSC_CTL_NODE RTYPE     RSTAT    FSEQ            FLSN            CSEQ            CLSN            DW_STAT_FLAG          
5235       OK        DAVE2            OPEN        STANDBY   0          0            REALTIME  VALID    3645            71664           3645            71664           NONE                  

DATABASE(DAVE2) APPLY INFO FROM (DAVE1):
DSC_SEQNO[0], (ASEQ, SSEQ, KSEQ)[3654, 3654, 3654], (ALSN, SLSN, KLSN)[71664, 71664, 71664], N_TSK[0], TSK_MEM_USE[0]


#================================================================================#



choose switchover grp1
Can choose one of the following instances to do switchover:
1: DAVE2

switchover grp1.dave2
[monitor]         2019-10-31 02:41:00: Not login dmmonitor or server public key changed, please try to login again!

login
username:SYSDBA
password:
[monitor]         2019-10-31 02:41:20: Login dmmonitor success!

switchover grp1.dave2
[monitor]         2019-10-31 02:41:32: Start to switchover instance DAVE2
[monitor]         2019-10-31 02:41:32: Notify dmwatcher(DAVE1) switch to SWITCHOVER status
[monitor]         2019-10-31 02:41:32: Dmwatcher process DAVE1 status switching [OPEN-->SWITCHOVER] 
[monitor]         2019-10-31 02:41:32: Switch dmwatcher DAVE1 to SWITCHOVER status success
[monitor]         2019-10-31 02:41:32: Notify dmwatcher(DAVE2) switch to SWITCHOVER status
[monitor]         2019-10-31 02:41:32: Dmwatcher process DAVE2 status switching [OPEN-->SWITCHOVER] 
[monitor]         2019-10-31 02:41:32: Switch dmwatcher DAVE2 to SWITCHOVER status success
[monitor]         2019-10-31 02:41:32: Instance DAVE1 start to execute sql SP_SET_GLOBAL_DW_STATUS(0, 6)
[monitor]         2019-10-31 02:41:32: Instance DAVE1 execute sql SP_SET_GLOBAL_DW_STATUS(0, 6) success
[monitor]         2019-10-31 02:41:32: Instance DAVE2 start to execute sql SP_SET_GLOBAL_DW_STATUS(0, 6)
[monitor]         2019-10-31 02:41:32: Instance DAVE2 execute sql SP_SET_GLOBAL_DW_STATUS(0, 6) success
[monitor]         2019-10-31 02:41:32: Instance DAVE1 start to execute sql ALTER DATABASE MOUNT
[monitor]         2019-10-31 02:41:34: Instance DAVE1 execute sql ALTER DATABASE MOUNT success
[monitor]         2019-10-31 02:41:34: Instance DAVE2 start to execute sql SP_APPLY_KEEP_PKG()
[monitor]         2019-10-31 02:41:34: Instance DAVE2 execute sql SP_APPLY_KEEP_PKG() success
[monitor]         2019-10-31 02:41:34: Instance DAVE2 start to execute sql ALTER DATABASE MOUNT
[monitor]         2019-10-31 02:41:36: Instance DAVE2 execute sql ALTER DATABASE MOUNT success
[monitor]         2019-10-31 02:41:36: Instance DAVE1 start to execute sql ALTER DATABASE STANDBY
[monitor]         2019-10-31 02:41:36: Instance DAVE1 execute sql ALTER DATABASE STANDBY success
[monitor]         2019-10-31 02:41:36: Instance DAVE2 start to execute sql ALTER DATABASE PRIMARY
[monitor]         2019-10-31 02:41:36: Instance DAVE2 execute sql ALTER DATABASE PRIMARY success
[monitor]         2019-10-31 02:41:36: Notify instance DAVE2 to change all arch status to be invalid
[monitor]         2019-10-31 02:41:36: Succeed to change all instances arch status to be invalid
[monitor]         2019-10-31 02:41:36: Instance DAVE1 start to execute sql ALTER DATABASE OPEN FORCE
[monitor]         2019-10-31 02:41:36: Instance DAVE1 execute sql ALTER DATABASE OPEN FORCE success
[monitor]         2019-10-31 02:41:36: Instance DAVE2 start to execute sql ALTER DATABASE OPEN FORCE
[monitor]         2019-10-31 02:41:38: Instance DAVE2 execute sql ALTER DATABASE OPEN FORCE success
[monitor]         2019-10-31 02:41:38: Instance DAVE1 start to execute sql SP_SET_GLOBAL_DW_STATUS(6, 0)
[monitor]         2019-10-31 02:41:38: Instance DAVE1 execute sql SP_SET_GLOBAL_DW_STATUS(6, 0) success
[monitor]         2019-10-31 02:41:38: Instance DAVE2 start to execute sql SP_SET_GLOBAL_DW_STATUS(6, 0)
[monitor]         2019-10-31 02:41:38: Instance DAVE2 execute sql SP_SET_GLOBAL_DW_STATUS(6, 0) success
[monitor]         2019-10-31 02:41:38: Notify dmwatcher(DAVE1) switch to OPEN status
[monitor]         2019-10-31 02:41:38: Dmwatcher process DAVE1 status switching [SWITCHOVER-->OPEN] 
[monitor]         2019-10-31 02:41:38: Switch dmwatcher DAVE1 to OPEN status success
[monitor]         2019-10-31 02:41:38: Notify dmwatcher(DAVE2) switch to OPEN status
[monitor]         2019-10-31 02:41:38: Dmwatcher process DAVE2 status switching [SWITCHOVER-->OPEN] 
[monitor]         2019-10-31 02:41:38: Switch dmwatcher DAVE2 to OPEN status success
[monitor]         2019-10-31 02:41:38: Notify group(GRP1)'s dmwatcher to do clear
[monitor]         2019-10-31 02:41:38: Clean request of dmwatcher processer DAVE2 success
[monitor]         2019-10-31 02:41:38: Clean request of dmwatcher processer DAVE1 success
[monitor]         2019-10-31 02:41:38: Switchover instance DAVE2 success

2019-10-31 02:41:38 
#================================================================================#
GROUP            OGUID       MON_CONFIRM     MODE            MPP_FLAG  
GRP1             453331      TRUE            MANUAL          FALSE     


<<DATABASE GLOBAL INFO:>>
IP              MAL_DW_PORT  WTIME                WTYPE     WCTLSTAT  WSTATUS        INAME            INST_OK   N_EP  N_OK  ISTATUS     IMODE     DSC_STATUS     RTYPE     RSTAT    
192.168.56.162  5239         2019-10-31 02:41:38  GLOBAL    VALID     OPEN           DAVE2            OK        1     1     OPEN        PRIMARY   DSC_OPEN       REALTIME  VALID    

EP INFO:
INST_PORT  INST_OK   INAME            ISTATUS     IMODE     DSC_SEQNO  DSC_CTL_NODE RTYPE     RSTAT    FSEQ            FLSN            CSEQ            CLSN            DW_STAT_FLAG          
5235       OK        DAVE2            OPEN        PRIMARY   0          0            REALTIME  VALID    3664            76945           3664            76945           NONE                  

<<DATABASE GLOBAL INFO:>>
IP              MAL_DW_PORT  WTIME                WTYPE     WCTLSTAT  WSTATUS        INAME            INST_OK   N_EP  N_OK  ISTATUS     IMODE     DSC_STATUS     RTYPE     RSTAT    
192.168.56.161  5239         2019-10-31 02:41:38  GLOBAL    VALID     OPEN           DAVE1            OK        1     1     OPEN        STANDBY   DSC_OPEN       REALTIME  INVALID  

EP INFO:
INST_PORT  INST_OK   INAME            ISTATUS     IMODE     DSC_SEQNO  DSC_CTL_NODE RTYPE     RSTAT    FSEQ            FLSN            CSEQ            CLSN            DW_STAT_FLAG          
5235       OK        DAVE1            OPEN        STANDBY   0          0            REALTIME  INVALID  3662            71777           3662            71777           NONE                  

DATABASE(DAVE1) APPLY INFO FROM (DAVE2):
DSC_SEQNO[0], (ASEQ, SSEQ, KSEQ)[3662, 3662, 3662], (ALSN, SLSN, KLSN)[71777, 71777, 71777], N_TSK[0], TSK_MEM_USE[0]


#================================================================================#

[monitor]         2019-10-31 02:41:41: Dmwatcher process DAVE2 status switching [OPEN-->RECOVERY] 
                  WTIME                WSTATUS        INST_OK   INAME            ISTATUS     IMODE     RSTAT    N_OPEN   FLSN            CLSN            
                  2019-10-31 02:41:41  RECOVERY       OK        DAVE2            OPEN        PRIMARY   VALID    8        76945           76945           

[monitor]         2019-10-31 02:41:44: Dmwatcher process DAVE2 status switching [RECOVERY-->OPEN] 
                  WTIME                WSTATUS        INST_OK   INAME            ISTATUS     IMODE     RSTAT    N_OPEN   FLSN            CLSN            
                  2019-10-31 02:41:44  OPEN           OK        DAVE2            OPEN        PRIMARY   VALID    8        76945           76945

7.2 Takeover 接管

choose takeover grp1
Group(grp1) has active primary instance, not get standby instance list any more!


将主库网络直接中断:
[root@dm8dw2 ~]# systemctl stop network

#此时可以接管了:
choose takeover grp1
Can choose one of the following instances to do takeover:
1: DAVE1

takeover dave1
[monitor]         2019-10-31 02:54:55: Username or password error, or user does not have DBA privilege!

login
username:SYSDBA
password:
[monitor]         2019-10-31 02:55:12: Login dmmonitor success!

takeover dave1
[monitor]         2019-10-31 02:55:18: Start to takeover use instance DAVE1
[monitor]         2019-10-31 02:55:18: Notify dmwatcher(DAVE1) switch to TAKEOVER status
[monitor]         2019-10-31 02:55:18: Dmwatcher process DAVE1 status switching [OPEN-->TAKEOVER] 
[monitor]         2019-10-31 02:55:18: Switch dmwatcher DAVE1 to TAKEOVER status success
[monitor]         2019-10-31 02:55:18: Instance DAVE1 start to execute sql SP_SET_GLOBAL_DW_STATUS(0, 7)
[monitor]         2019-10-31 02:55:18: Instance DAVE1 execute sql SP_SET_GLOBAL_DW_STATUS(0, 7) success
[monitor]         2019-10-31 02:55:18: Instance DAVE1 start to execute sql SP_APPLY_KEEP_PKG()
[monitor]         2019-10-31 02:55:19: Instance DAVE1 execute sql SP_APPLY_KEEP_PKG() success
[monitor]         2019-10-31 02:55:19: Instance DAVE1 start to execute sql ALTER DATABASE MOUNT
[monitor]         2019-10-31 02:55:20: Instance DAVE1 execute sql ALTER DATABASE MOUNT success
[monitor]         2019-10-31 02:55:20: Instance DAVE1 start to execute sql ALTER DATABASE PRIMARY
[monitor]         2019-10-31 02:55:20: Instance DAVE1 execute sql ALTER DATABASE PRIMARY success
[monitor]         2019-10-31 02:55:23: Notify instance DAVE1 to change all arch status to be invalid
[monitor]         2019-10-31 02:55:24: Succeed to change all instances arch status to be invalid
[monitor]         2019-10-31 02:55:24: Instance DAVE1 start to execute sql ALTER DATABASE OPEN FORCE
[monitor]         2019-10-31 02:55:26: Instance DAVE1 execute sql ALTER DATABASE OPEN FORCE success
[monitor]         2019-10-31 02:55:26: Instance DAVE1 start to execute sql SP_SET_GLOBAL_DW_STATUS(7, 0)
[monitor]         2019-10-31 02:55:26: Instance DAVE1 execute sql SP_SET_GLOBAL_DW_STATUS(7, 0) success
[monitor]         2019-10-31 02:55:26: Notify dmwatcher(DAVE1) switch to OPEN status
[monitor]         2019-10-31 02:55:26: Dmwatcher process DAVE1 status switching [TAKEOVER-->OPEN] 
[monitor]         2019-10-31 02:55:26: Switch dmwatcher DAVE1 to OPEN status success
[monitor]         2019-10-31 02:55:26: Notify group(GRP1)'s dmwatcher to do clear
2019-10-31 02:55:26 
#================================================================================#
GROUP            OGUID       MON_CONFIRM     MODE            MPP_FLAG  
GRP1             453331      TRUE            MANUAL          FALSE     


<<DATABASE GLOBAL INFO:>>
IP              MAL_DW_PORT  WTIME                WTYPE     WCTLSTAT  WSTATUS        INAME            INST_OK   N_EP  N_OK  ISTATUS     IMODE     DSC_STATUS     RTYPE     RSTAT    
192.168.56.161  5239         2019-10-31 02:55:26  GLOBAL    VALID     OPEN           DAVE1            OK        1     1     OPEN        PRIMARY   DSC_OPEN       REALTIME  VALID    

EP INFO:
INST_PORT  INST_OK   INAME            ISTATUS     IMODE     DSC_SEQNO  DSC_CTL_NODE RTYPE     RSTAT    FSEQ            FLSN            CSEQ            CLSN            DW_STAT_FLAG          
5235       OK        DAVE1            OPEN        PRIMARY   0          0            REALTIME  VALID    3675            79857           3675            84734           NONE                  

ERROR DATABASE:

<<DATABASE GLOBAL INFO:>>
IP              MAL_DW_PORT  WTIME                WTYPE     WCTLSTAT  WSTATUS        INAME            INST_OK   N_EP  N_OK  ISTATUS     IMODE     DSC_STATUS     RTYPE     RSTAT    
192.168.56.162  5239         2019-10-31 02:54:15  GLOBAL    VALID     ERROR          DAVE2            OK        1     1     OPEN        PRIMARY   DSC_OPEN       REALTIME  VALID    

EP INFO:
INST_PORT  INST_OK   INAME            ISTATUS     IMODE     DSC_SEQNO  DSC_CTL_NODE RTYPE     RSTAT    FSEQ            FLSN            CSEQ            CLSN            DW_STAT_FLAG          
5235       OK        DAVE2            OPEN        PRIMARY   0          0            REALTIME  VALID    3674            79566           3674            79566           NONE                  

#================================================================================#

[monitor]         2019-10-31 02:55:26: Clean request of dmwatcher processer DAVE1 success
[monitor]         2019-10-31 02:55:26: Success to takeover use instance DAVE1

7.3 恢复DW环境

恢复原主库的网络后,监视器自动将原主库切换成了备库:http://www.cndba.cn/dave/article/3772


#================================================================================#

[monitor]         2019-10-31 02:56:39: Dmwatcher process DAVE2 status switching [NONE-->OPEN] 
                  WTIME                WSTATUS        INST_OK   INAME            ISTATUS     IMODE     RSTAT    N_OPEN   FLSN            CLSN            
                  2019-10-31 02:56:39  OPEN           OK        DAVE2            OPEN        PRIMARY   VALID    8        79566           79566           

[monitor]         2019-10-31 02:56:43: Instance DAVE2[PRIMARY, OPEN, ISTAT_SAME:TRUE] error 
                  WTIME                WSTATUS        INST_OK   INAME            ISTATUS     IMODE     RSTAT    N_OPEN   FLSN            CLSN            
                  2019-10-31 02:56:43  STARTUP        ERROR     DAVE2            OPEN        PRIMARY   VALID    8        79566           79566           

[monitor]         2019-10-31 02:56:43: Dmwatcher process DAVE2 status switching [OPEN-->STARTUP] 
                  WTIME                WSTATUS        INST_OK   INAME            ISTATUS     IMODE     RSTAT    N_OPEN   FLSN            CLSN            
                  2019-10-31 02:56:43  STARTUP        ERROR     DAVE2            OPEN        PRIMARY   VALID    8        79566           79566           

[monitor]         2019-10-31 02:56:55: Instance DAVE2[PRIMARY, MOUNT, ISTAT_SAME:TRUE] recover to OK 
                  WTIME                WSTATUS        INST_OK   INAME            ISTATUS     IMODE     RSTAT    N_OPEN   FLSN            CLSN            
                  2019-10-31 02:56:55  STARTUP        OK        DAVE2            MOUNT       PRIMARY   VALID    8        79566           79566           

[monitor]         2019-10-31 02:56:55: Dmwatcher process DAVE2 status switching [STARTUP-->UNIFY EP] 
                  WTIME                WSTATUS        INST_OK   INAME            ISTATUS     IMODE     RSTAT    N_OPEN   FLSN            CLSN            
                  2019-10-31 02:56:55  UNIFY EP       OK        DAVE2            MOUNT       PRIMARY   VALID    8        79566           79566           

[monitor]         2019-10-31 02:56:55: Dmwatcher process DAVE2 status switching [UNIFY EP-->STARTUP] 
                  WTIME                WSTATUS        INST_OK   INAME            ISTATUS     IMODE     RSTAT    N_OPEN   FLSN            CLSN            
                  2019-10-31 02:56:55  STARTUP        OK        DAVE2            MOUNT       STANDBY   INVALID  8        79566           79566           

[monitor]         2019-10-31 02:56:55: Dmwatcher process DAVE2 status switching [STARTUP-->UNIFY EP] 
                  WTIME                WSTATUS        INST_OK   INAME            ISTATUS     IMODE     RSTAT    N_OPEN   FLSN            CLSN            
                  2019-10-31 02:56:55  UNIFY EP       OK        DAVE2            MOUNT       STANDBY   INVALID  8        79566           79566           

[monitor]         2019-10-31 02:56:55: Dmwatcher process DAVE2 status switching [UNIFY EP-->STARTUP] 
                  WTIME                WSTATUS        INST_OK   INAME            ISTATUS     IMODE     RSTAT    N_OPEN   FLSN            CLSN            
                  2019-10-31 02:56:55  STARTUP        OK        DAVE2            OPEN        STANDBY   INVALID  8        79566           79566           

[monitor]         2019-10-31 02:56:55: Dmwatcher process DAVE2 status switching [STARTUP-->OPEN] 
                  WTIME                WSTATUS        INST_OK   INAME            ISTATUS     IMODE     RSTAT    N_OPEN   FLSN            CLSN            
                  2019-10-31 02:56:55  OPEN           OK        DAVE2            OPEN        STANDBY   INVALID  8        79566           79566           

[monitor]         2019-10-31 02:56:55: Dmwatcher process DAVE1 status switching [OPEN-->RECOVERY] 
                  WTIME                WSTATUS        INST_OK   INAME            ISTATUS     IMODE     RSTAT    N_OPEN   FLSN            CLSN            
                  2019-10-31 02:56:55  RECOVERY       OK        DAVE1            OPEN        PRIMARY   VALID    9        84734           84734           

[monitor]         2019-10-31 02:56:59: Dmwatcher process DAVE1 status switching [RECOVERY-->OPEN] 
                  WTIME                WSTATUS        INST_OK   INAME            ISTATUS     IMODE     RSTAT    N_OPEN   FLSN            CLSN            
                  2019-10-31 02:56:59  OPEN           OK        DAVE1            OPEN        PRIMARY   VALID    9        84734           84734           

show
2019-10-31 02:57:13 
#================================================================================#
GROUP            OGUID       MON_CONFIRM     MODE            MPP_FLAG  
GRP1             453331      TRUE            MANUAL          FALSE     


<<DATABASE GLOBAL INFO:>>
IP              MAL_DW_PORT  WTIME                WTYPE     WCTLSTAT  WSTATUS        INAME            INST_OK   N_EP  N_OK  ISTATUS     IMODE     DSC_STATUS     RTYPE     RSTAT    
192.168.56.161  5239         2019-10-31 02:57:12  GLOBAL    VALID     OPEN           DAVE1            OK        1     1     OPEN        PRIMARY   DSC_OPEN       REALTIME  VALID    

EP INFO:
INST_PORT  INST_OK   INAME            ISTATUS     IMODE     DSC_SEQNO  DSC_CTL_NODE RTYPE     RSTAT    FSEQ            FLSN            CSEQ            CLSN            DW_STAT_FLAG          
5235       OK        DAVE1            OPEN        PRIMARY   0          0            REALTIME  VALID    3676            84734           3676            84734           NONE                  

<<DATABASE GLOBAL INFO:>>
IP              MAL_DW_PORT  WTIME                WTYPE     WCTLSTAT  WSTATUS        INAME            INST_OK   N_EP  N_OK  ISTATUS     IMODE     DSC_STATUS     RTYPE     RSTAT    
192.168.56.162  5239         2019-10-31 02:57:12  GLOBAL    VALID     OPEN           DAVE2            OK        1     1     OPEN        STANDBY   DSC_OPEN       REALTIME  VALID    

EP INFO:
INST_PORT  INST_OK   INAME            ISTATUS     IMODE     DSC_SEQNO  DSC_CTL_NODE RTYPE     RSTAT    FSEQ            FLSN            CSEQ            CLSN            DW_STAT_FLAG          
5235       OK        DAVE2            OPEN        STANDBY   0          0            REALTIME  VALID    3674            84734           3674            84734           NONE                  

DATABASE(DAVE2) APPLY INFO FROM (DAVE1):
DSC_SEQNO[0], (ASEQ, SSEQ, KSEQ)[3676, 3676, 3676], (ALSN, SLSN, KLSN)[84734, 84734, 84734], N_TSK[0], TSK_MEM_USE[0]


#================================================================================#

8 DW 环境启动与关闭测试

  因为Global 守护类型的守护进程,会自动将数据库实例切换到 Open 状态,并将守护进程状态也切换为 Open。因此在关闭DW系统时,必须按照一定的顺序来关闭守护进程和实例。

  可以在监视器中执行 Stop Instance 命令关闭数据守护系统,命令执行成功后,数据库实例正常关闭。但守护进程并没有真正退出,而是将状态切换为Shutdown 状态。

如果使用手动方式关闭数据守护系统,请严格按照以下顺序:

1) 如果启动了确认监视器,先关闭确认监视器(防止自动接管)
2) 关闭主库守护进程(防止重启实例)
3) 关闭备库守护进程(防止重启实例)

在关闭守护进程时会自动关闭对应的DM实例。 所以我们这里只需要关闭对应的守护进程即可。

8.1 关闭DW 环境

我们这里使用手工方式关闭DW.

1.关闭监视器进程
直接ctrl + c 结束命令即可。


2.关闭主库守护进程
[root@dm8dw1 ~]# systemctl stop DmWatcherServiceDAVE
[root@dm8dw1 ~]# ps -ef|grep dm.ini
root     18324 16166  0 05:45 pts/6    00:00:00 grep --color=auto dm.ini
[root@dm8dw1 ~]# 

3.关闭备库守护进程
[root@dm8dw2 ~]#  systemctl stop DmWatcherServiceDAVE
[root@dm8dw2 ~]# ps -ef|grep dm.ini
root     16460 14503  0 05:46 pts/4    00:00:00 grep --color=auto dm.ini
[root@dm8dw2 ~]#

8.2 启动DW环境

8.2.1 启动备库守护进程

[root@dm8dw2 ~]# systemctl start DmWatcherServiceDAVE
[root@dm8dw2 ~]# ps -ef|grep dm.ini
dmdba    16289     1  2 05:42 ?        00:00:00 /dm/dmdbms/bin/dmserver /dm/dmdbms/data/DAVE/dm.ini mount
root     16370 14503  0 05:42 pts/4    00:00:00 grep --color=auto dm.ini
[root@dm8dw2 ~]#

启动守护进程时会自动启动DM 实例。

8.2.2 启动主库守护进程

[root@dm8dw1 ~]# systemctl start DmWatcherServiceDAVE
[root@dm8dw1 ~]# ps -ef|grep dm.ini
dmdba    18169     1  3 05:43 ?        00:00:01 /dm/dmdbms/bin/dmserver /dm/dmdbms/data/DAVE/dm.ini mount
root     18254 16166  0 05:43 pts/6    00:00:00 grep --color=auto dm.ini
[root@dm8dw1 ~]#

8.2.3 启动监视器

[dave@www.cndba.cn data]$ dmmonitor /dm/dmdbms/data/dmmonitor.ini
[monitor]         2019-10-31 05:44:10: DMMONITOR[4.0] V8
[monitor]         2019-10-31 05:44:11: DMMONITOR[4.0] IS READY.

[monitor]         2019-10-31 05:44:11: Received message from(DAVE1)
                  WTIME                WSTATUS        INST_OK   INAME            ISTATUS     IMODE     RSTAT    N_OPEN   FLSN            CLSN            
                  2019-10-31 05:44:11  OPEN           OK        DAVE1            OPEN        PRIMARY   VALID    10       89902           89902           

[monitor]         2019-10-31 05:44:11: Received message from(DAVE2)
                  WTIME                WSTATUS        INST_OK   INAME            ISTATUS     IMODE     RSTAT    N_OPEN   FLSN            CLSN            
                  2019-10-31 05:44:11  OPEN           OK        DAVE2            OPEN        STANDBY   VALID    10       89902           89902           

show
2019-10-31 05:44:15 
#================================================================================#
GROUP            OGUID       MON_CONFIRM     MODE            MPP_FLAG  
GRP1             453331      TRUE            MANUAL          FALSE     


<<DATABASE GLOBAL INFO:>>
IP              MAL_DW_PORT  WTIME                WTYPE     WCTLSTAT  WSTATUS        INAME            INST_OK   N_EP  N_OK  ISTATUS     IMODE     DSC_STATUS     RTYPE     RSTAT    
192.168.56.161  5239         2019-10-31 05:44:14  GLOBAL    VALID     OPEN           DAVE1            OK        1     1     OPEN        PRIMARY   DSC_OPEN       REALTIME  VALID    

EP INFO:
INST_PORT  INST_OK   INAME            ISTATUS     IMODE     DSC_SEQNO  DSC_CTL_NODE RTYPE     RSTAT    FSEQ            FLSN            CSEQ            CLSN            DW_STAT_FLAG          
5235       OK        DAVE1            OPEN        PRIMARY   0          0            REALTIME  VALID    3682            89902           3682            89902           NONE                  

<<DATABASE GLOBAL INFO:>>
IP              MAL_DW_PORT  WTIME                WTYPE     WCTLSTAT  WSTATUS        INAME            INST_OK   N_EP  N_OK  ISTATUS     IMODE     DSC_STATUS     RTYPE     RSTAT    
192.168.56.162  5239         2019-10-31 05:44:14  GLOBAL    VALID     OPEN           DAVE2            OK        1     1     OPEN        STANDBY   DSC_OPEN       REALTIME  VALID    

EP INFO:
INST_PORT  INST_OK   INAME            ISTATUS     IMODE     DSC_SEQNO  DSC_CTL_NODE RTYPE     RSTAT    FSEQ            FLSN            CSEQ            CLSN            DW_STAT_FLAG          
5235       OK        DAVE2            OPEN        STANDBY   0          0            REALTIME  VALID    3674            89902           3674            89902           NONE                  

DATABASE(DAVE2) APPLY INFO FROM (DAVE1):
DSC_SEQNO[0], (ASEQ, SSEQ, KSEQ)[3682, 3682, 3682], (ALSN, SLSN, KLSN)[89902, 89902, 89902], N_TSK[0], TSK_MEM_USE[0]


#================================================================================#

版权声明:本文为博主原创文章,未经博主允许不得转载。

用户评论
* 以下用户言论只代表其个人观点,不代表CNDBA社区的观点或立场
dave

dave

关注

人的一生应该是这样度过的:当他回首往事的时候,他不会因为虚度年华而悔恨,也不会因为碌碌无为而羞耻;这样,在临死的时候,他就能够说:“我的整个生命和全部精力,都已经献给世界上最壮丽的事业....."

  • 2261
    原创
  • 3
    翻译
  • 578
    转载
  • 191
    评论
  • 访问:7966084次
  • 积分:4346
  • 等级:核心会员
  • 排名:第1名
精华文章
    最新问题
    查看更多+
    热门文章
      热门用户
      推荐用户
        Copyright © 2016 All Rights Reserved. Powered by CNDBA · 皖ICP备2022006297号-1·

        QQ交流群

        注册联系QQ