自己在平時(shí)練習(xí)搭建主備集群時(shí)遇到了一些問題,簡單記錄一下,問題不大但都是坑跪腹!
?問題一:
環(huán)境:Win10,VMware Workstation 15飞醉,銀河麒麟v10冲茸,dm8
場(chǎng)景:在搭建實(shí)時(shí)主備時(shí),主庫和備庫均啟動(dòng)到mount狀態(tài),但是在啟動(dòng)守護(hù)進(jìn)程之后轴术,發(fā)現(xiàn)主備庫的狀態(tài)依然是mount难衰,不是open。
分析:
?(1)主備能夠到mount狀態(tài)逗栽,說明之前的操作沒什么大的問題盖袭,但是啟動(dòng)守護(hù)進(jìn)程卻沒有任何效果,是否是dmwatcher.ini配置出錯(cuò)呢祭陷?檢查配置文件的端口和IP信息發(fā)現(xiàn)是沒有問題的苍凛。
?(2)去監(jiān)視器里邊看看有沒有什么報(bào)錯(cuò)。show一下兵志,發(fā)現(xiàn)只有主庫的信息醇蝴,沒有備庫的信息,如下圖想罕。
然后輸入tip命令悠栓,發(fā)現(xiàn)主庫不可加入其它實(shí)例,同樣是沒有備庫的信息按价,如下圖惭适。
附:如果重新啟動(dòng)監(jiān)視器報(bào)一下錯(cuò)誤,先去修改dmmonitor.ini文件中的確認(rèn)監(jiān)視器參數(shù)(MON_DW_CONFIRM)為0楼镐,登錄成功之后再修改回去癞志。
?(3)此時(shí)鎖定問題出在備庫上,是什么原因?qū)е卤O(jiān)視器收集不到備庫的信息呢框产?網(wǎng)絡(luò)問題凄杯?看看備庫防火墻是否關(guān)了,確定關(guān)掉之后秉宿,將主機(jī)戒突、備機(jī)、監(jiān)視器分別ping一下描睦,看是否能ping通膊存。結(jié)果發(fā)現(xiàn)主庫ping備庫、監(jiān)視器ping備庫都不通忱叭。那么什么原因?qū)е戮W(wǎng)絡(luò)不通呢隔崎?
?(4)考慮到當(dāng)時(shí)的環(huán)境是VMware搭建的集群,主機(jī)和備機(jī)不是同一個(gè)階段配置的韵丑,會(huì)不會(huì)是網(wǎng)絡(luò)模式的問題呢爵卒?打開網(wǎng)絡(luò)適配器查看設(shè)置,發(fā)現(xiàn)一個(gè)是橋接模式埂息,一個(gè)是NAT模式技潘,模式不同當(dāng)然網(wǎng)絡(luò)就不通了遥巴。其實(shí),通過網(wǎng)段也能猜到是網(wǎng)絡(luò)模式的問題享幽。
?解決:修改網(wǎng)絡(luò)模式后铲掐,根據(jù)新的IP信息修改dmmal.ini和dmmonitor.ini,再次啟動(dòng)數(shù)據(jù)守護(hù)進(jìn)程值桩,就能啟動(dòng)到open狀態(tài)了摆霉。
?問題二:
?場(chǎng)景:在備機(jī)上初始化實(shí)例后,沒有用disql驗(yàn)證是否能夠登錄成功奔坟,然后就進(jìn)行來了數(shù)據(jù)庫恢復(fù)携栋,修改了dm.ini文件。在搭建集群時(shí)咳秉,沒有用默認(rèn)端口婉支,而是換了其他端口。
報(bào)錯(cuò):在備機(jī)啟動(dòng)到mount狀態(tài)后澜建,修改數(shù)據(jù)庫模式向挖,發(fā)現(xiàn)disql無法正常登錄,報(bào)錯(cuò)“創(chuàng)建SOCKET失敗”炕舵。再次修改dm.ini文件的端口號(hào)為默認(rèn)的5236何之,用disql登錄5236還是報(bào)錯(cuò)。
?解決:重新初始化實(shí)例咽筋,用默認(rèn)端口登錄成功之后溶推,退出登錄,關(guān)閉數(shù)據(jù)庫服務(wù)進(jìn)行數(shù)據(jù)庫恢復(fù)奸攻,再次將備機(jī)啟動(dòng)到mount狀態(tài)蒜危,修改數(shù)據(jù)庫模式時(shí)發(fā)現(xiàn)此時(shí)就可以使用disql正常登錄了。
附加小問題: 在同一個(gè)數(shù)據(jù)庫上初始化實(shí)例時(shí)舞箍,會(huì)有提示是否要覆蓋一些配置文件舰褪、數(shù)據(jù)文件等信息皆疹,此時(shí)最好還是謹(jǐn)慎一些疏橄,因?yàn)槲耶?dāng)初覆蓋掉之后,進(jìn)行備機(jī)數(shù)據(jù)恢復(fù)時(shí)報(bào)錯(cuò)了略就,說是缺少某個(gè)文件捎迫。如果不確定覆蓋文件會(huì)有什么后果,最好還是在一個(gè)新的庫下邊初始化實(shí)例表牢。
?問題三:
場(chǎng)景:數(shù)據(jù)庫名不同窄绒。在主、備機(jī)器上初始化數(shù)據(jù)庫實(shí)例時(shí)崔兴,當(dāng)時(shí)用的是./dminit命令行方式彰导,由于要修改實(shí)例名蛔翅,當(dāng)時(shí)就把所有數(shù)字1修改為了2,導(dǎo)致主機(jī)數(shù)據(jù)庫名為“DM01”位谋,備機(jī)的數(shù)據(jù)庫名為“DM02”山析。
報(bào)錯(cuò):目前還不確定問題二的報(bào)錯(cuò)是否是改問題導(dǎo)致,也是后來才意識(shí)到的錯(cuò)誤掏父。
?當(dāng)時(shí)使用的命令(在實(shí)際操作時(shí)一定要將數(shù)據(jù)庫名寫成一樣的):
?./dminit path=/dm8/data db_name=DM01 instance_name=DMSVR01 port_num=5236 page_size=16 EXTENT_SIZE=32 LOG_SIZE=500 SYSDBA_PWD=DM01SYSDBA
?./dminit path=/dm8/data db_name=DM02 instance_name=DMSVR02 port_num=5236 page_size=16 EXTENT_SIZE=32 LOG_SIZE=500 SYSDBA_PWD=DM02SYSDBA
命令行方式創(chuàng)建數(shù)據(jù)庫實(shí)例需要注冊(cè)數(shù)據(jù)庫服務(wù)笋轨,注冊(cè)服務(wù)要用root。 命令:
?./dm_service_installer.sh -t dmserver -p DMSVR01 -dm_ini /dm8/data/DM01/dm.ini