Oracle備份有很多種的方法,下面為您介紹的是通過使用RMAN(備份與恢復管理器)實現 Oracle數據庫的備份的方法,該方法供您參考,希望對您有所幫助。
i.使用RMAN進行備份
Recovery manager(RMAN)是ORACLE提供的DBA工具,用語管理備份和恢復操作。RMAN只能用於Oracle8或更高的版本中。它能夠備份整個數據庫或數據庫部件,其中包括表空間、數據文件,控制文件和歸檔文件。RMAN可以按要求存取和執行備份和恢復。
RMAN備份有如下優點
☆支持在線熱備份
☆支持多級增量備份
☆支持並行備份、恢復
☆減少所需要備份量
☆備份、恢復使用簡單
重要的是,使用恢復管理器允許您進行增量數據塊級的Oracle備份(這個與導出/導入的增量截然不同)。增量RMAN備份是時間和空間有效的,因為他們只備份自上次備份以來有變化的那些數據塊。另一個空間有效的RMAN特性是它只備份數據文件中使用的數據塊,忽略空的,未用的數據塊,這個對於預分配空間的表空間有很大的好處。從9i開始,還增加了RMAN的數據塊級別的恢復,可以進一步減少數據庫恢復時間。
RMAN支持以下不同類型的備份
FULL 數據庫全備份,包括所有的數據塊
INCREMENTAL 增量備份,只備份自上次增量備份以來修改過的數據塊。需要一個0級的增量作為增量的基礎,可以支持5級增量。
OPEN 在數據庫打開的時候使用
CLOSED 在數據庫安裝(MOUNT)但不打開的時候備份,關閉備份可以是CONSISTENT或IN CONSISTENT類型的。
CONSISTENT 在數據庫安裝,單不打開,並且在安裝之前數據庫被徹底關閉(而不是被破壞或異常退出)時使用。CONSISTENT備份可以簡單的進行復原(RESTORE)而不是恢復(RECOVER)
INCONSISTENT 在數據庫打開或安裝(但不打開)時使用。在該數據庫正常關閉或崩潰後, INCONSISTENT備份需要恢復。
理解BACKUP,RESTORE,RECOVER命令,這是RMAN最基本的三個命令,可以進行數據庫的備份,復原以及恢復操作。理解恢復目錄,RMAN可以在沒有恢復目錄(NOCATALOG)下運行,這個時候備份信息保存在控制文件。保存在控制文件的備份信息是很危險的,如果控制文件的破壞將導致備份信息的丟失與恢復的失敗,而且,沒有恢復目錄,很多RMAN的命令將不被支持。所以對於重要的數據庫,建議創建恢復目錄,恢復目錄也是一個數據庫,只不過這個數據庫用來保存備份信息,一個恢復目錄可以用來備份多個數據庫。
創建RMAN目錄,以下步驟說明了在一個數據庫中盡力RMAN目錄的過程。
a.為目錄創建一個單獨的表空間SQL>Create tablespace tools datafile ‘fIElname’ size 50m;
b.創建RMAN用戶SQL>Create user RMAN identifIEd by RMAN default tablespace tools temporary tablespace temp;
c.給RMAN授予權限SQL>Grant connect , resource , recovery_catalog_owner to rman;
d.打開RMAN $>RMAN
e.連接數據庫RMAN>connect catalog rman/rman
f.創建恢復目錄RMAN>Create catalog tablespace rman
注冊目標數據庫,恢復目錄創建成功後,就可以注冊目標數據庫了,目標數據庫就是需要備份的數據庫,一個恢復目錄可以注冊多個目標數據庫,注冊目標數據庫的命令為:$>RMAN target internal/passWord catalog rman/rman@rcdb; RMAN>Register database; 數據庫注冊完成,就可以用RMAN來進行Oracle備份了,更多命令請參考ORACLE聯機手冊或《Oracle8i備份與恢復手冊》。
RMAN使用腳本來備份數據庫,以下是RMAN進行備份的幾個例子。
a.備份整個數據庫 backup full tag ‘basicdb’ format ‘/bak/oradata/full_%u_%s_%p’ database;
b.備份一個表空間 backup tag ‘tsuser’ format ‘/bak/oradata/tsuser_%u_%s_%p’ tablespace users;
c.備份歸檔日志 backup tag ‘alog’ format ‘/bak/archivebak/arcbak_%u_%s_%p’ archivelog all delete input;
ii.維護RMAN
RMAN的維護主要分為幾個方面
1、查看RMAN的信息
檢查現有備份
RMAN>list backup
列出過期備份
RMAN>report obsolete
刪除過期的備份
RMAN>allocate channel for maintenance type disk;
RMAN>change backupset id delete;
RMAN>release channel;
2、同步或重置RMAN 如果目標數據庫物理對象發生了變化,如添加了一個數據文件,需要用如下命令同步: RMAN>resync catalog; 如果目標數據庫reset了數據庫,需要用如下命令同步RMAN>reset database; 當手工刪除了數據庫的歸檔文件後,要執行以下腳本同步RMAN>allocate channel for maintenance type disk;
RMAN> change archivelog all crosscheck; RMAN>release channel; 當手工刪除了數據庫的RMAN備份後,要執行以下腳本來同步 RMAN>allocate channel for maintenance type disk; RMAN>crosscheck backup; RMAN>delete expired backup;