• Oracle Block Change Tracking功能(转)


    通过使用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是关闭的,因为它会引起很小一部分的性能开销。

  • 相关阅读:
    数据库锁表及阻塞的原因和解决办法
    JS中的this都有什么用?
    vue打包要点
    Vue.js的虚拟dom
    JS继承方式
    JS中的浅拷贝和深拷贝。
    详解计算机原码,反码,补码。
    经常被问到的面试题1
    eslint规则说明
    git常用命令总结
  • 原文地址:https://www.cnblogs.com/future2012lg/p/3684221.html
Copyright © 2020-2023  润新知