資料庫維護中,備份或恢復是重中之重的問題。儘管很多時候資料庫系統執行緩慢,但對資料庫資料的丟失而言,顯然後者損失的代價是
不言而喻的。因此dba至少在保證資料不丟失的情況下來提高系統的效能是最起碼的要求。關於什麼是備份與恢復,在此不做贅言。
一、物理備份與邏輯備份
物理備份
是所有物理檔案的乙個副本,比如資料檔案,控制檔案,歸檔日誌等。該副本能被儲存在本地磁碟或磁帶等等。
物理備份是備份或恢復的基礎
包括冷備份(非歸檔模式)或熱備份(歸檔模式)
邏輯備份
將表、儲存過程等資料使用oracle的export等工具匯出到二進位制檔案,後續根據需要再使用import工具匯入資料庫。
邏輯備份則是對物理備份的方式的一種補充,多用於資料遷移。
二、備份恢復工具 1.
使用rman來備份恢復,支援命令列及gui介面,支援第三方磁帶庫備份,功能比較強大。
支援備份資料庫、表空間、資料檔案、控制檔案、歸檔日誌等
可以儲存頻繁使用備份恢復指令碼
支援增量備份,跳過未使用的塊,以及控制備份速度
在備份期間偵測損壞的資料
通過自動併發、限制i/o等提高備份效能 2.
使用者託管的備份與恢復,是一種手動備份恢復的方式。使用作業系統命令和sql*plus來完成相關的備份與恢復。
三、備份與恢復的策略 1.
多路復用控制檔案及多個併發備份 2.
多路復用聯機重做日誌檔案 3.
在archivelog模式下執行資料庫,並將重做日誌存檔至多個位置 4.
時常備份物理資料檔案,盡可能建立多個副本到可靠的位置
關於資料庫的日常規劃請參考:
四、備份與恢復的幾類重要資料結構 1.
資料檔案 2.
聯機重做日誌檔案 3.
控制檔案 4.
自動管理的撤銷 5.
可選的備份檔案(引數檔案、密碼檔案)
五、常見的備份型別
聯機資料庫備份-->
使用archivelog模式,scn不一致
離線資料庫備份-->
使用noarchivelog模式,scn保持一致
整個資料庫-->
可以在不同的時間段來備份,減輕i/o壓力,從而構建整個資料庫
表空間-->
在archivelog模式下,當處於noarchivelog模式下,則該錶空間必須為唯讀或離線
資料檔案-->
同表空間備份
控制檔案-->
可以使用sql語句或rman來備份
歸檔日誌
引數檔案
六、備份的分類
前面提到了邏輯備份與物理備份的概念,下面描述根據備份的內容、大小、性質等進行再分類 1.
全部備份與部分備份
全部備份:包含所有的資料檔案及至少乙個控制檔案,引數檔案,密碼檔案等。
部分備份:包含零個或多個表空間,零個或多個資料檔案,可能包含控制檔案等。部分備份僅在歸檔模式下才有效。
2.完整備份與增量備份
完整備份:乙個或多個資料檔案的乙個完整副本,包含從備份開始處所有的資料塊。
增量備份:包含從最近一次次備份以來被修改或新增的資料塊。
又可分為
差異增量:是備份上級及同級備份以來所有變化的資料塊,差異增量是預設增量備份方式
累計增量:是備份上級備份以來所有變化的塊
增量備份的幾種形式 0
級增量備份:是所有備份的基礎,是乙個完整備份,包含所有的資料塊 1
級差異增量備份:包含最近一次1級累計備份或差異備份以來被更改的資料塊 1
級累計增量備份:只包含最近一次0級備份以來被更改的資料塊
增量備份支援archivelog和noarchivelog模式,也可以在開啟或關閉時進行。但只有rman才能實現增量備
3.離線備份與聯機備份
離線備份:在資料庫關閉階段發生的備份,又稱為一致性備份或冷備份。在一致性關閉資料庫後,控制檔案scn與資料檔案頭部scn一致
聯機備份:在資料庫使用階段發生的備份,又稱為非一致性備份或熱備份。聯機備份乙個資料檔案不與任何特定的scn以及控制檔案同步
可以是全部備份,也可以是部分備份,能夠使用rman或作業系統命令完成
僅僅在archivelog模式下
4.映像副本與備份集
映像副本:是某個檔案的完整拷貝,未經過任何壓縮處理,每個位元組都與原始檔相同。不支援增量備份也不能備份到磁帶。
備份集:由乙個或多個稱為piece的物理檔案組成的邏輯結構。備份片中可以是資料檔案,控制檔案以及歸檔日誌檔案。
支援資料的壓縮,支援增量備份。
可以備份到磁碟,也可以備份到磁帶。
七、還原與恢復
資料庫恢復的策略,是使用最近的一次備份來實現資料庫的還原,然後使用歸檔日誌和聯機日誌將資料庫恢復到最新或特定狀態。
還原:從最近的備份檔案中檢索所需要的內容,並將其拷回到原來位置的過程稱為還原。
可以基於資料庫、表空間、資料檔案、控制檔案、引數檔案進行還原
恢復:在還原的基礎上,使用歸檔日誌和聯機日誌將資料庫重新整理到最新的scn,使資料庫保持一致性。
恢復的型別
例項恢復
在rac中,當乙個例項崩潰,則倖存的例項將自動使用聯機日誌來前滾已提交的事務,撤銷未提交的事務並釋放鎖。
崩潰恢復
指在單例項的環境中,或多例項環境中所有的例項崩潰發生。在崩潰恢復中,例項必須首先開啟資料庫,然後執行恢復操作。
一般而言,在崩潰或關機退出之後第乙個開啟資料庫的例項將自動執行崩潰恢復。
介質恢復
介質恢復通常為響應介質故障並根據使用者的命令來執行恢復。
可以使用聯機或歸檔日誌來使還原的備份為最新或將其更新至乙個特定的時間點。
介質恢復可以將整個資料庫、乙個表空間乙個資料檔案還原至指定的時間點
可分為完全恢復或不完全恢復
完全恢復:使用歸檔、聯機日誌與資料庫、表空間或資料檔案等的備份結合使用以將其更新至最新的時間點。 步驟
a.將受損的資料檔案離線 b.
還原受損的資料檔案 c.
恢復受損的資料檔案 d.
將已恢復的資料檔案聯機
不完全恢復:使用歸檔、聯機日誌與資料庫、表空間或資料檔案等的備份結合使用以將其更新至過去的某個時間點或scn等 步驟
a.載入資料庫 b.
還原所有資料檔案,同時可以選擇還原控制檔案 c.
將資料庫恢復至某個時間點、序列、或系統改變號 d.
使用resetlogs關鍵字開啟資料庫
不完全恢復
不完全恢復選項
基於時間的恢復,也稱為時點恢復,將資料庫恢復到乙個指定的時間點
基於表空間時間點恢復,使使用者能夠將乙個或多個表空間恢復至與資料庫其餘的部分不同的某個時間點。
基於取消的恢復,它恢復到執行cancel命令為止。
基於更改的恢復或日誌序列恢復,如果使用了o/s命令,則基於更改的恢復將一直恢復到重做記錄中乙個指定的scn為止
從人為錯誤中閃回
使用閃回特性從人為的錯誤中恢復
恢復工具
使用rman來進行恢復
rman
可以從備份機或映像副本中將資料檔案還原至當前位置或新位置。當需要使用歸檔日誌時,rman將自動還原並應用歸檔日誌
rman
支援完全介質恢復、不完全介質恢復
rman
恢復的基本命令式restore和recover
使用sql*plus來進行恢復
確定要恢復哪些檔案。通常可以查詢檢視v$recover_file。
從備份中還原介質故障損壞的檔案.當使用者沒有備份時,可以使用必要的重做日誌且控制檔案包含損壞檔名稱時仍可以執行恢復。
如果無法將檔案還原至其原始位置,則使用者必須重新定位還原的檔案並將該新位置更新到控制檔案。
還原必要的存檔重做日誌檔案。
mysql 備份與恢復 MySQL 備份與恢復
1 檢視資料庫的資料儲存在哪個目錄下 shiyanlou mysql uroot e show variables like datadir variable name value datadir var lib mysql 2 備份資料的方法 select into outfile 檔名 或者 s...
mysql 備份與恢復 Mysql 備份與恢復
資料檔案一致性處理 在完全備份的情況下,檔案不是時間點一致的,因為進行快照的時間點不一樣。如果嘗 試在未prepare資料的情況下還原資料庫,雖然操作上支援恢復,但是在啟動的時候仍會 進行資料recovery。執行帶 prepare 選項的 mariabackup 命令會使資料檔案進行統一,達到資料...
的備份與恢復
隨著資訊時代和網際網路技術的飛速發展,企業的資訊資料量也急劇增長。如何避免突如其來的資料破壞 如 攻擊 病毒襲擊 故障和人為誤操作等 提高資料的性和資料恢復能力一直是使用者和廠商關注的焦點。備份是恢復資料最容易和最有效的保證方法,備份應定期進行,並執行有效的資料管理。microsoft公司的是乙個功...