IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當(dāng)前所在位置: 首頁數(shù)據(jù)庫Oracle → Oracle--實戰(zhàn)RMAN備份

Oracle--實戰(zhàn)RMAN備份

時間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(5)

  通過前面的若干示例,我們已經(jīng)了解并嘗試了RMAN備份的一些命令,但是在實際環(huán)境中,不可能每次備份都要求DBA一條命令一條命令來敲(DBA手指頭都痙攣啦,老板看著更是肉疼,早知道就是打幾個字母,雇個打字的,成本不是更低么),通過前面章節(jié)的學(xué)習(xí)我們立志一定要優(yōu)化的干活,所以我們應(yīng)該寫好一段腳本,然后放在服務(wù)器端定時執(zhí)行。DBA只需要定期看看腳本執(zhí)行的結(jié)果就成了。

  在真正寫腳本之前,先明確一下我們的目標(biāo):

  每天夜間1點執(zhí)行。

  數(shù)據(jù)庫全備,同時備份控制文件及歸檔日志文件,備份文件保存至F:\oracle\backup\目錄下,并在完成歸檔日志文件備份后,自動刪除已備份的歸檔日志。

  備份保留14天,過期則自動刪除。

  保留操作日志備查。

  以Windows環(huán)境為例(Linux/U NIX 環(huán)境下與此基本類似,對于RMAN的腳本,甚至連改都不用改,就把調(diào)用RMAN腳本的命令行以及備份集保存路徑改改就行了!

  8.6.1 編寫 RMAN 批處理文件

  編寫RMAN批處理文件:

  RUN {

  CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 14 DAYS;

  CONFIGURE CONTROLFILE AUTOBACKUP ON;

  CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO? ' F:\ORACLE\BACKUP\%F ' ;

  ALLOCATE CHANNEL C1 DEVICE TYPE DISK FORMAT? ' F:\ORACLE\BACKUP\BAK_%U ' ;

  BACKUP DATABASE SKIP INACCESSIBLE

  PLUS ARCHIVELOG FILESPERSET 20

  DELETE ALL INPUT;

  RELEASE CHANNEL C1;

  }

  ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE DISK;

  CROSSCHECK BACKUPSET;

  DELETE NOPROMPT OBSOLETE;

  保存至F: \oracle\script\backup\db_fullbak_jssbook.rman 。

  提示:

  前幾行中的CONFIGURE命令也可以放到批處理腳本之外執(zhí)行,只需要執(zhí)行一次即可,因為所有的CONFIGURE配置都將存入目標(biāo)端數(shù)據(jù)庫的控制文件,只要無人改過就一直有效。

  上述的各項命令均在前面幾個章節(jié)中提到過,如果有看著眼生的話,再回去翻看前面的內(nèi)容。命令是都知曉,可能有幾個參數(shù)會不明白其意義。

  比如:BACKUP命令中的SKIP INACCESSIBLE參數(shù),大家別著急,靜心等候俺的外……外外……外外外……(大鍋,看個筆記而已,您不用拎著把菜刀到處晃吧,你你你,你別過來,我說還不成嘛), en ,看到大家如此虔誠,俺就提前透露這部分內(nèi)容吧。

#p#副標(biāo)題#e#

 ?。?)BACKUP SKIP參數(shù)。

  SKIP INACCESSIBLE :表示跳過不可讀的文件。我們知道一些 OFFLINE 狀態(tài)的數(shù)據(jù)文件只要存在于磁盤上就仍然可能被讀取,但是可能有些文件已經(jīng)被刪除或移到它處而不可讀,加上這個參數(shù)就會跳過這些文件。

  SKIP OFFLINE :表示跳過 OFFLINE 的數(shù)據(jù)文件;

  SKIP READONLY :表示跳過那些所在表空間為 READ?? ONLY 的數(shù)據(jù)文件。

  (2)FILESPERSET參數(shù)。

  該參數(shù)用來設(shè)置一個備份集中最多能夠包含的文件。本例中是出現(xiàn)在備份歸檔的子句中,因此用來限制每個歸檔備份集中最多只能包括20個歸檔文件,如果有超過20個歸檔文件需要備份的話,那么在執(zhí)行備份時會創(chuàng)建多個歸檔文件的備份集。

  使用BACKUP命令備份其他類型的文件(除了備份集),也支持FILESPERSET參數(shù),作用是相同的。

  (3)ALLOCATE CHANNEL FOR MAINTENANCE命令。

  這個命令乍看與ALLOCATE CHANNEL非常相似,再看還是相似,其實也確實是相似(俺是說相似,沒說相同),ALLOCATE CHANNEL FOR MAINTENANCE命令也是用來分配通道的,但分配的通道專用于CHANGE、DELETE、CROSSCHECK命令,并且也不需要(而且也不能)包含在RUN塊中。

  默認(rèn)配置下CONFIGURE已經(jīng)分配了一個指定 DISK 的通道,因此也可以不需要執(zhí)行ALLOCATE CHANNEL FOR MAINTENANCE命令,另外Oracle也建議通過CONFIGURE分配通道,來替代使用該命令維護管理用的專用通道,這可能會增強備份腳本的復(fù)雜度。

  提示:

  如果你試過從網(wǎng)上搜索RMAN備份腳本,可能有些腳本中會出現(xiàn)一行"sql 'alter system archive log current';",這句是讓 ARCHIVELOG 日志歸檔,實際上完全沒必要,我們在前面的內(nèi)容中講過,通過 PLUS ARCHIVELOG 方式備份時, RMAN 會自動對當(dāng)前的 ARCHIVELOG 進行歸檔。

  8.6.2 編寫命令執(zhí)行批處理

  設(shè)定要備份的數(shù)據(jù)庫SID為 jssbook ,將日志按照日期輸出到F:\ oracle\script\backup\logs \ 目錄。

  SET ORACLE_SID=jssbook

  RMAN TARGET/LOG F:\ORACLE\SCRIPT\BACKUP\LOGS\BAK_%DATE: ~ 0,10%.LOG CMDFILE= F:\ORACLE\SCRIPT\BACKUP\ DB_FULLBAK_JSSBOOK.RMAN

  將上述內(nèi)容保存至F:\ oracle\script\backup\db_fullbak_jssbook.bat 。

  8.6.3 設(shè)定執(zhí)行計劃

  利用"控制面板"中的"任務(wù)計劃"中的"添加任務(wù)計劃"圖標(biāo)添加計劃,運行F:\ oracle\script\backup\db_fullbak_jssbook.bat ,設(shè)定日程安排中的時間為指定中的時間。

  竣工!

  說是實戰(zhàn),實際上演練的味道依然濃厚,誰讓咱這是在測試呢。上述腳本已初具雛形,當(dāng)然還應(yīng)該再增加一些更合理的配置,比如根據(jù)您的數(shù)據(jù)庫大小,適當(dāng)調(diào)整通道數(shù)量,以及加上日期的判斷,根據(jù)時間進行增量備份。

  對于小型數(shù)據(jù)庫(不超100GB)的備份相對來說還是很簡單的,甚至每次備份都是完全備份也可以接受,因此在備份策略上能夠非常靈活,或者說隨意。對于那些數(shù)百G甚至過T的數(shù)據(jù)庫,我想就需要花些心思來考慮備份策略的問題了。

  對于超大型數(shù)據(jù)庫的備份,基本上就沒有什么固定套路,畢竟系統(tǒng)環(huán)境、存儲設(shè)備及應(yīng)用的特點都是不同的,不過有一點我想毋庸置疑:備份的目的是為了更好的恢復(fù),因此做好備份與恢復(fù)之間開銷的平衡應(yīng)該是所有備份策略的終極目標(biāo)。

  備份終于完了。不過別松氣,這僅僅只是開始,加油!

關(guān)鍵詞標(biāo)簽:Oracle RMAN備份

相關(guān)閱讀

文章評論
發(fā)表評論

熱門文章 Oracle中使用alter table來增加,刪除,修改列的語法 Oracle中使用alter table來增加,刪除,修改列的語法 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 誤刪Oracle數(shù)據(jù)庫實例的控制文件 誤刪Oracle數(shù)據(jù)庫實例的控制文件 為UNIX服務(wù)器設(shè)置Oracle全文檢索 為UNIX服務(wù)器設(shè)置Oracle全文檢索

相關(guān)下載

    人氣排行 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 Oracle中使用alter table來增加,刪除,修改列的語法 ORACLE SQL 判斷字符串是否為數(shù)字的語句 ORACLE和SQL語法區(qū)別歸納(1) oracle grant 授權(quán)語句 ORACLE修改IP地址后如何能夠使用 如何加速Oracle大批量數(shù)據(jù)處理 Oracle刪除表的幾種方法