10g中的塊修改跟蹤特性(Block Change Tracking)
10G中ORACLE提供了一個新的特性:塊修改跟蹤(Block Change Tracking),該特性主要服務於RMAN的增量備份。
眾所周知在之前的版本中,RMAN中建立增量備份並不能顯明縮短備份時間,這主要就是因為RMAN沒有簡便的方式判斷哪些塊是被修改過的,因此仍然是隻能讀取所有資料檔案中的所有資料塊,分別檢查資料塊中SCN並與父增量備份集中塊的SCN做比較,如果發現較新則表示修改過。如果啟用了塊修改跟蹤的特性,RMAN就可以通過塊修改跟蹤檔案確定哪些塊被修改過,從而避免掃描所有的資料檔案中所有塊。
啟用塊修改跟蹤特性,0級的增量備份肯定還得掃描所有資料檔案,不過其後依賴這一0級備份集建立的增量備份就可以通過塊修改跟蹤檔案來獲取修改過的塊了。
預設情況下資料庫是禁用塊修改跟蹤的(如果使用了OMF特性,ORACLE會自動建立塊修改跟蹤檔案),因為這可能會帶來一些額外的開銷。不過該性特性對於增量備份畢竟相當有用,因此要看你的取捨,如果你的資料庫極少有修改操作,同時你希望增量備份儘可能快,並且建立的增量備份集儘可能小,那啟用塊修改跟蹤還是有意義的,並且這也不會太影響到資料庫的效能。
塊修改跟蹤檔案是基於整個資料庫的,如果使用了OMF,該檔案建立於DB_CREATE_FILE_DEST引數指定的目錄下,當然你也可以手動修改該檔案到其它路徑,不過如果是RAC環境,塊修改跟蹤檔案必須建立在共享儲存上,確保所有節點都能訪問到它。塊修改跟蹤檔案中最多隻能儲存基於相同0級的,最近8天的增量備份所需資訊,因此如果超出,則塊修改跟蹤檔案就起不到作用了。
注意,備份恢復並不會備份或者恢復塊修改跟蹤檔案。
1、 啟用塊修改跟蹤
啟用塊修改跟蹤可通過下列語句:
SQL> alter database enable block change tracking using file 'rman_inc.trk';
Database altered.禁用塊修改跟蹤可通過下列語句:
SQL> alter database disable block change tracking;
Database altered.查詢是否啟用塊修改跟蹤可以通過下列語句:
SQL> select status from v$block_change_tracking;
STATUS
----------
DISABLED上述操作在資料庫mount或open狀態都可以進行,不過如果你要修改塊修改跟蹤檔案的路徑,則只能在資料庫啟動到mount狀態時修改。
2、 修改塊修改跟蹤檔案路徑
修改塊修改跟蹤檔案可以通過alter database rename file命令,但是隻能在mount狀態下操作。
檢視當前塊修改跟蹤檔案路徑:
SQL> select filename from v$block_change_tracking;
FILENAME
--------------------------------------------------------------------------------------
E:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\RMAN_INC.TRKShutdown 資料庫並啟動到mount狀態:
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount
ORACLE instance started.
Total System Global Area 167772160 bytes
Fixed Size 1295608 bytes
Variable Size 88083208 bytes
Database Buffers 71303168 bytes
Redo Buffers 7090176 bytes
Database mounted.手工複製塊修改檔案到新路徑下,然後執行alter database命令:
SQL> alter database rename file 'E:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\RMAN_INC.TRK'
2 to 'E:\oracle\oradata\jssweb\rman_inc.trk';
Database altered.
SQL> alter database open;
Database altered.檢視當前塊修改跟蹤檔案路徑:
SQL> select filename from v$block_change_tracking;
FILENAME
-----------------------------------------------------
E:\ORACLE\ORADATA\JSSWEB\RMAN_INC.TRK如果你的數 據庫無法shutdown , 其實也無所謂,先disable,然後執行enable時指定一個新路徑也可以的:),只不過,原來檔案中記錄的塊修改的跟蹤資訊也就沒有了。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7607759/viewspace-587003/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Block Change Tracking (Oracle 塊修改跟蹤)BloCOracle
- Oracle 塊修改跟蹤 (Block Change Tracking) 說明OracleBloC
- oracle 10g R2 Block change tracking 新特性Oracle 10gBloC
- oracle 10g 開啟BLOCK CHANGE TRACKINGOracle 10gBloC
- oracle 的 BLOCK CHANGE TRACKINGOracleBloC
- 加快RMAN增量備份的速度(block change tracking特性)BloC
- 啟用Block Change Tracking-10g新特性BloC
- Oracle Block Change Tracking功能OracleBloC
- ZT 啟用Block Change Tracking-10g新特性BloC
- 啟用oracle block change trackingOracleBloC
- oracle 10g中使用block change tracking加快增量備份Oracle 10gBloC
- Oracle RMAN 增量備份優化方法(啟用 Block Change Tracking特性)Oracle優化BloC
- Oracle10g新增BLOCK CHANGE TRACKING功能OracleBloC
- 10g 新特性 快改變跟蹤
- OpenCV 3.2 Tracking 物體跟蹤OpenCV
- block change tracking檔案可以放在flash_recovery_area裡!BloC
- 適用於rman增級備份之資料庫特性db block change tracking學習思路資料庫BloC
- Oracle 10G 跟蹤Oracle 10g
- sqlserver Change Data Capture&Change TrackingSQLServerAPT
- XTTS全備開啟BCT後等待事件 block change tracking buffer spaceTTS事件BloC
- Oracle OCP 1Z0 O53 Q78(RMAN block change tracking)OracleBloC
- oracle 10g 程式跟蹤命令Oracle 10g
- Confluence 6 跟蹤你安裝中的自定義修改
- Entity Framework Tutorial Basics(19):Change TrackingFramework
- package-tracking-app: Golang+RabbitMQ實時包裹跟蹤應用PackageAPPGolangMQ
- 為什麼對資料塊修改的change的scn會小於對undo塊的修改?!
- 初探SQL Server 2008 Change TrackingSQLServer
- 敏捷專案中的跟蹤矩陣敏捷矩陣
- 重識別(re-ID)特徵適合直接用於跟蹤(tracking)問題麼?特徵
- JVM中的本機記憶體跟蹤JVM記憶體
- 跟蹤model中屬性(值)的變更
- 關於oracle中session跟蹤的總結OracleSession
- 如何在 Git 中取消檔案的跟蹤Git
- [zt] oracle跟蹤檔案與跟蹤事件Oracle事件
- oracle跟蹤檔案與跟蹤事件(zt)Oracle事件
- oracle跟蹤檔案和跟蹤事件(zt)Oracle事件
- 在Unity中實現手部跟蹤Unity
- 揭祕ORACLE備份之----RMAN之四(塊跟蹤)Oracle