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

1. Enable block change tracking

1.1 检查数据库是否已经开启了block change tracking

SQL> set linesize 120
SQL> col filename format a60
SQL> SELECT filename, status, bytes FROM v$block_change_tracking;

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

disabled 表示未启用

1.2 开启block change tracking

SQL> ALTER DATABASE ENABLE BLOCK CHANGE TRACKING USING FILE '+DATA_DG01/beiacce/block_change_tracking.log';

Database altered.

1.3 确认block change tracking已开启

SQL> SELECT filename, status, bytes FROM v$block_change_tracking;

FILENAME                                                                         STATUS          BYTES
------------------------------------------------------------                ----------       ----------
+DATA_DG01/beiacce/block_change_tracking.log                 ENABLED      53542912

备注:启动block change tracking时,oracle会启动一个CTWR的后台进程,这个进程的作用就是把信息写入block change tracking文件。如果是RAC系统,oracle会在每个实例上都启动这个后台进程。启动CTWR进程的信息记录在alert文件中。

……

Fri Aug 16 09:38:08 2013
ALTER DATABASE ENABLE BLOCK CHANGE TRACKING USING FILE '+DATA_DG01/beiacce/block_change_tracking.log'
Fri Aug 16 09:38:09 2013
Block change tracking file is current.
Fri Aug 16 09:38:10 2013
Starting background process CTWR
CTWR started with pid=92, OS id=20330
Block change tracking service is active.
Fri Aug 16 09:38:11 2013
Completed: ALTER DATABASE ENABLE BLOCK CHANGE TRACKING USING FILE '+DATA_DG01/beiacce/block_change_tracking.log'

……

2. Disable block change tracking

1.1 检查数据库是否已经开启了block change tracking

SQL> SELECT filename, status, bytes FROM v$block_change_tracking;

FILENAME STATUS BYTES
------------------------------------------------------------ ---------- ----------
+DATA_DG01/beiacce/block_change_tracking.log ENABLED 53542912

1.2 关闭block change tracking

SQL> ALTER DATABASE DISABLE BLOCK CHANGE TRACKING;

Database altered.

1.3 确认block change tracking已关闭

SQL> SELECT filename, status, bytes FROM v$block_change_tracking;

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

备注:关闭block change tracking时,oracle会停止后台进程CTWR,停止CTWR进程的信息记录在alert文件中。另外需要注意一下,关闭block change tracking时,block change tracking文件是否也同时被删除了。如果没有被删除,可能需要执行手工删除。

……

Fri Aug 16 09:39:21 2013
ALTER DATABASE DISABLE BLOCK CHANGE TRACKING
Fri Aug 16 09:39:22 2013
Block change tracking service stopping.
Fri Aug 16 09:39:22 2013
Stopping background process CTWR
Fri Aug 16 09:39:23 2013
WARNING: Cannot delete file +DATA_DG01/beiacce/block_change_tracking.log
Fri Aug 16 09:39:23 2013
Errors in file /app/oracle/admin/BEIACCE/udump/beiacce1_ora_18564.trc:
ORA-01265: Unable to delete CHANGE TRACKING +DATA_DG01/beiacce/block_change_tracking.log
ORA-15028: ASM file '+DATA_DG01/beiacce/block_change_tracking.log' not dropped; currently being accessed
Completed: ALTER DATABASE DISABLE BLOCK CHANGE TRACKING

……

alert日志表明删除block change tracking文件没有成功,原因是文件正被使用。使用这个文件的进程基本上就是2个,一个是CTWR,另一个就是RMAN备份。从alert日志中可以看出,停止block change tracking时是先停CTWR进程,再删除文件。因此占用这个文件的进程不太可能是CTWR,十有八九是备份进程。

删除block change tracking文件(ASM)

$> export ORACLE_SID=+ASM1
$> sqlplus "/as sysdba"

SQL*Plus: Release 10.2.0.4.0 - Production on Fri Aug 16 09:48:53 2013

Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.

Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options

SQL> alter diskgroup DATA_DG01 drop file '+DATA_DG01/beiacce/block_change_tracking.log';

Diskgroup altered.

如果没删除block change tracking文件,下次开启block change tracking又使用的是同一文件,会报以下错误:

SQL> ALTER DATABASE ENABLE BLOCK CHANGE TRACKING USING FILE '+DATA_DG01/beiacce/block_change_tracking.log';
ALTER DATABASE ENABLE BLOCK CHANGE TRACKING USING FILE '+DATA_DG01/beiacce/block_change_tracking.log'
*
ERROR at line 1:
ORA-19751: could not create the change tracking file
ORA-19750: change tracking file: '+DATA_DG01/beiacce/block_change_tracking.log'
ORA-17502: ksfdcre:4 Failed to create file +DATA_DG01/beiacce/block_change_tracking.log
ORA-15005: name "beiacce/block_change_tracking.log" is already used by an existing alias

 

如果出现这种情况,可以在sql语句中加个reuse来重用已经存在的文件。即:

ALTER DATABASE ENABLE BLOCK CHANGE TRACKING USING FILE '+DATA_DG01/beiacce/block_change_tracking.log' reuse;

enable or disable Oracle block change tracking的更多相关文章

  1. Oracle Block Change Tracking功能(转)

    from:http://space.itpub.net/?uid-25744374-action-viewspace-itemid-732091 通过使用block change tracking功能 ...

  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. Entity Framework Code First - Change Tracking

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

  6. Change Tracking of SQLServer

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

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

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

  8. How to detect, enable and disable SMBv1, SMBv2, and SMBv3 in Windows and Windows Server

    转自:https://support.microsoft.com/en-us/help/2696547/detect-enable-disable-smbv1-smbv2-smbv3-in-windo ...

  9. Oracle block 格式

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

随机推荐

  1. 【转】服务器.htaccess 详解以及 .htaccess 参数说明

    htaccess文件(或者”分布式配置文件”)提供了针对目录改变配置的方法, 即,在一个特定的文档目录中放置一个包含一个或多个指令的文件, 以作用于此目录及其所有子目录.作为用户,所能使用的命令受到限 ...

  2. C#加密解密DES字符串<转>

    using System; using System.Collections.Generic; using System.Text; using System.Security.Cryptograph ...

  3. js运算符、关键字、保留字、转义字符

  4. hdu 5884 Sort 队列+多叉哈夫曼树

    Sort Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Problem Des ...

  5. Educational Codeforces Round 15 A, B , C 暴力 , map , 二分

    A. Maximum Increase time limit per test 1 second memory limit per test 256 megabytes input standard ...

  6. select2 使用

    <link href="/plugin/select2/css/select2.min.css" rel="stylesheet" /> <s ...

  7. Spring与RMI集成实现远程访问

    使用spring对RMI的支持,可以非常容易地构建你的分布式应用.在服务端,可以通过Spring的org.springframework.remoting.rmi.RmiServiceExporter ...

  8. php 利用header 函数 下载各种文件

    http://www.php.net/manual/en/function.readfile.php <?php /** * 下载文件 * header函数 * */ dl_file($_GET ...

  9. 删除文件夹里的 .svn,

    删除文件夹里的 .svn,cmd  进入相应目录  运行    for /r ./ %a in (./) do @if exist "%a/.svn" rd /s /q " ...

  10. LeetCode Maximum Average Subarray I

    原题链接在这里:https://leetcode.com/problems/maximum-average-subarray-i/description/ 题目: Given an array con ...