注册
达梦8DSC集群搭建单节点备库
技术分享/ 文章详情 /

达梦8DSC集群搭建单节点备库

丁丁 2023/03/01 1373 0 0

1.环境规划

DSC环境两节点分别是:
DSC1:
业务IP:192.168.1.110
私网IP:10.0.0.1
DSC2:
业务IP:192.168.1.111
私网IP:10.0.0.2
备库:
业务IP:192.168.1.115
私网IP:10.0.0.115
监视器:
业务IP:192.168.1.225
私网IP:10.0.0.3

2.DSC集群备份

#启动 dmrman
./dmrman use_ap=2  dcr_ini=/home/dmdba/dmdbms/dsc_config/dmdcr.ini
#脱机备份 DMDSC 集群
backup database '/home/dmdba/dmdbms/dmdata/dsc01/dm.ini' FULL BACKUPSET '/home/dmdba/db_full_for_dsc';

#DSC备份传输到备库
$ scp -r db_full_for_dsc/ 192.168.1.115:/home/dmdba/

3.备库初始化后还原

#### 初始化备库
./dminit path=/home/dmdba/dmdbms/data
###  使用 DMDSC库的备份集还原恢复到单节点备库
./dmrman CTLSTMT="RESTORE DATABASE '/home/dmdba/dmdbms/data/DAMENG/dm.ini' FROM BACKUPSET '/home/dmdba/db_full_for_dsc'" 
./dmrman CTLSTMT="RECOVER DATABASE '/home/dmdba/dmdbms/data/DAMENG/dm.ini' FROM BACKUPSET '/home/dmdba/db_full_for_dsc'"  
./dmrman CTLSTMT="RECOVER DATABASE '/home/dmdba/dmdbms/data/DAMENG/dm.ini' UPDATE DB_MAGIC"

4.修改主库、备库参数文件

DSC1的dm.ini
----------
INSTANCE_NAME = DSC1 
PORT_NUM = 5236
DW_INACTIVE_INTERVAL = 60 
ALTER_MODE_STATUS = 0 
ENABLE_OFFLINE_TS = 2 
MAL_INI = 1
ARCH_INI = 1
RLOG_SEND_APPLY_MON = 64
DSC2的dm.ini
----------
INSTANCE_NAME = DSC2
PORT_NUM = 5236
DW_INACTIVE_INTERVAL = 60 
ALTER_MODE_STATUS = 0 
ENABLE_OFFLINE_TS = 2 
MAL_INI = 1
ARCH_INI = 1
RLOG_SEND_APPLY_MON = 64
备库的dm.ini
----------
INSTANCE_NAME = GRP1_RT_1
PORT_NUM = 5236
DW_INACTIVE_INTERVAL = 60 
ALTER_MODE_STATUS = 0 
ENABLE_OFFLINE_TS = 2 
MAL_INI = 1
ARCH_INI = 1
RLOG_SEND_APPLY_MON = 64
编写主库的dmmal.ini添加备库配置项,完成后拷贝到DSC2和备库即可
--------------------------------------------------
MAL_CHECK_INTERVAL = 30
MAL_CONN_FAIL_INTERVAL = 10
[MAL_INST1] 
MAL_INST_NAME = DSC1 
MAL_HOST = 10.0.0.1
MAL_PORT = 7237
MAL_INST_HOST = 192.168.1.110
MAL_INST_PORT = 5236
MAL_DW_PORT = 65101
MAL_INST_DW_PORT = 45101
[MAL_INST2] 
MAL_INST_NAME = DSC2 
MAL_HOST = 10.0.0.2
MAL_PORT = 7237 
MAL_INST_HOST = 192.168.1.111
MAL_INST_PORT = 5236
MAL_DW_PORT = 65101 
MAL_INST_DW_PORT = 45101
[MAL_INST3] 
MAL_INST_NAME = GRP1_RT_1 
MAL_HOST = 10.0.0.115
MAL_PORT = 7237 
MAL_INST_HOST = 192.168.1.115
MAL_INST_PORT = 5236
MAL_DW_PORT = 65101 
MAL_INST_DW_PORT = 45101
DSC1的dmarch.ini   #DSC环境配置主备必须配置远程归档
--------------------------------
ARCH_LOCAL_SHARE  = 1
[ARCHIVE_REALTIME]
        ARCH_TYPE = REALTIME
        ARCH_DEST = GRP1_RT_1
[ARCHIVE_LOCAL1]
        ARCH_TYPE            = LOCAL        
        ARCH_DEST            = +DMDATA/archlog1
        ARCH_FILE_SIZE       = 128        
        ARCH_SPACE_LIMIT     = 4096        
[ARCHIVE_REMOTE]
        ARCH_TYPE            = REMOTE
        ARCH_DEST            = DSC2
        ARCH_FILE_SIZE       = 128
        ARCH_SPACE_LIMIT     = 4096
        ARCH_INCOMING_PATH   = +DMDATA/archlog2
DSC2的dmarch.ini
--------------------------------
ARCH_LOCAL_SHARE  = 1
[ARCHIVE_REALTIME]
        ARCH_TYPE = REALTIME
        ARCH_DEST = GRP1_RT_1
[ARCHIVE_LOCAL1]
        ARCH_TYPE            = LOCAL        
        ARCH_DEST            = +DMDATA/archlog2
        ARCH_FILE_SIZE       = 128        
        ARCH_SPACE_LIMIT     = 4096        
[ARCHIVE_REMOTE]
        ARCH_TYPE            = REMOTE
        ARCH_DEST            = DSC2
        ARCH_FILE_SIZE       = 128
        ARCH_SPACE_LIMIT     = 4096
        ARCH_INCOMING_PATH   = +DMDATA/archlog1
备库的dmarch.ini
--------------------------------
[ARCHIVE_REALTIME]
        ARCH_TYPE = REALTIME
        ARCH_DEST = DSC1/DSC2
[ARCHIVE_LOCAL1]
        ARCH_TYPE            = LOCAL
        ARCH_DEST            = /home/dmdba/dmdbms/data/DAMENG/archlog
        ARCH_FILE_SIZE       = 128
        ARCH_SPACE_LIMIT     = 4096
        ARCH_FLUSH_BUF_SIZE  = 0
        ARCH_HANG_FLAG       = 1
DSC1的dmwatcher.ini
--------------------------------
[GRP1] 
DW_TYPE = GLOBAL
DW_MODE = MANUAL 
DW_ERROR_TIME = 60 
INST_RECOVER_TIME = 60 
INST_ERROR_TIME = 10 
INST_OGUID = 453331 
INST_INI = /home/dmdba/dmdbms/dmdata/dsc01/dm.ini
DCR_INI =  /home/dmdba/dmdbms/dsc_config/dmdcr.ini
INST_AUTO_RESTART = 1
INST_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver
RLOG_SEND_THRESHOLD = 0  
RLOG_APPLY_THRESHOLD = 0
DSC2的dmwatcher.ini
--------------------------------
[GRP1] 
DW_TYPE = GLOBAL
DW_MODE = MANUAL 
DW_ERROR_TIME = 60 
INST_RECOVER_TIME = 60 
INST_ERROR_TIME = 10 
INST_OGUID = 453331 
INST_INI = /home/dmdba/dmdbms/dmdata/dsc02/dm.ini
DCR_INI =  /home/dmdba/dmdbms/dsc_config/dmdcr.ini
INST_AUTO_RESTART = 1
INST_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver
RLOG_SEND_THRESHOLD = 0  
RLOG_APPLY_THRESHOLD = 0
备库的dmwatcher.ini
--------------------------------
[GRP1] 
DW_TYPE = GLOBAL
DW_MODE = MANUAL 
DW_ERROR_TIME = 60 
INST_RECOVER_TIME = 60 
INST_ERROR_TIME = 10 
INST_OGUID = 453331 
INST_INI = /home/dmdba/dmdbms/data/DAMENG/dm.ini
INST_AUTO_RESTART = 1
INST_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver
RLOG_SEND_THRESHOLD = 0  
RLOG_APPLY_THRESHOLD = 0
监控的dmmonitor.ini
MON_DW_CONFIRM = 0
MON_LOG_PATH = /dm8/dbms/log 
MON_LOG_INTERVAL = 60 
MON_LOG_FILE_SIZE = 32 
MON_LOG_SPACE_LIMIT = 0 
[GRP1] 
MON_INST_OGUID = 453331  
MON_DW_IP = 10.0.0.1:65101/10.0.0.2:65101
MON_DW_IP = 10.0.0.115:65101

5.mount方式启动主备库

DSC1:
./dmserver  /home/dmdba/dmdbms/dmdata/dsc01/dm.ini  DCR_INI=/home/dmdba/dmdbms/dsc_config/dmdcr.ini mount
DSC2:
./dmserver  /home/dmdba/dmdbms/dmdata/dsc02/dm.ini  DCR_INI=/home/dmdba/dmdbms/dsc_config/dmdcr.ini mount
备库:
./dmserver  /home/dmdba/dmdbms/data/DAMENG/dm.ini    mount

6.主库DISQL登录配置

SQL> SP_SET_PARA_VALUE(1,'ALTER_MODE_STATUS',1);
SQL> sp_set_oguid(453331); 
SQL> alter database primary;
SQL> SP_SET_PARA_VALUE(1,'ALTER_MODE_STATUS',0);

6.备库DISQL登录配置

SQL>SP_SET_PARA_VALUE(1,'ALTER_MODE_STATUS',1);
SQL>sp_set_oguid(453331);
SQL>alter database standby; 
SQL>SP_SET_PARA_VALUE(1,'ALTER_MODE_STATUS',0); 

7.启动数据守护

启动 DMDSC 主库的所有守护进程
./dmwatcher /home/dmdba/dmdbms/dmdata/dsc01/dmwatcher.ini
./dmwatcher /home/dmdba/dmdbms/dmdata/dsc02/dmwatcher.ini

启动备库的守护进程:
./dmwatcher /home/dmdba/dmdbms/data/DAMENG/dmwatcher.ini

8.启动监视器

./dmmonitor /home/dmdba/dmmonitor.ini 
[monitor]         2023-03-01 17:11:43: DMMONITOR[4.0] V8
[monitor]         2023-03-01 17:11:43: DMMONITOR[4.0] IS READY.

[monitor]         2023-03-01 17:11:43: 收到守护进程(DSC1)消息
                  WTIME                WSTATUS        INST_OK   INAME            ISTATUS     IMODE     RSTAT    N_OPEN   FLSN            CLSN            
                  2023-03-01 17:11:43  RECOVERY       OK        DSC1             OPEN        PRIMARY   VALID    17       174315          174315          

[monitor]         2023-03-01 17:11:43: 收到守护进程(DSC2)消息
                  WTIME                WSTATUS        INST_OK   INAME            ISTATUS     IMODE     RSTAT    N_OPEN   FLSN            CLSN            
                  2023-03-01 17:11:43  STARTUP        OK        DSC1             OPEN        PRIMARY   VALID    17       174315          174315          

[monitor]         2023-03-01 17:11:43: 收到守护进程(GRP1_RT_1)消息
                  WTIME                WSTATUS        INST_OK   INAME            ISTATUS     IMODE     RSTAT    N_OPEN   FLSN            CLSN            
                  2023-03-01 17:11:43  OPEN           OK        GRP1_RT_1        OPEN        STANDBY   INVALID  17       174313          174313          

[monitor]         2023-03-01 17:11:51: 守护进程(DSC1)状态切换 [RECOVERY-->OPEN]
                  WTIME                WSTATUS        INST_OK   INAME            ISTATUS     IMODE     RSTAT    N_OPEN   FLSN            CLSN            
                  2023-03-01 17:11:51  OPEN           OK        DSC1             OPEN        PRIMARY   VALID    17       174316          174317      

9.检查主备关系或状态

监视器查看:
image.png
查看DSC集群状态:
image.png
登录主库DSC1:
image.png
登录主库DSC2:
image.png
登录备库:
image.png

10.登录监视器进行主备库切换

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

login
用户名:SYSDBA
密码:
[monitor]         2023-03-01 18:09:20: 登录监视器成功!

SHOW GLOBAL INFO
2023-03-01 18:09:27 
#================================================================================#
GROUP            OGUID       MON_CONFIRM     MODE            MPP_FLAG  
GRP1             453331      FALSE           MANUAL          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    
10.0.0.1            65101        2023-03-01 18:09:26  GLOBAL    VALID     OPEN           DSC1             OK        2     2     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    
10.0.0.115          65101        2023-03-01 18:09:26  GLOBAL    VALID     OPEN           GRP1_RT_1        OK        1     1     OPEN        STANDBY   DSC_OPEN       REALTIME  VALID    


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

switchover
[monitor]         2023-03-01 18:09:37: 开始切换实例GRP1_RT_1
[monitor]         2023-03-01 18:09:37: 通知守护进程DSC1切换SWITCHOVER状态
[monitor]         2023-03-01 18:09:38: 守护进程(DSC1)状态切换 [OPEN-->SWITCHOVER]
[monitor]         2023-03-01 18:09:39: 切换守护进程DSC1为SWITCHOVER状态成功
[monitor]         2023-03-01 18:09:39: 通知守护进程GRP1_RT_1切换SWITCHOVER状态
[monitor]         2023-03-01 18:09:39: 守护进程(GRP1_RT_1)状态切换 [OPEN-->SWITCHOVER]
[monitor]         2023-03-01 18:09:40: 切换守护进程GRP1_RT_1为SWITCHOVER状态成功
[monitor]         2023-03-01 18:09:40: 实例DSC1开始执行SP_SET_GLOBAL_DW_STATUS(0, 6)语句
[monitor]         2023-03-01 18:09:40: 实例DSC1执行SP_SET_GLOBAL_DW_STATUS(0, 6)语句成功
[monitor]         2023-03-01 18:09:40: 实例GRP1_RT_1开始执行SP_SET_GLOBAL_DW_STATUS(0, 6)语句
[monitor]         2023-03-01 18:09:40: 实例GRP1_RT_1执行SP_SET_GLOBAL_DW_STATUS(0, 6)语句成功
[monitor]         2023-03-01 18:09:40: 实例DSC1开始执行ALTER DATABASE MOUNT语句
[monitor]         2023-03-01 18:09:40: 实例DSC1执行ALTER DATABASE MOUNT语句成功
[monitor]         2023-03-01 18:09:40: 实例GRP1_RT_1开始执行SP_APPLY_KEEP_PKG()语句
[monitor]         2023-03-01 18:09:40: 实例GRP1_RT_1执行SP_APPLY_KEEP_PKG()语句成功
[monitor]         2023-03-01 18:09:40: 实例GRP1_RT_1开始执行ALTER DATABASE MOUNT语句
[monitor]         2023-03-01 18:09:40: 实例GRP1_RT_1执行ALTER DATABASE MOUNT语句成功
[monitor]         2023-03-01 18:09:40: 实例DSC1开始执行ALTER DATABASE STANDBY语句
[monitor]         2023-03-01 18:09:41: 实例DSC1执行ALTER DATABASE STANDBY语句成功
[monitor]         2023-03-01 18:09:41: 实例GRP1_RT_1开始执行ALTER DATABASE PRIMARY语句
[monitor]         2023-03-01 18:09:41: 实例GRP1_RT_1执行ALTER DATABASE PRIMARY语句成功
[monitor]         2023-03-01 18:09:41: 通知实例GRP1_RT_1修改所有归档状态无效
[monitor]         2023-03-01 18:09:41: 修改所有实例归档为无效状态成功
[monitor]         2023-03-01 18:09:41: 实例DSC1开始执行ALTER DATABASE OPEN FORCE语句
[monitor]         2023-03-01 18:09:41: 实例DSC1执行ALTER DATABASE OPEN FORCE语句成功
[monitor]         2023-03-01 18:09:41: 实例GRP1_RT_1开始执行ALTER DATABASE OPEN FORCE语句
[monitor]         2023-03-01 18:09:41: 实例GRP1_RT_1执行ALTER DATABASE OPEN FORCE语句成功
[monitor]         2023-03-01 18:09:41: 实例DSC1开始执行SP_SET_GLOBAL_DW_STATUS(6, 0)语句
[monitor]         2023-03-01 18:09:42: 实例DSC1执行SP_SET_GLOBAL_DW_STATUS(6, 0)语句成功
[monitor]         2023-03-01 18:09:42: 实例GRP1_RT_1开始执行SP_SET_GLOBAL_DW_STATUS(6, 0)语句
[monitor]         2023-03-01 18:09:42: 实例GRP1_RT_1执行SP_SET_GLOBAL_DW_STATUS(6, 0)语句成功
[monitor]         2023-03-01 18:09:42: 通知守护进程DSC1切换OPEN状态
[monitor]         2023-03-01 18:09:42: 守护进程(DSC1)状态切换 [SWITCHOVER-->OPEN]
[monitor]         2023-03-01 18:09:43: 切换守护进程DSC1为OPEN状态成功
[monitor]         2023-03-01 18:09:43: 通知守护进程GRP1_RT_1切换OPEN状态
[monitor]         2023-03-01 18:09:43: 守护进程(GRP1_RT_1)状态切换 [SWITCHOVER-->OPEN]
[monitor]         2023-03-01 18:09:44: 切换守护进程GRP1_RT_1为OPEN状态成功
[monitor]         2023-03-01 18:09:44: 通知组(GRP1)的守护进程执行清理操作
[monitor]         2023-03-01 18:09:44: 清理守护进程(DSC1)请求成功
[monitor]         2023-03-01 18:09:44: 清理守护进程(GRP1_RT_1)请求成功
[monitor]         2023-03-01 18:09:44: 实例GRP1_RT_1切换成功

2023-03-01 18:09:44 
#================================================================================#
GROUP            OGUID       MON_CONFIRM     MODE            MPP_FLAG  
GRP1             453331      FALSE           MANUAL          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    
10.0.0.115          65101        2023-03-01 18:09:44  GLOBAL    VALID     OPEN           GRP1_RT_1        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.1.115       5236       OK        GRP1_RT_1        OPEN        PRIMARY   0          0            REALTIME  VALID    73981           176854          73981           176854          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    
10.0.0.1            65101        2023-03-01 18:09:44  GLOBAL    VALID     OPEN           DSC1             OK        2     2     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.1.110       5236       OK        DSC1             OPEN        STANDBY   0          0            REALTIME  INVALID  73978           175478          73978           175478          NONE                  
192.168.1.111       5236       OK        DSC2             OPEN        STANDBY   1          0            REALTIME  INVALID  74128           175478          74128           175478          NONE                  

DATABASE(DSC1) APPLY INFO FROM (GRP1_RT_1), REDOS_PARALLEL_NUM (1):
DSC_SEQNO[0], (RSEQ, SSEQ, KSEQ)[73978, 73978, 73978], (RLSN, SLSN, KLSN)[175477, 175477, 175477], N_TSK[0], TSK_MEM_USE[0] 
REDO_LSN_ARR: (175477)

DSC_SEQNO[1], (RSEQ, SSEQ, KSEQ)[74128, 74128, 74128], (RLSN, SLSN, KLSN)[175478, 175478, 175478], N_TSK[0], TSK_MEM_USE[0] 
REDO_LSN_ARR: (175478)


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

[monitor]         2023-03-01 18:09:46: 守护进程(GRP1_RT_1)状态切换 [OPEN-->RECOVERY]
                  WTIME                WSTATUS        INST_OK   INAME            ISTATUS     IMODE     RSTAT    N_OPEN   FLSN            CLSN            
                  2023-03-01 18:09:46  RECOVERY       OK        GRP1_RT_1        OPEN        PRIMARY   VALID    18       176854          176855          

[monitor]         2023-03-01 18:09:51: 守护进程(GRP1_RT_1)状态切换 [RECOVERY-->OPEN]
                  WTIME                WSTATUS        INST_OK   INAME            ISTATUS     IMODE     RSTAT    N_OPEN   FLSN            CLSN            
                  2023-03-01 18:09:51  OPEN           OK        GRP1_RT_1        OPEN        PRIMARY   VALID    18       176856          176856          

再次检查主备库状态
监视器检查:
image.png
主库DSC1查看:主备库模式已变化
image.png
主库DSC2查看:主备库模式已变化
image.png

备库查看:
image.png

至此DSC集群搭建单机备库操作分享演示完毕。

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服