• 正文
    • 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 工具初始化實(shí)例
    • 5.4 拷貝主庫數(shù)據(jù)文件到兩臺(tái)備庫
    • 5.5 注冊(cè)數(shù)據(jù)庫服務(wù)
    • 5.6 登錄數(shù)據(jù)庫
    • 5.7 備份主庫
    • 5.8 拷貝備份文件到兩臺(tái)備庫
    • 5.9 恢復(fù)兩臺(tái)備庫
    • 5.10 檢查數(shù)據(jù)一致性
    • 6 修改dm.ini文件
    • 7 配置dmmal.ini文件
    • 8 配置歸檔配置文件 dmarch.ini
    • 9 配置守護(hù)進(jìn)程配置文件 dmwatcher.ini
    • 10 配置dmwatcher.ctl
    • 11 設(shè)置 OGUID和修改數(shù)據(jù)庫模式
    • 12 配置sql日志
    • 13 部署普通監(jiān)視器
    • 14 注冊(cè)守護(hù)進(jìn)程服務(wù)
    • 15 注冊(cè)監(jiān)視器服務(wù)
    • 16 驗(yàn)證主備集群同步狀態(tài)
    • 17 優(yōu)化dm.ini參數(shù)
    • 18 定制備份策略
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

DM7讀寫分離部署

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

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

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

1.1 IP規(guī)劃:

主機(jī)名 服務(wù)ip 心跳ip 數(shù)據(jù)庫 實(shí)例名
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ī)劃

實(shí)例名 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ī)劃

對(duì)應(yīng)服務(wù)器上創(chuàng)建目錄owner為dmdba組為dinstall

數(shù)據(jù)庫軟件安裝目錄 /home/dmdba/dmdbms/dm8
實(shí)例安裝目錄 /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 設(shè)置系統(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.關(guān)閉防火墻

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

2.4 修改內(nèi)核參數(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

配置目錄權(quán)限

#測(cè)試環(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 跳過。
選擇時(shí)區(qū),21 即東 8 區(qū)。
選擇安裝類型,默認(rèn)典型安裝(包含所有內(nèi)容)。
選擇軟件安裝目錄,默認(rèn)/home/dmdba/dmdbms
確認(rèn)安裝
安裝完成提示使用root執(zhí)行腳本:
/home/dmdba/dmdbms/script/root/root_installer.sh

安裝第一臺(tái):

[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
請(qǐng)選擇安裝語言(C/c:中文 E/e:英文) [C/c]:c
解壓安裝程序..........
歡迎使用達(dá)夢(mèng)數(shù)據(jù)庫安裝程序

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

是否設(shè)置時(shí)區(qū)? (Y/y:是 N/n:否) [Y/y]:y
設(shè)置時(shí)區(qū):
[ 1]: GTM-12=日界線西
[ 2]: GTM-11=薩摩亞群島
[ 3]: GTM-10=夏威夷
[ 4]: GTM-09=阿拉斯加
[ 5]: GTM-08=太平洋時(shí)間(美國和加拿大)
[ 6]: GTM-07=亞利桑那
[ 7]: GTM-06=中部時(shí)間(美國和加拿大)
[ 8]: GTM-05=東部部時(shí)間(美國和加拿大)
[ 9]: GTM-04=大西洋時(shí)間(美國和加拿大)
[10]: GTM-03=巴西利亞
[11]: GTM-02=中大西洋
[12]: GTM-01=亞速爾群島
[13]: GTM=格林威治標(biāo)準(zhǔn)時(shí)間
[14]: GTM+01=薩拉熱窩
[15]: GTM+02=開羅
[16]: GTM+03=莫斯科
[17]: GTM+04=阿布扎比
[18]: GTM+05=伊斯蘭堡
[19]: GTM+06=達(dá)卡
[20]: GTM+07=曼谷,河內(nèi)
[21]: GTM+08=中國標(biāo)準(zhǔn)時(shí)間
[22]: GTM+09=漢城
[23]: GTM+10=關(guān)島
[24]: GTM+11=所羅門群島
[25]: GTM+12=斐濟(jì)
[26]: GTM+13=努庫阿勒法
[27]: GTM+14=基里巴斯
請(qǐng)選擇設(shè)置時(shí)區(qū) [21]:21

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

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

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

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

安裝結(jié)束

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

安裝第二臺(tái)

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

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

是否設(shè)置時(shí)區(qū)? (Y/y:是 N/n:否) [Y/y]:y
設(shè)置時(shí)區(qū):
[ 1]: GTM-12=日界線西
[ 2]: GTM-11=薩摩亞群島
[ 3]: GTM-10=夏威夷
[ 4]: GTM-09=阿拉斯加
[ 5]: GTM-08=太平洋時(shí)間(美國和加拿大)
[ 6]: GTM-07=亞利桑那
[ 7]: GTM-06=中部時(shí)間(美國和加拿大)
[ 8]: GTM-05=東部部時(shí)間(美國和加拿大)
[ 9]: GTM-04=大西洋時(shí)間(美國和加拿大)
[10]: GTM-03=巴西利亞
[11]: GTM-02=中大西洋
[12]: GTM-01=亞速爾群島
[13]: GTM=格林威治標(biāo)準(zhǔn)時(shí)間
[14]: GTM+01=薩拉熱窩
[15]: GTM+02=開羅
[16]: GTM+03=莫斯科
[17]: GTM+04=阿布扎比
[18]: GTM+05=伊斯蘭堡
[19]: GTM+06=達(dá)卡
[20]: GTM+07=曼谷,河內(nèi)
[21]: GTM+08=中國標(biāo)準(zhǔn)時(shí)間
[22]: GTM+09=漢城
[23]: GTM+10=關(guān)島
[24]: GTM+11=所羅門群島
[25]: GTM+12=斐濟(jì)
[26]: GTM+13=努庫阿勒法
[27]: GTM+14=基里巴斯
請(qǐng)選擇設(shè)置時(shí)區(qū) [21]:21

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

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

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

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

安裝結(jié)束

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

[dmdba@dm94 bin]$ 

安裝第三臺(tái):


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

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

是否設(shè)置時(shí)區(qū)? (Y/y:是 N/n:否) [Y/y]:y
設(shè)置時(shí)區(qū):
[ 1]: GTM-12=日界線西
[ 2]: GTM-11=薩摩亞群島
[ 3]: GTM-10=夏威夷
[ 4]: GTM-09=阿拉斯加
[ 5]: GTM-08=太平洋時(shí)間(美國和加拿大)
[ 6]: GTM-07=亞利桑那
[ 7]: GTM-06=中部時(shí)間(美國和加拿大)
[ 8]: GTM-05=東部部時(shí)間(美國和加拿大)
[ 9]: GTM-04=大西洋時(shí)間(美國和加拿大)
[10]: GTM-03=巴西利亞
[11]: GTM-02=中大西洋
[12]: GTM-01=亞速爾群島
[13]: GTM=格林威治標(biāo)準(zhǔn)時(shí)間
[14]: GTM+01=薩拉熱窩
[15]: GTM+02=開羅
[16]: GTM+03=莫斯科
[17]: GTM+04=阿布扎比
[18]: GTM+05=伊斯蘭堡
[19]: GTM+06=達(dá)卡
[20]: GTM+07=曼谷,河內(nèi)
[21]: GTM+08=中國標(biāo)準(zhǔn)時(shí)間
[22]: GTM+09=漢城
[23]: GTM+10=關(guān)島
[24]: GTM+11=所羅門群島
[25]: GTM+12=斐濟(jì)
[26]: GTM+13=努庫阿勒法
[27]: GTM+14=基里巴斯
請(qǐng)選擇設(shè)置時(shí)區(qū) [21]:21

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

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

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

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

安裝結(jié)束

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

5.3 使用 dminit 工具初始化實(shí)例

初始化實(shí)例
--大小寫敏感 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ù)文件到兩臺(tái)備庫

拷貝主庫上的數(shù)據(jù)文件到備庫對(duì)應(yīng)目錄下,主庫操作:
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 注冊(cè)數(shù)據(jù)庫服務(wù)

注冊(cè)主備服務(wù),操作方式如下

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)建服務(wù)(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 ]

注:對(duì)于新初始化的庫,首次啟動(dòng)不允許使用mount方式,需要先正常啟動(dòng)并正常退出,然后才允許mount 方式啟動(dòng)。
或者切換用戶,進(jìn)入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.設(shè)置歸檔空間大小限制即指定 SPACE_LIMIT 參數(shù)(單位是 MB)。
2.定期刪除歸檔日志(設(shè)置定時(shí)作業(yè))。
例如開啟歸檔并限制歸檔空間為 100 G(按實(shí)際存儲(chǔ)空間給合適的值),如下所示

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 拷貝備份文件到兩臺(tái)備庫

–拷貝到備庫
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 恢復(fù)兩臺(tái)備庫

還原備庫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ù)一致性

– 主備啟動(dòng)到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;
行號(hào)     file_LSN             cur_LSN             
---------- -------------------- --------------------
1          56837                56837

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

行號(hào)     permanent_magic     
---------- --------------------
1          1277393152

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

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

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

行號(hào)     permanent_magic     
---------- --------------------
1          1277393152

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


-- 備庫96

SQL> select file_LSN, cur_LSN from v$rlog;
select permanent_magic;
行號(hào)     file_LSN             cur_LSN             
---------- -------------------- --------------------
1          56837                56837

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

行號(hào)     permanent_magic     
---------- --------------------
1          1277393152

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

6 修改dm.ini文件

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

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

– 備庫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ù)庫實(shí)例監(jiān)聽端口
DW_PORT = 7436 #守護(hù)環(huán)境下,監(jiān)聽守護(hù)進(jìn)程連接端口
DW_ERROR_TIME = 60 #接收守護(hù)進(jìn)程消息超時(shí)時(shí)間
ALTER_MODE_STATUS = 0 #不允許手工方式修改實(shí)例模式/狀態(tài)
ENABLE_OFFLINE_TS = 2 #不允許備庫OFFLINE表空間
MAL_INI = 1 #打開MAL系統(tǒng)
ARCH_INI = 1 #打開歸檔配置
HA_INST_CHECK_FLAG = 1 #檢測(cè)是否多個(gè)實(shí)例進(jìn)程同時(shí)啟動(dòng)

7 配置dmmal.ini文件

三臺(tái)服務(wù)器配置一樣
vi /dm/dmdata/dmdb/dmmal.ini

MAL_CHECK_INTERVAL = 5        		#MAL鏈路檢測(cè)時(shí)間間隔
MAL_CONN_FAIL_INTERVAL = 5   		#判定MAL鏈路斷開的時(shí)間
[MAL_INST1]
  MAL_INST_NAME = RW4    			#實(shí)例名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	#實(shí)例的對(duì)外服務(wù)IP地址
	MAL_INST_PORT = 5236       		#實(shí)例的對(duì)外服務(wù)端口
	MAL_DW_PORT = 7536     			#實(shí)例對(duì)應(yīng)的守護(hù)進(jìn)程監(jiān)聽TCP連接的端口
  [MAL_INST2]
	MAL_INST_NAME = RW5             #實(shí)例名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             #實(shí)例名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,本地單個(gè)歸檔文件最大值
        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,本地單個(gè)歸檔文件最大值
        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,本地單個(gè)歸檔文件最大值
        ARCH_SPACE_LIMIT        = 102400  		#0表示無限制,范圍1024~4294967294M

9 配置守護(hù)進(jìn)程配置文件 dmwatcher.ini

MANUAL 手動(dòng)切換 AUTO 自動(dòng)切換
三個(gè)節(jié)點(diǎn)一樣

# MANUAL 手動(dòng)切換 AUTO 自動(dòng)切換
# 三個(gè)節(jié)點(diǎn)一樣
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

同一個(gè)守護(hù)進(jìn)程組,必須使用同一份 dmwatcher.ctl。因此,只需要使用 dmctlcvt 工具生成一份dmwatcher.ctl 文件,然后分別拷貝到各個(gè)數(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 設(shè)置 OGUID和修改數(shù)據(jù)庫模式

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

cd /home/dmdba/dmdbms/bin/

./DmServicedmdb start mount


設(shè)置 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é)點(diǎn)修改sqllog.ini(實(shí)例路徑下)

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)視器

新建確認(rè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 注冊(cè)守護(hù)進(jìn)程服務(wù)

三臺(tái)都需要注冊(cè),方式如下:

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

注冊(cè)服務(wù):(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)建服務(wù)(DmWatcherServiceRW)完成
[root@dm94 root]# 

啟動(dòng)守護(hù)進(jìn)程:

systemctl start DmWatcherServiceRW

15 注冊(cè)監(jiān)視器服務(wù)

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

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)建服務(wù)(DmMonitorServiceDMM)完成

[root@dm94 root]# 

#啟動(dòng)方式
cd /home/dmdba/dmdbms/bin
./dmmonitor /dm/dmdata/dmdb/dmmonitor.ini

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

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

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

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

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

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

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

使用 disql 客戶端登錄備庫,查詢測(cè)試表驗(yàn)證,執(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單機(jī)參數(shù)優(yōu)化部分。
重啟集群(參數(shù)修改后需要重啟集群)
嚴(yán)格安裝順序執(zhí)行

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

關(guān)閉主庫守護(hù)進(jìn)程:systemctl stop DmWatcherServiceRW
關(guān)閉備庫守護(hù)進(jìn)程:systemctl stop DmWatcherServiceRW

關(guān)閉主庫實(shí)例:systemctl stop DmServicedmdb
關(guān)閉備庫實(shí)例:systemctl stop DmServicedmdb

啟動(dòng)主庫實(shí)例:systemctl start DmServicedmdb
啟動(dòng)備庫實(shí)例:systemctl start DmServicedmdb

啟動(dòng)主庫守護(hù)進(jìn)程:systemctl start DmWatcherServiceRW
啟動(dòng)備庫守護(hù)進(jìn)程:systemctl start DmWatcherServiceRW

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

18 定制備份策略

生產(chǎn)環(huán)境同時(shí)也需要指定備份策略,可以參考以下鏈接學(xué)習(xí):
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小時(shí)免費(fèi)服務(wù)熱線:400 991 6599
達(dá)夢(mèng)技術(shù)社區(qū):https://eco.dameng.com

相關(guān)推薦

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