ITPub博客

首页 > 数据库 > 国内数据库 > 达梦数据守护部署

达梦数据守护部署

原创 国内数据库 作者:gjm008 时间:2021-04-27 17:17:21 0 删除 编辑

[root@dca01 ~]# iptables -F

[root@dca01 ~]# service iptables status

[root@dca01 ~]# chkconfig iptables off

selinux


1、搭建环境

主库

    192.168.56.65 (外部服务)

10.10.10.65   (内部通信)

备库

    192.168.56.66 (外部通信)

10.10.10.66   (内部通信)

监控 10.10.10.66


2、端口规划  

数据库名:DAMENG

        实例名    PORT_NUM    DW_PORT    MAL_HOST        MAL_PORT    MAL_DW_PORT

主库  GRP1_RT_01    5236     5239       192.168.2.28    5237        5238

备库  GRP1_RT_02    5236     5239       192.168.2.38    5237        5238




3、数据准备(主库安装好数据库实例,备库我们要安装好数据库)

在开始布署数据守护系统之前,我们先要准备好主库和备库实例的相关数据,我们将主库的数据备份还原到备机上。

2.3.2.1脱机备份、脱机还原方式

1. 正常关闭主数据库 

2. 进行脱机备份 

./dmrman CTLSTMT="BACKUP DATABASE '/dm8/data/DM01/dm.ini' FULL TO BACKUP_FILE1 BACKUPSET '/dm8/backup/BACKUP_FILE_01'" 


3. 拷贝备份文件到备库所在机器

 scp /dm8/backup/BACKUP_FILE_01/*.*  192.168.56.66:/dm8/backup/BACKUP_FILE_01

4. 在备机上执行脱机数据库还原与恢复 

./dmrman CTLSTMT="RESTORE DATABASE '/dm8/data/DM01/dm.ini' FROM BACKUPSET '/dm8/backup/BACKUP_FILE_01'" 

./dmrman CTLSTMT="RECOVER DATABASE '/dm8/data/DM01/dm.ini' FROM BACKUPSET '/dm8/backup/BACKUP_FILE_01'" 


./dmrman CTLSTMT="RECOVER DATABASE '/dm8/data/DM01/dm.ini' UPDATE DB_MAGIC"


5 配置主库

5.1配置 dm.ini

#实例名,建议使用“组名_守护环境_序号”的命名方式,总长度不能超过 16 

INSTANCE_NAME = dmsvr01 

PORT_NUM = 5236         #数据库实例监听端口 

DW_PORT = 5239          #守护环境下,监听守护进程连接端口

ALTER_MODE_STATUS = 0   #不允许手工方式修改实例模式/状态/OGUID 

ENABLE_OFFLINE_TS = 2   #不允许备库 OFFLINE 表空间 

MAL_INI = 1             #打开 MAL 系统 

ARCH_INI = 1            #打开归档配置 

RLOG_SEND_APPLY_MON = 64 #统计最近 64 次的日志发送信息


5.2配置 dmmal.ini 

MAL_CHECK_INTERVAL = 5 #MAL 链路检测时间间隔 

MAL_CONN_FAIL_INTERVAL = 5 #判定 MAL 链路断开的时间 

[MAL_INST1] 

MAL_INST_NAME = DMSVR01 #实例名,和 dm.ini 中的 INSTANCE_NAME 一致 

MAL_HOST = 10.10.10.65  #MAL 系统监听 TCP 连接的 IP 地址 

MAL_PORT = 5237         #MAL 系统监听 TCP 连接的端口 

MAL_INST_HOST = 192.168.56.65 #实例的对外服务IP地址 

MAL_INST_PORT = 5236    #实例的对外服务端口和dm.ini中的PORT_NUM一致 

MAL_DW_PORT = 5238      #实例本地的守护进程监听 TCP 连接的端口  


[MAL_INST2] 

MAL_INST_NAME = DMSVR02 

MAL_HOST = 10.10.10.66 

MAL_PORT = 5237 

MAL_INST_HOST = 192.168.56.66

MAL_INST_PORT = 5236 

MAL_DW_PORT = 5238




5.3配置 dmarch.ini 

[ARCHIVE_REALTIME] 

ARCH_TYPE = REALTIME #实时归档类型 

ARCH_DEST = DMSVR02 #实时归档目标实例名 

[ARCHIVE_LOCAL1] 

ARCH_TYPE = LOCAL #本地归档类型 

ARCH_DEST = /dm8/archive #本地归档文件存放路径 

ARCH_FILE_SIZE = 128 #单位 Mb,本地单个归档文件最大值 

ARCH_SPACE_LIMIT = 0 #单位 Mb,0 表示无限制,范围 1024~4294967294M


5.4配置 dmwatcher.ini

[GRP1] 

DW_TYPE = GLOBAL #全局守护类型 

DW_MODE = AUTO #自动切换模式 

DW_ERROR_TIME = 10 #远程守护进程故障认定时间 

INST_RECOVER_TIME = 60 #主库守护进程启动恢复的间隔时间 

INST_ERROR_TIME = 10 #本地实例故障认定时间 

INST_OGUID = 453331 #守护系统唯一OGUID 值 

INST_INI = /dm8/data/DM01/dm.ini   #dm.ini配置文件路径 

INST_AUTO_RESTART = 1 #打开实例的自动启动功能 

INST_STARTUP_CMD = /dm8/dmdbms/bin/dmserver #命令行方式启动 

RLOG_SEND_THRESHOLD = 0 #指定主库发送日志到备库的时间阀值,默认关闭 

RLOG_APPLY_THRESHOLD = 0 #指定备库重演日志的时间阀值,默认关闭



5.6启动主库

以mount 方式启动主库 

./dmserver /dm8/data/DM01/dm.ini mount


5.7设置 OGUID 

SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1); 

SQL>sp_set_oguid(453331); 

SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);


5.8修改数据库模式

SQL>alter database primary;



SQL>  select name,status$,mode$,oguid from v$instance;


行号       NAME    STATUS$ MODE$   OGUID      

---------- ------- ------- ------- -----------

1          DMSVR01 MOUNT   PRIMARY 453331





6配置备库


scp  *.ini 192.168.56.66:/dm8/data/DM01/

dmdba@192.168.56.66's password: 

dmarch.ini                                                                                                                            100%  357   247.5KB/s   00:00    

dm.ini                                                                                                                                100%   48KB  11.4MB/s   00:00    

dmmal.ini                                                                                                                             100%  614   346.9KB/s   00:00    

dmwatcher.ini                                                                                                                         100%  555   278.2KB/s   00:00    

sqllog.ini                                                                                                                            100%  479   169.1KB/s   00:00    




6.1配置dm.ini

INSTANCE_NAME = DMSVR02

PORT_NUM = 5236          #数据库实例监听端口

DW_PORT = 5239           #守护环境下,监听守护进程连接端口

DW_ERROR_TIME = 60       #接收守护进程消息超时时间

ALTER_MODE_STATUS = 0    #不允许手工方式修改实例模式/状态

ENABLE_OFFLINE_TS = 2    #不允许备库 OFFLINE 表空间

MAL_INI = 1              #打开 MAL 系统

ARCH_INI = 1             #打开归档配置

RLOG_SEND_APPLY_MON = 64 #统计最近 64 次的日志重演信息


6.2 配置dmmal.ini

$ cat dmmal.ini 

MAL_CHECK_INTERVAL = 5     #MAL 链路检测时间间隔 

MAL_CONN_FAIL_INTERVAL = 5 #判定 MAL 链路断开的时间 


[MAL_INST1] 

MAL_INST_NAME = DMSVR02 #实例名,和 dm.ini 中的 INSTANCE_NAME 一致 

MAL_HOST = 10.10.10.66 #MAL 系统监听 TCP 连接的 IP 地址 

MAL_PORT = 5237 #MAL 系统监听 TCP 连接的端口 

MAL_INST_HOST = 192.168.56.66 #实例的对外服务IP地址 

MAL_INST_PORT = 5236 #实例的对外服务端口和dm.ini中的PORT_NUM一致 

MAL_DW_PORT = 5238 #实例本地的守护进程监听 TCP 连接的端口  


[MAL_INST2] 

MAL_INST_NAME = DMSVR01

MAL_HOST = 10.10.10.65

MAL_PORT = 5237 

MAL_INST_HOST = 192.168.56.65

MAL_INST_PORT = 5236 

MAL_DW_PORT = 5238


6.3 配置 dmarch.ini

[dmdba@dm2 DM01]$ cat dmarch.ini 

[ARCHIVE_REALTIME] 

ARCH_TYPE = REALTIME #实时归档类型 

ARCH_DEST = DMSVR01 #实时归档目标实例名 


[ARCHIVE_LOCAL1]

        ARCH_TYPE            = LOCAL        

        ARCH_DEST            = /dm8/archive        

        ARCH_FILE_SIZE       = 128

        ARCH_SPACE_LIMIT     = 0        

        ARCH_FLUSH_BUF_SIZE  = 0  

6.4配置 dmwatcher.ini

[GRP1] 

DW_TYPE = GLOBAL #全局守护类型 

DW_MODE = AUTO #自动切换模式 

DW_ERROR_TIME = 10 #远程守护进程故障认定时间 

INST_RECOVER_TIME = 60 #主库守护进程启动恢复的间隔时间 

INST_ERROR_TIME = 10 #本地实例故障认定时间 

INST_OGUID = 453331 #守护系统唯一OGUID 值 

INST_INI = /dm8/data/DM01/dm.ini   #dm.ini配置文件路径 

INST_AUTO_RESTART = 1 #打开实例的自动启动功能 

INST_STARTUP_CMD = /dm8/dmdbms/bin/dmserver #命令行方式启动 

RLOG_SEND_THRESHOLD = 0 #指定主库发送日志到备库的时间阀值,默认关闭 

RLOG_APPLY_THRESHOLD = 0 #指定备库重演日志的时间阀值,默认关闭



6.6 以 mount 方式启动备库


./dmserver /dm8/data/DM01/dm.ini mount



6.7 设置 OGUID

/dm8/dmdbms/bin/disql SYSDBA/SYSDBA:5236

sp_set_oguid(453331);


6.8修改数据库模式

SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1); ----第 1 步

SQL>alter database standby; ----第 2 步 

SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0); ----第 3 步




7配置监视器

由于主库和实时备库的守护进程配置为自动切换模式,因此这里选择配置确认监视器。

和普通监视器相比,确认监视器除了相同的命令支持外,在主库发生故障时,能够自动通知

实时备库接管为新的主库,具有自动故障处理的功能

修改 dmmonitor.ini 配置确认监视器,其中 MON_DW_IP 中的 IP 和 PORT 和dmmal.ini 中的 MAL_HOST 和 MAL_DW_PORT 配置项保持一致。


MON_DW_CONFIRM = 1 #确认监视器模式

MON_LOG_PATH = /dm8/data/logs #监视器日志文件存放路径

MON_LOG_INTERVAL = 60 #每隔 60s 定时记录系统信息到日志文件

MON_LOG_FILE_SIZE = 32 #每个日志文件最大 32M

MON_LOG_SPACE_LIMIT = 0 #不限定日志文件总占用空间

[GRP1]

MON_INST_OGUID = 453331 #组 GRP1 的唯一 OGUID 值 #以下配置为监视器到组 GRP1 的守护进程的连接信息,以“IP:PORT”的形式配置

#IP 对应 dmmal.ini 中的 MAL_HOST,PORT 对应 dmmal.ini 中的 MAL_DW_PORT

MON_DW_IP = 10.10.10.65:5238

MON_DW_IP = 10.10.10.66:5238


8、启动守护进程(主备机)

/dm8/dmdbms/bin/dmwatcher /dm8/data/DM01/dmwatcher.ini


9、启动监视器

/dm8/dmdbms/bin/dmmonitor /dm8/data/DM01/dmmonitor.ini 



查看 状态:

show

2021-04-22 15:08:06 

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

GROUP            OGUID       MON_CONFIRM     MODE            MPP_FLAG  

GRP1             453331      TRUE            AUTO            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    

10.10.10.65     5238         2021-04-22 15:08:05  GLOBAL    VALID     OPEN           DMSVR01          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          

5236       OK        DMSVR01          OPEN        PRIMARY   0          0            REALTIME  VALID    13960           138104          13960           138104          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    

10.10.10.66     5238         2021-04-22 15:08:05  GLOBAL    VALID     OPEN           DMSVR02          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          

5236       OK        DMSVR02          OPEN        STANDBY   0          0            REALTIME  INVALID  13949           135754          13949           135754          NONE                  


DATABASE(DMSVR02) APPLY INFO FROM (DMSVR01):

DSC_SEQNO[0], (ASEQ, SSEQ, KSEQ)[13949, 13949, 13949], (ALSN, SLSN, KLSN)[135754, 135754, 135754], N_TSK[0], TSK_MEM_USE[0]



主备库实例:


SQL>  select name,status$,mode$,oguid from v$instance;


行号       NAME    STATUS$ MODE$   OGUID      

---------- ------- ------- ------- -----------

1          DMSVR01 OPEN    PRIMARY 453331



SQL>  select name,status$,mode$,oguid from v$instance;


LINEID     NAME    STATUS$ MODE$   OGUID      

---------- ------- ------- ------- -----------

1          DMSVR02 OPEN    STANDBY 453331




切换 操作:


-1. 登录监视器 

login

用户名:sysdba

密码:

[monitor]         2021-04-22 15:44:44: 登录监视器成功!


-2. switchover切换 


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/16486600/viewspace-2770187/,如需转载,请注明出处,否则将追究法律责任。

下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2008-12-25

  • 博文量
    43
  • 访问量
    190899