我們在實際的應用中Oracle數據庫裡有三種標准的相關備份是我們經常使用到的。即導出與導入(EXPORT/IMPORT) 、冷備份、以及熱備份。導出備份是一種邏輯備份,這種方法包括讀取一系列的數據庫日志,並寫入文件中,這些日志的讀取與其所處位置無關。
冷備份和熱備份是物理備份(也稱低級備份),它涉及到組成數據庫的文件,但不考慮邏輯內容。
下面我們分別介紹一下這三種Oracle備份方法及其特點:
(一)、導出/導入(EXPORT/IMPORT)
EXPORT/IMPORT是用來將Oracle中數據移出/移入數據庫。
1、EXPORT將數據庫中數據備份成一個二進制系統文件稱為“導出轉儲文件”(EXPORT DUMP FILE),並將重新生成數據庫寫入文件中。
它有三種模式:
a.用戶模式:導出用戶所有對象以及對象中的數據;
b.表模式:導出用戶所有表或者指定的表;
c.整個數據庫:導出數據庫中所有對象。
它的備份有三種類型:
a.完全型(COMPLETE EXPORT):備份整個數據庫;
b.積累型(COMULATIVE ERPORT):備份上一次積累型備份所改變的數據;
c.增量型(INCREAMENTAL EXPORT):備份上一次備份後改變的數據。
EXPORT 的命令可以交互式進行,各參數的具體含義見附錄。
在進行導出Oracle備份時我們要考慮一點問題,那就是導出的一致性,在導出過程 中導出每讀一次就讀取一個表,因而盡管導出是在一個特點時自己開始的,但不同的表讀取的時間不同,因此,導出開始讀一個表時,此時表中的數據才是導出的數據。
這樣當大多數表按內部關鍵字和外部關鍵字相互聯系時,在導出過程中這些相關聯表的改變就會導致導出的不一致性,要避開這個,我們可以將導出過程安排在不對表操作的時候進行。另外,當Oracle中RESTRICTEP CONSISTENT 選項就可以保證導出數據一致性。
2、IMPORT導入:
導入的過程是導出的逆過程,這個命令先讀取導出來的導出轉儲二進制文件,並運行文件,恢復對象用戶和數據。
IMPORT命令執行的方法和EXPORT方案有關。
1、如果EXPORT所實施的是完全型方案(FULL)則在IMPORT時所有的數據對象,包括表空間,數據文件,用戶都會在導入時創建,但考慮到數據庫中的物理布局,預先創建表空間和用戶是有用的。
2、如果EXPORT使用的是INCREMENTAL/CUMULATIVE方式,則需要預先設置好表空間、用戶、數據文件。