這篇文章為大家帶來了關於Oracle的相關知識,其中主要整理了備份與復原的相關問題,包括了一些關於資料保護、Oracle備份技術比較等等內容,下面一起來看一下,希望對大家有幫助。
推薦教學:《Oracle影片教學》
備份是可以用來重建資料的資料庫的資料拷貝。備份可以是實體備份或邏輯備份。
實體備份是用來儲存和還原資料庫的實體檔案的拷貝。這些文件包括資料文件,控製文件,和歸檔redo日誌。最重要地,每個實體備份是儲存資料庫資訊到另一個位置的檔案拷貝,不管是位於磁碟或離線的儲存媒體如磁帶。
邏輯備份包含邏輯資料例如表格和預存程序。可以使用Oracle Data Pump來匯入邏輯資料到二進位文件,可以在後來匯入到資料庫。 Data Pump命令列客戶端expdp和impdp使用DBMS_DATAPUMP和DBMS_METADATA PL/SQL套件。
實體備份是任何可靠的備份和復原策略的基礎。邏輯備份在許多情況下是實體備份有用的補充,但如果沒有實體備份的話,對資料遺失不能提供足夠的保護。
除了以其他方式特別說明,在備份和還原文件中的術語備份指的是實體備份。備份一個資料庫是做一個實體備份的動作。在備份和恢復文件中的重點幾乎只是實體備份。
文件的大部分是集中在基於RMAN(Recovery Manager)的備份和還原。最值得注意的是以下方面:
1)增量備份
增量備份只儲存自前一個備份以來更改過的資料塊。因此,它們提供更緊湊的備份和更快的恢復,因此在資料檔案媒體恢復過程中降低應用redo的需求。如果啟用區塊更改跟踪,那麼可以避免全面掃描每個輸入的資料文件,從而提高備份的效能。使用BACKUP INCREMENTAL來執行增量備份。
2)區塊媒體還原
可以修復只有少量的損壞資料區塊的資料檔案而不用將它離線或從備份還原它。使用RECOVER BLOCK來執行區塊媒體復原。
可以使用多種技術來建立Oracle資料庫的備份。以下比較RMAN(Recovery Manager),使用者管理的備份和資料泵(Data Pump)技術的特性。
Oracle閃回技術提供一系列特性來補充實體備份和復原策略。
Oracle閃回技術提供一個資料保護的附加層。確切地說,可以使用Oracle閃回的各種特性來查看過去的資料狀態和倒回資料庫而不需要還原備份或執行時間點復原。總之,閃回特性在它們可以應用的大部分情況下比介質恢復更有效率和更少引起中斷。
Oracle閃回技術讓你可以使用以下功能:
1) 邏輯閃回特性
2) 閃回資料庫
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表」章節講解如何使用這個特性。
閃回資料歸檔讓你使用一些邏輯閃回特性來存取過去很久的資料。閃回資料歸檔包含一個或多個表空間或表空間的部分內容。當你建立一個閃回資料歸檔時,可以指定名稱,保留時長和表空間。也可以指定一個預設的閃回資料歸檔。資料庫自動清除舊的超過保留期限的歷史資料。
可以為個別的表格開啟和關閉閃回歸檔。缺省情況下,閃回歸檔為每個表關閉。
閃回資料庫讓你可以復原資料庫到先前的一個時間點。
在物理層面,Oracle閃回資料庫提供一個相對於資料庫時間點復原(DBPITR,database point-in-time recovery)更有效率的資料保護選擇。如果目前資料檔案有不想要的更改,那麼可以使用RMAN命令FLASHBACK DATABASE來復原資料檔案到過去時間的內容。最終結果和DBPITR的結果非常類似,但一般會更快,因為它不需要從備份中還原資料檔案和比介質恢復需要更少的redo。
閃回資料庫使用閃回日誌來存取過去的資料區塊版本和歸檔redo日誌的某些資訊。閃回資料庫要求為資料庫配置一個快速復原區域,因為閃回日誌只能存放在那裡。閃回日誌缺省情況下沒有啟用。閃回日誌使用的空間由資料庫自動管理,與在快速復原區域的其它檔案要求的空間保持平衡。
Oracle資料庫連同閃回資料庫和備份與復原一起也支援還原點。還原點是相當於系統變更號碼(SCN,system change number)的別名。可以在任何時候建立一個還原點,如果預料需要返回部分或全部資料庫到那個時間裡的內容。一個保證的還原點確保可以使用閃回資料庫返回資料庫到還原點的時間。
推薦教學:《Oracle影片教學》
以上是詳細介紹Oracle備份與恢復的詳細內容。更多資訊請關注PHP中文網其他相關文章!