Oracle10g新增BLOCK CHANGE TRACKING功能
Oracle10g新增了記錄資料塊變化的功能,顯著的提高了增量備份的效率。
對於增量備份,Rman需要比較資料檔案中所有的BLOCK,來確認這個BLOCK是否需要進行備份:
[oracle@testzone ~]$ sqlplus ndmain
SQL*Plus: Release 10.2.0.3.0 - Production on 星期五 12月 28 14:26:45 2007
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
輸入口令:
連線到:
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
SQL> select default_tablespace from user_users;
DEFAULT_TABLESPACE
------------------------------
NDMAIN
SQL> create table t_test1 (id number);
表已建立。
SQL> exit從 Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options 斷開
[oracle@testzone ~]$ exit
exit主機命令完成
RMAN> backup incremental level 1 tablespace ndmain;
啟動 backup 於 28-12月-07使用通道 ORA_DISK_1通道 ORA_DISK_1: 啟動增量級別 1 資料檔案備份集通道 ORA_DISK_1: 正在指定備份集中的資料檔案輸入資料檔案 fno=00011 name=/data/oradata/testzj/ndmain01.dbf輸入資料檔案 fno=00012 name=/data/oradata/testzj/ndmain02.dbf輸入資料檔案 fno=00013 name=/data/oradata/testzj/ndmain03.dbf輸入資料檔案 fno=00014 name=/data/oradata/testzj/ndmain04.dbf輸入資料檔案 fno=00015 name=/data/oradata/testzj/ndmain05.dbf通道 ORA_DISK_1: 正在啟動段 1 於 28-12月-07通道 ORA_DISK_1: 已完成段 1 於 28-12月-07段控制程式碼=/data/backup/05j4o7ah_1_1 標記=TAG20071228T142728 註釋=NONE通道 ORA_DISK_1: 備份集已完成, 經過時間:00:04:35完成 backup 於 28-12月-07
RMAN> list backup;
備份集列表
===================
BS 關鍵字 型別 LV 大小 裝置型別 經過時間 完成時間
------- ---- -- ---------- ----------- ------------ ----------
4 Incr 0 11.15G DISK 00:06:22 28-12月-07
BP 關鍵字: 4 狀態: AVAILABLE 已壓縮: NO 標記: TAG20071228T141945段名:/data/backup/04j4o6s1_1_1
備份集 4 中的資料檔案列表
檔案 LV 型別 Ckp SCN Ckp 時間 名稱
---- -- ---- ---------- ---------- ----
11 0 Incr 5479421905 28-12月-07 /data/oradata/testzj/ndmain01.dbf
12 0 Incr 5479421905 28-12月-07 /data/oradata/testzj/ndmain02.dbf
13 0 Incr 5479421905 28-12月-07 /data/oradata/testzj/ndmain03.dbf
14 0 Incr 5479421905 28-12月-07 /data/oradata/testzj/ndmain04.dbf
15 0 Incr 5479421905 28-12月-07 /data/oradata/testzj/ndmain05.dbf
BS 關鍵字 型別 LV 大小 裝置型別 經過時間 完成時間
------- ---- -- ---------- ----------- ------------ ----------
5 Incr 1 88.00K DISK 00:04:26 28-12月-07
BP 關鍵字: 5 狀態: AVAILABLE 已壓縮: NO 標記: TAG20071228T142728段名:/data/backup/05j4o7ah_1_1
備份集 5 中的資料檔案列表
檔案 LV 型別 Ckp SCN Ckp 時間 名稱
---- -- ---- ---------- ---------- ----
11 1 Incr 5479422221 28-12月-07 /data/oradata/testzj/ndmain01.dbf
12 1 Incr 5479422221 28-12月-07 /data/oradata/testzj/ndmain02.dbf
13 1 Incr 5479422221 28-12月-07 /data/oradata/testzj/ndmain03.dbf
14 1 Incr 5479422221 28-12月-07 /data/oradata/testzj/ndmain04.dbf
15 1 Incr 5479422221 28-12月-07 /data/oradata/testzj/ndmain05.dbf
上面這個例子中,LEVEL 0增量備份了11個G,用時6分22秒,而後面的增量只有88K,卻仍然花費了4分26秒,效率低的很。
而採用10g的新特性BLOCK CHANGE TRACKING:
RMAN> DELETE NOPROMPT BACKUP;
使用通道 ORA_DISK_1
備份段列表
BP 關鍵字 BS 關鍵字 Pc# Cp# 狀態 裝置型別段名稱
------- ------- --- --- ----------- ----------- ----------
4 4 1 1 AVAILABLE DISK /data/backup/04j4o6s1_1_1
5 5 1 1 AVAILABLE DISK /data/backup/05j4o7ah_1_1已刪除備份段備份段 handle=/data/backup/04j4o6s1_1_1 recid=4 stamp=642521985已刪除備份段備份段 handle=/data/backup/05j4o7ah_1_1 recid=5 stamp=642522449
2 物件已刪除
RMAN> EXIT
恢復管理器完成。
[oracle@testzone ~]$ sqlplus "/ as sysdba"
SQL*Plus: Release 10.2.0.3.0 - Production on 星期五 12月 28 14:38:11 2007
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
連線到:
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
SQL> alter database enable block change tracking using file '/data/backup/track.trc';
資料庫已更改。
SQL> exit從 Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options 斷開
[oracle@testzone ~]$ rman target /
恢復管理器: Release 10.2.0.3.0 - Production on 星期五 12月 28 14:38:47 2007
Copyright (c) 1982, 2005, Oracle. All rights reserved.
連線到目標資料庫: TESTZJ (DBID=3397373484)
RMAN> backup incremental level 0 tablespace ndmain;
啟動 backup 於 28-12月-07使用目標資料庫控制檔案替代恢復目錄分配的通道: ORA_DISK_1通道 ORA_DISK_1: sid=139 devtype=DISK通道 ORA_DISK_1: 啟動增量級別 0 資料檔案備份集通道 ORA_DISK_1: 正在指定備份集中的資料檔案輸入資料檔案 fno=00011 name=/data/oradata/testzj/ndmain01.dbf輸入資料檔案 fno=00012 name=/data/oradata/testzj/ndmain02.dbf輸入資料檔案 fno=00013 name=/data/oradata/testzj/ndmain03.dbf輸入資料檔案 fno=00014 name=/data/oradata/testzj/ndmain04.dbf輸入資料檔案 fno=00015 name=/data/oradata/testzj/ndmain05.dbf通道 ORA_DISK_1: 正在啟動段 1 於 28-12月-07通道 ORA_DISK_1: 已完成段 1 於 28-12月-07段控制程式碼=/data/backup/06j4o80b_1_1 標記=TAG20071228T143907 註釋=NONE通道 ORA_DISK_1: 備份集已完成, 經過時間:00:06:25完成 backup 於 28-12月-07
RMAN> host;
[oracle@testzone ~]$ sqlplus ndmain
SQL*Plus: Release 10.2.0.3.0 - Production on 星期五 12月 28 14:45:54 2007
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
輸入口令:
連線到:
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
SQL> create table t_test2 (id number);
表已建立。
SQL> exit從 Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options 斷開
[oracle@testzone ~]$ exit
exit主機命令完成
RMAN> backup incremental level 1 tablespace ndmain;
啟動 backup 於 28-12月-07使用通道 ORA_DISK_1通道 ORA_DISK_1: 啟動增量級別 1 資料檔案備份集通道 ORA_DISK_1: 正在指定備份集中的資料檔案輸入資料檔案 fno=00011 name=/data/oradata/testzj/ndmain01.dbf輸入資料檔案 fno=00012 name=/data/oradata/testzj/ndmain02.dbf輸入資料檔案 fno=00013 name=/data/oradata/testzj/ndmain03.dbf輸入資料檔案 fno=00014 name=/data/oradata/testzj/ndmain04.dbf輸入資料檔案 fno=00015 name=/data/oradata/testzj/ndmain05.dbf通道 ORA_DISK_1: 正在啟動段 1 於 28-12月-07通道 ORA_DISK_1: 已完成段 1 於 28-12月-07段控制程式碼=/data/backup/07j4o8e2_1_1 標記=TAG20071228T144626 註釋=NONE通道 ORA_DISK_1: 備份集已完成, 經過時間:00:00:01完成 backup 於 28-12月-07
RMAN> list backup;
備份集列表
===================
BS 關鍵字 型別 LV 大小 裝置型別 經過時間 完成時間
------- ---- -- ---------- ----------- ------------ ----------
6 Incr 0 11.15G DISK 00:06:21 28-12月-07
BP 關鍵字: 6 狀態: AVAILABLE 已壓縮: NO 標記: TAG20071228T143907段名:/data/backup/06j4o80b_1_1
備份集 6 中的資料檔案列表
檔案 LV 型別 Ckp SCN Ckp 時間 名稱
---- -- ---- ---------- ---------- ----
11 0 Incr 5479422630 28-12月-07 /data/oradata/testzj/ndmain01.dbf
12 0 Incr 5479422630 28-12月-07 /data/oradata/testzj/ndmain02.dbf
13 0 Incr 5479422630 28-12月-07 /data/oradata/testzj/ndmain03.dbf
14 0 Incr 5479422630 28-12月-07 /data/oradata/testzj/ndmain04.dbf
15 0 Incr 5479422630 28-12月-07 /data/oradata/testzj/ndmain05.dbf
BS 關鍵字 型別 LV 大小 裝置型別 經過時間 完成時間
------- ---- -- ---------- ----------- ------------ ----------
7 Incr 1 88.00K DISK 00:00:00 28-12月-07
BP 關鍵字: 7 狀態: AVAILABLE 已壓縮: NO 標記: TAG20071228T144626段名:/data/backup/07j4o8e2_1_1
備份集 7 中的資料檔案列表
檔案 LV 型別 Ckp SCN Ckp 時間 名稱
---- -- ---- ---------- ---------- ----
11 1 Incr 5479422832 28-12月-07 /data/oradata/testzj/ndmain01.dbf
12 1 Incr 5479422832 28-12月-07 /data/oradata/testzj/ndmain02.dbf
13 1 Incr 5479422832 28-12月-07 /data/oradata/testzj/ndmain03.dbf
14 1 Incr 5479422832 28-12月-07 /data/oradata/testzj/ndmain04.dbf
15 1 Incr 5479422832 28-12月-07 /data/oradata/testzj/ndmain05.dbf
執行效率的提高十分顯著,這主要是BLOCK CHANGE TRACKING特性的功能。Oracle透過一個小的track檔案來記錄哪些BLOCK發生了變化,RMAN進行增量備份的時候,不再需要掃描整個資料檔案,只需要掃描這個記錄變化的檔案,找到變化的資料塊,並對這些資料塊進行備份即可。從而提高了增量備份的執行效率。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4227/viewspace-69563/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle Block Change Tracking功能OracleBloC
- oracle 的 BLOCK CHANGE TRACKINGOracleBloC
- 啟用oracle block change trackingOracleBloC
- Block Change Tracking (Oracle 塊修改跟蹤)BloCOracle
- oracle 10g 開啟BLOCK CHANGE TRACKINGOracle 10gBloC
- Oracle 塊修改跟蹤 (Block Change Tracking) 說明OracleBloC
- 啟用Block Change Tracking-10g新特性BloC
- ZT 啟用Block Change Tracking-10g新特性BloC
- 加快RMAN增量備份的速度(block change tracking特性)BloC
- block change tracking檔案可以放在flash_recovery_area裡!BloC
- oracle 10g R2 Block change tracking 新特性Oracle 10gBloC
- oracle 10g中使用block change tracking加快增量備份Oracle 10gBloC
- 10g中的塊修改跟蹤特性(Block Change Tracking)BloC
- sqlserver Change Data Capture&Change TrackingSQLServerAPT
- XTTS全備開啟BCT後等待事件 block change tracking buffer spaceTTS事件BloC
- Oracle RMAN 增量備份優化方法(啟用 Block Change Tracking特性)Oracle優化BloC
- Oracle OCP 1Z0 O53 Q78(RMAN block change tracking)OracleBloC
- Entity Framework Tutorial Basics(19):Change TrackingFramework
- 適用於rman增級備份之資料庫特性db block change tracking學習思路資料庫BloC
- 初探SQL Server 2008 Change TrackingSQLServer
- oracle10g data block structureOracleBloCStruct
- Oracle OCP 1Z0 053 Q662(rman change tracking file)Oracle
- Oracle OCP 1Z0 053 Q78(RMAN&change tracking file)Oracle
- Oracle10g 五種不同的block sizeOracleBloC
- Oracle10G新增NO提示Oracle
- ORA-00607: Internal error occurred while making a change to a data blockErrorWhileBloC
- Sql資料庫利用linkserver和 CT[CHANGE_TRACKING]實現釋出訂閱SQL資料庫Server
- oracle10g 審計功能Oracle
- Oracle10g新增DBMS_MONITOR包Oracle
- 在Oracle10g 新增ASM磁碟組OracleASM
- Oracle10g新增CONVERT語法Oracle
- Oracle10g新功能介紹Oracle
- Oracle10g新增DBMS_MONITOR包(二)Oracle
- Oracle10g新增DBMS_MONITOR包(一)Oracle
- Oracle11gr2新增提示CHANGE_DUPKEY_ERROR_INDEXOracleErrorIndex
- Metasploit新增技巧提示功能
- 給httprouter新增pprof功能HTTP
- PostgreSQL新增UUID功能。SQLUI