一、环境信息
1、部署规划
2、查看主库信息
命令行查询数据库初始化信息:
SQL> select * from v$option;
二、备库初始化实例
1、操作系统资源配置
1、创建用户和组
#创建用户组
[root@~]# groupadd dinstall
#创建用户
[root@~]# useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
#修改密码
[root@~]# passwd dmdba
#查看当前dmdba用户属组
[root@~]#id dmdba
#创建目录并授权(根据实际安装路径修改)
[root@~]# mkdir -p /dm/dmdbms
[root@~]# chown -R dmdba:dinstall /dm/dmdbms
[root@~]# chmod -R 755 /dm/dmdbms
2、调整系统参数
因操作系统存在差异性,有些操作系统没有该文件,请根据实际操作系统进行修改。
[root@~]# vim /etc/sysctl.conf
vm.overcommit_memory = 0
vm.swappiness = 0
[root@~]# sysctl -p
[root@~]# sysctl -p /etc/sysctl.conf
[root@~]# sysctl -q vm.swappiness
[root@~]# vi /etc/security/limits.conf
dmdba soft core unlimited
dmdba hard core unlimited
dmdba soft data unlimited
dmdba hard data unlimited
dmdba soft fsize unlimited
dmdba hard fsize unlimited
dmdba soft nofile 65536
dmdba hard nofile 65536
dmdba soft nproc 10240
dmdba hard nproc 10240
验证:
查看limit.conf资源限制: 通过查看/proc/进程号/limits确定是否生效
例:cat /proc/pid/limits
通过systemctl或者systemd service方式设定随机自启动的数据库服务,其能打开的最大文件描述符、proc数量等不受limits.conf控制,需要修改/etc/systemd/system.conf文件。
[root@~]# vi /etc/systemd/system.conf
DefaultLimitFSIZE=unlimited
DefaultLimitDATA=unlimited
DefaultLimitCORE=unlimited
DefaultLimitNOFILE=65536
DefaultLimitNPROC=10240
[root@~]# vi /etc/sysconfig/selinux
SELINUX = disabled
关闭防火墙
具体是否可以关闭防火墙根据实际要求进行调整,若不能关闭防火墙,需要根据端口规划进行防火墙策略配置,如关闭防火墙可参照以下操作:
1)查看防火状态
systemctl status firewalld
service iptables status
2)暂时关闭防火墙
systemctl stop firewalld
service iptables stop
3)关闭防火墙开机自启
systemctl disable firewalld
chkconfig iptables off
coredump参数修改
1)设置OS层面的core文件生成大小
#使用root用户和dmdba用户分别执行如下语句
ulimit -c unlimited
2)更改core文件的默认生成路径。
#重新设置如下:
vi /etc/sysctl.conf 添加对应core文件参数(具体路径根据实际修改)
kernel.core_pattern =/var/log/dm/core/core-%e-%p-%s
执行 sysctl -p 进行生效
#模拟数据库读写小数据来测试硬盘的IO,命令如下:(在数据盘、归档盘上测试)
[root@~]# dd if=/dev/zero of=test bs=32k count=20k oflag=dsync
#测试网络传输速度,注意要测试双向的网络传输速度,命令如下:
[root@~]# scp local_file remote_username@remote_ip:remote_folder
注:小于30MB/S有风险
关闭numa检查
①vi /etc/default/grub文件,调整如下行,增加numa=off:
GRUB_CMDLINE_LINUX="resume=/dev/sda1 splash=silent quiet showopts crashkernel=113M,high crashkernel=72M,low numa=off"
②查询是UEFI-based机器还是BIOS-based的机器
[ -d /sys/firmware/efi ] && echo UEFI || echo BIOS
③重新生成grub.cfg
若是 UEFI-based 的机器,请执行:
grub2-mkconfig -o /boot/efi/EFI/kylin/grub.cfg
若是 BIOS-based 的机器,请执行:
grub2-mkconfig -o /boot/grub2/grub.cfg
④重启操作系统
⑤查看是否生效:
cat /proc/cmdline
禁用透明大页
永久关闭 transparent_hugepage
①查看透明大页设置:
cat /sys/kernel/mm/transparent_hugepage/enabled
[always] madvise never
说明已启用透明大页
②vi /etc/default/grub文件,配置如下参数(标红部分):
GRUB_CMDLINE_LINUX="resume=/dev/sda1 splash=silent quiet showopts crashkernel=113M,high crashkernel=72M,low numa=off transparent_hugepage=never"
③查询是UEFI-based机器还是BIOS-based的机器
[ -d /sys/firmware/efi ] && echo UEFI || echo BIOS
④重新生成grub.cfg
若是 UEFI-based 的机器,请执行:
grub2-mkconfig -o /boot/efi/EFI/kylin/grub.cfg
若是 BIOS-based 的机器,请执行:
grub2-mkconfig -o /boot/grub2/grub.cfg
⑤重启操作系统
⑥查看是否生效:
cat /sys/kernel/mm/transparent_hugepage/enabled
always madvise [never]
注意:如果以上操作关闭不了透明大页,按照如下方式进行关闭:
查看/sys/kernel/mm/transparent_hugepage/defrag配置文件缺省配置为“madvise”。
如需永久修改配置为“never”,需在/etc/rc.local中添加如下内容:
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi
修改磁盘调度算法
查看对应的调度算法:(如果现场环境默认为deadline,无需调整)
通过lsblk命令找到数据盘对应的物理盘
[root@~]# lsblk
cat /sys/block/{DEVICE-NAME}/queue/scheduler,注意把{DEVICE-NAME}替换会数据库所使用的对应的磁盘名称,以下以sda为例:
cat /sys/block/sda/queue/scheduler
注意上图选中的调度算法是[cfq],需要修改调度算法为deadline。
临地更改I/O调度方法,重启后失效:
echo deadline > /sys/block/sda/queue/scheduler
永久的更改I/O调度方法:
grubby --update-kernel=ALL --args="elevator=deadline"
重启:
reboot
重新确认调度算法:
cat /sys/block/sda/queue/scheduler
关闭swap
1)临时修改
临时关闭swap分区,重启后失效
[root@~]# swapoff -a
2)永久修改
永久关闭swap分区
[root@~]#vim /etc/fstab --注释swap
[root@~]vim /etc/rc.local --添加以下命令
swapoff -a
重启操作系统
[root@~]# reboot
再次确认
[root@~]# free -m
2、数据库软件安装
严禁使用root用户安装数据库及数据库相关操作。必须使用dmdba用户执行安装以及数据库相关操作。
将数据库安装包上传到数据库服务器
mount dm8_20221128_x86_kylin10_64_ent_8.1.2.174.iso /mnt/
[dmdba@~]# /mnt/DMInstall.bin -i
请选择安装语言(C/c:中文 E/e:英文) [C/c]:C
解压安装程序..........
欢迎使用达梦数据库安装程序
是否输入Key文件路径? (Y/y:是 N/n:否) [Y/y]:n
是否设置时区? (Y/y:是 N/n:否) [Y/y]:Y
设置时区:
[ 1]: GTM-12=日界线西
[ 2]: GTM-11=萨摩亚群岛
[ 3]: GTM-10=夏威夷
[ 4]: GTM-09=阿拉斯加
[ 5]: GTM-08=太平洋时间(美国和加拿大)
[ 6]: GTM-07=亚利桑那
[ 7]: GTM-06=中部时间(美国和加拿大)
[ 8]: GTM-05=东部部时间(美国和加拿大)
[ 9]: GTM-04=大西洋时间(美国和加拿大)
[10]: GTM-03=巴西利亚
[11]: GTM-02=中大西洋
[12]: GTM-01=亚速尔群岛
[13]: GTM=格林威治标准时间
[14]: GTM+01=萨拉热窝
[15]: GTM+02=开罗
[16]: GTM+03=莫斯科
[17]: GTM+04=阿布扎比
[18]: GTM+05=伊斯兰堡
[19]: GTM+06=达卡
[20]: GTM+07=曼谷,河内
[21]: GTM+08=中国标准时间
[22]: GTM+09=汉城
[23]: GTM+10=关岛
[24]: GTM+11=所罗门群岛
[25]: GTM+12=斐济
[26]: GTM+13=努库阿勒法
[27]: GTM+14=基里巴斯
请选择设置时区 [21]:21
安装类型:
1 典型安装
2 服务器
3 客户端
4 自定义
请选择安装类型的数字序号 [1 典型安装]:1
所需空间: 1010M
请选择安装目录 [/home/dmdba/dmdbms]:/dm/dmdbms(具体安装路径根据实际修改)
可用空间: 11G
是否确认安装路径(/dm/dmdbms)? (Y/y:是 N/n:否) [Y/y]:Y
安装前小结
安装位置: /dm/dmdbms
所需空间: 1010M
可用空间: 11G
版本信息: 企业版
有效日期: 2020-12-25
安装类型: 典型安装
是否确认安装? (Y/y:是 N/n:否):Y
2020-12-24 21:52:38
[INFO] 安装达梦数据库...
2020-12-24 21:52:39
[INFO] 安装 基础 模块...
2020-12-24 21:52:48
[INFO] 安装 服务器 模块...
2020-12-24 21:52:48
[INFO] 安装 客户端 模块...
2020-12-24 21:52:56
[INFO] 安装 驱动 模块...
2020-12-24 21:52:58
[INFO] 安装 手册 模块...
2020-12-24 21:53:00
[INFO] 安装 服务 模块...
2020-12-24 21:53:02
[INFO] 移动ant日志文件。
2020-12-24 21:53:03
[INFO] 安装达梦数据库完成。
请以root系统用户执行命令:
/dm/dmdbms/script/root/root_installer.sh
安装结束
[dmdba@~]# su - root
密码:<输入密码>
[root@~]# /dm/dmdbms/script/root/root_installer.sh
[root@~]# exit
3、备库根据主库相应配置初始化相应实例:
[dmdba@localhost ~]$ dminit path=/data/dmdata page_size=16 EXTENT_SIZE=16 CHARSET=1 CASE_SENSITIVE=1 LENGTH_IN_CHAR=1 path=/dm8/dmdata db_name=dmtest instance_name=DMTEST_B port_num=5238
initdb V8
db version: 0x7000c
file dm.key not found, use default license!
License will expire on 2024-05-30
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
log file path: /dm8/dmdata/dmtest/dmtest01.log
log file path: /dm8/dmdata/dmtest/dmtest02.log
write to dir [/dm8/dmdata/dmtest].
create dm database success. 2023-06-28 13:15:54
前台启动
[dmdba@localhost ~]$ dmserver /dm8/dmdata/dmtest/dm.ini
file dm.key not found, use default license!
version info: develop
DM Database Server 64 V8 03134284044-20230530-191833-20040 startup...
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
Database mode = 0, oguid = 0
License will expire on 2024-05-30
file lsn: 0
ndct db load finished
ndct second level fill fast pool finished
ndct third level fill fast pool finished
ndct second level fill fast pool finished
ndct third level fill fast pool finished
ndct fill fast pool finished
xxxxxx
SYSTEM IS READY.
三、联机备份数据库(单机)
查看dmap进程
SQL> backup database full backupset 'bak_full_20230627' maxpiecesize 1024 compressed parallel 8;
操作已执行
已用时间: 00:00:05.895. 执行号:60000.
四、停单机实例
五、配置主库,原单机
1、主库脱机备份
[dmdba@localhost bin]$ dmrman CTLSTMT="BACKUP DATABASE '/dm8/dmdata/dmtest/dm.ini' BACKUPSET 'bak_20230627_2'"
dmrman V8
BACKUP DATABASE '/dm8/dmdata/dmtest/dm.ini' BACKUPSET 'bak_20230627_2'
file dm.key not found, use default license!
Database mode = 0, oguid = 0
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
EP[0]'s cur_lsn[38775], file_lsn[38775]
Processing backupset /dm8/dmdata/dmtest/bak/bak_20230627_2
[Percent:100.00%][Speed:0.00M/s][Cost:00:00:02][Remaining:00:00:00]
backup successfully!
time used: 00:00:03.430
2、主库修改配置文件
vi /dm8/dmdata/dmtest/dm.ini
###修改以下内容
INSTANCE_NAME = DMTEST
PORT_NUM = 5238
ALTER_MODE_STATUS = 0
ENABLE_OFFLINE_TS = 2
MAL_INI = 1
ARCH_INI = 1
[dmdba@localhost bin]$ vi /dm8/dmdata/dmtest/dmwatcher.ini
[dmdba@localhost bin]$ cat /dm8/dmdata/dmtest/dmwatcher.ini
[GRP1]
DW_TYPE = GLOBAL
DW_MODE = MANUAL
DW_ERROR_TIME = 10
INST_RECOVER_TIME = 60
INST_ERROR_TIME = 10
INST_OGUID = 453335
INST_INI = /dm8/dmdata/dmtest/dm.ini
INST_AUTO_RESTART = 1
INST_STARTUP_CMD = /dmdata/dmdbms/bin/dmserver
RLOG_SEND_THRESHOLD = 0
RLOG_APPLY_THRESHOLD = 0
[dmdba@localhost bin]$ vi /dm8/dmdata/dmtest/dmmal.ini
[dmdba@localhost bin]$ cat /dm8/dmdata/dmtest/dmmal.ini
MAL_CHECK_INTERVAL = 10
MAL_CONN_FAIL_INTERVAL = 10
[MAL_INST1]
MAL_INST_NAME = DMTEST
MAL_HOST = 192.168.48.7
MAL_PORT = 62141
MAL_INST_HOST = 192.168.48.7
MAL_INST_PORT = 5238
MAL_DW_PORT = 52141
MAL_INST_DW_PORT = 32141
[MAL_INST2]
MAL_INST_NAME = DMTEST_B
MAL_HOST = 192.168.48.8
MAL_PORT = 62141
MAL_INST_HOST = 192.168.48.8
MAL_INST_PORT = 5238
MAL_DW_PORT = 52141
MAL_INST_DW_PORT = 32141
[dmdba@localhost bin]$ vi /dm8/dmdata/dmtest/dmarch.ini
[dmdba@localhost bin]$ cat /dm8/dmdata/dmtest/dmarch.ini
#DaMeng Database Archive Configuration file
#this is comments
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dm8/dmdata/arch
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 2048
ARCH_FLUSH_BUF_SIZE = 0
ARCH_HANG_FLAG = 1
[ARCHIVE_REALTIME1]
ARCH_TYPE = REALTIME
ARCH_DEST = DMTEST_B
3、启动主库至mount状态
4、修改主库模式及oguid后强制起库
SQL> SP_SET_OGUID(453335);
DMSQL 过程已成功完成
已用时间: 2.870(毫秒). 执行号:3.
SQL> select oguid from v$instance;
行号 OGUID
---------- -----------
1 453335
已用时间: 0.620(毫秒). 执行号:4.
SQL> ALTER DATABASE PRIMARY;
操作已执行
已用时间: 8.152(毫秒). 执行号:0.
SQL> alter database open force;
操作已执行
已用时间: 35.833(毫秒). 执行号:0.
SQL> select * from v$database;
行号 NAME CREATE_TIME ARCH_MODE LAST_CKPT_TIME STATUS$ ROLE$ MAX_SIZE
---------- ------ ------------------- --------- ------------------- ----------- ----------- --------------------
TOTAL_SIZE DSC_NODES OPEN_COUNT STARTUP_COUNT LAST_STARTUP_TIME
-------------------- ----------- ----------- -------------------- -------------------
1 dmtest 2023-06-28 13:08:48 Y 2023-06-28 13:52:56 4 1 0
17664 1 3 2 2023-06-28 13:43:56
已用时间: 1.714(毫秒). 执行号:800.
六、配置备库
1、拷贝主库备份到备库
[dmdba@localhost bak]$ scp -r bak_20230627_2/ 192.168.48.8:/dm8/dmdata/dmtest/bak
Authorized users only. All activities may be monitored and reported.
dmdba@192.168.48.8's password:
bak_20230627_2.bak 100% 13MB 109.7MB/s 00:00
bak_20230627_2.meta 100% 98KB 5.8MB/s 00:00
2、备库备份还原
[dmdba@localhost ~]$ dmrman CTLSTMT="RESTORE DATABASE '/dm8/dmdata/dmtest/dm.ini' FROM BACKUPSET '/dm8/dmdata/dmtest/bak/bak_20230627_2'"
dmrman V8
RESTORE DATABASE '/dm8/dmdata/dmtest/dm.ini' FROM BACKUPSET '/dm8/dmdata/dmtest/bak/bak_20230627_2'
file dm.key not found, use default license!
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:02][Remaining:00:00:00]
restore successfully.
time used: 00:00:02.551
[dmdba@localhost ~]$ dmrman CTLSTMT="RECOVER DATABASE '/dm8/dmdata/dmtest/dm.ini' FROM BACKUPSET '/dm8/dmdata/dmtest/bak/bak_20230627_2'"
dmrman V8
RECOVER DATABASE '/dm8/dmdata/dmtest/dm.ini' FROM BACKUPSET '/dm8/dmdata/dmtest/bak/bak_20230627_2'
file dm.key not found, use default license!
Database mode = 2, oguid = 0
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
EP[0]'s cur_lsn[38775], file_lsn[38775]
备份集[/dm8/dmdata/dmtest/bak/bak_20230627_2]备份过程中未产生日志
recover successfully!
time used: 502.754(ms)
[dmdba@localhost ~]$ dmrman CTLSTMT="RECOVER DATABASE '/dm8/dmdata/dmtest/dm.ini' UPDATE DB_MAGIC"
dmrman V8
RECOVER DATABASE '/dm8/dmdata/dmtest/dm.ini' UPDATE DB_MAGIC
file dm.key not found, use default license!
Database mode = 2, oguid = 0
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
EP[0]'s cur_lsn[38775], file_lsn[38775]
recover successfully!
time used: 00:00:01.144
3、备库修改配置文件
vi /dm8/dmdata/dmtest/dm.ini
###修改以下内容
INSTANCE_NAME = DMTEST_B
PORT_NUM = 5238
ALTER_MODE_STATUS = 0
ENABLE_OFFLINE_TS = 2
MAL_INI = 1
ARCH_INI = 1
[dmdba@localhost bin]$ vi /dm8/dmdata/dmtest/dmwatcher.ini
[dmdba@localhost bin]$ cat /dm8/dmdata/dmtest/dmwatcher.ini
[GRP1]
DW_TYPE = GLOBAL
DW_MODE = MANUAL
DW_ERROR_TIME = 10
INST_RECOVER_TIME = 60
INST_ERROR_TIME = 10
INST_OGUID = 453335
INST_INI = /dm8/dmdata/dmtest/dm.ini
INST_AUTO_RESTART = 1
INST_STARTUP_CMD = /dmdata/dmdbms/bin/dmserver
RLOG_SEND_THRESHOLD = 0
RLOG_APPLY_THRESHOLD = 0
[dmdba@localhost bin]$ vi /dm8/dmdata/dmtest/dmmal.ini
[dmdba@localhost bin]$ cat /dm8/dmdata/dmtest/dmmal.ini
MAL_CHECK_INTERVAL = 10
MAL_CONN_FAIL_INTERVAL = 10
[MAL_INST1]
MAL_INST_NAME = DMTEST
MAL_HOST = 192.168.48.7
MAL_PORT = 62141
MAL_INST_HOST = 192.168.48.7
MAL_INST_PORT = 5238
MAL_DW_PORT = 52141
MAL_INST_DW_PORT = 32141
[MAL_INST2]
MAL_INST_NAME = DMTEST_B
MAL_HOST = 192.168.48.8
MAL_PORT = 62141
MAL_INST_HOST = 192.168.48.8
MAL_INST_PORT = 5238
MAL_DW_PORT = 52141
MAL_INST_DW_PORT = 32141
[dmdba@localhost bin]$ vi /dm8/dmdata/dmtest/dmarch.ini
[dmdba@localhost bin]$ cat /dm8/dmdata/dmtest/dmarch.ini
#DaMeng Database Archive Configuration file
#this is comments
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dm8/dmdata/arch
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 2048
ARCH_FLUSH_BUF_SIZE = 0
ARCH_HANG_FLAG = 1
[ARCHIVE_REALTIME1]
ARCH_TYPE = REALTIME
ARCH_DEST = DMTEST
4、启动备库至mount状态
[dmdba@localhost bin]$ vi DmServiceDMTEST
[dmdba@localhost bin]$ cat DmServiceDMTEST |grep START_MODE
START_MODE=mount
PARAM_START_MODE=""
PARAM_START_MODE="mount"
PARAM_START_MODE="mount"
PARAM_START_MODE=""
TMP_START_MODE=""
if [ "$PARAM_START_MODE" = "mount" -o "$START_MODE" = "mount" ]
TMP_START_MODE="mount"
$PRE_STARTUP_COMMANDS "$EXEC_PROG_FULL_PATH" -noconsole $TMP_START_MODE > "$START_SERVICE_LOG_FILE" 2>&1 &
eval exec "$PRE_STARTUP_COMMANDS" "\"$EXEC_PROG_FULL_PATH\"" "$STARTUP_PARAMS" -noconsole $TMP_START_MODE > "$START_SERVICE_LOG_FILE" 2>&1 &
$PRE_STARTUP_COMMANDS "$EXEC_PROG_FULL_PATH" -noconsole $TMP_START_MODE > "$START_SERVICE_LOG_FILE" 2>&1 &
eval exec "$PRE_STARTUP_COMMANDS" "\"$EXEC_PROG_FULL_PATH\"" "$STARTUP_PARAMS" -noconsole $TMP_START_MODE > "$START_SERVICE_LOG_FILE" 2>&1 &
[dmdba@localhost bin]$ ./DmServiceDMTEST start
Starting DmServiceDMTEST: [ OK ]
[dmdba@localhost bin]$ ps -ef|grep dmtest
dmdba 3910 1 0 14:07 pts/0 00:00:00 /home/dmdba/dmdbms/bin/dmserver path=/dm8/dmdata/dmtest/dm.ini -noconsole mount
dmdba 4067 3814 0 14:08 pts/0 00:00:00 grep dmtest
5、修改备库模式及oguid
SQL> SP_SET_OGUID(453335);
DMSQL 过程已成功完成
已用时间: 2.870(毫秒). 执行号:3.
SQL> select oguid from v$instance;
行号 OGUID
---------- -----------
1 453335
已用时间: 0.620(毫秒). 执行号:4.
SQL> ALTER DATABASE standby;
操作已执行
已用时间: 8.152(毫秒). 执行号:0.
七、监视器配置
mkdir -p /dm8/monitor
vi /dm8/monitor/dmmonitor_auto.ini
MON_DW_CONFIRM = 1
MON_LOG_PATH =/dm8/monitor/log
MON_LOG_INTERVAL = 60
MON_LOG_FILE_SIZE = 32
MON_LOG_SPACE_LIMIT = 0
[GRP1]
MON_INST_OGUID = 453335
MON_DW_IP = 192.168.48.7:52141
MON_DW_IP = 192.168.48.8:52141
vi /dm8/monitor/dmmonitor_manual.ini
MON_DW_CONFIRM = 0
MON_LOG_PATH =/dm8/monitor/log
MON_LOG_INTERVAL = 60
MON_LOG_FILE_SIZE = 32
MON_LOG_SPACE_LIMIT = 0
[GRP1]
MON_INST_OGUID = 453335
MON_DW_IP = 192.168.48.7:52141
MON_DW_IP = 192.168.48.8:52141
八、注册服务
1、主库创建dmwatcher服务
/dmdata/dmdbms/script/root/dm_service_installer.sh -t dmwatcher -p DMTEST -watcher_ini /dm8/dmdata/dmtest/dmwatcher.ini
2、备库创建dmwatcher服务
/dmdata/dmdbms/script/root/dm_service_installer.sh -t dmwatcher -p DMTEST_B -watcher_ini /dm8/dmdata/dmtest/dmwatcher.ini
3、备库上注册监视器服务:
/dm8/dmdbms/script/root/dm_service_installer.sh -t dmmonitor -p GRP1 -monitor_ini /dm8/monitor/dmmonitor_auto.ini
九、启动守护进程、监视器、并查看状态
主库:
[dmdba@localhost bin]$ ./DmWatcherServiceDMTEST start
Starting DmWatcherServiceDMTEST: [ OK ]
备库:
[dmdba@localhost bin]$ ./DmWatcherServiceDMTEST_B start
Starting DmWatcherServiceDMTEST_B: [ OK ]
监视器:
[dmdba@localhost bin]$ ./DmMonitorServiceGRP1 start
Starting DmMonitorServiceGRP1: [ OK ]
登录非确认监视器查看主备同步状态:
2023-06-28 14:29:33
#================================================================================#
GROUP OGUID MON_CONFIRM MODE MPP_FLAG
GRP1 453335 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
192.168.48.7 52141 2023-06-28 14:29:26 GLOBAL VALID OPEN DMTEST 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.48.7 5238 OK DMTEST OPEN PRIMARY 0 0 REALTIME VALID 4754 38949 4754 38949 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
192.168.48.8 52141 2023-06-28 14:29:32 GLOBAL VALID OPEN DMTEST_B OK 1 1 OPEN STANDBY 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.48.8 5238 OK DMTEST_B OPEN STANDBY 0 0 REALTIME VALID 4740 38949 4740 38949 NONE
DATABASE(DMTEST_B) APPLY INFO FROM (DMTEST), REDOS_PARALLEL_NUM (1), WAIT_APPLY[FALSE]:
DSC_SEQNO[0], (RSEQ, SSEQ, KSEQ)[4754, 4754, 4754], (RLSN, SLSN, KLSN)[38949, 38949, 38949], N_TSK[0], TSK_MEM_USE[0]
REDO_LSN_ARR: (38949)
#================================================================================#
tip
[monitor] 2023-06-28 14:30:42: [!!! 提示:本监视器不是确认监视器,在故障自动切换模式下如果发生主库故障,本监视器无法执行自动接管 !!!]
[monitor] 2023-06-28 14:30:42: 实例DMTEST[PRIMARY, OPEN, ISTAT_SAME:TRUE]不可加入其他实例,守护进程状态:OPEN,Open记录状态:VALID
[monitor] 2023-06-28 14:30:42: 实例DMTEST[PRIMARY, OPEN, ISTAT_SAME:TRUE]当前没有命令正在执行
[monitor] 2023-06-28 14:30:42: 实例DMTEST[PRIMARY, OPEN, ISTAT_SAME:TRUE]运行正常, 守护进程是OPEN状态,守护类型是GLOBAL
[monitor] 2023-06-28 14:30:42: 实例DMTEST_B[STANDBY, OPEN, ISTAT_SAME:TRUE]可加入实例DMTEST[PRIMARY, OPEN, ISTAT_SAME:TRUE]
[monitor] 2023-06-28 14:30:42: 实例DMTEST_B[STANDBY, OPEN, ISTAT_SAME:TRUE]当前没有命令正在执行
[monitor] 2023-06-28 14:30:42: 实例DMTEST_B[STANDBY, OPEN, ISTAT_SAME:TRUE]运行正常, 守护进程是OPEN状态,守护类型是GLOBAL
[monitor] 2023-06-28 14:30:42: 组(GRP1)当前活动实例运行正常
[monitor] 2023-06-28 14:30:42: 所有组中的活动实例运行正常!
更多技术分享见
达梦社区:https://eco.dameng.com