一個(gè)機(jī)構(gòu)在生產(chǎn)系統(tǒng)上直接輸入數(shù)據(jù)庫命令進(jìn)行維護(hù)的場(chǎng)合越多,就越能證明該機(jī)構(gòu)的運(yùn)維能力薄弱,應(yīng)用系統(tǒng)的功能不完備。
筆者在實(shí)踐中發(fā)現(xiàn)一些中小銀行機(jī)構(gòu)因?yàn)橄到y(tǒng)不完善,在出現(xiàn)業(yè)務(wù)差錯(cuò)時(shí)經(jīng)常在生產(chǎn)數(shù)據(jù)庫中用SQL命令進(jìn)行數(shù)據(jù)修改,這是一種非常危險(xiǎn)的做法,一旦失誤就會(huì)造成災(zāi)難。
如果非要在生產(chǎn)系統(tǒng)上輸入命令進(jìn)行管理時(shí),不要指望運(yùn)維人永遠(yuǎn)不犯錯(cuò),應(yīng)該進(jìn)行雙人操作,一人輸入命令,一人進(jìn)行審核,檢查執(zhí)行命令的設(shè)備和操作對(duì)象是否安全,在審核者同意后再執(zhí)行命令。
最好的做法是把系統(tǒng)管理維護(hù)操作程序化,以技術(shù)手段托底,把事情交給經(jīng)過測(cè)試的程序來做,這些程序的測(cè)試就在平時(shí)的應(yīng)急演練中進(jìn)行,通過應(yīng)急演練驗(yàn)證維護(hù)程序的功能是否完備。統(tǒng)維護(hù)是高強(qiáng)度的工作,是否能確保在緊急狀態(tài)下有后備維護(hù)人員來接替疲勞的維護(hù)人員?
2.進(jìn)行危險(xiǎn)操作(對(duì)生產(chǎn)數(shù)據(jù)庫直接輸入命令進(jìn)行數(shù)據(jù)變動(dòng)或者變更配置等)時(shí)系統(tǒng)管理人員工作的精神狀態(tài)是否良好?
3.是否帶病工作或者服用了會(huì)導(dǎo)致精神狀態(tài)不佳的藥物?是否飲酒后工作?
4.運(yùn)維人員是否有刪庫跑路的動(dòng)機(jī)?
有些機(jī)構(gòu)的備份機(jī)制很多,但是華而不實(shí),造成了三個(gè)和尚沒水吃的尷尬狀況。
千招會(huì)不如一招精,能把一兩種備份恢復(fù)機(jī)制在應(yīng)急演練中練精摸透,揚(yáng)長(zhǎng)避短,在數(shù)據(jù)庫出現(xiàn)問題時(shí)真正解決問題,遠(yuǎn)比華而不實(shí)的備份機(jī)制有效。
企業(yè)的運(yùn)維團(tuán)隊(duì)?wèi)?yīng)考慮這幾個(gè)問題:
1.在緊急狀況下進(jìn)行系
很多機(jī)構(gòu)的應(yīng)急預(yù)案,大多數(shù)是針對(duì)自然災(zāi)害等不可抗力和設(shè)備損壞及網(wǎng)絡(luò)中斷而制定。
對(duì)于因系統(tǒng)管理失誤造成的數(shù)據(jù)庫損壞,是否制定了應(yīng)急預(yù)案,應(yīng)急預(yù)案是否可行,平時(shí)的應(yīng)急演練是真演實(shí)練還是走過程都要進(jìn)行深入地思考。
對(duì)于生產(chǎn)環(huán)境下的“rm-rf”類的命令,應(yīng)改造,例如把rm命令改個(gè)名字,再寫個(gè)腳本替換,腳本里面做判斷,如果有人執(zhí)行“rm -rf”命令,就調(diào)用rmdir去刪除等。
一般來說,開發(fā)人員是不允許操控生產(chǎn)數(shù)據(jù)庫的,順豐科技數(shù)據(jù)中心的開發(fā)人員擁有刪除數(shù)據(jù)庫生產(chǎn)數(shù)據(jù)庫權(quán)限,說明負(fù)責(zé)機(jī)構(gòu)的數(shù)據(jù)庫權(quán)限管理有很大的缺陷。
筆者認(rèn)為,目前實(shí)現(xiàn)運(yùn)維自動(dòng)化有些操之過急,其原因是運(yùn)維自動(dòng)化目前缺乏成功的案例,可靠性不得而知,基于目前在的狀況,先實(shí)現(xiàn)運(yùn)維程序化,再考慮運(yùn)維自動(dòng)化,是一種比較保險(xiǎn)的策略。