數據庫恢復是指在數據庫發生故障時,使用數據庫備份還原數據庫,使數據庫恢復到無端障狀態。
數據庫
根據數據庫恢復時使用的備份不一樣,恢復分爲物理恢復和邏輯恢復。所謂的物理恢復就是,利用物理備份來恢復數據庫,即利用物理備份文件恢復損毀文件,是在操做系統級別上進行的。邏輯恢復是指利用邏輯備份的二進制文件,使用Oracle提供的導入工具(如Impdp,Import)將部分或所有信息從新導入數據庫,恢復損毀或丟失的數據。工具
以前講了邏輯備份與恢復,這裏主要講一下冷備份與恢復。spa
這是針對Oracle 12c 的數據備份與恢復,在Oracle的其它版本可能有細微的不一樣,不過原理都是同樣的。操作系統
關閉數據庫(SHUTDOWN IMMEDIATE)日誌
進入SQL Plus,打入指令:shoutdown immediateorm
系統提示數據庫已經關閉則證實關閉成功。ci
將全部數據文件、控制文件、聯機重作日誌文件拷貝到另外一目錄保存it
這一步很重要,也很容易出錯,若是出錯了,整個數據庫都沒有辦法正常啓動,因此必定要保證全部的原數據都拷貝了。ast
這裏須要注意的是必需將數據庫裏全部的數據文件、控制文件、聯機重作日誌文件拷貝到另外一目錄保存,若是遺漏任何一個文件,恢復的時候都會遇到錯誤,且是致命,它將會使數據庫沒法打開,沒法繼續任何操做。Oracle的數據文件、控制文件、聯機重作日誌文件通常存放在 oradata目錄下面,但也有一些控制文件和日誌文件是存放在fast_recovery_arae目錄下面,因此這裏我同時拷貝了這兩個文件。若是還有數據文件、控制文件、聯機重作日誌文件存放在別的地方,也應該一塊兒拷貝。原理
下面是在個人計算機裏的例子:
從新啓動數據庫(STARTUP)
進入SQL Plus,打入指令:startup
進行數據庫更新操做
這裏刪除student表裏三條數據,插入一條數據,併成功提交。
關閉數據庫(SHUTDOWN IMMEDIATE)
重複上面1的操做。
6. 將以前保存的全部數據文件、控制文件、聯機重作日誌文件拷貝到原來位置,覆蓋原來的文件。
因爲要拷貝的文件很大,大概5G,爲了提升速度,我這裏將備份的文件拷貝到同一目錄下,並將其更名,使同一時間只有一個可用的正確的文件,這樣就達到了備份的效果。當須要恢復備份的時候,只需將備份文件改回原來的文件名便可。
7. 從新啓動數據庫(STARTUP)
8.查詢數據,看看更新後的數據是否存在
恢復以前的備份後,備份後的更新數據都不存在,數據庫的數據,存儲過程和觸發器仍是備份時的數據,備 份後的更新操做都不起做用。
到此,數據庫的冷備份與恢復結束。