搭建达梦主备数据库

目录

一、 应用部署规划 3

二、 主库安装达梦数据库软件 3

1. 建达梦用户和组 3

2. 设置文件数 3

3. 上传达梦安装文件 4

4. 将达梦镜像文件mount到/mnt 4

5. 图形化界面安装达梦数据库 4

6. 达梦数据库软件安装完后配置dmdba用户的环境变量 11

三、 主库初始化数据库实例 11

1. 打开‘达梦数据库配置助手’ 11

四、 停主库服务,完备主库 19

1. 停掉主库达梦数据库服务 19

2. 启动console做脱机备份 19

五、 备库安装达梦数据库软件 21

1. 建达梦用户和组 21

2. 设置文件数 21

3. 上传达梦安装文件 22

4. 将达梦镜像文件mount到/mnt 22

5. 图形化界面安装达梦数据库 22

6. 达梦数据库软件安装完后配置dmdba用户的环境变量 29

六、 将主库完备拷贝到备库并导入 29

1. 备库建数据库目录、bak以及ctl_bak目录 29

2. 将主库的完备目录拷贝到备库 30

3. 启动备库的console,将主库的备份导进来 30

七、 在主库配置dm.ini、dmmal.ini、dmwatcher.ini、dmarch.ini并拷贝到备库 36

1. 配置dm.ini 36

2. 配置dmarch.ini 36

3. 配置dmmal.ini 37

4. 配置dmwatcher.ini 37

5. 配置dmmonitor.ini 38

6. 主库的ini文件拷贝到备库 38

八、 修改备库的dm.ini、dmmal.ini、dmwatcher.ini、dmarch.ini 38

1. 修改dm.ini 38

2. 修改dmarch.ini 39

3. 修改dmmal.ini 39

4. 修改dmwatcher.ini 40

九、 为备库创建数据库启动服务 40

十、 主库启动到mount状态,设置oguid和主库模式 41

十一、 备库启动到mount状态,设置oguid和备库模式 42

十二、 主库和备库分别启动守护进程 43

1. 创建主库的守护进程系统服务并启动 43

2. 创建主库的守护进程系统服务并启动 43

十三、 主库启动monitor服务 43

十四、 测试主库数据同步到备库 44

1. 在主库建表插入数据 44

2. 在备库查表和数据是否有同步过来 45

应用部署规划

IP地址

主机名

说明

192.168.102.70

nfs

  1. 达梦主库

数据库名:DM01

数据库实例名:DMSVR01

2、dmwatcher服务

3、dmmonitor服务

192.168.102.20

was123

  1. 达梦备库

数据库名:DM01

数据库实例名:DMSVR02

2、dmwatcher服务

主库安装达梦数据库软件

建达梦用户和组

[root@nfs ~]# groupadd dinstall

[root@nfs ~]# adduser dmdba –g dinstall

设置文件数

[root@nfs ~]# vi /etc/security/limits.conf

dmdba soft 65536

dmdba hard 65536

上传达梦安装文件

将达梦镜像文件mount到/mnt

[root@nfs ~]# mount /home/dmdba/dm8_setup_rh7_64_ent_8.1.1.88_20200629.iso /mnt

图形化界面安装达梦数据库

[dmdba@nfs ~]$ cd /mnt

[dmdba@nfs mnt]$ ./DMInstall.bin

点击‘确定’

点击‘下一步’

选择‘接受’,点击‘下一步’

点击‘下一步’

点击‘下一步’

选择安装目录,并点击‘下一步’

点击‘安装’

新开一个终端,以root身份登录然后执行上面脚本,然后点击‘确定’

[root@nfs ~]# /home/dmdba/dmdbms/script/root/root_installer.sh

点击‘完成’,至此完成达梦数据库软件的安装

若想紧接着初始化数据库实例,则点击‘初始化’然后做操作,否则点击‘取消’

达梦数据库软件安装完后配置dmdba用户的环境变量

[dmdba@nfs mnt]$ vi ~/.bash_profile

export PATH=$DM_HOME/bin:$DM_HOME/tool:$PATH

[dmdba@nfs mnt]$ . ~/.bash_profile

主库初始化数据库实例

打开‘达梦数据库配置助手’

[dmdba@nfs mnt]$ dbca.sh

选择‘创建数据库实例’,点击‘开始’

选择‘一般用途’,点击‘下一步’

选择数据库目录,点击‘下一步’

填写数据库名、实例名、端口号,点击‘下一步’

结合实际业务调整这里配置,然后点击‘下一步’

设置密码,点击‘下一步’

点击‘下一步’

点击‘完成’

新开一个终端,以root身份登录然后依次执行上面3个脚本,然后点击‘确定’

[root@nfs ~]# mv /home/dmdba/dmdbms/bin/DmServiceDMSVR01.service /usr/lib/systemd/system/DmServiceDMSVR01.service

[root@nfs ~]# systemctl enable DmServiceDMSVR01.service

[root@nfs ~]# systemctl start DmServiceDMSVR01.service

点击‘是’

点击‘完成’

点击‘确定’

停主库服务,完备主库

停掉主库达梦数据库服务

[dmdba@nfs mnt]$ DmServiceDMSVR01 stop

启动console做脱机备份

[dmdba@nfs mnt]$ console

点击左边导航‘备份还原’,点击右边‘新建备份’

填写备份集名、备份集目录,备份类型选择‘完全备份’,然后点击确定

备库安装达梦数据库软件

建达梦用户和组

[root@was123 ~]# groupadd dinstall

[root@was123 ~]# adduser dmdba –g dinstall

设置文件数

[root@was123 ~]# vi /etc/security/limits.conf

dmdba soft 65536

dmdba hard 65536

上传达梦安装文件

将达梦镜像文件mount到/mnt

[root@was123 ~]# mount /home/dmdba/dm8_setup_rh7_64_ent_8.1.1.88_20200629.iso /mnt

图形化界面安装达梦数据库

[dmdba@was123 ~]$ cd /mnt

[dmdba@was123 mnt]$ ./DMInstall.bin

点击‘确定’

点击‘下一步’

选择‘接受’,点击‘下一步’

点击‘下一步’

点击‘下一步’

选择安装目录,并点击‘下一步’

点击‘安装’

新开一个终端,以root身份登录然后执行上面脚本,然后点击‘确定’

[root@was123 ~]# /home/dmdba/dmdbms/script/root/root_installer.sh

点击‘完成’,至此完成达梦数据库软件的安装

若想紧接着初始化数据库实例,则点击‘初始化’然后做操作,否则点击‘取消’

达梦数据库软件安装完后配置dmdba用户的环境变量

[dmdba@was123 mnt]$ vi ~/.bash_profile

export PATH=$DM_HOME/bin:$DM_HOME/tool:$PATH

[dmdba@was123 mnt]$ . ~/.bash_profile

将主库完备拷贝到备库并导入

备库建数据库目录、bak以及ctl_bak目录

[dmdba@was123 dmdbms]$ mkdir -p data/DM01 data/DM01/bak data/DM01/ctl_bak

将主库的完备目录拷贝到备库

[dmdba@nfs DM01]$ scp -r fulldb_bak/ 192.168.102.20:/home/dmdba/dmdbms/data/DM01

启动备库的console,将主库的备份导进来

[dmdba@was123 DM01]$ console

选择左边导航‘备份还原’,点击‘配置’选择完备目录,紧接着点击右边‘获取备份’

选择获取到的备份,点击‘还原’

选择‘库还原’,选择备库的数据库库路径,点击‘确定’

点击‘确定’

点击‘恢复’

选择备库的dm.ini文件所在目录,然后点击‘确定’

点击‘确定’

点击更新‘dbmagic’

选择备库的dm.ini文件所在目录,点击‘确定’

点击‘确定’

在主库配置dm.ini、dmmal.ini、dmwatcher.ini、dmarch.ini并拷贝到备库

配置dm.ini

INSTANCE_NAME = DMSVR01

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

配置dmarch.ini

[ARCHIVE_REALTIME]

ARCH_TYPE = REALTIME

ARCH_DEST = DMSVR02

[ARCHIVE_LOCAL1]

ARCH_TYPE = LOCAL

ARCH_DEST = /home/dmdba/dmdbms/data/DM01/arch

ARCH_FILE_SIZE = 128

ARCH_SPACE_LIMIT = 0

配置dmmal.ini

MAL_CHECK_INTERVAL = 5

MAL_CONN_FAIL_INTERVAL = 5

[MAL_INST1]

MAL_INST_NAME = DMSVR01

MAL_HOST = 192.168.102.70

MAL_PORT = 5237

MAL_INST_HOST = 192.168.102.70

MAL_INST_PORT = 5236

MAL_DW_PORT = 5238

MAL_INST_DW_PORT = 5239

[MAL_INST2]

MAL_INST_NAME = DMSVR02

MAL_HOST = 192.168.102.20

MAL_PORT = 5237

MAL_INST_HOST = 192.168.102.20

MAL_INST_PORT = 5236

MAL_DW_PORT = 5238

MAL_INST_DW_PORT = 5239

配置dmwatcher.ini

[GRP1]

DW_TYPE = GLOBAL

DW_MODE = AUTO

DW_ERROR_TIME = 10

INST_ERROR_TIME = 10

INST_OGUID = 453331

INST_INI = /home/dmdba/dmdbms/data/DM01/dm.ini

INST_AUTO_RESTART = 1

INST_STARTUP_CMD=/home/dmdba/dmdbms/bin/dmserver

INST_RECOVER_TIME = 60

RLOG_SEND_THRESHOLD=0

RLOG_APPLY_THRESHOLD=0

配置dmmonitor.ini

MON_DW_CONFIRM = 1

MON_LOG_PATH = /home/dmdba/dmdbms/data/DM01/monitor_log

MON_LOG_INTERVAL =60

MON_LOG_FILE_SIZE =32

MON_LOG_SPACE_LIMIT =0

[GRP1]

MON_INST_OGUID =453331

MON_DW_IP= 192.168.102.70:5238

MON_DW_IP= 192.168.102.20:5238

主库的ini文件拷贝到备库

[dmdba@nfs DM01]$ scp dm.ini dmarch.ini dmmal.ini dmwatcher.ini 192.168.102.20:/home/dmdba/dmdbms/data/DM01/

修改备库的dm.ini、dmmal.ini、dmwatcher.ini、dmarch.ini

修改dm.ini

INSTANCE_NAME = DMSVR02

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

修改dmarch.ini

[ARCHIVE_REALIME]

ARCH_TYPE = REALTIME

ARCH_DEST = DMSVR01

[ARCHIVE_LOCAL1]

ARCH_TYPE = LOCAL

ARCH_DEST = /home/dmdba/dmdbms/data/DM01/arch

ARCH_FILE_SIZE = 128

ARCH_SPACE_LIMIT = 0

修改dmmal.ini

MAL_CHECK_INTERVAL = 5

MAL_CONN_FAIL_INTERVAL = 5

[MAL_INST1]

MAL_INST_NAME = DMSVR01

MAL_HOST = 192.168.102.70

MAL_PORT = 5237

MAL_INST_HOST = 192.168.102.70

MAL_INST_PORT = 5236

MAL_DW_PORT = 5238

MAL_INST_DW_PORT = 5239

[MAL_INST2]

MAL_INST_NAME = DMSVR02

MAL_HOST = 192.168.102.20

MAL_PORT = 5237

MAL_INST_HOST = 192.168.102.20

MAL_INST_PORT = 5236

MAL_DW_PORT = 5238

MAL_INST_DW_PORT = 5239

修改dmwatcher.ini

[GRP1]

DW_TYPE = GLOBAL

DW_MODE = AUTO

DW_ERROR_TIME = 10

INST_ERROR_TIME = 10

INST_OGUID = 453331

INST_INI = /home/dmdba/dmdbms/data/DM01/dm.ini

INST_AUTO_RESTART = 1

INST_STARTUP_CMD=/home/dmdba/dmdbms/bin/dmserver

INST_RECOVER_TIME = 60

RLOG_SEND_THRESHOLD=0

RLOG_APPLY_THRESHOLD=0

为备库创建数据库启动服务

[dmdba@nfs service_template]$ cp DmService ~/dmdbms/bin/DmServiceDMSVR01

[dmdba@nfs bin]$ vi DmServiceDMSVR01

配置dm.ini所在目录,然后保存

主库启动到mount状态,设置oguid和主库模式

[dmdba@nfs bin]$ DmServiceDMSVR01 start mount

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);

SQL> alter database primary;

备库启动到mount状态,设置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);

SQL>alter database standby;

主库和备库分别启动守护进程

创建主库的守护进程系统服务并启动

[root@nfs ~]# /home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmwatcher -p DMSVR01 -watcher_ini //home/dmdba/dmdbms/data/DM01/dmwatcher.ini

创建服务(DmWatcherServiceDMSVR01)完成

[root@nfs ~]# systemctl start DmWatcherServiceDMSVR01

创建主库的守护进程系统服务并启动

[root@was123 ~]# /home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmwatcher -p DMSVR02 -watcher_ini //home/dmdba/dmdbms/data/DM01/dmwatcher.ini

Created symlink from /etc/systemd/system/multi-user.target.wants/DmWatcherServiceDMSVR02.service to /usr/lib/systemd/system/DmWatcherServiceDMSVR02.service.

创建服务(DmWatcherServiceDMSVR02)完成

[root@was123 ~]# systemctl start DmWatcherServiceDMSVR02

主库启动monitor服务

[dmdba@nfs DM01]$ dmmonitor /home/dmdba/dmdbms/data/DM01/dmmonitor.ini

测试主库数据同步到备库

在主库建表插入数据

说明:192.168.102.20是主库服务器

在备库查表和数据是否有同步过来

说明:192.168.102.20是备库服务器。在备库能查到表t和对应的数据,说明主备同步是正常

posted @ 2023-02-03 10:39  LuckinAaron  阅读(238)  评论(0编辑  收藏  举报