天天看點

RMAN增量備份-備份保留政策-設定備份集屬性

RMAN增量備份:

增量備份級别:0,1,2,3,4

BACKUP DATABASE也是建立資料庫的完整備份,但是這種備份不同于增量備份的0級備份。這種備份不包含增量備份的0級備份,并不支援在此基礎上再建立增量備份。

1、建立增量級0級的全庫備份

C:\Users\Administrator>RMAN

恢複管理器: Release 11.2.0.1.0 - Production on 星期三 12月 17 21:44:29 2014

Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.

RMAN> CONNECT TARGET /

連接配接到目标資料庫: ORCL (DBID=1392118573)

RMAN> BACKUP INCREMENTAL LEVEL=0 DATABASE;

啟動 backup 于 17-12月-14
使用目标資料庫控制檔案替代恢複目錄
配置設定的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=184 裝置類型=DISK
通道 ORA_DISK_1: 正在啟動增量級别 0 資料檔案備份集
通道 ORA_DISK_1: 正在指定備份集内的資料檔案
輸入資料檔案: 檔案号=00001 名稱=D:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF
輸入資料檔案: 檔案号=00002 名稱=D:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF
輸入資料檔案: 檔案号=00005 名稱=D:\APP\ADMINISTRATOR\ORADATA\ORCL\EXAMPLE01.DBF
輸入資料檔案: 檔案号=00003 名稱=D:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBF
輸入資料檔案: 檔案号=00004 名稱=D:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF
通道 ORA_DISK_1: 正在啟動段 1 于 17-12月-14
通道 ORA_DISK_1: 已完成段 1 于 17-12月-14
段句柄=D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2014_12_17\O1_MF_NNND0_TAG20141217T214527_B9327SYF_.BKP 标記=TAG20141217T214527 注釋=NONE
通道 ORA_DISK_1: 備份集已完成, 經過時間:00:02:52
完成 backup 于 17-12月-14

啟動 Control File and SPFILE Autobackup 于 17-12月-14
段 handle=D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\AUTOBACKUP\2014_12_17\O1_MF_S_866584101_B932F6GY_.BKP comment=NONE
完成 Control File and SPFILE Autobackup 于 17-12月-14      

2、為資料檔案users01.dbf建立增量級别1的備份

RMAN> BACKUP INCREMENTAL LEVVEL=1 DATAFILE 'D:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF';

3、為表空間users建立增量級别1的備份

RMAN> BACKUP INCREMENTAL LEVEL=1 TABLESPACE USERS;

==================

增量備份的類型:

DIFFERENTIAL差異(預設)和CUMULATIVE累積

1、以CUMULATIVE增量備份方式建立資料庫的完整備份。

RMAN> BACKUP INCREMENTAL LEVEL=1 CUMULATIVE DATABASE;

====

RMAN在做增量備份時,會把所有的資料檔案讀入記憶體,檢查每個資料檔案的SCN資訊,并與增量備份的父備份集相比較來确定塊是否被修改過,如果被修改過,則都要進行重新備份。ORACLE10G後有個新的特性:塊修改跟蹤(Block Change Tracking)。啟動塊修改跟蹤後,RMAN不再去掃描資料檔案中的每一個塊,直接通過塊修改跟蹤檔案就可以擷取哪些塊發生了修改的資訊。

啟動塊修改跟蹤:

SQL> select status from v$block_change_tracking;

STATUS

----------

DISABLED

SQL> alter database enable block change tracking usering file'/location/trk_filename';

禁用塊修改跟蹤:

SQL> alter database disable block change tracking;

===================

RMAN備份集保留政策

1、基于時間的備份保留政策

裝置備份集保留n天

RMAN> CONFIGURE RETENTION POLICY TO RECOVERY RECOVERY WINDOW OF n DAYS;

如果N等于7,則7天前的備份都将被RMAN廢棄,并可通過DELETE OBSOLETE指令删除。

對于NOCATALOG下建立的備份,RMAN的備份集資訊儲存在目标資料的控制檔案中,這部分資訊的大小也是有限的,受制于初始化參數:CONTROLFILE_RECORD_KEEP_TIME,該參數指定記錄在控制檔案中儲存的天數,預設7天,如果超過7天,并且控制檔案由于空間不足,需要重用記錄,則7天前的記錄可能會被覆寫。

可通過該視圖查詢相關資訊:V$CONTROLFILE_RECORD_SECTION;

SQL> select * from v$controlfile_record_section;

TYPE RECORD_SIZE RECORDS_TOTAL RECORDS_USED FIRST_INDEX LAST_INDEX LAST_RECID
---------------------------- ----------- ------------- ------------ ----------- ---------- ----------
DATABASE 316 1 1 0 0 0
CKPT PROGRESS 8180 11 0 0 0 0
REDO THREAD 256 8 1 0 0 0
REDO LOG 72 16 4 0 0 4
DATAFILE 520 100 5 0 0 38
FILENAME 524 2298 10 0 0 0
TABLESPACE 68 100 6 0 0 2
TEMPORARY FILENAME 56 100 1 0 0 1
RMAN CONFIGURATION 1108 50 1 0 0 1
.......      

2、基于備份檔案的備援資料數量的備份保留政策

RMAN> CONFIGURE RETENTION POLICY TO REDUNDANCY n;

取消備份保留政策:

RMAN> CONFIGURE RETENTION PLOICY TO NONE;

取消之後,使用REORT OBSOLETE和DELTE OBSOLETE指令不會顯示任何資訊。

如果設定了備份保留政策,可通過REPORT OBSOLETE指令檢視被标記為廢棄的備份檔案,然後DBA通過DELTE OBSOLETE指令删除這些檔案以減小空間占用。

RMAN對于手工删除的檔案,實體上已經不存在,在執行了CROSSCHECK指令之後,RMAN将其标記為EXPIRED;對于那些超出備份保留政策的備份集備份片段,則标記為OBSOLETE;

=================================

備份通道

通道其實就是一個到儲存設備的資料流。說白了就是一個路徑指向U盤,或是指向某一個檔案夾,或是指向某一個分區,或是指向錄音帶等。

手工配置設定通道的指令:ALLOCATE CHANNEL。

如:

RMAN> RUN{

2> ALLOCATE CHANNEL C1 DEVICE TYPE DISK FORMAT 'D:\ora_backup\ALCH_%U';

3> BACKUP TABLESPACE USERS;

4> }

RMAN中每執行一條BACKUP、RECOVER等指令都至少需要使用一個通道,通道數量決定了這些操作的并行度。可用ALLOCATE CHANNEL指令指定多個通道。

在RUN塊中如果不使用RELEASE CHANNEL指令釋放通過,則RMAN也會在RUN塊中的任務執行完畢之後自動釋放通道。

如果沒有通過ALLOCATE CHANNEL指令手工配置設定通道,則RMAN也會使用預定義配置中的設定來自動配置設定通道。

===============================

啟用複合備份

在生成備份同時,向指定的位置生成指定份數的備份檔案。

RMAN中提供了三種方式實作Duuplexed方式備份:

1.執行BACKUP指令時指定複合備份

RAN> BACKUP COPIES 3 DATABASE;

2.在RUN{}指令塊中利用SET BACKUP COPIES指令指定複合備份

2> SET BACKUP COPIES 2;

3> BACKUP DEVICE TYPE DISK FORMAT 'D:\ora_backup\ALCH1_%U', 'D:\ora_backup2\ALCH2_%U'

4> TABLESPACE USERS;

5> }

1.建立獨立的表空間:
SQL> CREATE TABLESPACE RMANTBS DATAFILE 'D:\RMAN_CATALOG\rmantbs01.dbf' SIZE 1024M;
表空間已建立。

2.建立一個獨立的SCHEMA,用來記錄備份資訊,并授予相關權限。
SQL> GRANT CONNECT,RESOURCE,RECOVERY_CATALOG_OWNER TO RMANCT IDENTIFIED BY RNACT;

授權成功。

3.通過RMAN連接配接到新建立的恢複目錄中:
C:\Users\Administrator>RMAN CATALOG RMANCT/RMANCT
恢複管理器: Release 11.2.0.1.0 - Production on 星期三 12月 17 23:29:42 2014
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
連接配接到恢複目錄資料庫

4.在RMAN中建立CATALOG
RMAN> CREATE CATALOG TABLESPACE RMANTBS;
恢複目錄已建立
-------
恢複目錄建立完成,一個恢複目錄可同時為多個目标資料庫提供服務。隻需要把目标資料庫注冊進來即可。

5.以CATALOG模式連接配接到目标資料庫和恢複目錄(如:目标資料庫為ORACL)
首先以CATALOG模式連接配接到目标資料庫和恢複目錄,連接配接恢複目錄時隻需要在連接配接時指定CATALOG參數即可。
C:\Users\Administrator>RMAN TARGET / CATALOG RMANCT/RMANCT@ORCL;

恢複管理器: Release 11.2.0.1.0 - Production on 星期三 12月 17 23:33:52 2014

Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.

連接配接到目标資料庫: ORCL (DBID=1392118573)
連接配接到恢複目錄資料庫

6.注冊目标資料庫
RMAN> REGISTER DATABASE;

注冊在恢複目錄中的資料庫
正在啟動全部恢複目錄的 resync
完成全部 resync
-----------
取消注冊為UNREGISTER DATABASE;