1. oracle資料庫如何備份與恢復
Oracle資料庫的備份與恢復有漏桐中三種標準的模式,大致分為兩大類,備份恢復(物理上的)以及導入導出(邏輯上的)。物理備份又可以根據資料庫的工作模式分為非歸檔模式(Nonarchivelog-style)和歸檔模式(Archivelog-style),通常,我們把非歸檔模式稱為冷備份,而相應的把歸檔模式稱輪核為熱備份。
冷備份是指在資料庫關閉的情況下對數據文件、控制文件和重做日誌文件進行拷貝。冷備份的優點是簡單、快速、安全,缺點是需要停機維護,影響業務連續性。
熱備份是指在數返山據庫開啟並處於歸檔模式下對數據文件進行拷貝。熱備份的優點是不需要停機維護,不影響業務連續性,缺點是比較復雜、耗時、佔用資源。
導入導出是指使用EXP/IMP或者數據泵技術將資料庫中的對象或者數據導出到一個二進制文件中,並且可以將這個文件導入到另一個資料庫中。導入導出的優點是靈活、方便、可移植,缺點是不能保證一致性、效率低、不能恢復系統對象。
2. 有哪些mysql資料庫容災備份方案推薦
以mysql為列:
規劃容災備份時,有兩個參考依據,1:恢復點目標(PRO),2:恢復時間目標(RTO)。他們定義了可以容忍丟失多少數據,以及恢復數據需要多少時間。而且一定要走出一個誤區,復制就是備份,只有備份才能滿足滑中滑備份的要求。
個人認為備份方案類型如下:
1:在線備份或者離線備份,通常關閉mysql做離線備份是最簡單最安全的,伺服器不提供應用訪問服務,可以更快完成備份,但是,這樣會導致服務中斷,同時,重啟mysql也需要一定的時間成本,對於已經上線的系統,基本不可取。在線備份的最大一個問題是,mysql可能鎖住大量的表,除非鎖被釋放,否則會有大量的io請求被阻塞。
綜上所述,我們在規劃備份的時候需要考慮一下幾點:
a:鎖時間。
b:備份時間。
c:備份負載對伺服器的影響有多大。
d:恢復備份時間需要多久。
2:邏輯備份還是物理備份。
(1):邏輯備份有以下優點:
a:邏輯備份文件恢復非常簡單。只需要使用mysqlimport即可。
b:在我們只想查看數據,不想恢復的時候可以使用grep或者sed命令查看。
c:邏輯備份與存儲引擎沒有關系,我們可以跨存儲引擎恢復數據,比如:從InnoDB表中備份,用很小的工作量就可以把數據恢復到MyISAM中。
邏輯備份也會有以下缺點:
a:必須有資料庫伺服器完成備份工作,增加伺服器工作負荷。
b:邏輯備份文件某些場景比資料庫本身文件還大。
c:無法保證導入導出的數據是一樣的,比如浮點型數據。
d:恢復的時候需要重建索引,速度會慢。
(2):物理備份有以下優點:
a:基於文件的物理備份,只需要培鄭復制操作到目標目錄即可。
b:恢復的時候只需要將文件到要恢復的目錄即可。InnoDB可能需要停止服務和其他一些操作。
c:物理備份中恢復速度塊,而且容易垮平台和操作系統和mysql資料庫版本。
物理備份信臘也會有以下缺點:
a:文件名大小寫敏感,浮點格式數據可能會遇到麻煩。
b:物理備份通常包含很多未使用的空間。
3:增量備份和差異備份。增量備份和差異備份只是局部備份,主要是思想就是不備份沒有改變的表,但是會減少伺服器的開銷,備份時間等。
4:二進制日誌備份。通常數據小,我們可以頻繁的備份,同時,基於時間點的恢復,二進制日誌備份是一個很有效的手段。
5:文件系統快照,通過創建鏡像達到恢復的目的。
對於一個好的開發人員來說,有好的備份容災規劃和計劃是必不可少的。這樣可以提高我們在線系統的持續運行能力。更好的服務我們系統的用戶。我個人最喜歡的備份方式就是從文件系統快照中直接復制數據文件。
以上是個人的見解,希望對你有一定的幫助。謝謝。