詳細介紹Oracle備份與恢復

本篇文章給大家帶來了關于oracle的相關知識,其中主要整理了備份與恢復的相關問題,包括了一些關于數據保護、oracle備份技術比較等等內容,下面一起來看一下,希望對大家有幫助。

詳細介紹Oracle備份與恢復

推薦教程:《oracle

1.關于數據保護

備份是可以用來重建數據的數據庫的數據拷貝。備份可以是物理備份或邏輯備份。

物理備份是用來存儲和恢復數據庫的物理文件的拷貝。這些文件包括數據文件,控制文件,和歸檔redo日志。最重要地,每個物理備份是存儲數據庫信息到另外一個位置的文件拷貝,不管是位于磁盤還是脫機的存儲介質如磁帶。

邏輯備份包含邏輯數據比如表和存儲過程。可以使用oracle Data Pump來導入邏輯數據到二進制文件,可以在后來導入到數據庫。Data Pump命令行客戶端expdp和impdp使用DBMS_DATAPUMP和DBMS_METADATA PL/sql包。

物理備份是任何可靠的備份和恢復策略的基礎。邏輯備份在很多情況下是物理備份有用的補充,但如果沒有物理備份的話,對數據丟失不能提供足夠的保護。

除了以其他方式特別說明,在備份和恢復文檔中的術語備份指的是物理備份。備份一個數據庫是做一個物理備份的動作。在備份和恢復文檔中的重點幾乎僅僅是物理備份。

文檔的大部分是集中在基于RMAN(Recovery Manager)的備份和恢復。最值得注意的是以下方面:
1)增量備份
增量備份只存儲自前一個備份以來更改過的數據塊。因此,它們提供更緊湊的備份和更快的恢復,因此在數據文件介質恢復過程中降低應用redo的需求。如果啟用塊更改跟蹤,那么可以避免全面掃描每個輸入的數據文件,從而提高備份的性能。使用BACKUP INCREMENTAL來執行增量備份。

2)塊介質恢復
可以修復只有少量的損壞數據塊的數據文件而不用將它脫機或從備份還原它。使用RECOVER BLOCK來執行塊介質恢復。

2. Oracle備份技術比較

可以使用多種技術來創建Oracle數據庫的備份。下面比較RMAN(Recovery Manager),用戶管理的備份和數據泵(Data Pump)技術的特性。
詳細介紹Oracle備份與恢復

3. Oracle閃回技術

Oracle閃回技術提供一系列特性來補充物理備份和恢復策略。

Oracle閃回技術提供一個數據保護的附加層。確切地說,可以使用Oracle閃回的各種特性來查看過去的數據狀態和倒回數據庫而不需要還原備份或執行時間點恢復。總之,閃回特性在它們可以應用的大部分情形下比介質恢復更高效和更少引起中斷。

Oracle閃回技術讓你可以使用以下功能:
1) 邏輯閃回特性
2) 閃回數據庫

3.1. 邏輯閃回特性

Oracle數據庫邏輯層閃回特性不依賴于RMAN,不管RMAN是否是備份策略的一部分,閃回都是可用的。

大部Oracle的閃回特性在邏輯層操作,讓你可以查看和操作數據庫對象。除了Oracle Flashback Drop,這個邏輯閃回特性依賴于undo數據,它們是每次數據庫更新作用的記錄和更新操作中被覆蓋的值。

Oracle數據庫包括以下邏輯閃回特性:
1)Oracle閃回查詢
可以指定一個目標時間和對數據庫運行查詢,查看出現在目標時間的結果。為了從一個不想要的更改比如對表進行的一個更新,可以選擇一個在錯誤之前的目標時間,運行查詢來找回丟失行的內容。《Oracle database Development Guide》講解了如何使用這個特性。

2)Oracle閃回版本查詢
可以查看一個指定的時間間隔里在一個或多個表存在的所有行的所有版本。也可以檢索關于行的不同版本的元數據,包括起始和結束時間,操作,和創建版本的事務的ID。可以使用這個特性來恢復丟失的數據值和審計對查詢的表的更改。《Oracle Database Development Guide》講解了如何使用這個特性。

3)Oracle閃回事務查詢
可以查看由一個單一的事務所做的更改,或在一個指定時間段由所有事務所做的更改。《Oracle Database Development Guide》講解了如何使用這個特性。

4)Oracle閃回事務
可以撤銷一個事務。Oracle數據庫確定事務之間的依賴性,實際上創建一個抵銷事務來撤消不想要的更改。數據庫倒回到一個狀態,如同事務和任何依賴它的事務從未發生過。《Oracle Database Development Guide》講解了如何使用這個特性。

5)Oracle閃回表
可以恢復表或一組表到指定的早些的時間點而不需要將任何一部分數據庫脫機。在很多情況下,閃回表消除了執行更多復雜的時間點恢復操作的需要。閃回表還原表的同時自動維護關聯的屬性例如當前索引,觸發器和約束,在這種方式中讓你避免尋找和還原數據庫特定的屬性。“使用閃回表倒回表”章節講解了如何使用這個特性。

6) Oracle Flashback Drop
可以撤消DROP table語句的效果。“使用Flash Drop倒回一個DROP表”章節講解了如何使用這個特性。

閃回數據歸檔讓你使用一些邏輯閃回特性來訪問過去很久的數據。閃回數據歸檔包含一個或多個表空間或表空間的部分內容。當你創建一個閃回數據歸檔時,可以指定名稱,保留時長和表空間。也可以指定一個缺省的閃回數據歸檔。數據庫自動清除舊的超過保留期限的歷史數據。

可以為個別的表打開和關閉閃回歸檔。缺省情況下,閃回歸檔為每個表關閉。

3.2. 閃回數據庫

閃回數據庫讓你可以復原數據庫到以前的一個時間點。

在物理層面,Oracle閃回數據庫提供一個相對于數據庫時間點恢復(DBPITR,database point-in-time recovery)更高效的數據保護選擇。如果當前數據文件有不想要的更改,那么可以使用RMAN命令FLASHBACK DATABASE來復原數據文件到過去時間的內容。最終結果和DBPITR的結果非常類似,但一般會更快,因為它不需要從備份中還原數據文件和比介質恢復需要更少的redo。

閃回數據庫使用閃回日志來訪問過去的數據塊版本和歸檔redo日志的某些信息。閃回數據庫要求為數據庫配置一個快速恢復區域,因為閃回日志只能存放在那里。閃回日志缺省情況下沒有啟用。閃回日志使用的空間由數據庫自動管理,與在快速恢復區域的其它文件要求的空間保持平衡。

Oracle數據庫連同閃回數據庫和備份與恢復一起也支持還原點。還原點是一個相當于系統更改號(SCN,system change number)的別名。可以在任何時候創建一個還原點,如果預料需要返回部分或全部數據庫到那個時間里的內容。一個保證的還原點確保可以使用閃回數據庫返回數據庫到還原點的時間。

推薦教程:《oracle

? 版權聲明
THE END
喜歡就支持一下吧
點贊6 分享