以優化之名
儲存優化導致表空間誤刪除案例
一人蛇先成,引酒且飲之,乃左手持卮,右手畫蛇曰:「吾能為之足!」為蛇足者,終亡其酒。
——《戰國策•齊二》
嘉招欲復杯中淥,麗唱仍添錦上花。
——宋•王安石《即事》
寧錦上添花,勿畫蛇添足。
在很多資料災難中,我們看到很多原本是可有可無的操作,或者是錦上添花的工作,最後卻由於處置不當、準備不足或認知不夠,導致了資料災難,當事人後悔不迭。
所謂資料無小事,在和資料打交道時,我們一定要謹而慎之,切勿一失足而至追悔莫及。
災難描述
2023年12月31日,我們接到乙個緊急的資料救援請求。據粗略了解,事情大致是這樣的。
1. 年底,開發商幫助使用者進行資料庫效能優化。
2. 優化內容之一是儲存優化。
3. 儲存優化的方法是進行表空間重建。
4. 開放商先刪除表空間(成功),然後重建表空間(失敗)。
5. 使用者發現刪除的表空間中的資料未備份。
6. 災難形成。
對於這則案例,如果資料庫不進行優化,那麼穩定執行的問題還是不大的。然而,準備不足的這些維護操作,則使資料庫徹底陷入了癱瘓的困境。
同樣在2023年底,我們還遇到了另外一則完全類似的案例,情形大致如下。
1. 客戶資料庫的安全性要求極高。
2. 客戶要定期接受上級單位的例行檢查。
3. 為了滿足安全評估要求,客戶決定對系統進行全新重構。
4. 在匯出備份之後,將主機格式化並重建資料庫。
5. 在重建後恢復時發現,匯出的備份檔案有錯誤,無法匯入資料庫中。
6. 災難形成。
現場分析發現,匯出檔案大小是正確的,但是通過十六進製制模式檢視發現檔案末尾全是空白,沒有資料,推測可能是通過行動硬碟備份時出現了問題,未正常退出或插拔行動硬碟導致資料損失。這個匯出檔案是不足以用來恢復了。後來通過儲存級別的恢復,在格式化後的硬碟上找到了之前的歷史備份,最終總算恢復了大部分資料。
有時乙個良好的設想因為執行不當可能成為災難的源頭,然而在完成了基本的保障之後,無為而治在有些情況下卻能保證資料庫的安全穩定執行,折騰是資料災難之源。
案例警示
這兩個資料災難帶給了我們如下教訓。
1. 在任何破壞性操作之前,必須嚴格驗證備份的有效性
這裡所說的破壞性操作包括刪除表空間、資料檔案、資料表等。
嚴格驗證備份的有效性,如果可能,應該進一步演進到,操作之前進行全面有效的備份。有時候不要相信別人傳達的諸如已經備份、存在備份、有人備份之類的資訊,因為不同方式的備份可能不適合你的操作恢復,別人的備份也可能存在你所不知道的問題,一旦需要的資料未成功備份,災難就會出現。
所以,重要的環節需要親自確認,避免傳遞錯誤帶來的不確定性。
2. 在可能情況下保留多份備份介質
很多事實顯示,有時候單純乙份備份是不可靠的,磁帶、行動硬碟等介質的備份更不可靠。所以,如果可能,對於重要資料的備份,最好保留多份介質,尤其是要對原有環境進行破壞、遷移、重構等情況時。
通常的備份策略,還應當結合物理備份和邏輯備份、表結構備份等來實施。對於極其重要的核心表,要保持經常性備份,多乙份備份就多乙份安全。
3. 避免使用無法把握的新技術
前述案例的客戶使用了自動儲存管理技術(oracle asm)。asm使用裸裝置,這造成了使用者無法直接看到資料檔案,也就無從直接進行檔案級別的複製備份,因而增加了備份的複雜性和難度。
顯然使用者和開發商運維人員都不能夠深入了解這一技術。從這個意義上說,並非先進的技術就適合任何環境,好的技術要和好的運維結合起來才能為使用者創造價值。客戶在選擇oracle資料庫的同時,必須要同時接受因此而可能支付的執行維護成本。
當然,系統架構人員也應當從使用者的實際出發,為使用者建議適合的系統架構,只有真正適合使用者的技術才是最好的技術。
4. 必須有人能夠把握技術全域性
在這個案例中,顯然沒有人能夠從整體方案上把握全域性。如果在核心的資料運維中沒有人能把握全域性,那麼任何操作都應當極其慎重,或者乾脆選擇放棄進行破壞性資料維護操作。
典型地,如果沒有回退方案,任何破壞性的資料操作都不應當進行。
5. 制訂方案並且按照方案的步驟執行
重要的維護工作應當制訂方案,並且列出明確的操作步驟和命令。這些步驟和命令應當是通過測試驗證的。在執行過程中,遵循方案的步驟來進行相關操作,一旦遇到異常必須停下來進行分析或者回退。
嚴格對資料負責,不因主觀的重要和非重要判斷行事。
6. 資料庫維護操作應當通過命令列完成,避免使用圖形化工具
雖然圖形化工具會為工作帶來便利,但是其背後隱藏著不確定性和風險。通常使用者很難確定圖形後面預設和非預設的選項,任何乙個錯誤的勾選都可能使情況變得複雜。
鑑於已經有很多使用者在圖形工具上遭遇挫折,我們建議使用者通過命令列完成對資料庫的維護操作,比如使用sql*plus工具。命令行會迫使你明確所發出的每乙個指令,無形中可減少風險的出現。
明確工具的風險和用途,這也是對dba的乙個專業素質要求。
充足的資料備份和良好的維護計畫是資料安全的守護者,在資料運維中要時刻注意。
本文節選自《oracle dba手記4:資料安全警示錄》一書
蓋國強著
電子工業出版社出版
圖書詳細資訊:
以鳥獸之名
我們連家鄉都回不去了,只能在夢裡回去。所以我就想著,如果能寫出點什麼,我這一生多少也算有了一點意義。當我們在談家鄉的時候,我們究竟在談什麼?通常如果被問你的家鄉是 我們會回答我來自xx 地名 這是家鄉的第一層意義,家鄉是生你養你的地方的指代 第二層則是有你的親人所在的地方,就是你的家鄉 第三層意義則...
以實戰之名盡兵法之意
從大海到水滴 以實戰之名盡兵法之意 從大海到水滴,以之戰之名盡兵法之意。小草記zac老師 網路營銷實戰密碼 題記 早就該寫個東西紀念下zac老師的書了。子曰 獨樂樂不如眾樂樂。將這本書推薦給其他對網路營銷感興趣的朋友,即幫了朋友,也傳播了網路營銷。雖然也推薦給了不少蘇州網路營銷這個小圈子的朋友看,但...
B 以貳之名(新生賽)
b.以貳之名 description 眾所周知,dv學長和tyy學長是關係非常好的 他們經常以 兒子 互稱。有一天dv學長給tyy學長出了一道題,如果tyy學長解出了這道題就可以擁有一半的糖果,否則dv學長將吃掉所有的糖果。tyy學長非常想吃到糖果,你能幫幫她嘛?具體來說 現在有從2到n這n 1個的...