

# 启用和禁用数据块更改跟踪
<a name="Appendix.Oracle.CommonDBATasks.BlockChangeTracking"></a>

数据库更改跟踪记录更改了跟踪文件中的数据块。此技术可以提高 RMAN 增量备份的性能。有关详细信息，请参阅 Oracle 数据库文档中的[使用数据块更改跟踪来提高增量备份性能](https://docs.oracle.com/en/database/oracle/oracle-database/19/bradv/backing-up-database.html#GUID-4E1F605A-76A7-48D0-9D9B-7343B4327E2A)。

只读副本不支持 RMAN 特征。但是，作为高可用性策略的一部分，您可以选择使用过程 `rdsadmin.rdsadmin_rman_util.enable_block_change_tracking` 在只读副本中启用数据块跟踪。如果您将此只读副本提升为源数据库实例，则会为新的源实例启用数据块更改跟踪。因此，您的实例可以受益于快速的增量备份。

以下数据库引擎版本仅在企业版中支持数据块更改跟踪过程：
+ Oracle Database 21c (21.0.0)
+ Oracle Database 19c（19.0.0）

**注意**  
在单租户 CDB 中，以下操作有效，但没有客户可见的机制可以检测操作的当前状态。另请参阅 [RDS for Oracle CDB 的限制](Oracle.Concepts.CDBs.md#Oracle.Concepts.single-tenant-limitations)。

要为数据库实例启用数据块更改跟踪，您可以使用 Amazon RDS 过程 `rdsadmin.rdsadmin_rman_util.enable_block_change_tracking`。要禁用数据块更改跟踪，请使用 `disable_block_change_tracking`。这些过程不需要任何参数。

要确定是否为您的数据库实例启用了块更改跟踪，请运行以下查询。

```
SELECT STATUS, FILENAME FROM V$BLOCK_CHANGE_TRACKING;
```

以下示例为数据库实例启用块更改跟踪。

```
EXEC rdsadmin.rdsadmin_rman_util.enable_block_change_tracking;
```

以下示例为数据库实例禁用块更改跟踪。

```
EXEC rdsadmin.rdsadmin_rman_util.disable_block_change_tracking;
```