oracle数据库:数据文件_笔记12
3.9修改跟踪文件
修改跟踪文件(change tracking file)是一个可选的文件,这是Oracle Database 10g企业版中新增的。这个文件唯一的目的是跟踪自上一个增量备份以来哪些块已经修改。采用这种方式,恢复管理器(Recovery Manager,RMAN)工具就能只备份确实有变化的数据库块,而不必读取整个数据库。
在Oracle Database 10g之前的版本中,要完成增量备份,必须读取整个数据库文件,查找自上一次增量备份以来修改的块。所以,如果有一个1TB的数据库,只在其中增加了500MB的新数据,增量备份就必须读取1TB的数据,在其中找出要备份的500MB新信息。所以,尽管增量备份存储的数据确实少得多,但它还是要读取整个数据库。
在Oracle Database 10g企业版及更高版本中,就不是这样了。Oracle运行时,如果块被修改,Oracle可能会维护一个文件,告诉RMAN哪些块已经修改。创建这个修改跟踪文件的过程相当简单,只需通过ALTER DATABASE命令就可以完成:
sys@ORCL>alter database enable block change tracking
2 using file
3 '/home/oracle/app/oracle/oradata/orcl/changed_blocks.bct';
Database altered.
sys@ORCL>!
[oracle@vcenteroracle ~]$ pwd
/home/oracle
[oracle@vcenteroracle ~]$ cd /home/oracle/app/oracle/oradata/orcl
[oracle@vcenteroracle orcl]$ ls
changed_blocks.bct redo01.log redo03.log system01.dbf undotbs01.dbf
control01.ctl redo02.log sysaux01.dbf temp01.dbf users01.dbf
要关闭和删除修改跟踪文件,还要再用一次ALTER DATABASE命令:
sys@ORCL>alter database disable block change tracking;
Database altered.
sys@ORCL>!
[oracle@vcenteroracle ~]$ cd /home/oracle/app/oracle/oradata/orcl
[oracle@vcenteroracle orcl]$ ls
control01.ctl redo02.log sysaux01.dbf temp01.dbf users01.dbf
redo01.log redo03.log system01.dbf undotbs01.dbf
注意:这个命令实际上会清除块修改跟踪文件。它不只是禁用这个特性,而是连文件也一并删除了。
???可以采用ARCHIVELOG或NOARCHIVELOG模式再次启用这个新的块修改跟踪特性。
不过,要记住,NOARCHIVELOG模式的数据库中并不保留每天生成的重做日志,所以一旦介质(磁盘/设备)出现故障,所有修改都将无法恢复!NOARCHIVELOG模式的数据库总有一天会丢失数据。
http://www.52ij.com/jishu/5156.htmloracle数据库:数据文件_笔记11
本文来源 我爱IT技术网 http://www.52ij.com/jishu/5157.html 转载请保留链接。
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
