談談數據庫備份手段

          半年來一直在甲方做Oracle的DBA,比較忙,沒啥時間寫文章。最近幾周才抽出空兒來,做做其它私人項目,寫寫文章。

          上週做了個Apache+Tomcat+Oracle+MySQL的環境搭建項目,項目說簡單也簡單,對於某些人來講可能算不上項目,裝上就完事兒了。但是咱們做項目得對客戶負責任,雖然是個安裝項目,但是要考慮好系統的備份,負載均衡以及高可用。此篇文章既然是以數據備份手段爲題,咱就只談數據庫備份,不談Apache和Tomcat的組合,也不談Oracle的DG配置。

          在這個案例中Oracle採用了不停機備份的手段,而Mysql藉助了Linux的LVMsnapshot功能,實現了妙級停機備份。

         針對Oracle,在本地建立了Standby實例,通過計劃任務在Standby上面定期應用主庫歸檔,備份時對Standby實例進行停機,並進行冷備。

         針對MySQL,使用Linux的LVMsnapshot功能,在備份之前對數據庫進行鎖定操作,緊接着創建生產數據庫的snapshotlv,再緊接着對數據庫進行解鎖(從鎖定到創建snapshot再到解鎖總計用時不足一秒),而之後則對snapshot進行mount以及備份操作,備份完畢進行umount及lvremove操作。

        其實Oracle也可以使用LVM的snapshot來做,但是一般來講Oracle數據庫都是GB級,如果在生產環境進行文件拷貝,對生產環境的影響還是相當大的。上述的standby環境可以隨時遷移到另外一臺主機上。

    如果你還在使用傳統的停機冷備份方式,不妨改變一下思路,使用變通的方法減少對生產環境的影響。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章