本文出自頭條號老王談運維,轉載請說明出處。
對于數據庫運維人員,數據的備份和恢復非常重要。數據的丟失往往會給企業帶來巨大的損失,因此在保證數據不丟失的情況來提升系統的性能是對DBA最基礎的要求。
上一篇文章小編總結了Oracle不同損壞級別的恢復,介紹了不同程度的數據庫損壞合適的數據恢復方式(地址:https://www.toutiao.com/i6701178106838778382/)。
今天主要講述 Oracle 基于 rman 在各級別下的備份,包括全備、增量備份、表空間、數據文件、控制文件、歸檔日志文件等,方便大家在工作中可以根據實際場景實際需求,選擇合適的備份方法及備份方式。
庫完全備份
1.1 使用場景
在 Oracle 數據庫的數據量不大的情況下。
1.2 采用備份集的方法
rman> run { allocate channel c1 device type disk; backup database FORMAT ’ /flash_recovery_area/backup_U%.backupset’ plus archivelog delete input; release channel c1; }
1.3 采用數據鏡像的備份方式
數據庫鏡像備份采用COPY命令,或BACKUP命令的AS COPY選項。例如在面面的備份示例中,進行了數據庫的鏡像完全備份:
rman>run { allocate channel c1 device type disk; backup as copy database plus archivelog delete input; release channel c1; }
增量備份
2.1 使用場景
Oracle 數據庫的數據量較大,如果每次都全備,會比較耗時,這時通常是采用增量備份,不過需要注意的是增量備份是以0級的全備為基礎的。例如:你可以周日進行一次全備,1-6進行增量備份。
2.2 使用方法
1)數據庫的0級備份
rman> run { allocate channel c1 device type disk; backup incremental level=0 database plus archivelog delete input; release channel c1; }
說明:數據庫的0級備份就是oracle的全備,但與普通的全備不同的是可以在0級備份基礎上進行增量備份,而普通的全備此沒有此功能。
2)數據庫的1級備份
rman> run { allocate channel c1 device type disk; backup incremental level=1 database plus archivelog delete input; release channel c1; }
3)增量累計備份 在增量備份中,若干次的同級、上級增量備份可以被合并,稱為增量的“累計”備份。下面的示例描述了進行增量累計備份的過程。所有0級備份后的1級備份被本次備份合并,備份基于磁盤進行,申請了兩個磁盤通道。同時備份歸檔日志,備份完成后即刪除:
rman>run { allocate channel c1 device c1 type disk; allocate channel c2 device c2 type disk; backup incremental level=1 Cumulative database plus archivelog delete input; release channel c1; release channel c2; }
備份數據文件
3.1使用場景
如果 Oracle 數據庫中只有一個或若干表空間的數據文件數據變化頻繁,則 Oracle 也支持僅對這些數據文件或對應的表空間進行備份。
3.2 使用方法
rman>run { allocate channel c1 device type disk; allocate channel c2 device type disk; backup datafile 4,5 filesperset=1 release channel c1; release channel c2; }
備份表空間
4.1 使用場景
? 使用場景同單獨備份數據文件
4.2 使用過程
rman>run { allocate channel c1 device type disk; allocate channel c2 device type disk; backup tablespace USERS FILESPERSET=1; release channel c1; release channel c2; }
通過下面的命令檢查表空間的備份結果:
rman>list backup of tablespace users;
備份控制文件
5.1 使用場景
數據庫的整體遷移,數據文件的目錄發生改變,此時需要單獨備份控制文件至跟蹤文件中。
5.2 使用過程
方法一: 將控制文件自動備份功能打開:
RMAN>CONFIGURE CONTROLFILE AUTOBACKUP on;
方法二:單獨地備份控制文件
RMAN>BACKUP CURRENT CONTROLFILE;
方法三:備份其他數據庫文件時附帶備份控制文件
RMAN>BACKUP DATABASE INCLUDE CURRENT CONTROLFILE;
檢查備份結果
RMAN>list backup of controlfile;
備份歸檔日志
6.1 使用場景
備份數據庫的時候沒有備份歸檔日志文件,此時就需要對歸檔日志文件進行單獨備份。
6.2 使用方法
1)查看系統歸檔日志信息
RMAN>list archivelog all;
2)備份所有歸檔
RMAN>backup archivelog all delete all input format '.......';
但是,在一般情況下,數據庫備份計劃一般通過在BACKUP DATABASE中指定PLUS ARCHIVELOG選項來直接進行歸檔文件的備份,備份期間,RMAN對當前聯機重做日志文件進行歸檔,然后對當前未備份歸檔日志進行備份。這樣,這個備份集將盡可能地包含了可用于恢復的素材,將數據庫恢復到一個一致性的狀態。
RMAN>run { alllocate channel c1 device type disk; allocate channel c2 device type disk; backup incremental level=0 database plus archivelog delete input; release channel c1; release channel c2; }
網站崩潰找不到原因?平臺搭建無從下手?熱門技術不想落伍?想要變強找不到資料?
加入[IT拯救聯盟],讓大牛和同伴拯救你,帶你裝x帶你飛。定期干貨分享、大牛專業解答、實用IT工具優選.....
私信小編“聯盟”,即可加入我們~