10g 新特性 快改變跟蹤

perfychi發表於2012-11-01
引用百度文庫:
傳統的增量備份方法為了獲得需要備份的資料塊,必須對資料檔案中的所有資料塊進行遍歷,
雖然增量備份減少了備份檔案的體積,但是備份效率並不高。

但是10G後 這一情況得到了改善


10g 的新特性


10G ORACLE提供了一個特殊的檔案叫BLOCK CHANGE TRACKING FILE

每當資料塊發生改變時,相關資訊同時紀錄到這個檔案中,這樣當RMAN進行增量備份時,
從這個檔案就可以獲得需要備份的資料塊列表,而不必對所有資料塊進行遍歷,因此提高了增量備份的效率


預設是關閉的,

1. 怎麼啟用block change tracking呢?
==========================================================================================

SQL> alter database enable block change tracking;


也可以透過下面的命令手工指定TRACKING FILE的檔案位置

SQL> alter database enable block change tracking using file '/u01/oradata/gbminer/chg01.dbf';


RAC 特殊情況處理
 
 1. 必須手動指定位置
 2. 位置必須在共享儲存上

SQL> alter database enable block change tracking;
alter database enable block change tracking
*
ERROR at line 1:
ORA-19773: must specify change tracking file name



SQL> alter database enable block change tracking using file '+DATA/wydb/change01.dbf';

Database altered.


2. 怎麼檢視狀態
============================================================================================

SQL> col FILENAME for a45
SQL> select * from v$block_change_tracking;

STATUS     FILENAME                                           BYTES
---------- --------------------------------------------- ----------
ENABLED    +DATA/wydb/change01.dbf                         11599872


3. 怎麼檢視程式
============================================================================================

啟用block change tracking後,ORACLE會啟動一個CTWR程式,這個程式負責跟蹤資料變化。
ps -ef | grep ctwr可以查到


[oracle@oracle01 ~]$ ps -efl|grep ctwr
0 S oracle   19610     1  0  75   0 - 463706 stext 13:34 ?        00:00:00 ora_ctwr_wydb1

[oracle@oracle02 ~]$ ps -efl|grep ctwr
0 S oracle    3099     1  0  75   0 - 463688 stext 13:35 ?        00:00:00 ora_ctwr_wydb2


4. 怎麼關閉
================================================================================================


SQL> alter database disable block change tracking;

Database altered.

SQL> select * from v$block_change_tracking;

STATUS     FILENAME                                           BYTES
---------- --------------------------------------------- ----------
DISABLED



5. 改變trace 檔案的位置
================================================================================================

1. SELECT filename FROM V$BLOCK_CHANGE_TRACKING;

2.SHUTDOWN IMMEDIATE

3.mv Change Tracking File

4.startup mount
5 ALTER DATABASE RENAME FILE     'ora_home/dbs/change_trk.f' TO '/new_disk/change_trk.f


6、ALTER DATABASE OPEN;



6. 評估 trace 檔案的大小
================================================================================================
Change Tracking File大小跟REDO現成數和資料庫大小成正比的,但跟更新頻率沒有關係。
典型, 跟蹤檔案需要的空間是被跟蹤資料塊大小的1/3萬.

那我問大家,300G的資料庫,改變跟蹤檔案多大? 是10M

注意:Change Tracking File大小跟我們的記憶體分配一樣,是有顆粒的 它的顆粒是10M


change tracking file大小從10MB開始,每10M增長1次.因此,接近300G的資料檔案需要10M的跟蹤檔案,接近600G的資料檔案需要20MB跟蹤檔案。

對於每個資料檔案,最小分配跟蹤檔案是320K.














 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/27042095/viewspace-748141/,如需轉載,請註明出處,否則將追究法律責任。

相關文章