溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么掌握RMAN組成、配置、檢測

發(fā)布時(shí)間:2021-11-10 15:31:57 來源:億速云 閱讀:102 作者:iii 欄目:關(guān)系型數(shù)據(jù)庫

這篇文章主要講解了“怎么掌握RMAN組成、配置、檢測”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“怎么掌握RMAN組成、配置、檢測”吧!

RMAN 組件:

1. RMAN 執(zhí)行程序, 也就是RMAN 命令.

2. Server session : 服務(wù)器上的進(jìn)程, 是真正用來干活的.

3. Target database: 你想要進(jìn)行備份的數(shù)據(jù)庫

4. RMAN Repository: RMAN的源數(shù)據(jù), 這部分內(nèi)容可以存儲在control file, 也可以單獨(dú)存儲在數(shù)據(jù)庫中,  用來保存?zhèn)浞菖c恢復(fù)信息的一個(gè)數(shù)據(jù)庫,不建議創(chuàng)建在目標(biāo)數(shù)據(jù)庫上,利用恢復(fù)目錄可以同時(shí)管理多個(gè)目標(biāo)數(shù)據(jù)庫,存儲更多的備份信息,可以存儲備份腳本。如果不采用恢復(fù)目錄,可以采用控制文件來代替恢復(fù)目錄,oracle 9i因?yàn)榭刂莆募詣觽浞莸墓δ埽每刂莆募艽蟪潭壬峡梢匀〈謴?fù)目錄。

5. Channel: 是一個(gè)通道, 用來連接數(shù)據(jù)庫與備份的存儲介質(zhì).

6. Media Management Library: 一般就是指存儲介質(zhì)的制造商給出的驅(qū)動. 我們一般就存儲在磁盤.

注: rman 不能用戶備份 聯(lián)機(jī)重做日志文件, parameter file , password file, 個(gè)人還不確定 !


RMAN catalog 的建立:

這里最好在另一個(gè)專門再創(chuàng)建個(gè)數(shù)據(jù)庫, 而不是用原來的target數(shù)據(jù)庫. 然后, 在那個(gè)新的數(shù)據(jù)庫上創(chuàng)建以下內(nèi)容: 所以, 還是利用 control file 來保存元數(shù)據(jù)信息吧, 只是當(dāng)有多個(gè)數(shù)據(jù)庫需要備份時(shí), 再考慮使用回復(fù)目錄.

1) 建立恢復(fù)目錄使用的表空間:

create tablespace rman_ts datafile '/xxx/rman_ts.dbf' size 20M;   (在target數(shù)據(jù)庫中建立就可以)

2) 在目錄數(shù)據(jù)庫中創(chuàng)建 rman 用戶并授權(quán):

create user rman identified by rman default tablespace rman_ts temporary tablespace temp quota unlimited on rman_ts;

grant connect, resource, recovery_catalog_ownerto rman;   -- 授權(quán)

3) 在目錄數(shù)據(jù)庫中創(chuàng)建恢復(fù)目錄

rman catalog rman/rman  (操作系統(tǒng)提示符下, 連接到 目錄數(shù)據(jù)庫)

create catalog tablespace rman_ts;  -- 創(chuàng)建恢復(fù)目錄

4) 登記目標(biāo)數(shù)據(jù)庫, 一個(gè)恢復(fù)目錄可以注冊多個(gè)目標(biāo)數(shù)據(jù)庫, 注冊目標(biāo)數(shù)據(jù)庫的命令為:

rman catalog rman/rman target sys/sys;

register database;


RMAN 連接

連接到目標(biāo)數(shù)據(jù)庫是指建立在RMAN和目標(biāo)數(shù)據(jù)庫之間的連接。RMAN可以在無恢復(fù)目錄和有恢復(fù)目錄兩種方式下連接到目標(biāo)數(shù)據(jù)。

另外, 這里也不推薦使用 sys 用戶來連接目標(biāo)數(shù)據(jù)庫(target), 應(yīng)該另外建立一個(gè)用戶, 并給這個(gè)用戶 sysdba 權(quán)限.

1、無恢復(fù)目錄

(1)C:\>rman target /
(2)C:\>rman target sys/password nocatalog

2、有恢復(fù)目錄

有恢復(fù)目錄的, 其實(shí), 說白了, 就是分別針對 目標(biāo) 數(shù)據(jù)庫和 目錄 數(shù)據(jù)庫, 分別建立兩次鏈接

(1)首先輸入 rman, 進(jìn)入 rman 命令環(huán)境
 -- 連接目標(biāo)數(shù)據(jù)庫: connect target sys/sys
 -- 連接到恢復(fù)數(shù)據(jù)庫: connect catalog rman/rman
 (2)直接一起連接:
 rman target sys/sys catalog rman/rman
在 rman 中有恢復(fù)目錄的情況下, 連接目標(biāo)數(shù)據(jù)庫后還需要注冊數(shù)據(jù)庫, 即將目標(biāo)數(shù)據(jù)庫中的控制文件轉(zhuǎn)到恢復(fù)目錄中, 在同一個(gè)恢復(fù)目錄中只能注冊一個(gè)目標(biāo)數(shù)據(jù)庫.
 register database

3、兩者的區(qū)別:有無恢復(fù)目錄的區(qū)別

(1)nocatalog方式就是用control file作為catalog,每一次備份都要往控制文件里面寫好多備份信息,控制文件里面會有越來越多的備份信息。若為catalog則必須要首先要?jiǎng)?chuàng)建目錄備份數(shù)據(jù)庫,建立恢復(fù)目錄。
(2)當(dāng)使用rman nocatalog恢復(fù)時(shí),數(shù)據(jù)庫必須是處于“mount”狀態(tài)的。而Oracle startup mount的前提條件是control必須存在。因此,你必須在恢復(fù)datafile之前先恢復(fù)controlfile。使用rman catalog方式時(shí),可以startup nomount然后restore controlfile;但使用rman nocatalog時(shí),必須先用文件方式恢復(fù)controlfile。
(3)恢復(fù)步驟不同

rman nocatalog恢復(fù):
1) 建立oracle運(yùn)行環(huán)境(包括init或sp文件)
2) 文件方式恢復(fù)controlfile到init文件指定的位置 (copy, paste)
3) startup mount
4) rman,恢復(fù)datafile
5) alter database open resetlogs

rman catalog恢復(fù):
1) 建立oracle運(yùn)行環(huán)境(包括init或sp文件)
2) rman ,restore controfile
3) alter database mount
4) rman, restore datafile
5) alter database open resetlogs


RMAN 配置:

一、通道及通道分配

1.通道的概念

        一個(gè)通道代表一個(gè)到設(shè)備(磁盤或磁帶)的數(shù)據(jù)流并且在目標(biāo)數(shù)據(jù)庫或輔助數(shù)據(jù)庫實(shí)例上產(chǎn)生一個(gè)相應(yīng)的服務(wù)器會話(server session)

        多個(gè)通道則產(chǎn)生多個(gè)服務(wù)器會話,這些服務(wù)器會話(或進(jìn)程)將完成備份、還原與恢復(fù)操作等

        通道分為備份或還原到磁盤的磁盤通道(disk channel)、備份還原到磁帶的磁帶通道(SBT)

        在對數(shù)據(jù)庫執(zhí)行備份和恢復(fù)前必須先分配通道

        ALLOCATE CHANNEL命令在目標(biāo)數(shù)據(jù)庫啟動一個(gè)服務(wù)器進(jìn)程,同時(shí)必須定義服務(wù)器進(jìn)程執(zhí)行備份或者恢復(fù)操作使用的I/O類型

        實(shí)際上是通過channel來控制備份及恢復(fù)時(shí)的行為

  通道控制命令的作用:

            控制RMAN使用的OS資源

            影響并行度

            指定I/O 帶寬的限制值(設(shè)置limit read rate參數(shù))

            定義備份片大小的限制(設(shè)置limit kbytes)

            指定當(dāng)前打開文件的限制值(設(shè)置limit maxopenfiles)

2.自動分配通道

        可以使用下列命令來自動分配通道,一旦RMAN設(shè)定了下列參數(shù),則RMAN根據(jù)這些配置來自動分配通道

            CONFIGURE DEVICE TYPE ...PARALLELISM

            CONFIGURE DEFAULT DEVICE TYPE

            CONFIGURE CHANNEL

                假定在RMAN提示符下執(zhí)行backup datafile 1,則RMAN會使用預(yù)先配置的通道參數(shù)為之分配通道

                這些命令backup、restore、delete在非run塊中運(yùn)行時(shí)會根據(jù)configure命令設(shè)定的值自動分配通道

                但上述命令在run塊中則需要手動分配通道

 CONFIGURE DEFAULT DEVICE TYPE TO sbt;  -- 默認(rèn)是 disk

  CONFIGURE DEVICE TYPE DISK PARALLELISM 3; -- 為自動分配通道配置并行度, 影響 I/O 性能等

  -- 配置自動通道首選項(xiàng)

  CONFIGURE CHANNEL DEVICE TYPE DISK

        FORMAT = ‘/BACKUP/RMAN/%U’;  

  CONFIGURE CHANNEL DEVICE TYPE DISK

        MAXPIECESIZE 4G;

3.手動分配通道

        BACKUP,COPY,RESTORE,RECOVER等命令至少需要分配一個(gè)通道

        分配一個(gè)通道將在目標(biāo)數(shù)據(jù)庫所在服務(wù)器啟動一個(gè)服務(wù)進(jìn)程,分配的通道實(shí)際上是指定了并發(fā)度

        可以指定備份到不同的介質(zhì),并且可以在手工通道時(shí)指定讀寫速度

        RMAN> RUN {

           2> ALLOCATE CHANNEL ch2 TYPE disk

           3> BACKUP DATAFILE 1,2,4

           4> FORMAT  '/u01/app/oralce/rmanbak/users_%U.bak';}      下面的示例分配了多個(gè)通道,且對不同的數(shù)據(jù)文件使用不同的通道來完成備份工作

        RMAN> RUN {

            2> allocate channel ch2 device type disk;

            3> allocate channel ch3 device type disk;

            4> allocate channel ch4 device type disk;

            5> backup

            6>    incremental level 0

            7>    (datafile 1,4 channel ch2)

            8>    (datafile 2,3 channel ch3)

            9>    (datafile 5,6 channel ch4);

            10> alter system archive log current;}

ALLOCATE CHANNEL命令在目標(biāo)數(shù)據(jù)庫啟動一個(gè)服務(wù)器進(jìn)程,同時(shí)必須定義服務(wù)器進(jìn)程執(zhí)行備份或者恢復(fù)操作使用的I/O類型

實(shí)際上是通過channel來控制備份及恢復(fù)時(shí)的行為

4.通道配置選項(xiàng)

        connect :是一個(gè)Oracle Net連接串。一般不適用于單實(shí)例環(huán)境

        format : 為通道創(chuàng)建的備份片或映像副本確定路徑與文件名

        duration: 控制作業(yè)的時(shí)間總量,以小時(shí)和分鐘進(jìn)行指定

        maxopenfiles:該選項(xiàng)限制RMAN一次能夠打開的輸入文件數(shù),默認(rèn)為

        maxpiecesize:限制一個(gè)備份集分割的備份片的大小,以字節(jié)(默認(rèn))、k、m、g為單位

        parms:能夠被用于設(shè)置sbt_type通道所需的任何變量

        filesperset:備份集中可容納的文件數(shù)

  backup set: 是一個(gè)集合, 是由一個(gè)或多個(gè)物理文件組成, 是一個(gè)邏輯單位.

  backup piece: 是真正的一個(gè)輸出文件, 受到操作系統(tǒng)單個(gè)文件的限制, 即 maxpiecesize 這個(gè)參數(shù).

  連接 rman 測試:

  rman target / nocatalog   -- 使用操作系統(tǒng)權(quán)限登陸

  rman target sys/oracle@trgt   -- 遠(yuǎn)程方式登陸

  show default device type;  -- 查看默認(rèn)的備份介質(zhì), 默認(rèn)是 disk

  configure default device type clear;  -- 將備份介質(zhì)還原成默認(rèn)的disk.

  補(bǔ)充: filesperset 參數(shù):

  filesperset是每個(gè)備份集中包含的最大文件個(gè)數(shù), 和 channel 沒有關(guān)系.

allocate channel 提供備份并發(fā)度,若平均文件數(shù)<filesperset則會按照 平均文件數(shù)/備份集 進(jìn)行備份,若超過則按照filesperset的數(shù)量生成備份集;例如:
1、run {      
allocate channel ch2 type disk;      
allocate channel ch3 type disk;      
backup datafile 3,4,5,6 filesperset 3;      
release channel ch2;      
release channel ch3;      
}      
平均數(shù)是 4(文件數(shù))/2(channel數(shù)) = 2 ,小于filesperset 3,則生成2個(gè)備份集,每個(gè)備份集包含2個(gè)數(shù)據(jù)文件      
2、run {      
allocate channel ch2 type disk;      
allocate channel ch3 type disk;      
backup datafile 3,4,5,6 filesperset 1;      
release channel ch2;      
release channel ch3;      
}      
則生成4個(gè)備份集,每個(gè)包含一個(gè)數(shù)據(jù)文件

由以上補(bǔ)充, 可知, 參數(shù) filesperset 不用指定就可以, 因?yàn)槟J(rèn)是用 (備份的文件數(shù)/chanel)得到的數(shù) 和 64 相比較. 只要比64 小, 就用前邊的數(shù), 貌似看來一般都會比 64 小


configure 命令的使用

show 命令

  直接 show all 就可以了

可以顯示出RMAN配置參數(shù)為:
 
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
 CONFIGURE BACKUP OPTIMIZATION OFF; # default
 CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
 CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
 CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
 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‘C:ORACLE..SNCFTEST.ORA’; #default

1.configure retention policy to redundancy 1: 是用來決定那些備份不再需要了,它一共有三種可選項(xiàng),分別是  CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;  CONFIGURE RETENTION POLICY TO REDUNDANCY 5;  CONFIGURE RETENTION POLICY TO NONE;  

第一種recover window是保持所有足夠的備份,可以將數(shù)據(jù)庫系統(tǒng)恢復(fù)到最近七天內(nèi)的任意時(shí)刻。任何超過最近七天的數(shù)據(jù)庫備份將被標(biāo)記為obsolete。  

第二種redundancy是為了保持可以恢復(fù)的最新的5份數(shù)據(jù)庫備份,任何超過最新5份的備份都將被標(biāo)記為redundancy。它的默認(rèn)值是1份。  

第三種不需要保持策略,clear將恢復(fù)回默認(rèn)的保持策略。  

一般最安全的方法是采用第二種保持策略。 可以設(shè)置這個(gè)值為 5  

2.CONFIGURE BACKUP OPTIMIZATION OFF  默認(rèn)值為關(guān)閉,如果打開,rman將對備份的數(shù)據(jù)文件及歸檔等文件進(jìn)行一種優(yōu)化的算法。  

3.Configure default device type to disk:  是指定所有I/O操作的設(shè)備類型是硬盤或者磁帶,默認(rèn)值是硬盤  磁帶的設(shè)置是CONFIGURE DEFAULT DEVICE TYPE TO SBT;  

4.CONFIGURE CONTROLFILE AUTOBACKUP OFF  強(qiáng)制數(shù)據(jù)庫在備份文件或者執(zhí)行改變數(shù)據(jù)庫結(jié)構(gòu)的命令之后將控制文件自動備份,默認(rèn)值為關(guān)閉。這樣可以避免控制文件和catalog丟失后,控制文件仍然可以恢復(fù)。  

5.CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'  是配置控制文件的備份路徑和備份格式  

6.CONFIGURE DEVICE TYPE DISK PARALLELISM 1;  是配置數(shù)據(jù)庫設(shè)備類型的并行度。  

7.CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1;  是配置數(shù)據(jù)庫的每次備份的copy數(shù)量,oracle的每一次備份都可以有多份完全相同的拷貝。  

8.CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1  是設(shè)置數(shù)據(jù)庫的歸檔日志的存放設(shè)備類型  

9.CONFIGURE SNAPSHOT CONTROLFILE NAME TO 'C:ORACLE…SNCFTEST.ORA'  是配置控制文件的快照文件的存放路徑和文件名,這個(gè)快照文件是在備份期間產(chǎn)生的,用于控制文件的讀一致性。  

10.CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT 'C:...%d_DB_%u_%s_%p';  是配置備份文件的備份路徑和備份格式  

CONFIGURE CHANNEL DISK CLEAR;用于清除上面的信道配置  

CONFIGURE EXCLUDE FOR TABLESPACE <tablespace> [CLEAR];此命令用于將指定的表空間不備份到備份集中, 此命令對只讀表空間是非常有用的。   1.將備份文件存儲到指定路徑,如e:\backupb     configure channel device type disk format 'e:\backupb\%d_db_%u';  后面的%d_db_%u是存儲格式  2.我們也可以單獨(dú)指定control file存儲在另一個(gè)路徑:如e:\backupcontrol  configure controlfile autobackup format for device type disk to 'e:\backupcontrol\%F';  后面的%F是存儲格式

經(jīng)常使用的設(shè)置:

1) configure controlfile autobackup on;  -- 默認(rèn)是 off

2) configure device type disk parallelism 2 backup type to backupset;  -- 默認(rèn)是 1

3) 修改 控制文件保存的時(shí)間, 使用 nocatalog 方式, 修改參數(shù) control_file_record_keep_time, 默認(rèn)是 7 天, 可以修改 0~365 的任何值, 當(dāng)RMAN 采用nocatalog模式進(jìn)行備份時(shí),就會有一個(gè)問題。 當(dāng)我們使用catalog模式的時(shí)候,RMAN 備份的信息都會存放到catalog目錄里。 如果沒有使用catalog目錄,那么RMAN備份的信息就會保存到控制文件里。 RMAN 的這些備份信息對恢復(fù)來說非常重要,如果沒有這些信息,是無法使用RMAN 進(jìn)行恢復(fù)的。 所以,如果采用nocatalog模式,我們要主備備份控制文件,同時(shí),要將控制文件記錄的保存時(shí)間設(shè)置為不小于選中數(shù)據(jù)庫備份的周期,否則就可能在備份介質(zhì)上有數(shù)據(jù)庫備份,但是控制文件不存在與備份相關(guān)的備份記錄,在這種情況下,將無法恢復(fù)這些較早的文件。

alter system set control_file_record_keep_time = 20 scope=both; 

要注意: 配置保存策略不會導(dǎo)致自動刪除備份,需要使用delete obsolete 命令才能刪除過期的備份集。 在report obsolete 命令時(shí)顯示到期的備份集。 如果列出的某個(gè)文件不能被刪除,需要魚腥crosscheck 命令,否則,Oracle 刪除delete obsolete命令輸出的所有項(xiàng)。如:

report obsolete;

delete noprompt obsolete;

crosscheck backup;

delete noprompt expired backup;

List 命令

  列出備份集, 數(shù)據(jù)文件鏡像

  列出指定表空間任意數(shù)據(jù)文件的備份集或鏡像副本

  列出指定范圍內(nèi)包含歸檔日志的備份集或鏡像副本

list incarnation;

匯總查詢:--如果備份文件多的話多用這個(gè)list命令可以對備份文件有個(gè)總體了解。

  list backup; 列出備份詳細(xì)信息

  list backup by file;

  說明:按照文件類型列出以下四種類型列表:
  數(shù)據(jù)文件備份列表、已存檔的日志備份列表、控制文件備份列表、SPFILE 備份的列表

  list backup of database summary;

  list backup of tablespace users;

  list backup of archivelog all;  查看已經(jīng)備份的 archive log 情況.

  list archivelog all;  查看目前所有的 archivelog 文件. (可能包含已經(jīng)備份的, 除非你在備份時(shí)有參數(shù) delete input file 刪除了)

  list backup verbose;

  list backup of spfile;

  list backup of controlfile;

  list backup summary;

  簡述可用的備份, TY: B代表備份, LV: F代表全備fullbackup, A表示 Archivelog, 0,1,2 表示備份級別, S表示狀態(tài), A表示available可用, X表示expried過期

備份列表
===============
關(guān)鍵字     TY LV S 設(shè)備類型 完成時(shí)間   段數(shù) 副本數(shù) 壓縮標(biāo)記
------- -- -- - ----------- ---------- ------- ------- ---------- ---
11      B  F  A DISK        02-7月 -13 1       1       NO         TAG20130702T162726
12      B  F  A DISK        14-2月 -14 1       1       NO         TAG20140214T140119
13      B  F  A DISK        14-2月 -14 1       1       NO         TAG20140214T140119
14      B  F  A DISK        21-2月 -14 1       1       NO         TAG20140221T125325
15      B  F  A DISK        21-2月 -14 1       1       NO         TAG20140221T125325
16      B  A  A DISK        24-2月 -14 1       1       NO         TAG20140224T125128

  list backup of datafile 1 [n | <dir>];

  list backup of archivelog from sequence 1000 until sequence 1020;

  list backupset tag=TAG20140317T155753;

  list expried backup; 列出過去的備份文件

Report命令

  Report命令顯示存儲倉庫(Repository)中的詳細(xì)的分析信息

  最常使用的是report obsolete; report schema;

  例如, 那些文件需要備份, 那些備份可以被刪除, 那些文件不可恢復(fù) 等

  report schema; 報(bào)告目標(biāo)數(shù)據(jù)庫的物理結(jié)構(gòu)

  report need backup;  報(bào)告需要備份的數(shù)據(jù)文件(根據(jù)條件不同)

  report need backup days 3; 最近三天沒有備份的數(shù)據(jù)文件(如果出問題的話,這些數(shù)據(jù)文件將需要最近3天的歸檔日志才能恢復(fù))

  report need backup redundancy 3; 報(bào)告出冗余次數(shù)小于3的數(shù)據(jù)文件

  report need backup recovery window of 3 days; 報(bào)告出恢復(fù)需要3天歸檔日志的數(shù)據(jù)文件

  report obsolete; 報(bào)告已經(jīng)丟棄的備份(前提是設(shè)置了備份策略)

  report unrecoverable; 報(bào)告當(dāng)前數(shù)據(jù)庫中不可恢復(fù)的數(shù)據(jù)文件(即沒有這個(gè)數(shù)據(jù)文件的備份、或者該數(shù)據(jù)文件的備份已經(jīng)過期)

  report schema at time ‘sysdate – 7’;

  report need backup days 2 tablespace system;

Delete 命令

  刪除相關(guān)的備份集火鏡像副本的物理文件, 同時(shí)將刪除標(biāo)記 delete 更新到控制文件.

  delete backupset;

  delete backupset n;

  delete obsolete;   -- 刪除荒廢

  delete noprompt obsolete;  -- 不提示, 刪除荒廢
  delete noprompt expired backup;  -- 不提示, 刪除不在磁盤上的備份集(可以先用crosscheck同步確認(rèn)一下)

  delete obsolete redundancy 2;

  delete noprompt copy;

  delete noprompt backupset tag TAG20140317T14432;

  delete obsolete recovery window of 7 days;

  delete expired backupset;

  delete expired copy;

  delete expired archivelog all;

Crosscheck 命令

  用于檢驗(yàn)存儲倉庫中的備份集或鏡像副本, 執(zhí)行該命令后, 將更新倉儲倉庫中的剛剛檢驗(yàn)的對象狀態(tài), 便于后續(xù)操作處理.

  在RMAN目錄和物理備份目的地不同步的情況下,我們可以使用crosscheck命令來效驗(yàn)控制文件或恢復(fù)目錄中的RMAN信息是否與備份介質(zhì)上的實(shí)際物理備份集片相同。

使用crosscheck 命令時(shí),我們關(guān)心每個(gè)備份集或者副本的狀態(tài)。 如果使用控制文件,用于備份集片的v$backup_set 視圖和用于副本的v$databfile_copy 視圖中的status列列出了每個(gè)備份集或副本的狀態(tài)碼;如果使用恢復(fù)目錄,則在備份集片的RC_BACKUP_SET和副本的RC_DATAFILE_COPY中列出了每個(gè)備份集或副本的狀態(tài)碼。 在不同的備份狀態(tài)碼中,我們關(guān)心以下兩種狀態(tài):

(1)A(Available:可用):RMAN 認(rèn)定該項(xiàng)存在于備份介質(zhì)上

(2)X(Expired:不可用):這個(gè)備份集片或副本上存儲的RMAN目錄(即控制文件或恢復(fù)目錄)中,但是并沒有物理存在于備份介質(zhì)上。

使用crosscheck 命令的目的是將RMAN目錄的狀態(tài)設(shè)置為AVAILABLE或者EXPIRED。 執(zhí)行crosscheck時(shí),RMAN檢查目錄中列出的每個(gè)備份集或副本并且判斷他們是否存在與備份介質(zhì)上。 如果備份集或副本不存在與備份介質(zhì)上,它就會被標(biāo)記為expired, 并且不能用于任何還原操作;如果備份集或副本存在與備份介質(zhì)上,它就會維持available狀態(tài)。 如果以前被標(biāo)記為expired 的備份集或副本再次存在于備份介質(zhì)上,crosscheck 命令就會將它標(biāo)記回available。

  RMAN 備份檢驗(yàn)的幾種狀態(tài)

  expired: 對象不存在于磁盤或磁帶。當(dāng)一個(gè)備份集處于expired狀態(tài),則該備份集中所有的備份片同樣處于expired狀態(tài)

  available: 對象處于可用狀態(tài)。當(dāng)一個(gè)備份集可用,則該備份集內(nèi)的所有備份片同樣可用

  unavailabe: 對象處于不可用狀態(tài)。當(dāng)一個(gè)備份集不可用,則該備份集內(nèi)的所有備份片同樣不可用

  注:expired不等同于obsolette。

expired 與 obsolette 的區(qū)別:

對于EXPIRED狀態(tài)的產(chǎn)生,與crosscheck命令是密切相關(guān)的,RMAN通過crosscheck命令檢查備份是否存在于備份介質(zhì)上, 如果不存在,則狀態(tài)由AVAILABLE改為EXPIRED. 例如: 將備份控制文件的備份刪除,再使用crosscheck進(jìn)行檢查,該備份的狀態(tài)由AVAILABLE改為EXPIRED.

對于obsolete狀態(tài),是針對MAN備份保留策略來說的,超過了這個(gè)保留策略的備份,會被標(biāo)記為obsolete,但其狀態(tài)依舊為AVAILABLE,我們可以使用report obsolete來查看已廢棄的備份.

  校驗(yàn)時(shí)的限制

  目標(biāo)數(shù)據(jù)庫必須被啟動

  對于磁盤上的備份集,校驗(yàn)時(shí)不需要使用通道。而磁帶上的備份集則必須使用通道,如果未為磁帶配置自動通道,則必須手動分配

  可以校驗(yàn)執(zhí)行resetlogs之前的備份,即可以校驗(yàn)不同的incarnation

  crosscheck backup;

  RMAN> crosscheck backupset; --校驗(yàn)備份集

  RMAN> crosscheck copy; --校驗(yàn)鏡像副本

  RMAN> crosscheck backup of controlfile; --校驗(yàn)備份的控制文件

  RMAN> crosscheck backup of archivelog all; --校驗(yàn)所有備份的歸檔日志

  RMAN> crosscheck backup of datafile 1,2; --校驗(yàn)datafile 1,2

  RMAN> crosscheck backup of tablespace sysaux,system; --校驗(yàn)表空間sysaux,system

  RMAN> crosscheck backup completed between '13-OCT-10' and '23-OCT-10'; --校驗(yàn)時(shí)間段,時(shí)間段格式由NLS_DATE_FORMAT設(shè)置

  RMAN> crosscheck backupset 1067,1068; --校驗(yàn)指定的備份集

 backup 常用命令

1.設(shè)置備份標(biāo)記        

backup database tag='full_bak1';         注:每個(gè)標(biāo)記必須唯一,相同的標(biāo)記可以用于多個(gè)備份只還原最新的備份。

2.設(shè)置備份集大小(一次備份的所有結(jié)果為一個(gè)備份集,要注意備份集大小)

        backup database maxsetsize=100m tag='datafile1';

         注:maxsetsize限定備份集的大小。所以必須大于數(shù)據(jù)庫總數(shù)據(jù)文件的大小,否則會報(bào)錯(cuò)。

      RMAN-06183: datafile or datafile copy larger than MAXSETSIZE: file# 1 /data/oradata/system01.dbf

3.設(shè)置備份片大小(磁帶或文件系統(tǒng)限制)

run {

        allocate channel c1 type disk maxpicecsize 100m format '/data/backup/full_0_%U_%T';        

        backup database tag='full_0';        

    release channel c1;        

}        

可以在allocate子句中設(shè)定每個(gè)備份片的大小,以達(dá)到磁帶或系統(tǒng)限制。        

也可以在configure中設(shè)置備份片大小。        

Configure channel device type disk maxpiecesize 100 m;        

configure channel device type disk clear;

4.備份集的保存策略        

  backup database keep forever;                  --永久保留備份文件, 這種需要有恢復(fù)目錄的支持

  backup database keep until time='sysdate+30'; --保存?zhèn)浞?0天

5.重寫configure exclude命令

        backup databas noexclude keep forever tag='test backup';

6.檢查數(shù)據(jù)庫錯(cuò)誤

        backup validate database;   使用 rman 掃描數(shù)據(jù)庫的物理和邏輯錯(cuò)誤, 但是并不真正執(zhí)行備份操作.   

 使用RMAN來掃描數(shù)據(jù)庫的物理/邏輯錯(cuò)誤,并不執(zhí)行實(shí)際備份。
   

7.跳過脫機(jī),不可存取或只讀文件

        backup database skip readonly;

        backup database skip offline;

        backup database skip inaccessible;

        backup database ship readonly skip offline ship inaccessible;

8.強(qiáng)制備份

        backup database force;
9.基于上次備份時(shí)間備份數(shù)據(jù)文件

        1>只備份添加的新數(shù)據(jù)文件

            backup database not backed up;

        2>備份"在限定時(shí)間周期內(nèi)"沒有被備份的數(shù)據(jù)文件

            backup database not backed up since time='sysdate-2';

10.備份操作期間檢查邏輯錯(cuò)誤

        backup check logical database;

        backup validate check logical database;
11.生成備份副本

        backup database copies=2;
12.備份控制文件

        backup database device type disk includ current controlfile;


數(shù)據(jù)庫初始化參數(shù)

  control_file_record_keep_time : 指定控制文件內(nèi)RMAN信息被覆蓋前保留的最小天數(shù)

  db_recovery_file_dest : 如果將 RMAN 備份到此處, 需要設(shè)置該參數(shù)

  db_recovery_file_dest_size: 如果將 RMAN 備份到此處, 需要設(shè)置該參數(shù)

環(huán)境變量參數(shù)

  nls_date_format : 設(shè)定日期

  nls_lang: 設(shè)定環(huán)境變量影響 restore, recover, report 等命令


Format 格式串:

使用FORMAT參數(shù)時(shí)可使用的各種替換變量,如下(注意大小寫)所示:

%a:Oracle數(shù)據(jù)庫的activation ID即RESETLOG_ID。

%c:備份片段的復(fù)制數(shù)(從1開始編號,最大不超過256)。

%d:Oracle數(shù)據(jù)庫名稱。

%D:當(dāng)前時(shí)間中的日,格式為DD。

%e:歸檔序號。

%f:絕對文件編號。

%F:基于"DBID+時(shí)間"確定的唯一名稱,格式的形式為c-IIIIIIIIII-YYYYMMDD-QQ,其中IIIIIIIIII 為該數(shù)據(jù)庫的DBID,YYYYMMDD為日期,QQ是一個(gè)1~256的序列。

%h:歸檔日志線程號。

%I:Oracle數(shù)據(jù)庫的DBID。

%M:當(dāng)前時(shí)間中的月,格式為MM。

%N:表空間名稱。

%n:數(shù)據(jù)庫名稱,并且會在右側(cè)用x字符進(jìn)行填充,使其保持長度為8。比如數(shù)據(jù)庫名JSSBOOK,則生成的名稱則是JSSBOOKx。

%p:備份集中備份片段的編號,從1開始。

%s:備份集號。

%t:備份集時(shí)間戳。

%T:當(dāng)前時(shí)間的年月日格式(YYYYMMDD)。

%u:是一個(gè)由備份集編號和建立時(shí)間壓縮后組成的8字符名稱。利用%u可以為每個(gè)備份集生成一個(gè)唯一的名稱。

%U:默認(rèn)是%u_%p_%c的簡寫形式,利用它可以為每一個(gè)備份片段(即磁盤文件)生成一個(gè)唯一名稱,這是最常用的命名方式,執(zhí)行不同備份操作時(shí),生成的規(guī)則也不同,如下所示:

生成備份片段時(shí),%U=%u_%p_%c;

生成數(shù)據(jù)文件鏡像復(fù)制時(shí),%U=data-D-%d_id-%I_TS-%N_FNO-%f_%u;

生成歸檔文件鏡像復(fù)制時(shí),%U=arch-D_%d-id-%I_S-%e_T-%h_A-%a_%u;

生成控制文件鏡像復(fù)制時(shí),%U=cf-D_%d-id-%I_%u。

%Y:當(dāng)前時(shí)間中的年,格式為YYYY。

注:如果在BACKUP命令中沒有指定FORMAT選項(xiàng),則RMAN默認(rèn)使用%U為備份片段命名。


常用的 RMAN 設(shè)置

1) 設(shè)置 auto backup control file, CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F' 

2) 將 redundancy 設(shè)置為 5, CONFIGURE RETENTION POLICY TO REDUNDANCY 5; 或 CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;

3) parallelism 設(shè)置為 2, 但是貌似這個(gè)必須是 企業(yè)版的 oracle 才可以 CONFIGURE DEVICE TYPE DISK PARALLELISM 2 BACKUP TYPE TO BACKUPSET;

個(gè)人喜歡的備份格式:

全備: full_%d_%U

datafile : df_%d_%U

tablespace :tb_%d_%U

感謝各位的閱讀,以上就是“怎么掌握RMAN組成、配置、檢測”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對怎么掌握RMAN組成、配置、檢測這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI