系統架構設計筆記(10) 資料庫備份與恢復

2021-10-04 12:50:07 字數 1452 閱讀 8722

資料庫中的資料一般都十分重要,不能丟失,因為各種原因,資料庫都有損壞的可能性(雖然很小),所以事先制定乙個合適的 、 可操作的備份和恢復計畫至關重要。

備份和恢復計畫的制訂要遵循以下兩個原則:

(1)保證資料丟失的情況盡量少或完全不丟失,因為價效比的要求,這要取決於現實系統的具體要求。

(2)備份和恢復時間盡量短,保證系統最大的可用性。資料庫備份按照不同方式可分為多種,這裡按照備份內容分為物理備份和邏輯備份兩類。

物理備份是在作業系統層面上對資料庫的資料檔案進行備份,物理備份分為冷備份和熱備份兩種。

冷備份是將資料庫正常關閉,在停止狀態下利用作業系統的 copy、cp、tar、cpio 等命令將資料庫的檔案全部備份下來,當資料庫發生故障時,將資料檔案複製回來,進行恢復。

熱備份也分為兩種,一種是不關閉資料庫,將資料庫中需要備份的資料檔案依次置於備份狀態,相對保持靜止,然後再利用作業系統的 copy、cp、tar、cpio 等命令將資料庫的檔案備份下來,備份完畢後再將資料檔案恢復為正常狀態,當資料庫發生故障時,恢復方法同冷備份一樣。熱備份的另外一種方式是利用備份軟體(例如, veritas 公司的 netbackup , legato 公司的 network 等)在資料庫正常執行的狀態下,將資料庫中的資料檔案備份出來。

cp copy 簡寫,它是 linux 作業系統的複製命令;linux 的 tar 命令用於備份檔案;linux 的 cpio 命令可以從 tar 格式的歸檔包中存入或讀取檔案。

為了提高物理備份的效率,通常將完全 、 增量 、 累積三種備份方式相組合。

完全備份是將資料庫的內容全部備份,作為增量 、 累積的基礎;

這裡的增量備份,指的是差異增量備份。即備份自上次同級或低階差異增量備份以來所有發生變化的資料塊;

累積備份是累積增量備份,會備份自上次0級備份以來發生變化的資料塊。

乙個備份週期通常由乙個完全備份和多個增量 、 累積備份組成。由於增量或累計備份匯出的資料少,所以其匯出的檔案較小,所需要的時間較少。

利用乙個完全備份和多個增量 、 累積備份恢復資料庫的步驟如下:

首先從完全備份恢復資料庫。

然後按照時間順序從早到晚依次匯入多個增量和累積備份檔案。

邏輯備份是指利用各資料庫系統自帶的工具軟體備份和恢復資料庫的內容,例如, oracle 的匯出工具為 exp ,匯入工具為 imp ,可以按照表 、 表空間 、 使用者 、 全庫等四個層次備份和恢復資料; sybase 的全庫備份命令是 dumpdatabase ,全庫恢復命令是 loaddatabase ,另外也可利用 bcp 命令來備份和恢復指定表。

在資料庫容量不大的情況下邏輯備份是乙個非常有效的手段,既簡單又方便,但現在隨著資料量的越來越大,利用邏輯備份來備份和恢復資料庫已力不從心,速度也很慢。針對大型資料庫的備份和恢復一般結合磁帶庫採用物理的完全 、 增量 、 累積三種備份方式相組合來進行。但無論任何時候邏輯備份都是一種非常有效的手段,特別適合於日常維護中的部分指定表的備份和恢復。

資料庫架構設計

當您根據現有的資料庫規劃工作流應用程式時,請記住 將現有資料庫註冊為工作流應用程式之前,請製作該資料庫的乙個備份副本。不要試圖對產品資料庫進行設計更改。將資料庫移動並複製到某個測試環境中,並在該環境中執行所有工作流實現和架構更改。在確保工作流應用程式按照預期的那樣執行之後,請將其部署到生產伺服器中。...

資料庫架構設計規範

資料庫架構設計 做架構到底是在做什麼?抽象能力 抽象 具象 資料庫架構設計分為以下三種 1.具體內容設計資料庫的乙個邏輯結構。與具體的dbms無關,主要反映業務邏輯 2.設計步驟 用關係模型 3.使用工具來模型化 e r圖。4.實體關係模型 5.至少滿足3nf 第一正規化 1nf 要求資料庫表的每一...

mysql資料庫架構設計與優化

2019 04 23 20 51 20 無畏d塵埃 閱讀數 179 收藏 更多 分類專欄 mysql 其他以上所有規範並非完全不能違背,只是如果不符時,要和公司dba團隊確認是否可以做相關操作alter table t1 add column c1 int,change column c2 int ...