

# 执行块介质恢复
<a name="Appendix.Oracle.CommonDBATasks.block-media-recovery"></a>

您可以使用 Amazon RDS 过程 `rdsadmin.rdsadmin_rman_util.recover_datafile_block` 恢复各个数据块，即块介质恢复。您可以使用此重载过程来恢复单个数据块或一系列数据块。

该过程使用 RMAN 任务的以下常见参数：
+ `p_rman_to_dbms_output`

有关更多信息，请参阅 [RMAN 过程的常见参数](Appendix.Oracle.CommonDBATasks.CommonParameters.md)。

此过程使用以下其它参数。


****  

| 参数名称 | 数据类型 | 有效值 | 默认值 | 必需 | 说明 | 
| --- | --- | --- | --- | --- | --- | 
| `p_datafile` | `NUMBER` | 有效的数据文件 ID 号。 | — | 是 | 包含损坏块的数据文件。通过以下任一方式指定数据文件：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/UserGuide/Appendix.Oracle.CommonDBATasks.block-media-recovery.html) | 
| `p_block` | `NUMBER` | 有效的整数。 | — | 是 | 要恢复的单个块的数量。<br />以下参数是互斥的：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/UserGuide/Appendix.Oracle.CommonDBATasks.block-media-recovery.html) | 
| `p_from_block` | `NUMBER` | 有效的整数。 | — | 是 | 要恢复的一系列块中的第一个块编号。<br />以下参数是互斥的：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/UserGuide/Appendix.Oracle.CommonDBATasks.block-media-recovery.html) | 
| `p_to_block` | `NUMBER` | 有效的整数。 | — | 是 | 要恢复的一系列块中的最后一个块编号。<br />以下参数是互斥的：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/UserGuide/Appendix.Oracle.CommonDBATasks.block-media-recovery.html) | 

以下 Amazon RDS for Oracle 数据库引擎版本支持此过程：
+ Oracle Database 21c (21.0.0)
+ Oracle Database 19c（19.0.0）

以下示例恢复数据文件 5 中的块 100。

```
BEGIN
    rdsadmin.rdsadmin_rman_util.recover_datafile_block(
        p_datafile            => 5, 
        p_block               => 100,
        p_rman_to_dbms_output => TRUE);
END;
/
```

以下示例将数据文件 5 中的块 100 恢复为 150。

```
BEGIN
    rdsadmin.rdsadmin_rman_util.recover_datafile_block(
        p_datafile            => 5, 
        p_from_block          => 100,
        p_to_block            => 150,
        p_rman_to_dbms_output => TRUE);
END;
/
```