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í)間(美國(guó)和加拿大)
[ 6]: GTM-07=亞利桑那
[ 7]: GTM-06=中部時(shí)間(美國(guó)和加拿大)
[ 8]: GTM-05=東部部時(shí)間(美國(guó)和加拿大)
[ 9]: GTM-04=大西洋時(shí)間(美國(guó)和加拿大)
[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=中國(guó)標(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í)間(美國(guó)和加拿大)
[ 6]: GTM-07=亞利桑那
[ 7]: GTM-06=中部時(shí)間(美國(guó)和加拿大)
[ 8]: GTM-05=東部部時(shí)間(美國(guó)和加拿大)
[ 9]: GTM-04=大西洋時(shí)間(美國(guó)和加拿大)
[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=中國(guó)標(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í)間(美國(guó)和加拿大)
[ 6]: GTM-07=亞利桑那
[ 7]: GTM-06=中部時(shí)間(美國(guó)和加拿大)
[ 8]: GTM-05=東部部時(shí)間(美國(guó)和加拿大)
[ 9]: GTM-04=大西洋時(shí)間(美國(guó)和加拿大)
[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=中國(guó)標(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