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