

# ブロックメディアリカバリの実行
<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/ja_jp/AmazonRDS/latest/UserGuide/Appendix.Oracle.CommonDBATasks.block-media-recovery.html)  | 
|  `p_block`  |  `NUMBER`  |  有効な整数。  |  —  |  はい  |  復元する個々のブロックの数。 次のパラメータは相互に排他的です。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/Appendix.Oracle.CommonDBATasks.block-media-recovery.html)  | 
|  `p_from_block`  |  `NUMBER`  |  有効な整数。  |  —  |  はい  |  復元するブロックの範囲の最初のブロック番号。 次のパラメータは相互に排他的です。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/Appendix.Oracle.CommonDBATasks.block-media-recovery.html)  | 
|  `p_to_block`  |  `NUMBER`  |  有効な整数。  |  —  |  はい  |  復元するブロックの範囲内の最後のブロック番号。 次のパラメータは相互に排他的です。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/Appendix.Oracle.CommonDBATasks.block-media-recovery.html)  | 

このプロシージャは、以下の Amazon RDS for Oracle DB エンジンバージョンでサポートされています。
+ 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;
/
```