【摘要】? ? 數(shù)據(jù)庫(kù)系統(tǒng)是播出業(yè)務(wù)支撐的核心,是最為關(guān)鍵的系統(tǒng)平臺(tái)軟件,必須滿足安全、穩(wěn)定、高效的要求。播出核心的數(shù)據(jù)庫(kù)要求配置兩臺(tái)互為主備的服務(wù)器,同時(shí)為了提高數(shù)據(jù)的安全級(jí)別,主備數(shù)據(jù)庫(kù)都需要配置安全的智能備份能力,配置自動(dòng)倒換軟件PlusWell文件鏡像軟件,正常情況下主備數(shù)據(jù)庫(kù)都能夠自動(dòng)倒換,但如果你的PlusWell軟件出了問(wèn)題,不能夠?qū)崿F(xiàn)自動(dòng)倒換,又希望實(shí)現(xiàn)半自動(dòng)倒換,這時(shí)該怎么處理呢?本文就簡(jiǎn)單介紹一下在不使用PlusWell的情況下如何實(shí)現(xiàn)主備數(shù)據(jù)庫(kù)的快速倒換,作為一種應(yīng)急的預(yù)案。
【關(guān)鍵字】? ? 數(shù)據(jù)庫(kù)? ? 主備? ? 倒換? ? 備份
一 、主、備數(shù)據(jù)庫(kù)角色倒換方法
在主備數(shù)據(jù)庫(kù)(PDS、BDS)的桌面上分別建立了“”為圖標(biāo)的文件夾,我們打開后能看見相應(yīng)切換腳本的快捷方式,其中包含了兩種情況下的數(shù)據(jù)庫(kù)角色切換腳本,在執(zhí)行時(shí)要?jiǎng)?wù)必按照腳本的提示信息進(jìn)行確認(rèn),然后再按“Y”鍵繼續(xù)。
(一)在主數(shù)據(jù)庫(kù)PDS意外不能啟動(dòng)或停止數(shù)據(jù)庫(kù)服務(wù)的情況
1.備數(shù)據(jù)庫(kù)強(qiáng)制取代主數(shù)據(jù)庫(kù)執(zhí)行步驟:
確認(rèn):
PDS已經(jīng)無(wú)法提供正常的數(shù)據(jù)庫(kù)服務(wù);
BDS上的dbas52庫(kù)顯示狀態(tài)為(鏡像,已斷開連接/正在恢復(fù))。
(1)在BDS桌面上打開“”。
(2)運(yùn)行“0-BDS強(qiáng)制取代PDS”。
(3)腳本運(yùn)行截圖(圖1):
(4)執(zhí)行確認(rèn)“Y”鍵后,備數(shù)據(jù)庫(kù)的dbas52庫(kù)狀態(tài)會(huì)由(鏡像,已斷開連接)變?yōu)椋ㄕ诨謴?fù))。
(5)大約30秒左右刷新顯示為(主體,已斷開連接)。此時(shí)DNS服務(wù)器中的數(shù)據(jù)庫(kù)指向備數(shù)據(jù)庫(kù)的IP地址。
操作解釋:
實(shí)際上我們選擇“0-BDS強(qiáng)制取代PDS”,即運(yùn)行bdsTakeOver.cmd 腳本(強(qiáng)制BDS取代PDS的數(shù)據(jù)庫(kù)服務(wù)),該命令首先會(huì)將備數(shù)據(jù)庫(kù)BDS的dbas52庫(kù)強(qiáng)制啟用起來(lái),備數(shù)據(jù)庫(kù)的dbas52庫(kù)狀態(tài)會(huì)由(鏡像,已斷開連接)變?yōu)椋ㄕ诨謴?fù)),大約30秒左右刷新顯示為(主體,已斷開連接),然后將DNS服務(wù)器中的數(shù)據(jù)庫(kù)指向由原來(lái)的主數(shù)據(jù)庫(kù)IP(192.168.111.11)改為備數(shù)據(jù)庫(kù)的IP地址(192.168.111.13),各工作站的數(shù)據(jù)庫(kù)指向均為DNS中建的主機(jī)名dbas,在主數(shù)據(jù)庫(kù)異常時(shí)則通過(guò)本命令將DNS的dbas記錄修改為備數(shù)據(jù)庫(kù)服務(wù)器。
2.恢復(fù)主服務(wù)器(PDS)的執(zhí)行步驟:
確認(rèn):
BDS上的dbas52庫(kù)顯示狀態(tài)為(主體/掛起);
PDS上的dbas52庫(kù)顯示狀態(tài)為(鏡像/掛起)。
(1)在BDS桌面上打開“”。
(2)運(yùn)行“1-恢復(fù)PDS的數(shù)據(jù)庫(kù)鏡像服務(wù)”。
(3)腳本運(yùn)行截圖(圖2):
(4)執(zhí)行確認(rèn)“Y”鍵后,觀察備數(shù)據(jù)庫(kù)的dbas52庫(kù)狀態(tài)變?yōu)椋ㄖ黧w,正在同步),主數(shù)據(jù)庫(kù)的dbas52庫(kù)狀態(tài)是否已經(jīng)變成(鏡像,正在還原…)。
(5)等待某個(gè)非重要時(shí)段,觀察:
BDS上的dbas52庫(kù)顯示狀態(tài)為(主體,已同步);
PDS上的dbas52庫(kù)顯示狀態(tài)為(鏡像,已同步/正在還原...);
運(yùn)行“2-PDS取代BDS”。
(6)腳本運(yùn)行截圖(圖3):
(7)執(zhí)行確認(rèn)“Y”鍵后,PDS將取代BDS的數(shù)據(jù)庫(kù)服務(wù)。
(8)主數(shù)據(jù)庫(kù)的dbas52庫(kù)狀態(tài)變成(主體,已同步),備數(shù)據(jù)庫(kù)的dbas52庫(kù)狀態(tài)變成(鏡像,已同步/正在還原...)。
操作解釋:
在主數(shù)據(jù)庫(kù)服務(wù)器經(jīng)過(guò)處理后又可以正常運(yùn)行(但數(shù)據(jù)庫(kù)服務(wù)仍然保持宕機(jī)前的狀態(tài)),這時(shí)還不能直接啟用主數(shù)據(jù)庫(kù);首先從數(shù)據(jù)庫(kù)管理程序中觀察dbas52數(shù)據(jù)庫(kù)在備數(shù)據(jù)庫(kù)端顯示的是(主體/掛起),在主數(shù)據(jù)庫(kù)服務(wù)器端顯示的是(鏡像/掛起),這時(shí)數(shù)據(jù)庫(kù)不能對(duì)外提供服務(wù),數(shù)據(jù)也會(huì)有丟失。所以應(yīng)該將dbas52庫(kù)的數(shù)據(jù)完全同步過(guò)來(lái)后再切換。這時(shí)應(yīng)先執(zhí)行pds-Resume.cmd腳本(即恢復(fù)PDS的數(shù)據(jù)庫(kù)鏡像服務(wù))。
觀察備數(shù)據(jù)庫(kù)的dbas52庫(kù)狀態(tài)是否已經(jīng)變成(主體,正在同步),主數(shù)據(jù)庫(kù)的dbas52庫(kù)狀態(tài)是否已經(jīng)變成(鏡像,正在還原),這時(shí)選擇在一個(gè)非重要時(shí)段進(jìn)行,待備數(shù)據(jù)庫(kù)的dbas52庫(kù)狀態(tài)變成(主體,已同步),主數(shù)據(jù)庫(kù)的dbas52庫(kù)狀態(tài)變成(鏡像,已同步/正在還原...)時(shí),則說(shuō)明已經(jīng)具備切換條件了,執(zhí)行bds-FailOver.cmd腳本(即PDS取代BDS的數(shù)據(jù)庫(kù)服務(wù))。
(二)在主數(shù)據(jù)庫(kù)正常維護(hù),需要暫停備數(shù)據(jù)庫(kù)服務(wù)的情況
1.備數(shù)據(jù)庫(kù)接管主數(shù)據(jù)庫(kù)執(zhí)行步驟:
確認(rèn)非重要時(shí)段:
PDS上的dbas52庫(kù)顯示狀態(tài)為(主體,已同步);
BDS上的dbas52庫(kù)顯示狀態(tài)為(鏡像,已同步/正在還原…)。
(1)在BDS桌面上打開“”。
(2)運(yùn)行“2-PDS取代BDS”。
(3)腳本運(yùn)行截圖(圖4):
(4)執(zhí)行確認(rèn)“Y”鍵后,備數(shù)據(jù)庫(kù)的dbas52庫(kù)狀態(tài)變成(主體,已同步),主數(shù)據(jù)庫(kù)的dbas52庫(kù)狀態(tài)變成(鏡像,已同步/正在還原...)。
(5)此時(shí)DNS服務(wù)器中的數(shù)據(jù)庫(kù)指向備數(shù)據(jù)庫(kù)的IP地址。
操作解釋:
當(dāng)主數(shù)據(jù)庫(kù)服務(wù)器需要進(jìn)行維護(hù)、暫停數(shù)據(jù)庫(kù)服務(wù)時(shí),選擇一個(gè)非重要時(shí)段,待主數(shù)據(jù)庫(kù)的dbas52庫(kù)狀態(tài)為(主體,已同步),備數(shù)據(jù)庫(kù)的dbas52庫(kù)狀態(tài)為(鏡像,已同步/正在還原...)時(shí),這時(shí)就可以進(jìn)行主備切換了。
首先執(zhí)行pdsFailOver.cmd 腳本(即BDS取代PDS的數(shù)據(jù)庫(kù)服務(wù)),命令首先會(huì)讓備數(shù)據(jù)庫(kù)的dbas52庫(kù)做為正常數(shù)據(jù)庫(kù)使用起來(lái),待備數(shù)據(jù)庫(kù)的dbas52庫(kù)狀態(tài)變成(主體,已同步),主數(shù)據(jù)庫(kù)的dbas52庫(kù)狀態(tài)變成(鏡像,已同步/正在還原...)。
在將DNS服務(wù)器中的數(shù)據(jù)庫(kù)指向由原來(lái)的主數(shù)據(jù)庫(kù)IP(192.168.111.11),改為備數(shù)據(jù)庫(kù)的IP地址(192.168.111.13),各工作站的數(shù)據(jù)庫(kù)指向均為DNS中建的主機(jī)名dbas。
2.主服務(wù)器(PDS)的恢復(fù)執(zhí)行步驟:
確認(rèn):
BDS上的dbas52庫(kù)顯示狀態(tài)為(主體,已同步);
PDS上的dbas52庫(kù)顯示狀態(tài)為(鏡像,已同步/正在還原…)。
(1)在BDS桌面上打開“”。
(2)運(yùn)行“2-PDS取代BDS”。
(3)腳本運(yùn)行截圖(圖5):
(4)執(zhí)行確認(rèn)“Y”鍵后,PDS將取代BDS的數(shù)據(jù)庫(kù)服務(wù)。
(5)主數(shù)據(jù)庫(kù)的dbas52庫(kù)狀態(tài)變成(主體,已同步),備數(shù)據(jù)庫(kù)的dbas52庫(kù)狀態(tài)變成(鏡像,已同步/正在還原...)。
操作解釋:
當(dāng)主數(shù)據(jù)庫(kù)服務(wù)器維護(hù)完成需要恢復(fù)正常運(yùn)行,觀察備數(shù)據(jù)庫(kù)是否已經(jīng)變?yōu)椋ㄖ黧w,正在同步),主數(shù)據(jù)庫(kù)的dbas52庫(kù)狀態(tài)是否已經(jīng)變?yōu)椋ㄧR像,正在還原),直到備數(shù)據(jù)庫(kù)上顯示(主體,已同步),主數(shù)據(jù)庫(kù)的dbas52庫(kù)狀態(tài)是否已經(jīng)變成(鏡像,已同步/正在還原...)時(shí),則可以進(jìn)行主備倒換了,選擇找一個(gè)非重要時(shí)段,執(zhí)行bds-FailOver.cmd腳本(即執(zhí)行PDS取代BDS的數(shù)據(jù)庫(kù)服務(wù)),該命令會(huì)使主數(shù)據(jù)庫(kù)的dbas52庫(kù)作為正常數(shù)據(jù)庫(kù)啟用起來(lái),主數(shù)據(jù)庫(kù)的dbas52庫(kù)狀態(tài)變成(主體,已同步),備數(shù)據(jù)庫(kù)的dbas52庫(kù)狀態(tài)變成(鏡像,已同步/正在還原...),然后將DNS服務(wù)器中的數(shù)據(jù)庫(kù)指向恢復(fù)為主數(shù)據(jù)庫(kù)的IP地址(由原來(lái)的192.168.111.13,改為192.168.111.11),各工作站的數(shù)據(jù)庫(kù)指向均為DNS中建的主機(jī)名dbas。
二 、主、備數(shù)據(jù)庫(kù)同時(shí)無(wú)法啟動(dòng)或工作時(shí),TDS(冷備)數(shù)據(jù)庫(kù)啟用過(guò)程。
在出現(xiàn)此極端嚴(yán)重故障時(shí),首先保證在線播出端節(jié)目單不要進(jìn)行更新、替換素材等工作,應(yīng)當(dāng)立即啟用冷備數(shù)據(jù)庫(kù)(TDS)。
三、 PDS、BDS、TDS的數(shù)據(jù)庫(kù)備份
有三重?cái)?shù)據(jù)庫(kù)備份機(jī)制:
一是PDS、BDS的Dbas52庫(kù)準(zhǔn)熱備鏡像備份:
二是PDS、BDS的Dbas52數(shù)據(jù)庫(kù)的本地備份,由4個(gè)維護(hù)計(jì)劃組成:
1.早4:55分:“DelOldBak”任務(wù),每天執(zhí)行一次,對(duì)4天之前的備份文件進(jìn)行清除;
2.早5:05分:“dbas52事務(wù)日志備份”任務(wù),每天執(zhí)行一次,對(duì)上次完整備份后的事務(wù)日志進(jìn)行備份,確保事務(wù)日志文件不會(huì)無(wú)限制增大。此任務(wù)只對(duì)主機(jī)端數(shù)據(jù)庫(kù)服務(wù)器有效,備份文件存放在D:\SQLData\bak目錄中,文件名為“dbas52_log_backup.bak”。
3.早5:15分:“dbas52完整備份”任務(wù),每天執(zhí)行一次。此任務(wù)只對(duì)主機(jī)端數(shù)據(jù)庫(kù)服務(wù)器有效,備份文件存放在D:\SQLData\bak目錄中,文件名為“dbas52+備份完成時(shí)間.bak”。
4.中午12:15分:“dbas52差異備份”任務(wù),開始第一次差異備份,之后每隔6小時(shí)做一次。此任務(wù)只對(duì)主機(jī)端數(shù)據(jù)庫(kù)服務(wù)器有效,備份文件存放在D:\SQLData\bak目錄中,文件名為“dbas52+備份完成時(shí)間.bak”。
三是在TDS上做的PDS、BDS數(shù)據(jù)庫(kù)備份文件的異地備份:分別將PDS、BDS上D:\SQLData\bak目錄中的文件以DFS方式(分布式文件系統(tǒng),DFS的管理機(jī)現(xiàn)在設(shè)置在PDS上)同步到TDS的D:\SQLData\PDS-DataBak和D:\SQLData\BDS-DataBak目錄中。注意TDS上的這兩個(gè)目錄和源目錄是同步關(guān)系,也就是說(shuō)不能在TDS上無(wú)故刪除這兩個(gè)目錄中的文件,否則會(huì)導(dǎo)致源目錄同時(shí)刪除相應(yīng)文件。
四、需要定期檢查的內(nèi)容
(一)PDS、BDS的Dbas52庫(kù)狀態(tài):運(yùn)行桌面上的“SQL Server Management Studio”圖標(biāo),并連接至PDS、BDS數(shù)據(jù)庫(kù)服務(wù)器,確保正常情況下主機(jī)端Dbas52數(shù)據(jù)庫(kù)的狀態(tài)為“主體,已同步”,鏡像端Dbas52數(shù)據(jù)庫(kù)的狀態(tài)為“鏡像,已同步/正在還原...”。
(二)Dbas52庫(kù)文件大小:只能查看主機(jī)端的Dbas52數(shù)據(jù)庫(kù)屬性,記錄其中的dbas52、DbasLog、dbas52_log文件的大小。
(三)數(shù)據(jù)庫(kù)各相關(guān)服務(wù)是否正常啟動(dòng):雙擊系統(tǒng)欄的“SQL Service Manager”圖標(biāo),通過(guò)選擇“SQL Service”內(nèi)容來(lái)確認(rèn)除“SQL Browser”外的其他服務(wù)均處于運(yùn)行狀態(tài),依次查看后選擇“SQL Server”做為默認(rèn)查看項(xiàng)目。
(四)PDS、BDS的鏡像認(rèn)證文件:PDS、BDS的數(shù)據(jù)庫(kù)鏡像備份是通過(guò)證書機(jī)制來(lái)互相認(rèn)證的,相關(guān)證書備份(文件名為PDS_cert.cer、BDS_cert.cer)分別保存在各自服務(wù)器的D:\SQLData\bak目錄中,請(qǐng)勿隨意刪除。
(五)PDS、BDS的作業(yè)執(zhí)行情況:在PDS、BDS上設(shè)定了定期執(zhí)行的作業(yè),用于將dbas52庫(kù)中的日志記錄歸檔到另外一個(gè)獨(dú)立的dbas52log庫(kù)文件中,以避免隨著時(shí)間推移,dbas52庫(kù)因保存的數(shù)據(jù)過(guò)多、文件過(guò)大而引起工作效率下降。這些作業(yè)需要通過(guò)“SQL Server代理”欄中的“作業(yè)”進(jìn)行查看,看看這些作業(yè)上次執(zhí)行的時(shí)間和狀態(tài),是否有失敗的情況等。另外,作業(yè)欄中會(huì)同時(shí)把“維護(hù)計(jì)劃”中的任務(wù)列在這里,但并不顯示執(zhí)行情況,請(qǐng)不要對(duì)這些“維護(hù)計(jì)劃”任務(wù)做操作?!熬S護(hù)計(jì)劃”任務(wù)的相關(guān)內(nèi)容請(qǐng)參看“2.4 PDS、BDS、TDS的數(shù)據(jù)庫(kù)備份”。
(六)PDS、BDS、TDS的數(shù)據(jù)庫(kù)本地備份文件:PDS、BDS的D:\SQLData\Bak目錄保存了4天之內(nèi)的dbas52數(shù)據(jù)庫(kù)備份文件,TDS的D:\SQLData\PDS-DataBak和D:\SQLData\BDS-DataBak目錄中同步保存了相應(yīng)備份,需要檢查上述目錄中的備份文件是否按設(shè)定要求生成(具體參見“ PDS、BDS、TDS的數(shù)據(jù)庫(kù)備份”內(nèi)容)。
(七)PDS、BDS、TDS的剩余硬盤空間:無(wú)論是系統(tǒng)盤C盤,還是數(shù)據(jù)庫(kù)工作盤D盤,均應(yīng)保持5G以上的剩余空間,如果剩余空間不足需要及時(shí)查找原因解決。
本文主要以個(gè)人單位使用的數(shù)據(jù)庫(kù)為例進(jìn)行的介紹,供大家參考。對(duì)于不同的數(shù)據(jù)庫(kù)結(jié)構(gòu)和不同的軟件版本操作上都會(huì)有很大的不同,再加之操作前還有很多的前提條件,所以在操作之前有一定要先了解自己的數(shù)據(jù)庫(kù)結(jié)構(gòu)和配置情況,才能進(jìn)行相應(yīng)的操作。
作者單位:熊勇? ? 云南廣播電視臺(tái)
參? 考? 文? 獻(xiàn)
[1]劉震寰.電視播出系統(tǒng)中數(shù)據(jù)庫(kù)架構(gòu)分析[J].科技與創(chuàng)新,2021(17):26-27.
[2]滕興中.播出系統(tǒng)數(shù)據(jù)庫(kù)維護(hù)與改造方案的研究[J].廣播與電視技術(shù),2021,48(04):124-128.
[3]林增杰,朱中凱,顧曉萍.無(wú)錫電視臺(tái)播出數(shù)據(jù)庫(kù)異構(gòu)切換的實(shí)現(xiàn)方案[J].現(xiàn)代電視技術(shù),2018(09):144-146.
[4]畢強(qiáng).新疆臺(tái)硬盤播出數(shù)據(jù)庫(kù)服務(wù)器的使用與維護(hù)[J].電視技術(shù),2015,39(12):71-73+87.
[5]程孝儒.播出系統(tǒng)數(shù)據(jù)庫(kù)服務(wù)器日常維護(hù)初探[J].新聞研究導(dǎo)刊,2017,8(11):281.