1.查看当前是否开启了块跟踪
SQL> select * from v$block_change_tracking;
STATUS FILENAME BYTES
---------- ------------------------------ ----------
DISABLED
2.开户块跟踪
SQL> alter database enable block change tracking;
Database altered.
或加文件名
SQL> alter database enable block change tracking using file'/opt/oracle/oradata/blktrace/blk_trace.dbf';
Database altered.
注:在RAC环境中,change tracking file需要放在共享存储上
block change tracking file的大小和数据库的大小及 enabledthreads of redo 的数量有关系,tracking file 的大小会根据数据库大小的变化和变化, 和更新频率没有关系。
SQL> select * from v$block_change_tracking;
STATUS FILENAME BYTES
---------- ------------------------------ ----------
ENABLED +DATA/rac/changetracking/ctf.2 11599872
95.833629455
3.关闭块跟踪
SQL> alter database disable block change tracking;
Database altered.
SQL> select * from v$block_change_tracking;
STATUS FILENAME BYTES
---------- ------------------------------ ----------
DISABLED
SQL>
4. 改变change tracking file的位置
1) 不关闭数据库的方式
SQL> ALTER DATABASE DISABLE BLOCK CHANGE TRACKING;
SQL> ALTER DATABASE ENABLE BLOCK CHANGE TRACKING USING FILE 'new_location';
注意:这种方式会丢失change tracking file的内容
2) 关闭数据库的方式
SQL> SELECT FILENAME FROM V$BLOCK_CHANGE_TRACKING;(确定当前的文件名)
SQL> SHUTDOWN IMMEDIATE
用操作系统命令将文件move到新路径
SQL> ALTER DATABASE RENAME FILE
'/disk1/changetracking/o1_mf_2f71np5j_.chg' TO
'/disk2/changetracking/o1_mf_2f71np5j_.chg';
SQL> ALTER DATABASE OPEN;