修改跟踪文件(change tracking file)是一个可选的文件,这是Oracle 10g 企业版中新增的。这个文件惟一的目的是跟踪自上一个增量备份以来哪些块已经修改。采用这种方式,恢复管理器(Recovery Manager,RMAN)工具就能只备份确实有变化的数据库块,而不必读取整个数据库。
在Oracle 10g之前的版本中,要完成增量备份,必须读取整个数据库文件,查找自上一次增量备份以来修改的块。所以,如果有一个1 TB的数据库,只在其中增加了500 MB的新数据(例如,数据仓库负载),增量备份就必须读取1 TB的数据,在其中找出要备份的500 MB新信息。所以,尽管增量备份存储的数据确实少得多,但它还是要读取整个数据库。
在Oracle 10g企业版中,就不是这样了。Oracle运行时,如果块被修改,Oracle可能会维护一个文件,告诉RMAN哪些块已经修改。创建这个修改跟踪文件的过程相当简单,只需通过ALTER DATABASE命令就可以完成:

警告 我在这本书里再三强调一点:要记住,不要轻易执行设置参数、修改数据库和产生重大改变的命令, 在你的“实际”系统上用这些命令之前一定要先进行测试。实际上,前面这个命令会导致数据库做更多工作。它会消耗资源。
要关闭和删除块修改跟踪文件,还要再用一次ALTER DATABASE命令:

注意,这个命令实际上会清除块修改跟踪文件。它不只是禁用这个特性,而是连文件也一并删除了。可以采用ARCHIVELOG或NOARCHIVELOG模式再次启用这个新的块修改跟踪特性。不过,要记住,NOARCHIVELOG模式的数据库中并不保留每天生成的重做日志,所以一旦介质(磁盘/设备)出现故障,所有修改都将无法恢复!NOARCHIVELOG模式的数据库总有一天会丢失数据。我们将在第9章更详细地讨论这两种数据库模式。





