达梦数据库主备模式搭建

目录

1.1 主备库节点初始化实例

1.2 使用主库备份还原备库

​​​​​​​1.3 启动主备库到mount,检查FILE_LSN 和CUR_LSN 及永久魔数主备是否一致

​​​​​​​1.4 修改dm.ini参数(主备)

​​​​​​​1.5 配置dmmal.ini文件(主备)

​​​​​​​1.6 配置归档dmarch.ini文件

​​​​​​​1.7 配置dmwatcher.ini(主备)

​​​​​​​1.8 设置 OGUID (主备)

​​​​​​​1.9 修改数据库模式

​​​​​​​1.10 启动守护进程(主备)

​​​​​​​1.11 每个节点都配置普通监视器

​​​​​​​1.12 注册服务

1.12.1注册数据库服务

1.12.2注册守护进程服务

1.12.3注册监视器服务

​​​​​​​1.13 配置dm_svc.conf


​​​​​​​

达梦数据守护系统包含诸多部件,需要在多个节点部署;部署过程包括数据准备、配置文件修改,数据一致性确认等多个步骤。本例为2节点全新实时主备(手动切换)环境搭建过程。

主备信息:

主备角色

服务ip

心跳ip

实例名

实例端口

主库

192.168.204.128

 

192.168.204.128

DM1

5236

备库

192.168.204.130

 

192.168.204.130

 

DM2

5236

 

 

​​​​​​​1.1 主备库节点初始化实例

本例只指定数据库存放路径,页大小为16k,重做日志大小2048,字符集UTF-8,字符串比较时,结尾空格填充模式兼容。其他参数为默认参数。​​​​​​​

1.2 使用主库备份还原备库

关闭主库

[dmdba@DM1 bin]$ cd /home/dbdba/dmdbms/bin

[dmdba@DM1 bin]$ ./DmServiceDM1 stop

 

备份主库

RMAN> BACKUP DATABASE '/opt/dmdbms/DAMENG/dm.ini' full backupset '/normal_bak/db_full_bak_01';

BACKUP DATABASE '/opt/dmdbms/DAMENG/dm.ini' full backupset '/normal_bak/db_full_bak_01';

file dm.key not found, use default license!

Database mode = 1, oguid = 453331

Normal of FAST

Normal of DEFAULT

Normal of RECYCLE

Normal of KEEP

Normal of ROLL

begin redo pwr log collect, last ckpt lsn: 26255 ...

redo pwr log collect finished

EP[0]'s cur_lsn[26255], file_lsn[26255]

Processing backupset /normal_bak/db_full_bak_01

[Percent:100.00%][Speed:0.00M/s][Cost:00:00:02][Remaining:00:00:00]                                 

backup successfully!

time used: 00:00:04.885

[dmdba@DM1 normal_bak]$ scp -r db_full_bak_01/ 192.168.204.130:/normal_bak

dmdba@192.168.204.130's password:

db_full_bak_01.meta                                                                                                     100%   81KB  80.5KB/s   00:00    

db_full_bak_01.bak  

 

RMAN> restore database '/opt/dmdbms/DAMENG/dm.ini' from backupset '/normal_bak/db_full_bak_01';

restore database '/opt/dmdbms/DAMENG/dm.ini' from backupset '/normal_bak/db_full_bak_01';

file dm.key not found, use default license!

[Percent:0.00%][Speed:0.00M/s][Cost:00:00:00][Remaining:00:00:00]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:01][Remaining:00:00:00]                                 

restore successfully.

time used: 00:00:01.431

RMAN> recover database '/opt/dmdbms/DAMENG/dm.ini' from backupset '/normal_bak/db_full_bak_01';

recover database '/opt/dmdbms/DAMENG/dm.ini' from backupset '/normal_bak/db_full_bak_01';

Database mode = 1, oguid = 453331

Normal of FAST

Normal of DEFAULT

Normal of RECYCLE

Normal of KEEP

Normal of ROLL

EP[0]'s cur_lsn[26255], file_lsn[26255]

no log generates while the backupset [/normal_bak/db_full_bak_01] created

recover successfully!

time used: 315.652(ms)

RMAN> recover database '/opt/dmdbms/DAMENG/dm.ini' update db_magic;

recover database '/opt/dmdbms/DAMENG/dm.ini' update db_magic;

Database mode = 1, oguid = 453331

Normal of FAST

Normal of DEFAULT

Normal of RECYCLE

Normal of KEEP

Normal of ROLL

EP[0]'s cur_lsn[26255], file_lsn[26255]

recover successfully!

time used: 00:00:01.013     

 

​​​​​​​1.3 启动主备库到mount,检查FILE_LSN 和CUR_LSN 及永久魔数主备是否一致

​​​​​​​1.4 修改dm.ini参数主备

[dmdba@localhost DAMENG]$ vi dm.ini

 

 

NSTANCE_NAME=DM0 #DM1为主库实例名,备库为DM2       

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

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

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

MAL_INI     = 1  #打开 MAL 系统                           

ARCH_INI    = 1  #打开归档配置                             

​​​​​​​1.5 配置dmmal.ini文件主备

[dmdba@localhost DAMENG]$ vi dmmal.ini

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

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

[MAL_INST1]

 MAL_INST_NAME = DM1 #实例名

MAL_HOST = 192.168.204.128 #MAL 系统监听 TCP 连接的私网 IP 地址

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

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

MAL_INST_PORT = 5236 #实例的对外服务端口

MAL_DW_PORT = 52141 #实例对应的守护进程监听 TCP 连接的端口

[MAL_INST2]

MAL_INST_NAME = DM2

MAL_HOST = 192.168.204.130

MAL_PORT = 61142

MAL_INST_HOST = 192.168.204.130

MAL_INST_PORT = 5236

MAL_DW_PORT = 52142

​​​​​​​1.6 配置归档dmarch.ini文件

主库上添加内容(DM1实例):

[ARCHIVE_REALTIME]

 ARCH_TYPE = REALTIME #实时归档类型

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

[ARCHIVE_LOCAL1]

ARCH_TYPE = LOCAL #本地归档类型

ARCH_DEST = /opt/dmdbms/DAMENG/arch #本地归档文件存放路径

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

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

备库上添加内容(DM2实例):

[dmdba@localhost DAMENG]$ vi dmarch.ini

[ARCHIVE_REALTIME]

ARCH_TYPE = REALTIME   #实时归档类型

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

[ARCHIVE_LOCAL1]

ARCH_TYPE = LOCAL     #本地归档类型 

ARCH_DEST = /opt/dmdbms/DAMENG/arch   #本地归档文件存放路径 

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

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

​​​​​​​1.7 配置dmwatcher.ini(主备)

[root@DM1 DAMENG]# vi dmwatcher.ini

[GRP1]

DW_TYPE = GLOBAL #全局守护类型

DW_MODE = MANUAL #手动切换模式,设为 AUTO 则为自动切换

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

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

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

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

INST_INI = /opt/dmdbms/DAMENG/dm.ini #dm.ini 配置文件 路径

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

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

 

​​​​​​​1.8 设置 OGUID (主备)

SQL> sp_set_oguid(453331);

​​​​​​​1.9 修改数据库模式

SQL> alter database primary;  --主库

SQL> alter database standby;  --备库

​​​​​​​1.10 启动守护进程(主备)

./dmwatcher /opt/dmdbms/DAMENG/dmwatcher.ini

 

​​​​​​​1.11 每个节点都配置普通监视器

由于主库和实时备库的守护进程配置为手动切换模式,因此这里选择配置普

通监视器。编辑 dmmonitor.ini 配置普通监视器,其中 MON_DW_IP 中的 IP 和

PORT 和 dmmal.ini 中的 MAL_HOST 和 MAL_DW_PORT 配置项保持一致。

 

MON_DW_Confirm = 0 #普通监视器模式

MON_LOG_PATH = /dmdata/log #监视器日志文件存放路径

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 = 192.168.204.128:52141

MON_DW_IP = 192.168.204.130:52142

[root@DM1 bin]# ./dmmonitor /home/dbdba/dmdbms/bin/dmmonitor.ini

[monitor]         2021-05-10 15:04:53: DMMONITOR[4.0] V8

[monitor]         2021-05-10 15:04:53: DMMONITOR[4.0] IS READY.

 

[monitor]         2021-05-10 15:04:53: Received message from(DM1)

                  WTIME                WSTATUS        INST_OK   INAME            ISTATUS     IMODE     RSTAT    N_OPEN   FLSN            CLSN            

                  2021-05-10 15:04:53  STARTUP        OK        DM1              MOUNT       PRIMARY   VALID    2        26255           26255   

 

​​​​​​​1.12 注册服务

1.12.1注册数据库服务

主库:

[root@DM1 dmdata]# cd /home/dbdba/dmdbms/script/root/

[root@DM1 root]# ./dm_service_installer.sh -t dmserver -dm_ini /opt/dmdbms/DAMENG/dm.ini -m mount -p DM01

Move the service script file(/home/dbdba/dmdbms/bin/DmServiceDM01 to /etc/rc.d/init.d/DmServiceDM01)

Finished to create the service (DmServiceDM01)

库:

[root@localhost ~]# cd /home/dmdba/dmdbms/script/root/

[root@localhost root]# ./dm_service_installer.sh -t dmserver -dm_ini /opt/dmdbms/DAMENG/dm.ini -m mount -p DM02

Move the service script file(/home/dmdba/dmdbms/bin/DmServiceDM02 to /etc/rc.d/init.d/DmServiceDM02)

Finished to create the service (DmServiceDM02)

1.12.2注册守护进程服务

主库:

[root@DM1 root]# ./dm_service_installer.sh -t dmwatcher -watcher_ini /opt/dmdbms/DAMENG/dmwatcher.ini -p DMW1

Move the service script file(/home/dbdba/dmdbms/bin/DmWatcherServiceDMW1 to /etc/rc.d/init.d/DmWatcherServiceDMW1)

Finished to create the service (DmWatcherServiceDMW1)

 

库:

[root@localhost root]# ./dm_service_installer.sh -t dmwatcher -watcher_ini /opt/dmdbms/DAMENG/dmwatcher.ini -p DMW2

Move the service script file(/home/dmdba/dmdbms/bin/DmWatcherServiceDMW2 to /etc/rc.d/init.d/DmWatcherServiceDMW2)

Finished to create the service (DmWatcherServiceDMW2)

 

1.12.3注册监视器服务

主库:

[root@DM1 root]# ./dm_service_installer.sh -t dmmonitor -monitor_ini /opt/dmdbms/DAMENG/dmmonitor.ini -p DMM1

Move the service script file(/home/dbdba/dmdbms/bin/DmMonitorServiceDMM1 to /etc/rc.d/init.d/DmMonitorServiceDMM1)

Finished to create the service (DmMonitorServiceDMM1)

 

​​​​​​​1.13 配置dm_svc.conf

 

在/etc 目录下会自动生成集群的dm_svc.conf配置文件,请自行复制它到客户端机器的相关目录下:

dm_svc.conf配置文件,Windows平台下位于%SystemRoot%\system32目录,Linux平台下位于/etc目录。

TIME_ZONE=(+8:00)

LANGUAGE=(en)

DM_DW=(192.168.204.128:5236,192.168.204.130:5236)

 

[DM_DW]

LOGIN_MODE=(1)

SWITCH_TIME=2000

SWITCH_INTERVAL=10

 

 

此处需要注意将服务名(红色字体部分)改为:DM_DW 或自己需要的。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值