>說明:這裏的操做系統版本版本爲Centos7
>這裏的數據庫版本爲:1-1-19-19.09.16-112838-ENT ([下載連接](http://huanan2.vipgz2.idcfengye.com/f/3726ad373e324218b6f0/?dl=1) 密碼:woshiyigemima)
>這裏參考的數據庫手冊爲:[\DBMS_20190917-v8\doc\special\DM8_DMDSC.pdf](http://huanan2.vipgz2.idcfengye.com/f/0ac1ded4340e4ec4b49e/?dl=1)css
1. 網絡準備(ip地址分配)、共享磁盤準備和掛載
ifconfig enp0s8 10.1.2.101;ifconfig enp0s9 192.168.56.101
ifconfig enp0s8 10.1.2.102;ifconfig enp0s9 192.168.56.102數據庫
2. 關閉防火牆
service firewalld stop網絡
確認所參考的手冊、以及所用的dmserver的版本
ide
怎麼綁定(使用多路徑,仍是使用sdx的名稱綁定),在不一樣的操做系統版本(rh6系列和rh7系列可能不一樣),實際的掛載方法不一樣,是各類部署手冊的實際差別。
而其餘內容,在作好了「環境準備、確認用的東西」以後,通常都是不會碰到問題的。ui
使用多路徑綁定、使用sdx名稱綁定的不一樣,實際上,就是同一個配置文件的寫法不一樣。
操作系統
這個也是一個新手常見的攔路虎,有下面幾種可用的方法:
1.寫好配置文件後:執行 start_udev,完成裸設備綁定。(from dm8_dmdsc.pdf 手冊)
2.寫好配置文件後:依次執行 /sbin/udevadm control --reload 和/sbin/udevadm trigger --type=devices --action=change,完成裸設備綁定。(from 劉欣dmdsc搭建手冊,經過多路徑綁定的名稱,實際上使用的就是uuid)
3.寫好配置文件後,執行partprobe /dev/sdb,完成裸設備綁定。(from https://blog.csdn.net/fengxiaozhenjay/article/details/104449068/ )這裏實際上就是對應第一種的start_udev方法,只是在rh7上(rh6 start_udev,rh7 partprobe /dev/sdb),使用的命令方式不同而已。.net
> /sbin/udevadm control --reload;/sbin/udevadm trigger --type=devices --action=change;partprobe /dev/sdb;partprobe /dev/sdc命令行
1.配置dmdcr.ini時,對於兩個xxSTARTUP_CMD 後面是一個命令+一個參數,必定注意後面的參數(是配置文件路徑),必定不要另起一行。日誌

1.注意裸設備綁定文件的全部者,和權限。
2.注意防火牆是否關閉,或者開啓了對應通行策略。
server


1.綁定裸設備配置文件
[root@bogon bin]# cat /etc/udev/rules.d/60-raw.rules
ACTION=="add", KERNEL=="sdb1", RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add", KERNEL=="sdb2", RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add", KERNEL=="sdb3", RUN+="/bin/raw /dev/raw/raw3 %N"
ACTION=="add", KERNEL=="sdc1", RUN+="/bin/raw /dev/raw/raw4 %N"
ACTION=="add", KERNEL=="raw[1-4]", OWNER="dmdba", GROUP="dmdba", MODE="660"
[root@bogon bin]#
2.綁定裸設備命令
/sbin/udevadm control --reload;/sbin/udevadm trigger --type=devices --action=change;partprobe /dev/sdb;partprobe /dev/sdc
若是是 rh6,可能用到 start_udev 來替換 partprobe
3.asm的配置
create dcrdisk '/dev/raw/raw1' 'dcr'
create votedisk '/dev/raw/raw2' 'vote'
create asmdisk '/dev/raw/raw3' 'LOG0'
create asmdisk '/dev/raw/raw4' 'DATA0'
init dcrdisk '/dev/raw/raw1' from '/home/data/dmdcr_cfg.ini'identified by 'abcd'
init votedisk '/dev/raw/raw2' from '/home/data/dmdcr_cfg.ini'
4.dminit前的初始化,datadisk初始化
create diskgroup 'DMLOG' asmdisk '/dev/raw/raw3'
create diskgroup 'DMDATA' asmdisk '/dev/raw/raw4'
5.初始化數據庫(要現有dminit.ini)
./dminit control=/home/data/dminit.ini
6.啓動dmserver的命令複製用
./dmserver /home/data/dsc0_config/dm.ini dcr_ini=/home/data/dmdcr.ini
./dmserver /home/data/dsc1_config/dm.ini dcr_ini=/home/data/dmdcr.ini
1.最核心的配置文件dmdcr.ini
DMASM 的兩個節點分別配置 dmdcr.ini, dmdcr_path 相同, dmasvrmal.ini 文件內容也相同, dmdcr_seqno 分別爲 0 和 1。
dmdcr.ini 文件,各個節點不同,dmdcr_path要同樣,只有dmdcr_seqno要不一樣,這是核心的文件,要設置 位在四。
一是raw綁文件,二是cfg(dmdcr_cfg.ini),三是mal 都同樣(dmasvrmal.ini),
第四個就是最核心的dmdcr.ini,
第五個就是dminit.ini和拷貝dminit後的文件。
raw-->partprobe->cfg(SHM_SIZE)-->4+2 asmcmd-->mal-->dcr-->css asm-->asmtool diskgroup-->dminit.ini-->start
磁盤組等同於表空間,asmdick等同於數據文件,在部署過程當中,咱們是先初始化好數據文件後,再用數據文件來創建磁盤組(表空間的)—— 這個是dmdsc和非dmdsc實例,新建表空間的一個小差別,由於在非dmdsc上,os系統能夠完成這個,dmdsc中咱們預作的工做。因此,須要咱們先來作好。
理解好下面這個圖:動態添加磁盤,dmasmcmd create asmdisk 'xxx/rawx' 'NewName',dmasmtool alter diskgroup 'Name' add asmdisk 'xxxx/rawxxx'

注意事項:
1.添加磁盤時
全部RAC節點上都運行如下兩條語句,完成裸設備的綁定
partprobe /dev/sdb
/sbin/udevadm trigger --type=devices --action=change
能夠經過blockdev --getsize64 /dev/raw/raw5命令查看裸設備大小或者 ll /dev/raw
rh6 start_udev
2.不用格式化可是要分區
基礎須要四加二 dmasmcmd,在dmdcr_cfg.ini後
create dcrdisk '/dev/raw/raw1' 'dcr'
create votedisk '/dev/raw/raw2' 'vote'
create asmdisk '/dev/raw/raw3' 'LOG0'
create asmdisk '/dev/raw/raw4' 'DATA0'
init dcrdisk '/dev/raw/raw1' from '/home/data/dmdcr_cfg.ini'identified by 'abcd'
init votedisk '/dev/raw/raw2' from '/home/data/dmdcr_cfg.ini'
再配mal dmasvrmal.ini,就搞dmdcr.ini
啓動css、asm,dmasmtool待dmdcr.ini把磁盤組來建,磁盤組 表空間。dminit就能夠,在啓服務就完畢。
#建立日誌磁盤組
create diskgroup 'DMLOG' asmdisk '/dev/raw/raw3'
#建立數據磁盤組
create diskgroup 'DMDATA' asmdisk '/dev/raw/raw4'

[root@bogon bin]# cat /home/data/dmdcr.ini
DMDCR_PATH = /dev/raw/raw1
DMDCR_MAL_PATH =/home/data/dmasvrmal.ini #dmasmsvr 使用的 MAL 配置文件路徑
DMDCR_SEQNO = 0
#ASM 重啓參數,命令行方式啓動
DMDCR_ASM_RESTART_INTERVAL = 0
DMDCR_ASM_STARTUP_CMD = /opt/dmdbms/bin/dmasmsvr dcr_ini=/home/data/dmdcr.ini
#DB 重啓參數,命令行方式啓動
DMDCR_DB_RESTART_INTERVAL = 0
DMDCR_DB_STARTUP_CMD = /opt/dmdbms/bin/dmserver path=/home/data/dsc0_config/dm.ini dcr_ini=/home/data/dmdcr.ini
[root@bogon bin]#
用到這個配置文件的命令:
[dmdba@bogon bin]$ ./dmcss dcr_ini=/home/data/dmdcr.ini
[dmdba@bogon bin]$ ./dmasmsvr dcr_ini=/home/data/dmdcr.ini
[dmdba@bogon bin]$ ./dmasmtool DCR_INI=/home/data/dmdcr.ini
[dmdba@bogon bin]$ ./dmserver /home/data/dsc0_config/dm.ini dcr_ini=/home/data/dmdcr.ini
3.最基礎的一個配置文件dminit.ini(實例相關)
[dmdba@bogon bin]$ cat /home/data/dminit.ini
db_name = dsc
system_path = +DMDATA/data
system = +DMDATA/data/dsc/system.dbf
system_size = 128
roll = +DMDATA/data/dsc/roll.dbf
roll_size = 128
main = +DMDATA/data/dsc/main.dbf
main_size = 128
ctl_path = +DMDATA/data/dsc/dm.ctl
ctl_size = 8
log_size = 256
dcr_path = /dev/raw/raw1 #dcr 磁盤路徑,目前不支持 asm,只能是裸設備
dcr_seqno = 0
auto_overwrite = 1
[DSC0] #inst_name 跟 dmdcr_cfg.ini 中 DB 類型 group 中 DCR_EP_NAME 對應
config_path = /home/data/dsc0_config
port_num = 5236
mal_host = 10.1.2.101
mal_port = 9340
log_path = +DMLOG/log/dsc0_log01.log
log_path = +DMLOG/log/dsc0_log02.log
[DSC1] #inst_name 跟 dmdcr_cfg.ini 中 DB 類型 group 中 DCR_EP_NAME 對應
config_path = /home/data/dsc1_config
port_num = 5237
mal_host = 10.1.2.102
mal_port = 9341
log_path = +DMLOG/log/dsc1_log01.log
log_path = +DMLOG/log/dsc1_log02.log
[dmdba@bogon bin]$
4.最先的一個配置文件dmdcr_cfg.ini--> 要注意DCR_EP_SHM_SIZE 10 M 能夠管理500G
[dmdba@bogon bin]$ cat /home/data/dmdcr_cfg.ini
DCR_N_GRP = 3
DCR_VTD_PATH = /dev/raw/raw2
DCR_OGUID = 63635
[GRP]
DCR_GRP_TYPE = CSS
DCR_GRP_NAME = GRP_CSS
DCR_GRP_N_EP = 2
DCR_GRP_DSKCHK_CNT = 60
[GRP_CSS]
DCR_EP_NAME = CSS0
DCR_EP_HOST = 10.1.2.101
DCR_EP_PORT = 9341
[GRP_CSS]
DCR_EP_NAME = CSS1
DCR_EP_HOST = 10.1.2.102
DCR_EP_PORT = 9343
[GRP]
DCR_GRP_TYPE = ASM
DCR_GRP_NAME = GRP_ASM
DCR_GRP_N_EP = 2
DCR_GRP_DSKCHK_CNT = 60
[GRP_ASM]
DCR_EP_NAME = ASM0
DCR_EP_SHM_KEY = 93360
DCR_EP_SHM_SIZE = 10
DCR_EP_HOST = 10.1.2.101
DCR_EP_PORT = 9349
DCR_EP_ASM_LOAD_PATH = /dev/raw
[GRP_ASM]
DCR_EP_NAME = ASM1
DCR_EP_SHM_KEY = 93361
DCR_EP_SHM_SIZE = 10
DCR_EP_HOST = 10.1.2.102
DCR_EP_PORT = 9351
DCR_EP_ASM_LOAD_PATH = /dev/raw
[GRP]
DCR_GRP_TYPE = DB
DCR_GRP_NAME = GRP_DSC
DCR_GRP_N_EP = 2
DCR_GRP_DSKCHK_CNT = 60
[GRP_DSC]
DCR_EP_NAME = DSC0
DCR_EP_SEQNO = 0
DCR_EP_PORT = 5236
DCR_CHECK_PORT = 9741
[GRP_DSC]
DCR_EP_NAME = DSC1
DCR_EP_SEQNO = 1
DCR_EP_PORT = 5236
DCR_CHECK_PORT = 9742
[dmdba@bogon bin]$
5.這個文件,多個節點同樣dmasvrmal.ini
[dmdba@bogon bin]$ cat /home/data/dmasvrmal.ini [MAL_INST1] MAL_INST_NAME = ASM0 MAL_HOST = 10.1.2.101 MAL_PORT = 7236 [MAL_INST2] MAL_INST_NAME = ASM1 MAL_HOST = 10.1.2.102 MAL_PORT = 7237 [dmdba@bogon bin]$