通过使用block change tracking功能,可以提高Oracle incremental备份进程的效率。

incremental backup的目的是只备份那些自上次备份以来发生过改变的block。然而,即使只有一小部分发生改变,incremental backup也要读取完整的数据文件。block change tracking功能解决了这个问题。它使用change tracking writer(CTWR)后台进程,在change tracking file文件中,记录所有数据库中变化的物理位置。启动block change tracking功能后,level 0级的incremental backup依然要扫描整个数据文件,因为change tracking file还没有映射到block的状态。对于后续级别的incremental backups,RMAN使用change tracking data决定哪些需要读取。通过消除对整个数据文件的read,提高了性能。

change tracking files初始化配置以后,通常不需要维护,在执行incremental backup时,命令和未配置时一样。block change tracking file的大小和下列成比例:

l Database size,in bytes。RAC环境下,the number of enabled threads。

l The number of old backups maintained by the block change tracking file.

开启block change tracking:

如果设置了DB_CREATE_FILE_DEST参数,也即创建了Oracle-managed file。可以使用下面的命令启用/关闭block change tracking:

SQL> ALTER DATABASE ENABLE BLOCK CHANGE TRACKING;

SQL> ALTER DATABASE DISABLE BLOCK CHANGE TRACKING;

如果未设置DB_CREATE_FILE_DEST参数,则要使用USING FILE语句为tracking file指定用户定义的目录路径和文件名:

SQL> ALTER DATABASE ENABLE BLOCK CHANGE TRACKING

2> USING FILE ‘...’

3> REUSE;

通过视图V$BLOCK_CHANGE_TRACKING可以查看当前block change tracking的配置情况。

默认情况下,change tracking是关闭的,因为它会引起很小一部分的性能开销。

Oracle Block Change Tracking功能(转)的更多相关文章

  1. enable or disable Oracle block change tracking

    Oracle的block change tracking用于记录上次备份以来改变过的block信息,因此打开block change tracking可以大大加快增量备份的速度. 1. Enable ...

  2. Oracle 10g Block Change Tracking特性

    Using Block Change Tracking to Improve Incremental Backup Performance 使用块改变跟踪改善增量备份的性能 The block cha ...

  3. Oracle 块修改跟踪 (Block Change Tracking) 说明

    Block ChangeTracking 是Oracle 10g里推出的特性.官网对Block change tracking 的定义如下: Adatabase option that causes ...

  4. Block Change Tracking (块改变跟踪)

    理论背景:Block ChangeTracking 是Oracle 10g里推出的特性. Block change tracking 会记录data file里每个block的update 信息,这些 ...

  5. Oracle块修改跟踪功能

    块修改跟踪功能是指使用二进制文件记录数据库中数据库更改的过程. 其目的是提高增量备份操作的性能,因为RMAN可以使用快修改跟踪文件找到上次执行备份操作后被修改的数据块.这可以节省大量时间,因为如果不这 ...

  6. SQL Server审计功能入门:更改跟踪(Change Tracking)

    原文:SQL Server审计功能入门:更改跟踪(Change Tracking) 介绍 更改跟踪是一种轻量型解决方案,它为应用程序提供了一种有效的更改跟踪机制.常规的,自定义变更跟踪和读取跟踪数据, ...

  7. Change Tracking of SQLServer

    1.Enable the change tracking at the database level. ALTER DATABASE AdventureWorks2008 SET CHANGE_TRA ...

  8. Entity Framework Code First - Change Tracking

    In this post we will be discussing about change tracking feature of Entity Framework Code First. Cha ...

  9. Oracle block 格式

    Oracle block 格式 信息参考:  http://www.ixora.com.au/ 特别感谢 overtime 大哥对我的无私的帮助和对我一直鼓励支持我的网友这些资料是没得到oracle ...

随机推荐

  1. 【Python】解决测试依赖之 Mock模块的基本使用

    什么是mock? Mock,顾名思义,模拟,在我们日常生活中或者影视作品中见得最多的可能就是预备飞行员的模拟训练,印象比较深的是电影<萨利机长>中的模拟器,经过几千次模拟,人们得出机长萨利 ...

  2. 辗转相除法 & 裴蜀定理

    2018-03-11 17:39:22 一.辗转相除法 在数学中,辗转相除法,又称欧几里得算法(英语:Euclidean algorithm),是求最大公约数的算法.辗转相除法首次出现于欧几里得的&l ...

  3. oracle表的统计信息完全正确,执行计划无故改变。原厂人员如是回复

    就像在电话里提到的那样,Oracle内部的优化器是根据一系列的内部算法基于表上的统计信息来产生执行计划的.对于特别复杂的SQL语句,Oracle的优化器有一定几率不能得到最优的执行计划(因为机器代码实 ...

  4. Page.TryUpdateModel 方法

    使用来自值提供程序的值更新指定的模型实例. 使用来自值提供程序的值更新指定的模型实例. 命名空间:   System.Web.UI程序集:  System.Web(System.Web.dll 中) ...

  5. MAPE 平均绝对百分误差

    from fbprophet.diagnostics import performance_metrics df_p = performance_metrics(df_cv) df_p.head() ...

  6. 在JavaScript中进行文件处理,第五部分:Blobs

    译注:原文是<JavaScript高级程序设计>的作者Nicholas Zakas写的,本翻译纯属为自己学习而做,仅供参考.原文链接:这里 到目前为止,这个系列的帖子集中在和这些文件交互- ...

  7. 利用Sonar定制自定义JS扫描规则(一)——sonar环境搭建

    接触sonar已经有段时间了,最早是在一个项目组里面听到这个框架,后来在公司持续集成活动的推动下,也逐渐学习了sonar的具体功能.sonar集成了findbugs,pmd,checkstyle各种静 ...

  8. 对象存储在什么地方(java编程思想)

    用引用操作对象.创建了一个引用,需要进行初始化(与事物进行关联),才能正常使用.new将引用于对象进行关联 对象存储到什么地方? 程序运行时,对象是怎么进行放置安排的呢?特别是内存是怎么分配的呢?对这 ...

  9. linux centos 虚拟机新安装后没有网络

    ping的时候出现 name or service not known的时候 可以 修改/etc/sysconfig/network-scripts/ifcfg-ens33 文件 vi ifcfg-e ...

  10. 【linux】linux无root权限安装包的一般流程

    apt-get source PACKAGE ./configure --prefix=$HOME/myapps make make install