1、FORMAT字符串替代變量數據庫
使用FORMAT參數時可以使用的各類替換變量,以下:安全
%c :備份片的拷貝數(從1開始編號);session
%d :數據庫名稱;性能
%D :位於該月中的天數 (DD);優化
%M :位於該年中的月份 (MM);日誌
%F :一個基於DBID 惟一的名稱,這個格式的形式爲c-IIIIIIIIII-YYYYMMDD-QQ,其中IIIIIIIIII 爲該數據庫的DBID,YYYYMMDD 爲日期,QQ 是一個1-256 的序列;code
%n :數據庫名稱,而且會在右側用x字符進行填充,使其保持長度爲8;對象
%u :是一個由備份集編號和創建時間壓縮後組成的8字符名稱。利用%u能夠爲每一個備份集生成一個惟一的名稱;進程
%p :表示備份集中備份片斷的編號,從1 開始編號;rem
%U :是%u_%p_%c的簡寫形式,利用它能夠爲每個備份片斷(即磁盤文件)生成一個惟一名稱,這是最經常使用的命名方式;
%s :備份集的號;
%t :備份集時間戳;
%T :年月日格式(YYYYMMDD);s
注:若是在BACKUP命令中沒有指定FORMAT選項,則RMAN默認使用%U爲備份片斷命名。
2、CONFIGURE配置項介紹
首先,咱們先來查看一下當前配置,經過SHOW ALL命令:
鏈接到目標數據庫: JSSWEB (DBID=3391142503)
RMAN> show all ; 正在使用目標數據庫控制文件替代恢復目錄 RMAN 配置參數爲: CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 3 DAYS; CONFIGURE BACKUP OPTIMIZATION OFF; # default CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default CONFIGURE CONTROLFILE AUTOBACKUP ON; CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO ¨d:/backup/%F¨; CONFIGURE DEVICE TYPE DISK PARALLELISM 1; # default CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default CONFIGURE MAXSETSIZE TO UNLIMITED; # default CONFIGURE SNAPSHOT CONTROLFILE NAME TO ¨F:\ORAHOME1\DATABASE\SNCFJSSWEB.ORA¨; # default RMAN>
Show 命令在RMAN命令篇簡單介紹過,同時咱們也已經知道後跟#default表示該條配置仍然是初始的默認配置,若是咱們想把某條更改過的配置再置爲初始應該怎麼辦呢,很簡單,用以下命令: CONFIGURE ... CLEAR ; 例如:
RMAN> CONFIGURE RETENTION POLICY CLEAR ; 舊的 RMAN 配置參數: CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 3 DAYS; RMAN 配置參數已成功重置爲默認值
上述的各項配置,咱們在前面章節中有一些已經有所體現,下面咱們再逐條過一遍。
1 、 CONFIGURE RETENTION POLICY 配置備份保留策略
第4章節咱們詳細講過關於備份保留策略,也知道了它有兩種保留策略:
基於時間:
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF n DAYS;
基於冗餘數量:
CONFIGURE RETENTION POLICY TO REDUNDANCY n ;
也能夠取消備份保留策略:
CONFIGURE RETENTION POLICY TO NONE;
2 、 CONFIGURE BACKUP OPTIMIZATION 配置備份優化
也是第4章節提到的內容,備份優化,包括OFF和ON兩個狀態
打開備份優化:
CONFIGURE BACKUP OPTIMIZATION ON;
關閉備份優化:
CONFIGURE BACKUP OPTIMIZATION O FF ;
3 、 CONFIGURE DEFAULT DEVICE TYPE 配置IO設備類型
RMAN 支持的IO設備類型有兩種:磁盤(DISK)和磁帶(SBT),默認狀況下爲磁盤。
使用磁盤設備:
CONFIGURE DEFAULT DEVICE TYPE TO DISK;
使用磁帶設置:
CONFIGURE DEFAULT DEVICE TYPE TO SBT;
在這裏須要注意的一點是:若是IO設備發生變化,相關配置項也須要修改。例如:
RMAN> CONFIGURE DEVICE TYPE DISK PARALLELISM 2;
4 、 CONFIGURE CONTROLFILE AUTOBACKUP 配置控制文件自動備份
是否自動備份,包含兩個狀態:OFF和ON
打開自動備份
CONFIGURE CONTROLFILE AUTOBACKUP ON
禁止自動備份
CONFIGURE CONTROLFILE AUTOBACKUP OFF
同時能夠經過以下配置指定備份的控制格式,路徑。例如:
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO ¨d:/backup/%F¨;
在備份期間,將產生一個控制文件的快照,用於控制文件的讀一致性,這個快照能夠經過以下配置:
CONFIGURE SNAPSHOT CONTROLFILE NAME TO ¨ D:/BACKUP/ SNCFJSSWEB.ORA¨;
5 、 CONFIGURE DEVICE TYPE 設置並行備份
RMAN 支持並行備份與恢復,也能夠在配置中指定默認的並行程度。例如:
CONFIGURE DEVICE TYPE DISK PARALLELISM 2;
指定在之後的備份與恢復中,將採用並行度爲2,同時開啓2個通道進行備份與恢復,固然也能夠在run中指定通道來決定備份與恢復的並行程度。
並行的數目決定了開啓通道的個數。若是指定了通道配置,將採用指定的通道,若是沒有指定通道,將採用默認通道配置。有點兒繞是吧,我來給你白話一把。
默認狀況下,自動分配通道的並行度爲1,若是你經過設置PARALLELISM設置了並行通道爲2,那麼在run塊中,若是你沒有單獨經過ALLOCATE CHANNEL命令指定通道,它會默認使用2條並行通道,若是你在run命令塊中指定了數個ALLOCATE CHANNEL,那麼rman在執行備份命令時會以你設置的channel爲準,而無論configure中配置了多少個並行通道。須要注意的一點是,在backup命令中有一個FILESPERSET參數,該參數是指rman創建的每一個備份集中所能包含的備份片斷(即磁盤文件)的最大數,該參數默認值爲64,若是在執行backup命令時沒有指定該參數值,那麼rman會僅使用第一個通道來執行備份,其它通道將處於空閒狀態。關於通道數與FILESPERSET值之間也有一個大小關係,邏輯稍顯複雜這些就很少廢話了,總之一條,filesperset值不要小於你設定的通道數。
6 、 CONFIGURE DATAFILE BACKUP COPIES 設置備份文件冗餘度
4 章也講過,應該也還有印象吧,不記的了就趕忙回去翻翻。
7 、 CONFIGURE MAXSETSIZE 配置備份集的最大尺寸
該配置限制通道上備份集的最大尺寸。單位支持bytes,K,M,G。默認值是unlimited。相信應該也不會有什麼人改它吧,我花了整整20秒時間思考,而後確認,我應該用不着它,OK,跳過。
3、RMAN備份相關的動態性能表
能夠經過以下SQL語句得到正在進行的鏡像複製操做的狀態信息:
Select sid, serial#, context , sofar, totalwork, round(sofar / totalwork * 100 , 2 ) "% Complete" From v$session_longops where opname like ¨RMAN:%¨ and opname not like ¨RMAN:aggregate%¨
經過以下SQL得到rman用來完成備份操做的服務進程的SID與SPID信息:
Select sid, spid, client_info from v$process p, v$session s where p.addr = s.paddr and client_info like ¨%id=rman%¨
4、RMAN通道
在RMAN中能夠經過手動方式或自動方式分配通道。
1 、手工分配通道
在執行BACKUP、RESTORE、DELETE等須要進行磁盤I/O操做的命令時,能夠將它們與ALLOCATE CHANNEL命令放在一個RUN的命令塊中,利用ALLOCATE CHANNEL爲它們分配通道。例如:
RUN{ ALLOCATE CHANNEL CH1 DEVICE TYPE DISK FORMAT ¨d:/backup/%U¨; BACKUP DATAFILE ¨F:\ORAHOME1\ORADATA\JSSWEB\JWEB.ORA¨; }
須要注意的是,RMAN中執行的每一條BACKUP、DELETE等命令都至少要求使用一個通道,通道數決定了這些操做執行的並行度。
2 、自動分配通道
若是沒有使用手工分配通道,那麼RMAN在執行BACKUP等操做I/O的命令時將會使用預約義配置(configure,記起來了吧)中的設置來自動分配通道。
下列預約義配置命令都可以分配通道:
5、RMAN備份類型
利用RMAN進行備份時,能夠經過三種方式來對RMAN的備份作分類
全備與增備是針對數據文件而言,控制文件和歸檔日誌文件不能進行增量備份。固然,後二者能夠作備份優化。
數據庫打開狀態下進行備份便是打開備份,數據庫關閉狀態下(加載狀態)進行的備份即關閉備份。
數據庫打開狀態或不乾淨關閉狀態(shutdown abort)進行的備份是不一致備份,利用不一致的備份修復數據庫後還須要作數據庫的恢復。在數據庫乾淨關閉狀態進行的備份是一致備份,利用一致備份修復數據庫後不須要作數據庫的恢復。
6、增量備份的工做機制
所謂增量備份,顧名思義便是每次備份僅操做那些發生了"變化"的數據塊。RMAN中增量備份有兩種:Differential方式和Cumulative方式。下面將分別胡扯,請看官自辨真僞。。。
1 、差別備份Differential
提及Differential,至關有意思,你們能夠這樣理解。有一家名爲Differential的紅社會組織,他們民主自由善良博愛爲人忠懇正直(如下省略5000個褒義形容詞),總之呢,黑黑,他們會按照你與其約定的週期來向你收取保護費,由於他們的組織很是嚴密,(以上圖爲例吧)全部成員按照0,1,2分爲不一樣等級,0級最高就是老大。貴爲老大天然身份尊崇,手底下小弟多,開銷也大,因此若是0級老大親自登門收取的話,沒啥說的,甭管它何時來,你的家底他都要從新清點一遍,從你成立開始到如今,總共應交多少保護費,一個子兒都不能少的都要交出來。每次來都是這樣。而1級成員就顯的溫和多了,它每次來,只要求你將上次0級收到以後到如今應交的稅款給交了就好了。甚至於若是上次也是個1級成員(與它平級)來收取的話,它也認同。固然,若是上次來收的是個2級成員,它是不認可的,好歹它也是個有身份的人,比它低級的成員打的收條它向來是不認同地。它至少要求將最後一個與它平級或級別比它要高的成員收取日期到如今應結的給它。1級成員帶了頭,2級成員也按這個來。
2 、累積增量備份Cumulative
繼續白話,名爲Cumulative的紅社會組織相比Differential差距就比較大,雖然它們也會按照與你約定的同期來收取,可是,這家組織顯然做風是屬於比較兇悍的。仍然以上圖爲例,假設它們也按照0,1,2分爲三個等級,0級老大身份尊崇,表現倒與Differential家的相同。但級別比它低的那些小弟表現與Differential家的就相差較多。對於那些級別高於它們的成員打的收條,他們仍是會承認,可是其它人,甚至與它們平級的成員它們都不認。哪怕上次就是它來收取的,他也能翻臉不認賬。好比某個1級成員昨天來時就直接從上次0級收取的時間開始算的,而今天來的又是這個傢伙,可它對昨天的所爲都拒不認賬,堅持還要從上次0級收取的時間開始算。
注意:這兩家非0級成員都有個毛病,假如它們來收費時發現自你成立起,自家的0級老大曆來都沒來過,本着爲老大盡心爲老大盡責的高貴品格,他們都會替老大把你的家底翻個底朝天,來個大清算。
如今,你們對它們兩家都有所瞭解了吧。另外backup命令在不顯式指定的狀況下,默認會選擇Differential地喲:)
7、備份集概述
備份集由RMAN建立的具備特定格式的邏輯備份對象,一個備份集中可能包含多個數據庫文件(包括數據文件,控制文件和歸檔日誌文件)。RMAN中經過BACKUP命令創建備份集。
一個備份集是由多個備份片斷組成,每一個備份片斷便是一個物理文件。
8、RMAN恢復目錄(CATALOG)
Oracle9i版本由於控制文件的自動備份,能夠很大程度不須要使用恢復目錄。固然,號稱使用目錄數據庫控制文件的方式將會很是的不安全,由於一旦備份文件丟失,不只數據庫崩潰,rman備份信息也將丟失(就我的使用而言,我覺着沒有這麼嚴重,9i中的控制文件備份就已經多種多樣,並且恢復及重建方式也有許多,因此假如您在沒有使用恢復目錄的狀況下丟失了控制文件,千萬表覺得就此玩完,準備摸腳走人。Google一下rman 控制文件 恢復,您會發現無數個可以挽救您飯碗的頁面存在),扯了一堆,希望沒有給像上個禮拜的俺同樣的初學者形成印象上的混淆,若是能用恢復目錄仍是推薦使用恢復目錄,恢復目錄實際上也是一個數據庫,通常獨立於目標數據庫。由於它本身就是個數據庫,因此一個恢復目錄能夠同時被多個目錄數據庫使用。網上搜了一些特色以下:
· 有些命令只被恢復目錄支持(找着很多,你們本身gg吧,這裏就不一一介紹了,要否則俺這就不像在作筆記,倒像是在寫高級參考大全,o對了還有,控制文件方式中沒法直接存儲rman備份腳本)
· 能保留更多的歷史備份信息
· 一個恢復目錄能管理與備份多個目標數據庫
· 若是沒有恢復目錄,並且發生告終構上的改變,時間點的恢復須要當心操做
· 能存儲備份與恢復的腳本
能夠看到,主要是能夠保留更多的備份信息與方便的管理多個目標數據庫,這個在衆多目標數據庫的狀況下,絕對是強烈推薦的,能省不少事兒。
一樣,若是您選擇使用恢復目錄方式,千萬表忘了對恢復目錄數據庫作備份喲,固然這個庫您就不用再使用rman作備份了,呵呵:),exp是個好法子,簡單又方便,反正rman的恢復目錄數據庫也佔不了什麼空間。並且經過exp備份以後,一旦恢復目錄數據庫發生故障,也可能很輕易的經過imp進行恢復。