達夢數據守護集群搭建(1主1實時備庫1同步備庫1異步備庫)

目錄

1?環境信息?

1.1?目錄信息

1.2?其他環境信息

2?環境準備

2.1 新建dmdba用戶

2.2 關閉防火墻

2.3 關閉Selinux

2.4 關閉numa和透明大頁

2.5 修改文件打開最大數

2.6 修改磁盤調度

2.7 修改cpufreq模式

2.8 信號量修改

2.9 修改sysctl.conf

2.10 修改 /etc/systemd/system.conf

2.11 修改/etc/pam.d/login

2.12 關閉swap

2.13 調整core文件生成路徑

2.13.1打開core dump

2.13.2調整路徑:

2.14 重啟操作系統

2.15 創建相關目錄并給權限:

2.16 掛載鏡像

3 數據庫軟件安裝

3.1 軟件安裝

3.2 環境變量配置:

4 數據庫實例配置

4.1 配置實例

4.2 注冊服務

5 集群搭建

5.1 主庫使用dmrman做冷備

5.2 傳輸備份集到備庫進行還原

5.3?主備機修改配置文件

5.3.1 修改dm.ini

5.3.2 創建dmmal.ini

5.3.3 創建dmarch.ini

5.3.4 創建dmwatcher.ini

5.3.5 創建dmtimer.ini

5.3.6?修改sqllog.ini

5.4?啟動數據庫,修改狀態

5.4.1 啟動主庫,檢查主庫狀態

5.4.2 啟動備庫,檢查備庫狀態

5.5?注冊并啟動數據守護服務

5.6?注冊并啟動監視器服務

5.6.1 創建dmmonitor.ini

5.6.2 注冊并啟動監視器服務

6 驗證數據守護是否搭建完成

7 參數優化

8 集群啟停


1?環境信息?

1.1?目錄信息

達夢軟件安裝目錄

/dm8/dmdbms

數據文件目錄

/dmdata

歸檔目錄

/dmarch

備份目錄

/dmbak

sql日志目錄

/dm8/dmdbms/log/sqllog

1.2?其他環境信息

操作系統

Centos 7.9

CPU以及核總數

Intel x86 8C

內存

16G

硬盤容量

500G

數據庫版本

DM V8.1.2.18 pack13

2?環境準備

注意

1、以下操作均是主備機都執行

2、安裝前必須創建dmdba用戶,禁止使用root用戶安裝數據庫。

2.1 新建dmdba用戶

創建用戶所在的組:
groupadd dinstall
創建用戶:
useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
修改用戶密碼:
passwd dmdba
Dmdba123
Dmdba123

2.2 關閉防火墻

停止:systemctl stop firewalld.service
關閉開機自啟:systemctl disable firewalld.service
查看狀態:systemctl status firewalld.service

2.3 關閉Selinux

vi /etc/sysconfig/selinux
SELINUX=disabled
cat /etc/sysconfig/selinux

2.4 關閉numa和透明大頁

vi /etc/default/grub
在GRUB_CMDLINE_LINUX后添加
numa=off transparent_hugepage=never
重新生成配置文件:
grub2-mkconfig -o /etc/grub2.cfg
重啟生效(慎重)--如系統中已有業務正在運行,請申請重啟窗口,謹慎操作。
驗證numa:
驗證1:
dmesg | grep -i numa
驗證transparent_hugepage=never:
cat /sys/kernel/mm/transparent_hugepage/enabled

2.5 修改文件打開最大數

vi /etc/security/limits.conf
在最后添加以下內容:
dmdba ?soft??nice??0
dmdba ?hard??nice??0
dmdba ?soft??as??unlimited
dmdba ?hard??as??unlimited
dmdba ?soft ?fsize??unlimited
dmdba ?hard ?fsize??unlimited
dmdba ?soft ?nproc??131072
dmdba ?hard ?nproc??131072
dmdba ?soft ?nofile ?131072
dmdba ?hard ?nofile ?131072
dmdba ?soft ?core??unlimited
dmdba ?hard ?core??unlimited
dmdba ?soft ?data??unlimited
dmdba ?hard ?data??unlimited
切換到dmdba用戶,查看是否生效,命令如下:
su - dmdba
ulimit -a

2.6 修改磁盤調度

通過lsblk命令找到數據盤對應的物理盤。
##檢查sda磁盤的調度算法
cat /sys/block/vdc/queue/scheduler
##臨時更改I/O調度方法,重啟后失效
echo mq-deadline?> /sys/block/vdc/queue/scheduler
##永久修改
##修改內核引導參數,加入elevator=deadline
vi /boot/grub/menu.lst
##更改到如下內容,在rhgb quiet前添加elevator=deadline
kernel /boot/vmlinuz-2.6.32-504.el6 ro root=LABEL=/ elevator=deadline rhgb quiet
##重新確認調度算法
[root@~]# cat /sys/block/vdc/queue/scheduler

2.7 修改cpufreq模式

cat /proc/cpuinfo???查看CPU信息,確認processor個數cpu_num。
for i in $(seq 0 $cpu_num); do
echo 'performance' >/sys/devices/system/cpu/cpu$i/cpufreq/scaling_governor
done

cpufreq是一個動態調整cpu頻率的模塊,系統啟動時生成一個文件夾/sys/devices/system/cpu/cpu0/cpufreq/,里面有幾個文件,其中:
scaling_min_freq 代表最低頻率,
scaling_max_freq 代表最高頻率,
scalin_governor 代表cpu頻率調整模式,用它來控制CPU頻率

2.8 信號量修改

vi /etc/systemd/logind.conf
RemoveIPC 修改為 no

2.9 修改sysctl.conf

vi /etc/sysctl.conf
fs.file-max = 6815744
fs.aio-max-nr = 1048576
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
vm.overcommit_memory = 0
vm.swappiness = 0
vm.dirty_background_ratio = 3
vm.dirty_ratio = 80
vm.dirty_expire_centisecs = 500
vm.dirty_writeback_centisecs = 100
生效:
sysctl -p
sysctl -p /etc/sysctl.conf
sysctl -q vm.swappiness

2.10 修改 /etc/systemd/system.conf

vi /etc/systemd/system.conf
添加:
DefaultLimitNOFILE = 65536
DefaultLimitNPROC = 10240

2.11 修改/etc/pam.d/login

vi /etc/pam.d/login
echo "session ?required ?/lib64/security/pam_limits.so" >>/etc/pam.d/login
echo "session ?required ?pam_limits.so" >>/etc/pam.d/login

2.12 關閉swap

swapoff -a
mount -a

2.13 調整core文件生成路徑

2.13.1打開core dump

--使用 ulimit -c 命令可查看core文件的生成開關。若結果為0,則表示關閉了此功能,不會生成core文件。
--打開core dump
echo "ulimit -c unlimited" >> /etc/profile
source /etc/profile
--檢查是否生效:
--再次檢查:
ulimit -c

2.13.2調整路徑

新建存放目錄(根據磁盤實際大小規劃存放)
mkdir -p /home/dmdba/core
chown -R dmdba.dinstall /home/dmdba/core
調整core文件路徑
vi /etc/sysctl.conf 添加對應core文件參數
kernel.core_pattern =/home/dmdba/core-%e-%p-%s
執行 sysctl -p 進行生效

2.14 重啟操作系統

2.15 創建相關目錄并給權限:

主備機以及監視器均執行
mkdir -p /dm8/dmdbms
mkdir -p /dmdata
mkdir -p /dmarch
mkdir -p /dmbak
mkdir -p /dm8/dmdbms/log/sqllog
chown dmdba:dinstall -R /dm8/dmdbms
chown dmdba:dinstall -R /dmdata
chown dmdba:dinstall -R /dmarch
chown dmdba:dinstall -R /dmbak
chown dmdba:dinstall -R /dm8/dmdbms/log/sqllog
chmod -R 755 /dm8/dmdbms
chmod -R 755 /dmdata
chmod -R 755 /dmarch
chmod -R 755 /dmbak
chmod -R 755 /dm8/dmdbms/log/sqllog

2.16 掛載鏡像

root用戶將DM數據庫的iso安裝包保存在任意位置,例如/opt目錄下,執行如下命令掛載鏡像:

chown -R dmdba:dinstall /opt/dmsetup/dm8_20210818_x86_rh7_64_ent_8.1.2.18_pack13.iso
chmod -R 775 /opt/dmsetup/dm8_20210818_x86_rh7_64_ent_8.1.2.18_pack13.iso
mount -o loop /opt/ dm8_20210818_x86_rh7_64_ent_8.1.2.18_pack13.iso /mnt

3 數據庫軟件安裝

主備機以及監視器都執行

3.1 軟件安裝

切換至 dmdba 用戶下,在 /mnt 目錄下使用命令行安裝數據庫程序,依次執行以下命令安裝 DM 數據庫。

su - dmdba
cd /mnt/
./DMInstall.bin -i
按需求選擇安裝語言,默認為中文。輸入Key文件路徑,沒有正式key可不選擇。(n) 安裝目錄輸入:/dm8/dmdbms,其他為默認即可。
數據庫安裝大概 1~2 分鐘,數據庫安裝完成后,顯示如下:(root用戶安裝不顯示)
[INFO] 安裝達夢數據庫完成。
請以root系統用戶執行命令:
/dm8/dmdbms/script/root/root_installer.sh
安裝結束數據庫安裝完成后,需要按照顯示要求切換至root用戶執行上圖中的命令/dm8/dmdbms /script/root/root_installer.sh

3.2 環境變量配置:

vim .bash_profile
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH: /dm8/dmdbms/bin"
export DM_HOME="/dm8/dmdbms"
export PATH=$PATH:$DM HOME/bin:$DM HOME/tool
source .bash_profile

4 數據庫實例配置

4.1 配置實例

dminit 命令可設置多種參數,可執行./dminit help命令查看可配置參數。

注意:頁大小 (page_size)、簇大小 (extent_size)、大小寫敏感 (case_sensitive)、字符集 (charset) 這四個參數,一旦確定無法修改,需謹慎設置。

具體參數信息根據實際進行調整,本文以兼容Oracle數據庫,字符集GBK為例。詳細參數信息請參考達夢管理員手冊。
主機:
./dminit?path=/dmdata PAGE_SIZE=32 EXTENT_SIZE=32 CASE_SENSITIVE=y
CHARSET=0 DB_NAME=DMDB INSTANCE_NAME=DM01 BLANK_PAD_MODE=1?SYSDBA_PWD=Dm123123 SYSAUDITOR_PWD=Dm123123
備機:
./dminit?path=/dmdata PAGE_SIZE=32 EXTENT_SIZE=32 CASE_SENSITIVE=y
CHARSET=0 DB_NAME=DMDB INSTANCE_NAME=DM02 BLANK_PAD_MODE=1?SYSDBA_PWD=Dm123123 SYSAUDITOR_PWD=Dm123123
./dminit?path=/dmdata PAGE_SIZE=32 EXTENT_SIZE=32 CASE_SENSITIVE=y
CHARSET=0 DB_NAME=DMDB INSTANCE_NAME=DM03?BLANK_PAD_MODE=1?SYSDBA_PWD=Dm123123 SYSAUDITOR_PWD=Dm123123
./dminit?path=/dmdata PAGE_SIZE=32 EXTENT_SIZE=32 CASE_SENSITIVE=y
CHARSET=0 DB_NAME=DMDB INSTANCE_NAME=DM04?BLANK_PAD_MODE=1?SYSDBA_PWD=Dm123123 SYSAUDITOR_PWD=Dm123123

4.2 注冊服務

切換到root用戶
su - root
cd?/dm8/dmdbms/script/root
主庫:
./dm_service_installer.sh -t dmserver -p DM01 -m mount -dm_ini /dmdata/DMDB/dm.ini
實時備庫:
./dm_service_installer.sh -t dmserver -p DM02 -m mount -dm_ini /dmdata/DMDB /dm.ini
同步備庫:
./dm_service_installer.sh -t dmserver -p DM03?-m mount -dm_ini /dmdata/DMDB /dm.ini
異步備庫:
./dm_service_installer.sh -t dmserver -p DM04?-m mount -dm_ini /dmdata/DMDB /dm.ini
檢查服務是否注冊成功
su - dmdba
cd /dm8/dmdbms/bin
前臺啟動
./dmserver /data/dmdata/DMDB/dm.ini
啟動數據庫后退出
exit

5 集群搭建

5.1 主庫使用dmrman做冷備

切換到dmdba用戶
su - dmdba
./dmrman
RMAN>?BACKUP DATABASE '/dmdata/DMDB/dm.ini' BACKUPSET '/dmbak/db_full_bak_20250310';

5.2 傳輸備份集到備庫進行還原

傳輸到備機
scp -r /dmbak/db_full_bak_20250310?dmdba@X.X.X.X:/dmbak
備機還原:
su - dmdba
cd /dm8/dmdbms/bin
./dmrman
RMAN>?check backupset?'/dmbak/db_full_bak_20250310';
RMAN>?RESTORE DATABASE '/dmdata/DMDB/dm.ini' FROM BACKUPSET ' /dmbak/db_full_bak_20250310';
RMAN>?RECOVER DATABASE '/dmdata/DMDB/dm.ini' FROM BACKUPSET ' /dmbak/db_full_bak_20250310';
RMAN>?RECOVER DATABASE /dmdata/DMDB/dm.ini' UPDATE DB_MAGIC;

5.3?主備機修改配置文件

5.3.1 修改dm.ini

cd /dmdata/DMDB/
vi dm.ini
主機:
BAK_PATH?= /dmbak
INSTANCE_NAME?= DM01 ?
DW_INACTIVE_INTERVAL ?= 60??#接收守護進程消息超時時間
ALTER_MODE_STATUS?= 0??#不允許手工方式修改實例模式/狀態/
ENABLE_OFFLINE_TS?= 2??#不允許備庫OFFLINE表空間
MAL_INI ?= 1??#打開MAL系統
ARCH_INI?= 1??#打開歸檔配置
RLOG_SEND_APPLY_MON ?= 64??#統計最近64次的日志發送信息
COMPATIBLE_MODE?= 2
備機1:
BAK_PATH?= /data/dmbak
INSTANCE_NAME?= DM02
DW_INACTIVE_INTERVAL ?= 60??#接收守護進程消息超時時間
ALTER_MODE_STATUS?= 0???#不允許手工方式修改實例模式/狀態/
ENABLE_OFFLINE_TS?= 2??#不允許備庫OFFLINE表空間
MAL_INI ?= 1??#打開MAL系統
ARCH_INI?? ?= 1??#打開歸檔配置
SVR_LOG?= 1
RLOG_SEND_APPLY_MON = 64??#統計最近64次的日志發送信息
COMPATIBLE_MODE?= 2
備機2:
BAK_PATH?= /data/dmbak
INSTANCE_NAME?= DM03
DW_INACTIVE_INTERVAL ?= 60??#接收守護進程消息超時時間
ALTER_MODE_STATUS?= 0???#不允許手工方式修改實例模式/狀態/
ENABLE_OFFLINE_TS?= 2??#不允許備庫OFFLINE表空間
MAL_INI ?= 1??#打開MAL系統
ARCH_INI?? ?= 1??#打開歸檔配置
SVR_LOG?= 1
RLOG_SEND_APPLY_MON = 64??#統計最近64次的日志發送信息
COMPATIBLE_MODE?= 2
備機3:
BAK_PATH?= /data/dmbak
INSTANCE_NAME?= DM04
DW_INACTIVE_INTERVAL ?= 60??#接收守護進程消息超時時間
ALTER_MODE_STATUS?= 0???#不允許手工方式修改實例模式/狀態/
ENABLE_OFFLINE_TS?= 2??#不允許備庫OFFLINE表空間
MAL_INI ?= 1??#打開MAL系統
ARCH_INI?? ?= 1??#打開歸檔配置
SVR_LOG?= 1
RLOG_SEND_APPLY_MON = 64??#統計最近64次的日志發送信息
COMPATIBLE_MODE?= 2

5.3.2 創建dmmal.ini

主備一致
MAL_CHECK_INTERVAL?= 10
MAL_CONN_FAIL_INTERVAL?= 10
[MAL_INST1]MAL_INST_NAME= DM01MAL_HOST =主機IPMAL_PORT?= 61141MAL_INST_HOST= 主機IPMAL_INST_PORT= 5236MAL_DW_PORT= 52141MAL_INST_DW_PORT?= 33141
[MAL_INST2]MAL_INST_NAME= DM02MAL_HOST?= 備機1的IPMAL_PORT?= 61141MAL_INST_HOST= 備機1的IPMAL_INST_PORT= 5236MAL_DW_PORT= 52141MAL_INST_DW_PORT?= 33141
[MAL_INST3]MAL_INST_NAME= DM03MAL_HOST?= 備機2的IPMAL_PORT?= 61141MAL_INST_HOST= 備機2的IPMAL_INST_PORT= 5236MAL_DW_PORT= 52141MAL_INST_DW_PORT?= 33141
[MAL_INST4]MAL_INST_NAME= DM04MAL_HOST?= 備機3的IPMAL_PORT?= 61141MAL_INST_HOST= 備機3的IPMAL_INST_PORT= 5236MAL_DW_PORT= 52141MAL_INST_DW_PORT?= 33141

5.3.3 創建dmarch.ini

主庫:
vi dmarch.ini
[ARCHIVE_LOCAL1]ARCH_TYPE= LOCALARCH_DEST= /dmarchARCH_FILE_SIZE= 1024 ?####根據實際進行調整ARCH_SPACE_LIMIT = 10240 ?####根據實際進行調整
[ARCHIVE_REALTIME] ?ARCH_TYPE= REALTIMEARCH_DEST= DM02
[ARCHIVE_SYNC]ARCH_TYPE = SYNCARCH_DEST = DM03ARCH_RECOVER_TIME =1
[ARCHIVE_ASYNC]ARCH_TYPE = ASYNCARCH_DEST = DM04ARCH_TIMER_NAME = RT_TIMER
實時備庫:
vi dmarch.ini
[ARCHIVE_LOCAL1]ARCH_TYPE= LOCALARCH_DEST= /dmarchARCH_FILE_SIZE= 1024 ?####根據實際進行調整ARCH_SPACE_LIMIT = 10240 ?####根據實際進行調整
[ARCHIVE_REALTIME] ?ARCH_TYPE= REALTIMEARCH_DEST= DM01
[ARCHIVE_SYNC]ARCH_TYPE = SYNCARCH_DEST = DM03ARCH_RECOVER_TIME =1
[ARCHIVE_ASYNC]ARCH_TYPE = ASYNCARCH_DEST = DM04ARCH_TIMER_NAME = RT_TIMER
同步備庫和異步備庫:
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dmarch
ARCH_FILE_SIZE = 1024 ?####根據實際進行調整
ARCH_SPACE_LIMIT = 10240??####根據實際進行調整

5.3.4 創建dmwatcher.ini

主庫
vi dmwatcher.ini
[GRP1]
DW_TYPE?= GLOBAL
DW_MODE= AUTO
DW_ERROR_TIME= 10
INST_RECOVER_TIME = 60
INST_ERROR_TIME= 10
INST_OGUID= 453331
INST_INI = /dmdata/DMDB/dm.ini
INST_AUTO_RESTART = 1
INST_STARTUP_CMD = /dm8/dmdbms/bin/DmServiceDM01?start
RLOG_SEND_THRESHOLD = 0
RLOG_APPLY_THRESHOLD = 0
實時備庫:
vi dmwatcher.ini
[GRP1]
DW_TYPE?= GLOBAL
DW_MODE= AUTO
DW_ERROR_TIME= 10
INST_RECOVER_TIME = 60
INST_ERROR_TIME= 10
INST_OGUID= 453331
INST_INI = /dmdata/DMDB/dm.ini
INST_AUTO_RESTART = 1
INST_STARTUP_CMD = /dm8/dmdbms/bin/DmServiceDM02?start
RLOG_SEND_THRESHOLD = 0
RLOG_APPLY_THRESHOLD = 0
同步備庫:
vi dmwatcher.ini
[GRP1]
DW_TYPE = LOCAL
DW_MODE = MANUAL ?
DW_ERROR_TIME = 10
INST_ERROR_TIME = 10
INST_OGUID = 453331 ?
INST_INI = /dmdata/DMDB/dm.ini
INST_AUTO_RESTART = 1 ?
INST_STARTUP_CMD = /dm8/dmdbms/bin/DmServiceDM03 start
異步備庫:
vi dmwatcher.ini
[GRP1]
DW_TYPE = LOCAL
DW_MODE = MANUAL ?
DW_ERROR_TIME = 10
INST_ERROR_TIME = 10
INST_OGUID = 453331 ?
INST_INI = /dmdata/DMDB/dm.ini
INST_AUTO_RESTART = 1 ?
INST_STARTUP_CMD = /dm8/dmdbms/bin/DmServiceDM04 start

5.3.5 創建dmtimer.ini

主庫和實時備庫:
vi dmtimer.ini
[RT_TIMER]TYPE?= 10FREQ_MONTH_WEEK_INTERVAL?= 1FREQ_SUB_INTERVAL?= 0FREQ_MINUTE_INTERVAL?= 0REPEAT_INTERVAL=FREQ=SECONDLY;INTERVAL=10START_TIME?= 00:00:00END_TIME?= 23:59:59DURING_START_DATE?= 2020-02-11 17:36:09DURING_END_DATE?= 9999-12-31 23:59:59NO_END_DATE_FLAG= 1DESCRIBE?= RT TIMERIS_VALID?= 1

5.3.6?修改sqllog.ini

主備一致
SQLLOG:
vi sqllog.ini
BUF_TOTAL_SIZE?= 10240??#SQLs Log Buffer Total Size(K)(1024~1024000)
BUF_SIZE?= 1024???#SQLs Log Buffer Size(K)(50~409600)
BUF_KEEP_CNT?= 6??#SQLs Log buffer keeped count(1~100)
####根據實際磁盤大小和需要進行修改
[SLOG_ALL]FILE_PATH?= /dm8/dmdbms/log/sqllogPART_STOR?= 0SWITCH_MODE ?=2SWITCH_LIMIT?= 1024ASYNC_FLUSH?= 1FILE_NUM = 10ITEMS?= 0SQL_TRACE_MASK?= 1MIN_EXEC_TIME = 0USER_MODE?= 0USERS =

5.4?啟動數據庫,修改狀態

5.4.1 啟動主庫,檢查主庫狀態

#以mount方式啟動主庫
cd /dm8/dmdbms/bin
./dmserver /dmdata/DMDB/dm.ini?mount
#啟動命令行工具 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);
#修改后前臺退出數據庫
exit

5.4.2 啟動備庫,檢查備庫狀態

#以mount方式啟動備庫
cd /dm8/dmdbms/bin
./dmserver /dmdata/DMDB/dm.ini?mount
#啟動命令行工具 disql
SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
SQL>sp_set_oguid(453331);
SQL>alter database standy;
SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
#修改后前臺退出數據庫
exit

5.5?注冊并啟動數據守護服務

切換到root用戶
cd /dm8/dmdbms/script/root/
-數據守護服務
主庫:
./dm_service_installer.sh -t dmwatcher -watcher_ini /dmdata/DMDB/dmwatcher.ini -p DM01
創建服務(DmWatcherServiceDM01)完成
實時備庫:
./dm_service_installer.sh -t dmwatcher -watcher_ini /dmdata/DMDB/dmwatcher.ini -p DM02
創建服務(DmWatcherServiceDM02)完成
同步備庫:
./dm_service_installer.sh -t dmwatcher -watcher_ini /dmdata/DMDB/dmwatcher.ini -p DM03
創建服務(DmWatcherServiceDM03)完成
異步備庫:
./dm_service_installer.sh -t dmwatcher -watcher_ini /dmdata/DMDB/dmwatcher.ini -p DM04
創建服務(DmWatcherServiceDM04)完成
啟動數據守護服務
./DmWatcherServiceDM01 start
./DmWatcherServiceDM02 start
./DmWatcherServiceDM03?start
./DmWatcherServiceDM04?start

5.6?注冊并啟動監視器服務

5.6.1 創建dmmonitor.ini

配置確認監視器
vi /dmdata/DMDB/dmmonitor.ini
vi dmmonitor.ini
MON_DW_CONFIRM = 1??#確認監視器模式
MON_LOG_PATH = /dm8/dmdbms/log??#監視器日志文件存放路徑
MON_LOG_INTERVAL = 60 #每 隔 60s 定 時 記 錄 系 統 信 息 到 日 志 文 件
MON_LOG_FILE_SIZE = 32 ?#每個日志文件最大 32M
MON_LOG_SPACE_LIMIT = 2048??#限定日志文件總占用空間
[GRP1]
MON_INST_OGUID =?453331??#組GRP1 的唯一 OGUID 值
#以下配置為監視器到組 GRP1 的守護進程的連接信息,以“IP:PORT”的形式配置#IP 對應 dmmal.ini 中的 MAL_HOST,PORT 對應 dmmal.ini 中的 MAL_DW_PORT
MON_DW_IP = 主機IP:52141
MON_DW_IP = 備機1的IP:52141
MON_DW_IP = 備機2的IP:52141
MON_DW_IP = 備機3的IP:52141
配置非確認監視器
vi dmmonitor_noc.ini
MON_DW_CONFIRM = 0??#確認監視器模式
MON_LOG_PATH = /dm8/dmdbms/log??#監視器日志文件存放路徑
MON_LOG_INTERVAL = 60 #每 隔 60s 定 時 記 錄 系 統 信 息 到 日 志 文 件
MON_LOG_FILE_SIZE = 32 ?#每個日志文件最大 32M
MON_LOG_SPACE_LIMIT = 2048??#限定日志文件總占用空間
[GRP1]
MON_INST_OGUID =?453331??#組GRP1 的唯一 OGUID 值
#以下配置為監視器到組 GRP1 的守護進程的連接信息,以“IP:PORT”的形式配置#IP 對應 dmmal.ini 中的 MAL_HOST,PORT 對應 dmmal.ini 中的 MAL_DW_PORT
MON_DW_IP = 主機IP:52141
MON_DW_IP = 備機1的IP:52141
MON_DW_IP = 備機2的IP:52141
MON_DW_IP = 備機3的IP:52141

5.6.2 注冊并啟動監視器服務

切換到root用戶
su - root
cd /dm8/dmdbms/script/root/
./dm_service_installer.sh -t dmmonitor -p MONITOR -monitor_ini?/dmdata/DMDB/dmmonitor.ini
創建服務(DmMonitorServiceMONITOR)完成
啟動服務:
/dm8/dmdbms/bin/DmMonitorServiceMONITOR start

6 驗證數據守護是否搭建完成

進入數據庫bin目錄下,啟動非確認監視器

cd /dm8/dmdbms/bin
./dmmonitor?/dm8/DMDB/dmmonitor_noc.ini
show

?啟動后參考如下圖:

7 參數優化

使用達夢已提供的參數優化腳本,根據服務器實際配置優化即可。

8 集群啟停

啟動:
./DmServiceDM01 start
./DmServiceDM02 start
./DmServiceDM03?start
./DmServiceDM04?start
./DmWatcherServiceDM01 start
./DmWatcherServiceDM02 start
./DmWatcherServiceDM03?start
./DmWatcherServiceDM04?start
./DmMonitorServiceMONITOR start
停止集群:關確認監視器,關備守、主守,關主server、關備server
./DmMonitorServiceMONITOR stop
./DmWatcherServiceDM04?stop
./DmWatcherServiceDM03?stop
./DmWatcherServiceDM02 stop
./DmWatcherServiceDM01 stop
./DmServiceDM01 stop
./DmServiceDM02 stop
./DmServiceDM03?stop
./DmServiceDM04?stop

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/91825.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/91825.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/91825.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

電感與電容充、放電極性判斷和電感選型

目錄 一、電感 二、電容 三、電感選型 一、電感 充電:左右-為例 放電:極性相反,左-右 二、電容 充電:左右-為例 放電:左右-(與充電極性一致) 三、電感選型 主要考慮額定電流和飽和電流。…

新建模范式Mamba——“Selectivity is All You Need?”

目錄 一、快速走進和理解Mamba建模架構 (一)從Transformer的統治地位談起 (二)另一條道路:結構化狀態空間模型(SSM) (三)Mamba 的核心創新:Selective SSM…

Python實現Word文檔中圖片的自動提取與加載:從理論到實踐

在現代辦公和文檔處理中,Word文檔已經成為最常用的文件格式之一。這些文檔不僅包含文本內容,還經常嵌入各種圖片、圖表和其他媒體元素。在許多場景下,我們需要從Word文檔中提取這些圖片,例如進行內容分析、創建圖像數據庫、或者在…

Kafka、RabbitMQ 與 RocketMQ 高可靠消息保障方案對比分析

Kafka、RabbitMQ 與 RocketMQ 高可靠消息保障方案對比分析 在分布式系統中,消息隊列承擔著異步解耦、流量削峰、削峰填谷等重要職責。為了保證應用的數據一致性和業務可靠性,各大消息中間件都提供了多種高可靠消息保障機制。本文以Kafka、RabbitMQ和Rock…

四足機器人遠程視頻與互動控制的全鏈路方案

隨著機器人行業的快速發展,特別是四足仿生機器人在巡檢、探測、安防、救援等復雜環境中的廣泛部署,如何實現高質量、低延遲的遠程視頻監控與人機互動控制,已經成為制約其應用落地與規模化推廣的關鍵技術難題。 四足機器人常常面臨以下挑戰&a…

把leetcode官方題解自己簡單解釋一下

自用自用!!!leetcode hot 100

hive的sql優化思路-明白底層運行邏輯

一、首先要明白底層map、shuffle、reduce的順序之中服務器hdfs數據文件在內存與存儲之中是怎么演變的,因為hive的性能瓶頸基本在內存,具體參考以下他人優秀文章: 1.Hive SQL底層執行過程詳細剖析 2.Hive JOIN性能調優 二是要明白hive對應的…

驅動隔離芯片在現代工業上的卓越貢獻

在智能時代的精密齒輪中,驅動隔離芯片如同一位精通跨界語言的“安全架構師”,在高壓與低壓、危險與精密的交界處重構秩序。它不生產數據,卻是信息的守門人;不創造能量,卻是電流的馴獸師。從鋼鐵叢林到生命方舟&#xf…

使用MATLAB探索圓周率π的奇妙計算之旅

在數學的璀璨星河中,圓周率π無疑是最耀眼的明星之一。這個看似簡單的無理數蘊含著宇宙的奧秘,吸引著無數科學家和數學愛好者探索其計算方法。今天,我們將使用MATLAB這一強大的科學計算工具,踏上π的計算之旅,體驗從古典算法到現代技巧的奇妙過程。 1. 蒙特卡洛法:隨機的…

React 服務器組件 (RSC)

文章目錄前言1. 什么是服務器組件 (Server Components)?2. 服務器組件的核心規則(1) 異步性 (async/await)(2) 無客戶端交互(3) 渲染限制3. 與客戶端組件的協作組合模式Props 傳遞規則4. 使用場景5. 文件命名約定6. 常見誤區7. 示例代碼服務端組件(獲取數據&#x…

如何解決AttributeError: ‘NoneType‘ object has no attribute問題

如何解決AttributeError: ‘NoneType’ object has no attribute問題 問題背景與概述 在 Python 項目開發和調試過程中,經常會碰到這樣一個異常信息: AttributeError: NoneType object has no attribute foo這意味著你嘗試訪問或調用某個對象的屬性&a…

量子計算與AI融合的技術突破與實踐路徑

量子計算與人工智能的融合正開啟一個全新的技術紀元,這種"量智融合"不是簡單的技術疊加,而是多領域、多學科的橫向連接,通過協同創新實現非線性增長。本文將深入探討這一領域的最新進展、技術實現路徑以及行業應用案例。電子-光子-…

xss的利用

目錄 一、XSS的原理和分類 二、常見的XSS標簽和屬性 三、Xss漏洞分類 1. 反射性xss 反射性 XSS 典型攻擊場景 基于 URL 參數的反射性 XSS 基于表單參數的反射性 XSS 利用 HTML 標簽屬性的反射性 XSS 2.存儲型XSS 存儲型XSS的高頻攻擊場景 社交平臺評論區 論壇發帖與…

開源Docmost知識庫管理工具

Docmost知識庫管理工具Docmost是什么核心功能安裝應用報錯鏡像拉取報錯使用Docmost是什么 Docmost 是一個開源的協作 wiki 和文檔軟件。它是 Confluence 和 Notion 的開源替代方案。 核心功能 主開發語言:主要使用 TypeScript 開發(性能好,擴…

Elastic Search 8.x 分片和常見性能優化

目錄索引分片寫入原理概念索引寫入流程常見性能優化背景常見性能優化硬件資源優化分片和副本優化索引分片寫入原理 概念 分片(shard) 分片是將索引數據分割成更小的、可分布式存儲和處理的單元每個索引都由一個或多個分片組成,每個分片都是一…

Java+Vue搭建資產設備全生命周期管理系統,移動端隨時操作,后臺管理高效精準,覆蓋資產全周期,提供完整源碼

前言:在當今企業運營中,資產設備作為重要的生產要素,其高效管理和合理利用直接關系到企業的生產效率、成本控制和競爭力。資產設備全生命周期管理涵蓋了從設備的采購規劃、采購實施、入庫存儲、使用維護到報廢處置的整個過程。為了實現對資產…

Vue rem回顧

Vue 漸進式JavaScript 框架 基于Vue2的學習筆記 - Vue rem回顧(初學者簡單筆記) 目錄 rem回顧 移動端適配 等比例縮放 下載插件 總結 rem回顧 實現自適應的rem布局。 通過把屏幕劃分成幾個等份,作為html字體的大小,當設備變…

C#語法基礎總結(超級全面)(二)

文章目錄c#語法基本元素關鍵字操作符(operator)類型轉換標識符(Identifier)語句try語句迭代語句(循環語句)索引器文本(字面值)五大數據類型引用類型:值類型:變…

MyBatis分頁神器PageHelper深度解析

PageHelper 是一個優秀的 MyBatis 分頁插件,它通過簡單的攔截器機制,實現了對 MyBatis 查詢的物理分頁(而非內存分頁),極大簡化了分頁代碼的編寫。而 PageHelper 擴展 通常指的是在其核心功能基礎上,為特定…

【2025/07/19】GitHub 今日熱門項目

GitHub 今日熱門項目 🚀 每日精選優質開源項目 | 發現優質開源項目,跟上技術發展趨勢 📋 報告概覽 📊 統計項📈 數值📝 說明📅 報告日期2025-07-19 (周六)GitHub Trending 每日快照&#x1f55…