oracle實驗記錄 (恢復-rman增量備份)
INCREMENTAL BACKUP
分2種第一種是差異增量備份和累積增量備份
? 差異備份:這是增量備份的預設型別,它備份自最近n 級或更低階別備份以來更改
過的所有塊
? 累積備份:備份自最近n-1 級或更低階別備份以來更改過的所有塊
0級是基礎,如果執行1-4級別時候沒0級備份,那麼oracle自動0級備份
簡單的說:
incremental:備份當天,及小於當前level之間變化的block
例:
週日 0 ,週一2,週二2 ,週三一,週四0
分析 週日0級備份:相當與FULL備份
週一2級備份:備份週日到週一變化的BLOCK
週二2級備份:備份周1到周2變化的BLOCK
週三1級備份:備份周1到週三變化的block
週四0級備份:備份週日到週四的所有內容(FULL BACKUP)
級別0最大,4最小 可以看出 周1級別小於週日級別 所以只備份當天的變化,週二級別等於週一級別所以也只備份 當天的變化,週三級別大於周2級別大於周1級別小於週日級別 所以
備份周1-周3的變化
週四0級 FULLBACKUP
culumative備份:備份當天及小於等於當前級別之間的變化block
例:
週日 0 ,週一2,週二2 ,週三一,週四0
分析 週日0級備份:相當與FULL備份
週一2級備份:備份週日到週一變化的BLOCK
週二2級備份:備份周1到周2變化的BLOCK
週三1級備份:備份周1到週三變化的block
週四0級備份:備份週日到週四的所有內容(FULL BACKUP)
級別0最大,4最小 可以看出 周1級別小於週日級別 所以只備份當天的變化,週二級別等於週一級別所以備份周1到周2的變化的block(注意等於也備份),週三級別大於周2級別大
於周1級別小於週日級別 所以備份周1-周3的變化
週四0級 FULLBACKUP
SQL> create table t1(a char(2000),b char(2000),c char(2000)) tablespace test;
表已建立。
RMAN> backup incremental level 0 datafile 6; backup culumative(累積備份) level
RMAN> backup incremental level 2 datafile 6;~~~~~~~insert 產生要備份的塊
RMAN> backup incremental level 2 datafile 6;~~~~~~~insert 產生要備份的塊
RMAN> backup incremental level 1 datafile 6;~~~~~~~insert 產生要備份的塊
RMAN> list backup of datafile 6;
SQL> create table t1(a char(2000),b char(2000),c char(2000)) tablespace test;
表已建立。
SQL> insert into t1 values('a','a','a');
每次INSERT 都會產生一個新BLOCK 8192=8K
備份集列表
===================
RMAN> list backup of datafile 6;
備份集列表
===================
BS 關鍵字 型別 LV 大小 裝置型別 經過時間 完成時間
------- ---- -- ---------- ----------- ------------ ----------
25 Incr 0 216.00K DISK 00:00:00 18-9月 -09
BP 關鍵字: 25 狀態: AVAILABLE 已壓縮: NO 標記: TAG20090918T145032
段名:E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2009_09_18\O1_MF_N
NND0_TAG20090918T145032_5C6CFS5C_.BKP
備份集 25 中的資料檔案列表
檔案 LV 型別 Ckp SCN Ckp 時間 名稱
---- -- ---- ---------- ---------- ----
6 0 Incr 1799000 18-9月 -09 D:\TEST.DBF
BS 關鍵字 型別 LV 大小 裝置型別 經過時間 完成時間
------- ---- -- ---------- ----------- ------------ ----------
26 Incr 2 48.00K DISK 00:00:01 18-9月 -09~~~2級時候~~~~~變化塊為8K(另外40是固定的不知道包含什麼)只備份當前
BP 關鍵字: 26 狀態: AVAILABLE 已壓縮: NO 標記: TAG20090918T145101
段名:E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2009_09_18\O1_MF_N
NND2_TAG20090918T145101_5C6CGOGN_.BKP
備份集 26 中的資料檔案列表
檔案 LV 型別 Ckp SCN Ckp 時間 名稱~~~~~~~~~~~~~~~~CKP SCN(CHECKPOINT SCN)
---- -- ---- ---------- ---------- ----
6 2 Incr 1799025 18-9月 -09 D:\TEST.DBF
BS 關鍵字 型別 LV 大小 裝置型別 經過時間 完成時間
------- ---- -- ---------- ----------- ------------ ----------
27 Incr 2 48.00K DISK 00:00:01 18-9月 -09~~~~~2級時候~~~~~~~變化塊為8K(另外40是固定的不知道包含什麼)只備份當前
BP 關鍵字: 27 狀態: AVAILABLE 已壓縮: NO 標記: TAG20090918T145132
段名:E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2009_09_18\O1_MF_N
NND2_TAG20090918T145132_5C6CHNQG_.BKP
備份集 27 中的資料檔案列表
檔案 LV 型別 Ckp SCN Ckp 時間 名稱
---- -- ---- ---------- ---------- ----
6 2 Incr 1799050 18-9月 -09 D:\TEST.DBF
BS 關鍵字 型別 LV 大小 裝置型別 經過時間 完成時間
------- ---- -- ---------- ----------- ------------ ----------
28 Incr 1 72.00K DISK 00:00:01 18-9月 -09~~~~1級別時~~~變化塊為8K~加上2次2級別時候變化塊16 一共32+固定40=72K~~
BP 關鍵字: 28 狀態: AVAILABLE 已壓縮: NO 標記: TAG20090918T145336
段名:E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2009_09_18\O1_MF_N
NND1_TAG20090918T145336_5C6CMJTC_.BKP
備份集 28 中的資料檔案列表
檔案 LV 型別 Ckp SCN Ckp 時間 名稱
---- -- ---- ---------- ---------- ----
6 1 Incr 1799107 18-9月 -09 D:\TEST.DBF
開啟塊跟蹤
增強incremental backup效能(10G才有 塊跟蹤)10G前 RMAN要掃描所有datafile中所有塊利用checkpoint SCN確定父備份中那些塊修改過
2段doc中描述
Oracle Database 10g includes a change tracking feature for incremental backups, which improves incremental backup performance by recording changed blocks in
each datafile in a change tracking file. If change tracking is enabled, then RMAN uses the change tracking file to identify changed blocks for incremental
backup. This avoids the need to scan every block in the datafile, reducing the number of disk reads during backup
RMAN's change tracking feature for incremental backups improves incremental backup performance by recording changed blocks in each datafile in a change
tracking file. If change tracking is enabled, RMAN uses the change tracking file to identify changed blocks for incremental backup, thus avoiding the need to
scan every block in the datafile.
After enabling change tracking, the first level 0 incremental backup still has to scan the entire datafile, as the change tracking file does not yet reflect
the status of the blocks. Subsequent incremental backup that use this level 0 as parent will take advantage of the change tracking file.
Using change tracking in no way changes the commands used to perform. incremental backups, and the change tracking files themselves generally require little
maintenance after initial configuration.
Change tracking is disabled by default, because it does introduce some minimal performance overhead on your database during normal operations. However, the
benefits of avoiding full datafile scans during backup are considerable, especially if only a small percentage of data blocks are changed between backups. If
your backup strategy involves incremental backups, then you should enable change tracking.
One change tracking file is created for the whole database. By default, the change tracking file is created as an Oracle managed file in DB_CREATE_FILE_DEST.
You can also specify the name of the block change tracking file, placing it in any location you choose.
開塊跟蹤後(預設是關閉的),用一個檔案(LOG)來跟蹤自上次備份起更改過的塊,rman讀取這個LOG 來確定 要備份的塊 提高了incremental checkpoint效能,避免掃描所有塊,level
0還是會掃描所有block的,如果跟蹤檔案丟失則還會scan the entire datafile,所以開啟塊跟蹤10G才是真正意義上的 INCREMENTAL BACKUP(不用再掃描所有DATAFILE )
15:00:35 SQL> desc v$block_change_tracking;
名稱 是否為空? 型別
----------------------------------------- -------- ------------------------
STATUS VARCHAR2(10)
FILENAME VARCHAR2(513)
BYTES NUMBER
SQL> col filename format a30
SQL> select * from v$block_change_tracking;
STATUS FILENAME BYTES
---------- ------------------------------ ----------
DISABLED
SQL> alter database enable block change tracking using file 'rman_test.trk';~只指定了名字 未指定位置
資料庫已更改。
SQL> select * from v$block_change_tracking;
STATUS FILENAME BYTES
---------- ------------------------------ ----------
ENABLED E:\ORACLE\PRODUCT\10.2.0\DB_1\ 11599872~~~~~~~~~~DEFAULT 存在這個位置
DATABASE\RMAN_TEST.TRK
如果使用OMF 管理oracle檔案 會建立在
db_create_file_dest位置
SQL> alter database disable block change tracking (關閉)
2 ;
資料庫已更改。
SQL> alter database enable block change tracking using file 'd:\backup\rman_test.t
rk';
指定名字和位置
資料庫已更改。
SQL> select * from v$block_change_tracking;
STATUS FILENAME BYTES
---------- ------------------------------ ----------
ENABLED D:\BACKUP\RMAN_TEST.TRK 11599872
可以移動 trace file
To relocate the change tracking file:
If necessary, determine the current name of the change tracking file:
SELECT filename
FROM V$BLOCK_CHANGE_TRACKING;
Shut down the database. For example:
SHUTDOWN IMMEDIATE
Using host operating system commands, move the change tracking file to its new location.
Mount the database and move the change tracking file to a location that has more space. For example:
ALTER DATABASE RENAME FILE 'ora_home/dbs/change_trk.f' TO '/new_disk/change_trk.f';
Open the database:
ALTER DATABASE OPEN;
SQL> shutdown immediate;
資料庫已經關閉。
Fri Sep 18 16:12:13 2009
Block change tracking service stopping.(ALERT.LOG中 )
SQL> host move d:\backup\rman_test.trk e:\rman_test.trk
SQL> startup mount
ORA-32004: obsolete and/or deprecated parameter(s) specified
ORACLE 例程已經啟動。
Total System Global Area 612368384 bytes
Fixed Size 1250428 bytes
Variable Size 205523844 bytes
Database Buffers 398458880 bytes
Redo Buffers 7135232 bytes
資料庫裝載完畢。
SQL> alter database rename file 'd:\backup\rman_test.trk' to 'e:\rman_test.trk';
資料庫已更改。
SQL> alter database open;
資料庫已更改。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12020513/viewspace-614912/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- rman 增量備份恢復
- oracle 增量備份恢復驗證Oracle
- Oracle 備份恢復篇之RMAN catalogOracle
- ORACLE DG從庫 Rman備份恢復Oracle
- dg丟失歸檔,使用rman增量備份恢復
- RMAN增量恢復
- RMAN備份恢復技巧
- oracle10g RMAN增量備份策略Oracle
- 透過搭建恢復目錄實現RMAN異地備份和恢復
- RMAN備份異機恢復
- 【RMAN】Oracle12c以後rman 備份恢復命令參考Oracle
- RMAN備份恢復典型案例——RMAN備份&系統變慢
- RMAN備份恢復效能優化優化
- RMAN備份與恢復測試
- Oracle RMAN備份實戰Oracle
- 用增量備份來快速恢復dg
- Windows oracle 11g rman備份恢復到linux系統WindowsOracleLinux
- rman備份異機恢復(原創)
- 【Xtrabackup】Xtrabackup全備、增量備份及恢復示例
- RMAN備份恢復典型案例——異機恢復未知DBID
- 【rman備份策略】實驗
- Oracle9i RMAN 的優缺點及RMAN 備份及恢復步驟Oracle
- 12 使用RMAN備份和恢復檔案
- RMAN備份恢復典型案例——ORA-00245
- 【RMAN】Oracle12c之後,rman備份Dataguard備端恢復可能出現邏輯錯誤Oracle
- Oracle 備份 與 恢復 概述Oracle
- Oracle 備份恢復之 FlashbackOracle
- ORACLE備份&恢復案例(轉)Oracle
- G017-ORACLE-MIGRATION-01 RMAN備份異機不完全恢復Oracle
- 備份恢復Lesson 04.Using the RMAN Recovery Catalog
- Oracle RMAN恢復測試Oracle
- 備份與恢復oracle_homeOracle
- Oracle 備份和恢復介紹Oracle
- ORACLE備份&恢復案例三(轉)Oracle
- ORACLE備份&恢復案例二(轉)Oracle
- ORACLE本地磁碟備份恢復Oracle
- 【RMAN】在多租戶環境下的RMAN備份及恢復
- Oracle OCP(60):RMAN 備份Oracle
- 透過RMAN備份standby database成功恢復還原Database