• 正文
    • 1 環(huán)境規(guī)劃
    • 2 操作系統(tǒng)配置
    • 3 創(chuàng)建數(shù)據(jù)庫用戶和組
    • 4 配置環(huán)境變量
    • 5 安裝數(shù)據(jù)庫
    • 5.1 使用root用戶掛載數(shù)據(jù)庫軟件的iso文件
    • 5.2.使用dmdba用戶安裝軟件
    • 5.3 使用 dminit 工具初始化實例
    • 5.4 拷貝主庫數(shù)據(jù)文件到兩臺備庫
    • 5.5 注冊數(shù)據(jù)庫服務
    • 5.6 登錄數(shù)據(jù)庫
    • 5.7 備份主庫
    • 5.8 拷貝備份文件到兩臺備庫
    • 5.9 恢復兩臺備庫
    • 5.10 檢查數(shù)據(jù)一致性
    • 6 修改dm.ini文件
    • 7 配置dmmal.ini文件
    • 8 配置歸檔配置文件 dmarch.ini
    • 9 配置守護進程配置文件 dmwatcher.ini
    • 10 配置dmwatcher.ctl
    • 11 設置 OGUID和修改數(shù)據(jù)庫模式
    • 12 配置sql日志
    • 13 部署普通監(jiān)視器
    • 14 注冊守護進程服務
    • 15 注冊監(jiān)視器服務
    • 16 驗證主備集群同步狀態(tài)
    • 17 優(yōu)化dm.ini參數(shù)
    • 18 定制備份策略
  • 相關推薦
申請入駐 產(chǎn)業(yè)圖譜

DM7讀寫分離部署

04/13 09:55
920
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

1 環(huán)境規(guī)劃

讀寫分離集群適合讀多寫少的應用環(huán)境。1寫2讀3節(jié)點讀寫分離集群部署規(guī)劃

1.1 IP規(guī)劃:

主機名 服務ip 心跳ip 數(shù)據(jù)庫 實例名
dmdb01 192.168.25.94 10.10.10.94 dmdb rw4
dmdb02 192.168.25.95 10.10.10.95 dmdb rw5
dmdb03 192.168.25.96 10.10.10.96 dmdb rw6

1.2 端口規(guī)劃

實例名 PORT_NUM DW_PORT MAL_HOST MAL_PORT MAL_DW_PORT
rw4 5236 7436 10.10.10.94 dmdb 7336
rw5 5236 7436 10.10.10.95 dmdb 7336
rw6 5236 7436 10.10.10.96 dmdb 7336

1.3 磁盤規(guī)劃

對應服務器上創(chuàng)建目錄owner為dmdba組為dinstall

數(shù)據(jù)庫軟件安裝目錄 /home/dmdba/dmdbms/dm8
實例安裝目錄 /dm/dmdata/
歸檔日志存放目錄 /dm/dmarch
備份文件存放目錄 /dm/dmbak/

2 操作系統(tǒng)配置

2.1 修改資源限制參數(shù)

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      65536
dmdba  hard      nproc      65536
dmdba  soft      nofile     65536
dmdba  hard      nofile     65536
dmdba  soft      core       unlimited
dmdba  hard      core       unlimited
dmdba  soft      data       unlimited
dmdba  hard      data       unlimited

cat  /etc/security/limits.conf

2.3 設置系統(tǒng)安全策略

2.3.1 SELinux

echo "SELINUX=disabled" > /etc/selinux/config
echo "SELINUXTYPE=targeted" >> /etc/selinux/config

cat /etc/selinux/config
setenforce 0

2.3.2.關閉防火墻

systemctl status firewalld.service
systemctl stop firewalld.service
systemctl disable firewalld.service

2.4 修改內核參數(shù)

fs.file-max = 6815744
fs.aio-max-nr = 1048576
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.dirty_ratio = 80
vm.dirty_expire_centisecs = 500
vm.dirty_writeback_centisecs = 100
kernel.core_pattern = /home/dmdba/dmdbms/core.%p
vm.swappiness=10
vm.dirty_background_ratio = 0
vm.min_free_kbytes = 2097152
vm.swappiness=1
 
使參數(shù)生效,執(zhí)行
sysctl -p

3 創(chuàng)建數(shù)據(jù)庫用戶和組

groupadd dinstall -g 2001
 
useradd  -G dinstall -m -d /home/dmdba -s /bin/bash -u 2001 dmdba
 
passwd dmdba
--密碼
dameng

配置目錄權限

#測試環(huán)境
mkdir -p /home/dmdba/dmdbms
mkdir -p /dm/dmdata
mkdir -p /dm/dmarch
mkdir -p /dm/dmback

chown -R dmdba:dinstall /dm/
chmod -R 775 /dm/

4 配置環(huán)境變量

su - dmdba

vi ~/.bash_profile
 
export LANG=zh_CN.UTF8
export DM_INSTALL_TMPDIR=/tmp
export DM_HOME=/home/dmdba/dmdbms
export PATH=$DM_HOME/bin:$PATH:$HOME/bin
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$DM_HOME/bin"

5 安裝數(shù)據(jù)庫

5.1 使用root用戶掛載數(shù)據(jù)庫軟件的iso文件

mkdir -p /dmiso
#mount -o loop dm7_20210709_x86_rh6_64_ent_7.6.1.108.iso /dmiso

mount /dev/cdrom /dmiso

5.2.使用dmdba用戶安裝軟件

su - dmdba
執(zhí)行以下命令,切換到 /dmiso 目錄下
cd /dmiso
執(zhí)行 DMInstall.bin 文件開始安裝,選擇【-i】參數(shù)以命令行方式安裝。
./DMInstall.bin -i
選擇安裝程序的語言 c/C 為中文,e/E 為英文。
提示是否安裝 key 文件,輸入 N 跳過。
選擇時區(qū),21 即東 8 區(qū)。
選擇安裝類型,默認典型安裝(包含所有內容)。
選擇軟件安裝目錄,默認/home/dmdba/dmdbms
確認安裝
安裝完成提示使用root執(zhí)行腳本:
/home/dmdba/dmdbms/script/root/root_installer.sh

安裝第一臺:

[root@dm94 dmdbms]# su - dmdba
Last login: Sat Jan 22 11:34:35 CST 2022 on pts/0
[dmdba@dm94 ~]$ cd /dmiso
[dmdba@dm94 dmiso]$ ./DMInstall.bin -i
請選擇安裝語言(C/c:中文 E/e:英文) [C/c]:c
解壓安裝程序..........
歡迎使用達夢數(shù)據(jù)庫安裝程序

是否輸入Key文件路徑? (Y/y:是 N/n:否) [Y/y]:n

是否設置時區(qū)? (Y/y:是 N/n:否) [Y/y]:y
設置時區(qū):
[ 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=基里巴斯
請選擇設置時區(qū) [21]:21

安裝類型:
1 典型安裝
2 服務器
3 客戶端
4 自定義
請選擇安裝類型的數(shù)字序號 [1 典型安裝]:1
所需空間: 1026M

請選擇安裝目錄 [/home/dmdba/dmdbms]
可用空間: 98G
是否確認安裝路徑(/home/dmdba/dmdbms)? (Y/y:是 N/n:否)  [Y/y]:y

安裝前小結
安裝位置: /home/dmdba/dmdbms
所需空間: 1026M
可用空間: 98G
版本信息: 
有效日期: 
安裝類型: 典型安裝
是否確認安裝? (Y/y:是 N/n:否):y
2022-01-22 11:43:41 
[INFO] 安裝達夢數(shù)據(jù)庫...
2022-01-22 11:43:42 
[INFO] 安裝 基礎 模塊...
2022-01-22 11:43:44 
[INFO] 安裝 服務器 模塊...
2022-01-22 11:43:45 
[INFO] 安裝 客戶端 模塊...
2022-01-22 11:43:45 
[INFO] 安裝 驅動 模塊...
2022-01-22 11:43:46 
[INFO] 安裝 手冊 模塊...
2022-01-22 11:43:46 
[INFO] 安裝 服務 模塊...
2022-01-22 11:43:47 
[INFO] 移動ant日志文件。
2022-01-22 11:43:47 
[INFO] 安裝達夢數(shù)據(jù)庫完成。

請以root系統(tǒng)用戶執(zhí)行命令:
/home/dmdba/dmdbms/script/root/root_installer.sh

安裝結束

[dmdba@dm94 dmiso]$ exit
登出
[root@dm94 dmdbms]# /dm/dmdbms/script/root/root_installer.sh
移動 /home/dmdba/dmdbms/bin/dm_svc.conf 到/etc目錄
修改服務器權限
創(chuàng)建DmAPService服務
Created symlink from /etc/systemd/system/multi-user.target.wants/DmAPService.service to /usr/lib/systemd/system/DmAPService.service.
創(chuàng)建服務(DmAPService)完成
啟動DmAPService服務
[root@dm94 dmdbms]#

安裝第二臺

[dmdba@dm95 dmdbms]$ cd /dmiso/
[dmdba@dm95 dmiso]$ ./DMInstall.bin -i
請選擇安裝語言(C/c:中文 E/e:英文) [C/c]:c
解壓安裝程序..........
歡迎使用達夢數(shù)據(jù)庫安裝程序

是否輸入Key文件路徑? (Y/y:是 N/n:否) [Y/y]:n

是否設置時區(qū)? (Y/y:是 N/n:否) [Y/y]:y
設置時區(qū):
[ 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=基里巴斯
請選擇設置時區(qū) [21]:21

安裝類型:
1 典型安裝
2 服務器
3 客戶端
4 自定義
請選擇安裝類型的數(shù)字序號 [1 典型安裝]:1
所需空間: 1026M

請選擇安裝目錄 [/home/dmdba/dmdbms]:
可用空間: 98G
是否確認安裝路徑(/home/dmdba/dmdbms)? (Y/y:是 N/n:否)  [Y/y]:y

安裝前小結
安裝位置: /home/dmdba/dmdbms
所需空間: 1026M
可用空間: 98G
版本信息: 
有效日期: 
安裝類型: 典型安裝
是否確認安裝? (Y/y:是 N/n:否):y
2022-01-22 11:43:41 
[INFO] 安裝達夢數(shù)據(jù)庫...
2022-01-22 11:43:42 
[INFO] 安裝 基礎 模塊...
2022-01-22 11:43:44 
[INFO] 安裝 服務器 模塊...
2022-01-22 11:43:44 
[INFO] 安裝 客戶端 模塊...
2022-01-22 11:43:45 
[INFO] 安裝 驅動 模塊...
2022-01-22 11:43:45 
[INFO] 安裝 手冊 模塊...
2022-01-22 11:43:46 
[INFO] 安裝 服務 模塊...
2022-01-22 11:43:47 
[INFO] 移動ant日志文件。
2022-01-22 11:43:47 
[INFO] 安裝達夢數(shù)據(jù)庫完成。

請以root系統(tǒng)用戶執(zhí)行命令:
/home/dmdba/dmdbms/script/root/root_installer.sh

安裝結束

[dmdba@dm95 dmiso]$ exit
登出
[root@dm95 dmback]# /dm/dmdbms/script/root/root_installer.sh
移動 /home/dmdba/dmdbms/bin/dm_svc.conf 到/etc目錄
修改服務器權限
創(chuàng)建DmAPService服務
Created symlink from /etc/systemd/system/multi-user.target.wants/DmAPService.service to /usr/lib/systemd/system/DmAPService.service.
創(chuàng)建服務(DmAPService)完成
啟動DmAPService服務
[root@dm95 dmback]# 

[dmdba@dm94 bin]$ 

安裝第三臺:


[dmdba@dm96 dmdbms]$ cd /dmiso/
[dmdba@dm96 dmiso]$  ./DMInstall.bin -i
請選擇安裝語言(C/c:中文 E/e:英文) [C/c]:c
解壓安裝程序..........
歡迎使用達夢數(shù)據(jù)庫安裝程序

是否輸入Key文件路徑? (Y/y:是 N/n:否) [Y/y]:n

是否設置時區(qū)? (Y/y:是 N/n:否) [Y/y]:y
設置時區(qū):
[ 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=基里巴斯
請選擇設置時區(qū) [21]:21

安裝類型:
1 典型安裝
2 服務器
3 客戶端
4 自定義
請選擇安裝類型的數(shù)字序號 [1 典型安裝]:1
所需空間: 1026M

請選擇安裝目錄 [/home/dmdba/dmdbms]:
可用空間: 98G
是否確認安裝路徑(/home/dmdba/dmdbms)? (Y/y:是 N/n:否)  [Y/y]:y

安裝前小結
安裝位置: /home/dmdba/dmdbms
所需空間: 1026M
可用空間: 98G
版本信息: 
有效日期: 
安裝類型: 典型安裝
是否確認安裝? (Y/y:是 N/n:否):y
2022-01-22 11:43:42 
[INFO] 安裝達夢數(shù)據(jù)庫...
2022-01-22 11:43:42 
[INFO] 安裝 基礎 模塊...
2022-01-22 11:43:45 
[INFO] 安裝 服務器 模塊...
2022-01-22 11:43:45 
[INFO] 安裝 客戶端 模塊...
2022-01-22 11:43:46 
[INFO] 安裝 驅動 模塊...
2022-01-22 11:43:46 
[INFO] 安裝 手冊 模塊...
2022-01-22 11:43:46 
[INFO] 安裝 服務 模塊...
2022-01-22 11:43:47 
[INFO] 移動ant日志文件。
2022-01-22 11:43:47 
[INFO] 安裝達夢數(shù)據(jù)庫完成。

請以root系統(tǒng)用戶執(zhí)行命令:
/home/dmdba/dmdbms/script/root/root_installer.sh

安裝結束

[dmdba@dm96 dmiso]$ exit
登出
[root@dm96 ~]# /home/dmdba/dmdbms/script/root/root_installer.sh
移動 /home/dmdba/dmdbms/bin/dm_svc.conf 到/etc目錄
修改服務器權限
創(chuàng)建DmAPService服務
Created symlink from /etc/systemd/system/multi-user.target.wants/DmAPService.service to /usr/lib/systemd/system/DmAPService.service.
創(chuàng)建服務(DmAPService)完成
啟動DmAPService服務
[root@dm96 ~]# 

5.3 使用 dminit 工具初始化實例

初始化實例
--大小寫敏感 case_sensitive=1 0/1是y/n -- charset=0 0代表GBK 1是utf-8

初始化主庫,執(zhí)行以下命令:

[root@dm94 dmdbms]# su - dmdba
Last login: Sat Jan 22 11:38:04 CST 2022 on pts/0
[dmdba@dm94 ~]$ cd /home/dmdba/dmdbms/bin
[dmdba@dm94 bin]$ ./dminit path=/dm/dmdata page_size=32 extent_size=32 log_size=2048 charset=1 case_sensitive=0 LENGTH_IN_CHAR=0 db_name=dmdb instance_name=dmdb SYSDBA_PWD="dameng123" SYSAUDITOR_PWD="dameng123" 
initdb V7.6.1.108-Build(2021.06.30-142705-10017)ENT 
db version: 0x7000a
file dm.key not found, use default license!
License will expire on 2022-06-30

 log file path: /dm/dmdata/dmdb/dmdb01.log


 log file path: /dm/dmdata/dmdb/dmdb02.log

write to dir [/dm/dmdata/dmdb].
create dm database success. 2022-01-22 11:48:47
[dmdba@dm94 bin]$ exit
登出

5.4 拷貝主庫數(shù)據(jù)文件到兩臺備庫

拷貝主庫上的數(shù)據(jù)文件到備庫對應目錄下,主庫操作:
su - dmdba

scp -r /dm/dmdata/dmdb dmdba@192.168.25.95:/dm/dmdata/
scp -r /dm/dmdata/dmdb dmdba@192.168.25.96:/dm/dmdata/
dameng

5.5 注冊數(shù)據(jù)庫服務

注冊主備服務,操作方式如下

cd /home/dmdba/dmdbms/script/root/
./dm_service_installer.sh -i /dm/dmdata/dmdb/dm.ini -t dmserver -p dmdb 

[root@dm94 dmdbms]# cd /home/dmdba/dmdbms/script/root/
[root@dm94 root]# ./dm_service_installer.sh -i /dm/dmdata/dmdb/dm.ini -t dmserver -p dmdb 
Created symlink from /etc/systemd/system/multi-user.target.wants/DmServicedmdb.service to /usr/lib/systemd/system/DmServicedmdb.service.
創(chuàng)建服務(DmServicedmdb)完成
[root@dm94 root]# su - dmdba
Last login: Sat Jan 22 11:48:16 CST 2022 on pts/0
[dmdba@dm94 ~]$ cd /dm/dmdbms/bin
[dmdba@dm94 bin]$ ./DmServicedmdb start
Starting DmServicedmdb:                                    [ OK ]

注:對于新初始化的庫,首次啟動不允許使用mount方式,需要先正常啟動并正常退出,然后才允許mount 方式啟動。
或者切換用戶,進入bin目錄
su - dmdba
cd /home/dmdba/dmdbms/bin
./DmServicedmdb start

5.6 登錄數(shù)據(jù)庫

dmdba用戶下執(zhí)行以下命令:
./disql SYSDBA/’“dameng123”’

3.6 歸檔配置 (在線方式配置歸檔)
生產(chǎn)環(huán)境必須開啟歸檔日志,且必須限制歸檔日志保留量,限制方法:
1.設置歸檔空間大小限制即指定 SPACE_LIMIT 參數(shù)(單位是 MB)。
2.定期刪除歸檔日志(設置定時作業(yè))。
例如開啟歸檔并限制歸檔空間為 100 G(按實際存儲空間給合適的值),如下所示

alter database mount;
alter database add archivelog 'dest=/dm/dmarch ,TYPE=local,FILE_SIZE=1024,SPACE_LIMIT=153600';
alter database archivelog;
alter database open;

5.7 備份主庫

./dmrman/dmrman use_ap=2
BACKUP DATABASE '/dm/dmdata/dmdb/dm.ini' FULL TO BACKUP_FILE2 BACKUPSET '/dm/dmback/bakfull'; 

check backupset '/dm/dmback/bakfull';

5.8 拷貝備份文件到兩臺備庫

–拷貝到備庫
scp -r /dm/dmback/bakfull dmdba@192.168.25.95:/dm/dmback/
scp -r /dm/dmback/bakfull dmdba@192.168.25.96:/dm/dmback/
dameng

5.9 恢復兩臺備庫

還原備庫1、備庫2

su - dmdba
cd /home/dmdba/dmdbms/bin
./DmServicedmdb stop

./dmrman /dmrman use_ap=2
check backupset '/dm/dmback/bakfull';
RESTORE DATABASE '/dm/dmdata/dmdb/dm.ini' FROM BACKUPSET '/dm/dmback/bakfull'; 
RECOVER DATABASE '/dm/dmdata/dmdb/dm.ini' FROM BACKUPSET '/dm/dmback/bakfull'; 

5.10 檢查數(shù)據(jù)一致性

– 主備啟動到mount狀態(tài)
su - dmdba
cd /home/dmdba/dmdbms/bin/
./DmServicedmdb start mount
使用以下命令登錄到數(shù)據(jù)
./disql SYSDBA/’“dameng123”’

select file_LSN, cur_LSN from v$rlog;
select permanent_magic;

--  主庫94
SQL> select file_LSN, cur_LSN from v$rlog;
select permanent_magic;
行號     file_LSN             cur_LSN             
---------- -------------------- --------------------
1          56837                56837

已用時間: 12.592(毫秒). 執(zhí)行號:1.
SQL> 

行號     permanent_magic     
---------- --------------------
1          1277393152

已用時間: 1.643(毫秒). 執(zhí)行號:2.
SQL> 

-- 備庫95
SQL> select file_LSN, cur_LSN from v$rlog;
select permanent_magic;
行號     file_LSN             cur_LSN             
---------- -------------------- --------------------
1          56837                56837

已用時間: 13.978(毫秒). 執(zhí)行號:1.
SQL> 

行號     permanent_magic     
---------- --------------------
1          1277393152

已用時間: 1.388(毫秒). 執(zhí)行號:2.
SQL> 


-- 備庫96

SQL> select file_LSN, cur_LSN from v$rlog;
select permanent_magic;
行號     file_LSN             cur_LSN             
---------- -------------------- --------------------
1          56837                56837

已用時間: 212.584(毫秒). 執(zhí)行號:1.
SQL> 

行號     permanent_magic     
---------- --------------------
1          1277393152

已用時間: 148.802(毫秒). 執(zhí)行號:2.
SQL> 

6 修改dm.ini文件

第一: 修改所有實例的配置文件dm.ini
vi /dm/dmdata/dmdb/dm.ini

vim dm.ini
INSTANCE_NAME = RW1
PORT_NUM = 5236 #數(shù)據(jù)庫實例監(jiān)聽端口
DW_PORT = 7436 #守護環(huán)境下,監(jiān)聽守護進程連接端口
DW_ERROR_TIME = 60 #接收守護進程消息超時時間
ALTER_MODE_STATUS = 0 #不允許手工方式修改實例模式/狀態(tài)
ENABLE_OFFLINE_TS = 2 #不允許備庫OFFLINE表空間
MAL_INI = 1 #打開MAL系統(tǒng)
ARCH_INI = 1 #打開歸檔配置
HA_INST_CHECK_FLAG = 1 #檢測是否多個實例進程同時啟動

– 備庫95
vim dm.ini
INSTANCE_NAME = RW2
PORT_NUM = 5236
DW_PORT = 7436
DW_ERROR_TIME = 60
ALTER_MODE_STATUS = 0
ENABLE_OFFLINE_TS = 2
MAL_INI = 1
ARCH_INI = 1
HA_INST_CHECK_FLAG = 1

– 備庫96
vim dm.ini
INSTANCE_NAME = RW3
PORT_NUM = 5236 #數(shù)據(jù)庫實例監(jiān)聽端口
DW_PORT = 7436 #守護環(huán)境下,監(jiān)聽守護進程連接端口
DW_ERROR_TIME = 60 #接收守護進程消息超時時間
ALTER_MODE_STATUS = 0 #不允許手工方式修改實例模式/狀態(tài)
ENABLE_OFFLINE_TS = 2 #不允許備庫OFFLINE表空間
MAL_INI = 1 #打開MAL系統(tǒng)
ARCH_INI = 1 #打開歸檔配置
HA_INST_CHECK_FLAG = 1 #檢測是否多個實例進程同時啟動

7 配置dmmal.ini文件

三臺服務器配置一樣
vi /dm/dmdata/dmdb/dmmal.ini

MAL_CHECK_INTERVAL = 5        		#MAL鏈路檢測時間間隔
MAL_CONN_FAIL_INTERVAL = 5   		#判定MAL鏈路斷開的時間
[MAL_INST1]
  MAL_INST_NAME = RW4    			#實例名1
	MAL_HOST = 10.10.10.94 			#MAL系統(tǒng)監(jiān)聽TCP連接的私網(wǎng)IP地址
	MAL_PORT = 7336             	#MAL系統(tǒng)監(jiān)聽TCP連接的端口
	MAL_INST_HOST = 192.168.25.94	#實例的對外服務IP地址
	MAL_INST_PORT = 5236       		#實例的對外服務端口
	MAL_DW_PORT = 7536     			#實例對應的守護進程監(jiān)聽TCP連接的端口
  [MAL_INST2]
	MAL_INST_NAME = RW5             #實例名2
	MAL_HOST = 10.10.10.95
	MAL_PORT = 7336
	MAL_INST_HOST = 192.168.25.95
	MAL_INST_PORT = 5236 
	MAL_DW_PORT = 7536
  [MAL_INST3]
	MAL_INST_NAME = RW6             #實例名3
	MAL_HOST = 10.10.10.96
	MAL_PORT = 7336
	MAL_INST_HOST = 192.168.25.96
	MAL_INST_PORT = 5236 
	MAL_DW_PORT = 7536	

8 配置歸檔配置文件 dmarch.ini

主庫

vi /dm/dmdata/dmdb/dmarch.ini

#ARCH_WAIT_APPLY=1 dm8
[ARCHIVE_REALTIME1]
        ARCH_TYPE               = REALTIME
        ARCH_DEST               = rw5

[ARCHIVE_REALTIME2]
        ARCH_TYPE               = REALTIME
        ARCH_DEST               = rw6

[ARCHIVE_LOCAL1]
        ARCH_TYPE               = LOCAL                 #本地歸檔類型
        ARCH_DEST               = /dm/dmarch  #本地歸檔文件存放路徑
        #ARCH_DEST              = /data/archive
        ARCH_FILE_SIZE          = 2048    #單位Mb,本地單個歸檔文件最大值
        ARCH_SPACE_LIMIT        = 102400  #0表示無限制,范圍1024~4294967294M           

備庫95

vi /dm/dmdata/dmdb/dmarch.ini

#ARCH_WAIT_APPLY=1 dm8
[ARCHIVE_REALTIME1]
        ARCH_TYPE               = REALTIME
        ARCH_DEST               = rw4

[ARCHIVE_REALTIME2]
        ARCH_TYPE               = REALTIME
        ARCH_DEST               = rw6

[ARCHIVE_LOCAL1]
        ARCH_TYPE               = LOCAL                 #本地歸檔類型
        ARCH_DEST               = /dm/dmarch  #本地歸檔文件存放路徑
        #ARCH_DEST              = /data/archive
        ARCH_FILE_SIZE          = 2048    #單位Mb,本地單個歸檔文件最大值
        ARCH_SPACE_LIMIT        = 102400  #0表示無限制,范圍1024~4294967294M

備庫96

vi /dm/dmdata/dmdb/dmarch.ini

#ARCH_WAIT_APPLY=1 dm8
[ARCHIVE_REALTIME1]
        ARCH_TYPE               = REALTIME
        ARCH_DEST               = rw4

[ARCHIVE_REALTIME2]
        ARCH_TYPE               = REALTIME
        ARCH_DEST               = rw5

[ARCHIVE_LOCAL1]
        ARCH_TYPE               = LOCAL         #本地歸檔類型
        ARCH_DEST               = /dm/dmarch  	#本地歸檔文件存放路徑
        #ARCH_DEST              = /data/archive
        ARCH_FILE_SIZE          = 2048    		#單位Mb,本地單個歸檔文件最大值
        ARCH_SPACE_LIMIT        = 102400  		#0表示無限制,范圍1024~4294967294M

9 配置守護進程配置文件 dmwatcher.ini

MANUAL 手動切換 AUTO 自動切換
三個節(jié)點一樣

# MANUAL 手動切換 AUTO 自動切換
# 三個節(jié)點一樣
vi /dm/dmdata/dmdb/dmwatcher.ini

[GRP_RW2]
DW_TYPE                 = GLOBAL
DW_MODE                 = MANUAL        
DW_ERROR_TIME           = 10
INST_RECOVER_TIME       = 60
INST_ERROR_TIME         = 10
INST_OGUID              = 453332
INST_INI                = /dm/dmdata/dmdb/dm.ini
INST_AUTO_RESTART       = 1
INST_STARTUP_CMD        = /home/dmdba/dmdbms/bin/dmserver

10 配置dmwatcher.ctl

同一個守護進程組,必須使用同一份 dmwatcher.ctl。因此,只需要使用 dmctlcvt 工具生成一份dmwatcher.ctl 文件,然后分別拷貝到各個數(shù)據(jù)庫目錄下即可。在配置完成dmwatcher.ini 后,使用 dmctlcvt 工具生成 dmwatcher.ctl:

cd /home/dmdba/dmdbms/bin
./dmctlcvt t2dwctl /dm/dmdata/dmdb/dmwatcher.ini  /dm/dmdata

拷貝生成的dmwatcher.ctl 文件到數(shù)據(jù)文件目錄下:

cd /dm/dmdata/GRP_RW2
cp dmwatcher.ctl  /dm/dmdata/dmdb


scp -r /dm/dmdata/dmdb/dmwatcher.ctl dmdba@192.168.25.95:/dm/dmdata/dmdb/
scp -r /dm/dmdata/dmdb/dmwatcher.ctl dmdba@192.168.25.96:/dm/dmdata/dmdb/
dameng

11 設置 OGUID和修改數(shù)據(jù)庫模式

以 Mount 方式啟動數(shù)據(jù)庫實例 (主備庫)使用 dmdba 用戶,到數(shù)據(jù)庫安裝目錄的 bin 下執(zhí)行。
su - dmdba

cd /home/dmdba/dmdbms/bin/

./DmServicedmdb start mount


設置 OGUID和修改數(shù)據(jù)庫模式
cd /home/dmdba/dmdbms/bin
disql SYSDBA/'"dameng123"'

#94
sp_set_oguid(453332);
alter database primary;

#95 #96
sp_set_oguid(453332);
alter database standby;  

12 配置sql日志

所有節(jié)點修改sqllog.ini(實例路徑下)

vi /dm/dmdata/dmdb/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 = ../log
	PART_STOR = 1
	SWITCH_MODE = 2
	SWITCH_LIMIT = 512
	ASYNC_FLUSH = 1
	FILE_NUM = 5
	ITEMS = 0
	SQL_TRACE_MASK = 2:3:25
	MIN_EXEC_TIME = 1500
	USER_MODE = 0
	USERS = 

13 部署普通監(jiān)視器

新建確認監(jiān)視器配置文件 dmmonitor.ini,執(zhí)行以下命令:

vi /dm/dmdata/dmdb/dmmonitor.ini

MON_DW_CONFIRM    = 0 
MON_LOG_PATH    = /home/dmdba/dmdbms/log
MON_LOG_INTERVAL  = 60
MON_LOG_FILE_SIZE   = 200 
MON_LOG_SPACE_LIMIT  = 1024
[GRP_RW2] 
 MON_INST_OGUID    = 453332
	 MON_DW_IP     = 10.10.10.94:7536
	 MON_DW_IP     = 10.10.10.95:7536
	 MON_DW_IP     = 10.10.10.96:7536

14 注冊守護進程服務

三臺都需要注冊,方式如下:

cd /home/dmdba/dmdbms/script/root/
./dm_service_installer.sh -t dmwatcher -i /dm/dmdata/dmdb/dmwatcher.ini  -p  RW

注冊服務:(root用戶)
[root@dm94 root]# cd /home/dmdba/dmdbms/script/root/
[root@dm94 root]# ./dm_service_installer.sh -t dmwatcher -i /dm/dmdata/dmdb/dmwatcher.ini  -p  RW
Created symlink from /etc/systemd/system/multi-user.target.wants/DmWatcherServiceRW.service to /usr/lib/systemd/system/DmWatcherServiceRW.service.
創(chuàng)建服務(DmWatcherServiceRW)完成
[root@dm94 root]# 

啟動守護進程:

systemctl start DmWatcherServiceRW

15 注冊監(jiān)視器服務

注意:監(jiān)視器服務器最好單獨一臺服務器,本次放主庫上(只需要在主庫操作)

cd /home/dmdba/dmdbms/script/root/
./dm_service_installer.sh -t dmmonitor -i /dm/dmdata/dmdb/dmmonitor.ini -p DMM

[root@dm94 bin]# cd /home/dmdba/dmdbms/script/root//
[root@dm94 root]# ./dm_service_installer.sh -t dmmonitor -i /dm/dmdata/dmdb/dmmonitor.ini -p DMM
Created symlink from /etc/systemd/system/multi-user.target.wants/DmMonitorServiceDMM.service to /usr/lib/systemd/system/DmMonitorServiceDMM.service.
創(chuàng)建服務(DmMonitorServiceDMM)完成

[root@dm94 root]# 

#啟動方式
cd /home/dmdba/dmdbms/bin
./dmmonitor /dm/dmdata/dmdb/dmmonitor.ini

16 驗證主備集群同步狀態(tài)

使用 disql 客戶端登錄備庫,查詢測試表驗證,執(zhí)行以下命令:

disql SYSDBA/'"dameng123"'@192.168.25.94:5236

SQL 提示符下執(zhí)行以下命令:

create table test(id int);
insert into test values (1);
commit;

使用 disql 客戶端登錄備庫,查詢測試表驗證,執(zhí)行以下命令:

disql SYSDBA/'"dameng123"'@192.168.25.95:5236
select * from test;

使用 disql 客戶端登錄備庫,查詢測試表驗證,執(zhí)行以下命令:

disql SYSDBA/'"dameng123"'@192.168.25.96:5236
select * from test;

查看數(shù)據(jù)是否正常同步。

17 優(yōu)化dm.ini參數(shù)

參數(shù)優(yōu)化
集群部署完成后,需要優(yōu)化dm.ini 參數(shù),主備庫都需要修改。參數(shù)值優(yōu)化詳見參數(shù)優(yōu)化部分。
具體參考:https://eco.dameng.com/docs/zh-cn/ops/standard-rw-cluster.html#%E5%8F%82%E6%95%B0%E4%BC%98%E5%8C%96

重啟集群
讀寫分離集群重啟與主備相同:

重啟順序
集群部署完成后,需要優(yōu)化 dm.ini 參數(shù),主備庫都需要修改。參數(shù)值優(yōu)化詳見3.8單機參數(shù)優(yōu)化部分。
重啟集群(參數(shù)修改后需要重啟集群)
嚴格安裝順序執(zhí)行

關閉監(jiān)視器:systemctl stop DmMonitorServiceDMM

關閉主庫守護進程:systemctl stop DmWatcherServiceRW
關閉備庫守護進程:systemctl stop DmWatcherServiceRW

關閉主庫實例:systemctl stop DmServicedmdb
關閉備庫實例:systemctl stop DmServicedmdb

啟動主庫實例:systemctl start DmServicedmdb
啟動備庫實例:systemctl start DmServicedmdb

啟動主庫守護進程:systemctl start DmWatcherServiceRW
啟動備庫守護進程:systemctl start DmWatcherServiceRW

啟動監(jiān)視器:systemctl start DmMonitorServiceDMM

18 定制備份策略

生產(chǎn)環(huán)境同時也需要指定備份策略,可以參考以下鏈接學習:
https://eco.dameng.com/docs/zh-cn/ops/standard-stand-alone.html#%E5%AE%9A%E5%88%B6%E5%A4%87%E4%BB%BD%E7%AD%96%E7%95%A5

24小時免費服務熱線:400 991 6599
達夢技術社區(qū):https://eco.dameng.com

相關推薦

登錄即可解鎖
  • 海量技術文章
  • 設計資源下載
  • 產(chǎn)業(yè)鏈客戶資源
  • 寫文章/發(fā)需求
立即登錄