RMAN v$block_change_tracking

在用RMAN作增量备份时,如果想提高性能的话,可以考虑启用block change tracking.因为,默认情况下,RMAN在备份(包括增量备份)时,会读取所有数据块到内存,然后检查数据块头SCN信息,发现改变了,则认为需要备份,否则不备。那么,如果启启用block change tracking的话,则RMAN可以只需要读取tracking file,发现数据文件头有改变,则被,否则不备。这样,就避免了扫描数据文件中的每一个块了。那么该怎样启用这一特性呢?

首先,数据库至少要MOUNT(因为这一动作要写入控制文件),当然,OPEN状态更是没的说了。

其次,执行命令:SQL> alter database enable block change tracking;(如果启用OMF特性,即参数DB_CREATE_FILE_DEST生效),否则,执行:SQL> alter database enable block change tracking using file ‘/u01/app/tracking/track.dbf ‘reuse;(其中,using file 关键字,表示将来生成的tracing file的路径及文件名,值得注意的是,RAC环境下,该路径一定要指向共享存储上。reuse表示重用,即会覆盖之前的tracking file,如果有的话)

然后,可以通过下面的命令查询block change tracking是否生效,即查询v$block_change_tracking:

SQL> select * from v$block_change_tracking;

最后,如果想要禁用该特性的话,也很简单:

SQL> alter database disable block change tracking;

Database altered.

当然了,禁用该特性的同时,之前生成的tracking file 也一并被删除了!

补充:如果想要对我们的tracking file 进行重命名、重定位操作的话,跟操作普通数据文件一样:

  • 干净关闭数据库,SQL>shutdown immediate/transactional/normal;
  • 生成目标文件,即使用操作系统的文件拷贝命令,cp /u01/app/tracking/track.dbf /u02/app/tracking/new_track.dbf
  • 启动数据库到MOUNT状态,然后执行 SQL>alter database rename file ‘/u01/app/tracking/track.dbf ‘ to ‘/u02/app/tracking/new_track.dbf’;
  • 打开数据库,SQL>alter database open;
SQL> alter database enable block change tracking using file ‘/u01/app/tracking/track.dbf’;
Database altered.

评论 (1)

  • Asher| 2010年12月28日

    补充:启动块跟踪特性之后,会启动一个CTWR后台进程:
    SYS@orcl>select * from v$block_change_tracking;

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

    SYS@orcl>!ps -ef | grep ora_ct
    oracle 27661 22432 0 16:32 pts/3 00:00:00 /bin/bash -c ps -ef | grep ora_ct
    oracle 27663 27661 0 16:32 pts/3 00:00:00 grep ora_ct

    SYS@orcl>alter database enable block change tracking using file
    2 ‘/u01/app/oradata/tracking/tracking.file’;

    Database altered.

    SYS@orcl>!ps -ef | grep ora_ct
    oracle 27667 1 0 16:32 ? 00:00:00 ora_ctwr_orcl
    oracle 27673 22432 0 16:32 pts/3 00:00:00 /bin/bash -c ps -ef | grep ora_ct

    SYS@orcl>select * from v$block_change_tracking;

    STATUS FILENAME BYTES
    ———- ——————————————— ———-
    ENABLED /u01/app/oradata/tracking/tracking.file 11599872

    SYS@orcl>

  • 发表评论

    邮箱地址不会被公开。 必填项已用*标注