Decode360's Blog

          業(yè)精于勤而荒于嬉 QQ:150355677 MSN:decode360@hotmail.com

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 ::  :: 管理 ::
            397 隨筆 :: 33 文章 :: 29 評論 :: 0 Trackbacks
          RMAN學(xué)習(xí)筆記06——知識點
          ?
          ?
          ??? 還有一些RMAN的細(xì)節(jié)知識點需要學(xué)習(xí)一下,可以更好得了解RMAN備份的特性和工作機制??匆幌逻@些內(nèi)容是很有必要的。另外在RMAN學(xué)習(xí)的最后一篇,摘錄了一個使用RMAN備份的實例,包括了簡單的備份策略。具體如下:
          ?
          ?
          一、FORMAT字符串的含義
          ?
          %c:備份片的拷貝數(shù)(從1開始編號);
          %d:數(shù)據(jù)庫名稱;
          %D:位于該月中的天數(shù) (DD);
          %M:位于該年中的月份 (MM);
          %F:一個基于DBID唯一的名稱。格式為c-IIIIIIIIII-YYYYMMDD-QQ,其中IIIIIIIIII為該數(shù)據(jù)庫的DBID,YYYYMMDD為日期,QQ是一個1-256的序列;
          %n:數(shù)據(jù)庫名稱,并且會在右側(cè)用x字符進行填充,使其保持長度為8;
          %u:是一個由備份集編號和建立時間壓縮后組成的8字符名稱。利用%u可以為每個備份集生成一個唯一的名稱;
          %p:表示備份集中備份片段的編號,從1 開始編號;
          %U:是%u_%p_%c的簡寫形式,利用它可以為每一個備份片段(即磁盤文件)生成一個唯一名稱,這是最常用的命名方式;
          %s:備份集的號;
          %t:備份集時間戳;
          %T:年月日格式(YYYYMMDD);
          ?
          注:注意區(qū)分大小寫;若不特別指定,則默認(rèn)使用%U。
          ?
          ?
          二、冗余備份

          ?
          ??? RMAN提供了一種更謹(jǐn)慎的備份策略:Duplexed方式備份,其實質(zhì)即是在生成備份集的同時,向指定位置生成指定份數(shù)(最大不超過4份)的備份集復(fù)制,以避免在災(zāi)難性事故時數(shù)據(jù)庫損壞和備份丟失的情況下導(dǎo)致完全崩潰,提高備份可用性。
          ?
          ??? RMAN中提供了三種方式實現(xiàn)Duplexed方式備份:
          ?
          ??? 1、在RMAN中執(zhí)行BACKUP命令時顯式指定COPIES參數(shù)
          ??? RMAN> BACKUP COPIES 3 DATABASE;
          ??? 上述命令將會在全庫備份的同時,自動生成當(dāng)前備份集的2份拷貝到默認(rèn)備份目錄。
          ?
          ??? 2、在RUN{}命令塊中利用SET BACKUP COPIES命令為該命令塊中所有的BACKUP命令設(shè)置Duplexed方式
          ?
          ??? RMAN> RUN{
          ?????? 2> SET BACKUP COPIES 2;
          ?????? 3> BACKUP DEVICE TYPE DISK FORMAT 'D:\BACKUP1\%U','D:\BACKUP2\%U'
          ?????? 4> TABLESPACE USERS,SALES;
          ?????? 5> }
          ??? 上述命令將生成兩份備份集,分別存儲到d:\backup1和d:\backup2目錄。
          ?
          ??? 3、通過CONFIGURE ..... BACKUP COPIES命令設(shè)置預(yù)定義的備份Duplexed方式
          ?
          ??? CONFIGURE ... BACKUP COPIES命令可以為指定的設(shè)備類型設(shè)置默認(rèn)的備份拷貝數(shù)量。這個配置僅適用于數(shù)據(jù)文件與歸檔重做日志文件和備份,并且,只有在使用自動分配的通道時才能夠使用CONFIGURE ... BACKUP COPIES命令設(shè)置的配置。例如:
          ??? RMAN> CONFIGURE DEFAULT DEVICE TYPE TO DISK;
          ??? RMAN> CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE disk TO 2;
          ??? RMAN> CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE disk TO 2;
          ??? 上述命令將disk設(shè)置上數(shù)據(jù)文件與歸檔文件的拷備數(shù)量設(shè)置為2,當(dāng)再執(zhí)行BACKUP DATABASE備份時,即會自動生成2份數(shù)據(jù)文件的備份集。
          ?
          ?
          三、RMAN備份相關(guān)的動態(tài)性能表
          ?
          V$ARCHIVED_LOG:
          ??? 本視圖包含了所有歸檔重做日志文件的創(chuàng)建情況,備份情況以及其他信息。
          V$BACKUP_CORRUPTION:
          ??? 這個視圖顯示了RMAN在哪些備份集中發(fā)現(xiàn)了損壞的數(shù)據(jù)壞。在你使用BACKUP VALIDATE命令對備份集進行檢查時如果發(fā)現(xiàn)了損壞的數(shù)據(jù)塊,RMAN將在這個視圖中寫入記錄。
          V$COPY_CORRUPTIO:
          ??? 本視圖顯示了哪些鏡像復(fù)制備份文件已經(jīng)被損壞。
          V$BACKUP_DATAFILE:
          ??? 本視圖通常用來獲取每個數(shù)據(jù)文件中非空白數(shù)據(jù)塊的數(shù)量,從而幫助你創(chuàng)建出大小基本相等的備份集。另外,在視圖中也包含了數(shù)據(jù)文件中損壞的數(shù)據(jù)塊的信息。
          V$BACKUP_REDOLOG:
          ??? 本視圖顯示了在現(xiàn)有的備份集中有哪些歸檔重做日志文件。
          V$BACKUP_SET:
          ??? 本視圖顯示了已經(jīng)創(chuàng)建的備份集的信息。
          V$BACKUP_PIECE:
          ??? 本視圖顯示了已經(jīng)創(chuàng)建的備份片段的信息。
          ?
          ?
          四、增量備份的工作機制:
          ?
          ??? RMAN中增量備份有兩種:Differential方式和Cumulative方式。通過level來判斷備份策略:
          ?
          ??? Differential:
          ??? Differential
          ?
          ??? Cumulative:
          ??? Cumulative
          ?
          ?
          五、RMAN備份類型:
          ?
          完全備份(Full Backup)與增量備份(Incremental Backup)

          ??? 全備與增備是針對數(shù)據(jù)文件而言,控制文件和歸檔日志文件不能進行增量備份。當(dāng)然,后兩者可以做備份優(yōu)化。
          ?
          打開備份(Open Backup)或關(guān)閉備份(Closed Backup)

          ??? 數(shù)據(jù)庫打開狀態(tài)下進行備份即是打開備份,數(shù)據(jù)庫關(guān)閉狀態(tài)下(加載狀態(tài))進行的備份即關(guān)閉備份。
          ?
          一致備份(Consistent Backup)與不一致備份(Inconsistent Backup)

          ??? 數(shù)據(jù)庫打開狀態(tài)或不干凈關(guān)閉狀態(tài)(shutdown abort)進行的備份是不一致備份,利用不一致的備份修復(fù)數(shù)據(jù)庫后還需要做數(shù)據(jù)庫的恢復(fù)。在數(shù)據(jù)庫干凈關(guān)閉狀態(tài)進行的備份是一致備份,利用一致備份修復(fù)數(shù)據(jù)庫后不需要做數(shù)據(jù)庫的恢復(fù)。
          ?
          ?
          ?
          六、備份示例:
          ?

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

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

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

          3 、備份保留 7 天,過期則自動刪除;

          4 、保留操作日志備查;

          ?

          Windows 環(huán)境為例 (linux 環(huán)境下與此基本類似, rman 的腳本您甚至連改都不用改,就把調(diào)用 rman 腳本的命令行改改就行了 )

          ?

          1 、編寫 rman 批處理文件

          ?

          保存至: E:\oracleScript\backup\database_backup_jssweb.rman

          RUN {

          ?CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;

          ?CONFIGURE CONTROLFILE AUTOBACKUP ON;

          ?CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO 'd:/backup/%F';

          ?ALLOCATE CHANNEL CH1 DEVICE TYPE DISK FORMAT 'd:/backup/%U';

          ?BACKUP DATABASE SKIP INACCESSIBLE FILESPERSET 10

          ? ? PLUS ARCHIVELOG FILESPERSET 20

          ? ? DELETE ALL INPUT;

          ?RELEASE CHANNEL CH1;

          ?}

          ?ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE DISK;

          ?CROSSCHECK BACKUPSET;

          ?DELETE NOPROMPT OBSOLETE;

          ?

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

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

          SKIP READONLY :跳過那些所在表空間為 read-only 的數(shù)據(jù)文件;

          ?

          注意喲,你從網(wǎng)上搜索 rman 備份腳本,可能有些腳本中會出現(xiàn)一項: sql 'alter system archive log current'; 這句是讓 archivelog 日志歸檔,實際上完全沒必要,我們在第三節(jié)的時候講過,通過 plus archivelog 方式備份時, rman 會自動對當(dāng)前的 archivelog 進行歸檔。

          ?

          2 、編寫 dos 批處理

          ?

          保存至: E:\oracleScript\backup\database_backup_jssweb.bat

          設(shè)定要備份的數(shù)據(jù)庫 sid jssweb ,將日志按照日期輸出到 E:\oracleScript\backup\logs\ 目錄。

          ?

          set oracle_sid=jssweb

          rman target / msglog E:\oracleScript\backup\logs\%date:~0,10%.log cmdfile=E:\oracleScript\backup\database_backup_jssweb.rman

          ?

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

          ?

          控制面板 -> 任務(wù)計劃中添加計劃,運行 E:\oracleScript\backup\database_backup_jssweb.bat ,設(shè)定日程安排中的時間。

          竣工!

          ?
          ?
          ?
          posted on 2008-09-16 21:38 decode360 閱讀(305) 評論(0)  編輯  收藏 所屬分類: 09.Recover

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 辽宁省| 延吉市| 金寨县| 阿图什市| 卢氏县| 普陀区| 永德县| 平度市| 南宫市| 昭通市| 深泽县| 团风县| 阿克苏市| 鄂伦春自治旗| 阿合奇县| 体育| 固安县| 杭州市| 花垣县| 株洲市| 红原县| 永兴县| 三穗县| 台前县| 额济纳旗| 锡林郭勒盟| 塔河县| 天津市| 晋州市| 涪陵区| 嵊州市| 开鲁县| 湾仔区| 岳池县| 齐齐哈尔市| 吉林市| 榕江县| 牙克石市| 辰溪县| 酒泉市| 搜索|