

# Oracle DB インスタンスの一般的な RMAN タスクの実行
<a name="Appendix.Oracle.CommonDBATasks.RMAN"></a>

次のセクションでは、Oracle を実行している Amazon RDS DB インスタンスで Oracle Recovery Manager (RMAN) DBA タスクを実行する方法について説明します。マネージドサービスエクスペリエンスを提供するために、Amazon RDS は DB インスタンスへのシェルアクセスを提供していません。また、高度な特権を必要とする特定のシステムプロシージャやテーブルへのアクセスを制限しています。

Amazon RDS パッケージ `rdsadmin.rdsadmin_rman_util` を使用して、Amazon RDS for Oracle データベースのディスクへの RMAN バックアップを実行します。`rdsadmin.rdsadmin_rman_util` パッケージは、データベースファイル、テーブルスペース、およびアーカイブされた REDO ログの完全バックアップと増分バックアップをサポートしています。

RMAN バックアップが完了したら、バックアップファイルを Amazon RDS for Oracle DB インスタンスホスト以外にコピーできます。これを行うのは、RDS ホスト以外に復元してバックアップを長期保存するためです。例えば、バックアップファイルを Amazon S3 バケットにコピーできます。詳細については、「[「Amazon S3 統合」](oracle-s3-integration.md)」を参照してください。

RMAN バックアップのバックアップファイルは、手動で削除するまでは、Amazon RDS DB インスタンスホストに残ります。ディレクトリからファイルを削除するには、Oracle プロシージャ `UTL_FILE.FREMOVE` を使用できます。詳細については、Oracle データベースドキュメントの「[FREMOVE プロシージャ](https://docs.oracle.com/database/121/ARPLS/u_file.htm#ARPLS70924)」を参照してください。

RMAN を使用して RDS for Oracle DB インスタンスを復元することはできません。ただし、RMAN を使用して、バックアップをオンプレミスまたは Amazon EC2 インスタンスに復元することはできます。詳細については、ブログ記事「[Amazon RDS for Oracle インスタンスをセルフマネージドインスタンスに復元する](https://aws.amazon.com/blogs/database/restore-an-amazon-rds-for-oracle-instance-to-a-self-managed-instance/)」を参照してください。

**注記**  
Amazon RDS for Oracle の別の DB インスタンスにバックアップして復元するには、引き続き Amazon RDS のバックアップおよび復元機能を使用できます。詳細については、「[データのバックアップ、復元、エクスポート](CHAP_CommonTasks.BackupRestore.md)」を参照してください。

**Topics**
+ [RMAN バックアップの前提条件](Appendix.Oracle.CommonDBATasks.RMAN-requirements.md)
+ [RMAN プロシージャの共通パラメータ](Appendix.Oracle.CommonDBATasks.CommonParameters.md)
+ [RDS for Oracle でのデータベースファイルの検証](Appendix.Oracle.CommonDBATasks.ValidateDBFiles.md)
+ [ブロック変更追跡の有効化/無効化](Appendix.Oracle.CommonDBATasks.BlockChangeTracking.md)
+ [アーカイブ REDO ログのクロスチェック](Appendix.Oracle.CommonDBATasks.Crosscheck.md)
+ [アーカイブ REDO ログファイルのバックアップ](Appendix.Oracle.CommonDBATasks.BackupArchivedLogs.md)
+ [データベースの完全バックアップの実行](Appendix.Oracle.CommonDBATasks.BackupDatabaseFull.md)
+ [テナントデータベースの完全バックアップの実行](Appendix.Oracle.CommonDBATasks.BackupTenantDatabaseFull.md)
+ [データベースの増分バックアップの実行](Appendix.Oracle.CommonDBATasks.BackupDatabaseIncremental.md)
+ [テナントデータベースの増分バックアップの実行](Appendix.Oracle.CommonDBATasks.BackupTenantDatabaseIncremental.md)
+ [テーブルスペースのバックアップ](Appendix.Oracle.CommonDBATasks.BackupTablespace.md)
+ [コントロールファイルのバックアップ](Appendix.Oracle.CommonDBATasks.backup-control-file.md)
+ [ブロックメディアリカバリの実行](Appendix.Oracle.CommonDBATasks.block-media-recovery.md)

# RMAN バックアップの前提条件
<a name="Appendix.Oracle.CommonDBATasks.RMAN-requirements"></a>

`rdsadmin.rdsadmin_rman_util` パッケージを使用してデータベースをバックアップする前に、以下の前提条件を満たしていることを確認してください。
+ RDS for Oracle データベースが `ARCHIVELOG` モードであることを確認してください。このモードを有効にするには、バックアップ保持期間をゼロ以外の値に設定します。
+ アーカイブされた REDO ログをバックアップしたり、アーカイブされた REDO ログを含む完全バックアップまたは増分バックアップを実行する場合は、REDO ログの保持期間をゼロ以外の値に設定する必要があります。リカバリ時にデータベースファイルの整合性を保つには、アーカイブされたREDO ログが必要です。詳細については、「[アーカイブ REDO ログの保持](Appendix.Oracle.CommonDBATasks.RetainRedoLogs.md)」を参照してください。
+ DB インスタンスにバックアップを保持するのに十分な空き容量があることを確認してください。データベースをバックアップするときには、プロシージャ呼び出しのパラメータとして Oracle ディレクトリオブジェクトを指定します。RMAN は、指定されたディレクトリにファイルを配置します。デフォルトのディレクトリ (`DATA_PUMP_DIR` など) を使用するか、新しいディレクトリを作成できます。詳細については、「[主要データストレージ領域でのディレクトリの作成と削除](Appendix.Oracle.CommonDBATasks.Misc.md#Appendix.Oracle.CommonDBATasks.NewDirectories)」を参照してください。

  CloudWatch メトリクス `FreeStorageSpace` を使用して、RDS for Oracle インスタンスの現在の空き容量をモニタリングできます。RMAN はフォーマットされたブロックのみをバックアップし、圧縮をサポートしますが、データベースの現在のサイズを超える空き容量を確保しておくことをお勧めします。

# RMAN プロシージャの共通パラメータ
<a name="Appendix.Oracle.CommonDBATasks.CommonParameters"></a>

RMAN のタスクを実行するには、Amazon RDS パッケージ `rdsadmin.rdsadmin_rman_util` を使用できます。いくつかのパラメータは、パッケージ内のすべてのプロシージャに共通です。パッケージ内の共通パラメータは以下のとおりです。


****  

| パラメータ名 | データ型 | 有効な値 | デフォルト | 必須 | 説明 | 
| --- | --- | --- | --- | --- | --- | 
|  `p_directory_name`  |  varchar2  |  データベースの有効なディレクトリ名。  |  —  |  はい  |  バックアップファイルを含めるディレクトリの名前。  | 
|  `p_label`  |  varchar2  |  `a-z`, `A-Z`, `0-9`, `'_'`, `'-'`, `'.'`  |  —  |  いいえ  |  バックアップファイル名に含まれている一意の文字列。  上限は 30 文字です。   | 
|  `p_owner`  |  varchar2  |  `p_directory_name` に指定されたディレクトリの有効な所有者。  |  —  |  はい  |  バックアップファイルを含めるディレクトリの所有者。  | 
|  `p_tag`  |  varchar2  |  `a-z`, `A-Z`, `0-9`, `'_'`, `'-'`, `'.'`  |  NULL  |  いいえ  |  日次、週次、増分レベルのバックアップなど、バックアップの目的または使用方法を示すためにバックアップを区別できるようにする目的で使用する文字列。 上限は 30 文字です。タグでは、大文字と小文字は区別されません。タグは、入力する際に使用されるのが大文字か小文字かに関係なく、常に大文字で格納されます。 タグは一意である必要はないので、複数のバックアップに同じタグを付けることができます。 タグを指定しない場合、RMAN は、`TAGYYYYMMDDTHHMMSS` の形式を使用してデフォルトのタグを自動的に割り当てます。ここで *YYYY* は年、*MM* は月、*DD* は日、*HH* は時間 (24 時間形式)、*MM* は分、*SS* は秒です。日付と時刻は、RMAN がバックアップを開始した日時を示します。 例えば、2019-09-27 の 21:45:17 に開始されたバックアップに対して、バックアップに `TAG20190927T214517` というタグが付けられることがあります。 `p_tag` パラメータは、以下の Amazon RDS for Oracle DB エンジンバージョンでサポートされています。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/Appendix.Oracle.CommonDBATasks.CommonParameters.html)  | 
|  `p_compress`  |  boolean  |  `TRUE`, `FALSE`  |  `FALSE`  |  いいえ  |  BASIC バックアップ圧縮を行うには `TRUE` を指定します。 BASIC バックアップ圧縮を無効にするには `FALSE` を指定します。  | 
|  `p_include_archive_logs`  |  boolean  |  `TRUE`, `FALSE`  |  `FALSE`  |  いいえ  |  アーカイブ REDO ログをバックアップに含めるには、`TRUE` を指定します。 アーカイブ REDO ログをバックアップから除外するには、`FALSE` を指定します。 アーカイブ REDO ログをバックアップに含める場合は、`rdsadmin.rdsadmin_util.set_configuration` プロシージャを使用して保持期間を 1 時間以上に設定します。また、バックアップを実行する直前に `rdsadmin.rdsadmin_rman_util.crosscheck_archivelog` プロシージャを呼び出します。そうしないと、アーカイブ REDO ログファイルが Amazon RDS 管理プロシージャで削除されて見つからないため、バックアップは失敗する場合があります。  | 
|  `p_include_controlfile`  |  boolean  |  `TRUE`, `FALSE`  |  `FALSE`  |  いいえ  |  制御ファイルをバックアップに含めるには、`TRUE` を指定します。 制御ファイルをバックアップから除外するには、`FALSE` を指定します。  | 
|  `p_optimize`  |  boolean  |  `TRUE`, `FALSE`  |  `TRUE`  |  いいえ  |  バックアップの最適化を有効にするには、`TRUE` を指定します。アーカイブ REDO ログを含める場合は、バックアップサイズが縮小されます。 バックアップの最適化を無効にするには、`FALSE` を指定します。  | 
|  `p_parallel`  |  number  |  Oracle Database Enterprise Edition (EE) の場合は `1`〜`254` の有効な整数 `1`その他の Oracle データベースエディションの場合は   |  `1`  |  いいえ  |  チャネルの数。  | 
|  `p_rman_to_dbms_output`  |  boolean  |  `TRUE`, `FALSE`  |  `FALSE`  |  いいえ  |  `TRUE` の場合、RMAN 出力は `DBMS_OUTPUT` ディレクトリのファイルに加えて、`BDUMP` パッケージに送信されます。SQL\$1Plus で、`SET SERVEROUTPUT ON` を使用して出力を確認します。 `FALSE` の場合、RMAN 出力は `BDUMP` ディレクトリのファイルにのみ送信されます。  | 
|  `p_section_size_mb`  |  number  |  有効な整数  |  `NULL`  |  いいえ  |  セクションサイズのメガバイト (MB)。 各ファイルを指定されたセクションサイズに分割し、パラレルして検証します。 `NULL` の場合、パラメータは無視されます。  | 
|  `p_validation_type`  |  varchar2  |  `'PHYSICAL'`, `'PHYSICAL+LOGICAL'`  |  `'PHYSICAL'`  |  いいえ  |  破損の検出のレベル。 物理的な破損を確認するには、`'PHYSICAL'` を指定します。物理的な破損の一例は、ヘッダーおよびフッターの不一致によるブロックです。 物理的な破損に加えて論理的な不整合を確認するには、`'PHYSICAL+LOGICAL'` を指定します。論理的な破損の一例は破損ブロックです。  | 

# RDS for Oracle でのデータベースファイルの検証
<a name="Appendix.Oracle.CommonDBATasks.ValidateDBFiles"></a>

Amazon RDS パッケージ `rdsadmin.rdsadmin_rman_util` を使用して、Amazon RDS for Oracle のデータベースファイル (データファイル、テーブルスペース、制御ファイル、およびサーバーパラメータファイル (SPFILE) など) を検証できます。

RMAN の検証の詳細については、Oracle ドキュメントの「[データベースファイルおよびバックアップの検証](https://docs.oracle.com/database/121/BRADV/rcmvalid.htm#BRADV90063)」と「[VALIDATE](https://docs.oracle.com/database/121/RCMRF/rcmsynta2025.htm#RCMRF162)」を参照してください。

**Topics**
+ [データベースの検証](#Appendix.Oracle.CommonDBATasks.ValidateDB)
+ [テナントデータベースの検証](#Appendix.Oracle.CommonDBATasks.ValidateTenantDB)
+ [テーブルスペースの検証](#Appendix.Oracle.CommonDBATasks.ValidateTablespace)
+ [制御ファイルの検証](#Appendix.Oracle.CommonDBATasks.ValidateControlFile)
+ [SPFILE の検証](#Appendix.Oracle.CommonDBATasks.ValidateSpfile)
+ [Oracle データファイルの検証](#Appendix.Oracle.CommonDBATasks.ValidateDataFile)

## データベースの検証
<a name="Appendix.Oracle.CommonDBATasks.ValidateDB"></a>

RDS の Oracle データベースで使用されているすべての関連ファイルを検証するには、Amazon RDS プロシージャ `rdsadmin.rdsadmin_rman_util.validate_database` を使用します。

このプロシージャでは、以下の RMAN タスクの共通パラメータを使用します。
+ `p_validation_type`
+ `p_parallel`
+ `p_section_size_mb`
+ `p_rman_to_dbms_output`

詳細については、「[RMAN プロシージャの共通パラメータ](Appendix.Oracle.CommonDBATasks.CommonParameters.md)」を参照してください。

次の例では、パラメータのデフォルト値を使用してデータベースを検証します。

```
EXEC rdsadmin.rdsadmin_rman_util.validate_database;
```

次の例では、パラメータの指定値を使用してデータベースを検証します。

```
BEGIN
    rdsadmin.rdsadmin_rman_util.validate_database(
        p_validation_type     => 'PHYSICAL+LOGICAL', 
        p_parallel            => 4,  
        p_section_size_mb     => 10,
        p_rman_to_dbms_output => FALSE);
END;
/
```

`p_rman_to_dbms_output` パラメータを `FALSE` に設定すると、RMAN 出力は `BDUMP` ディレクトリのファイルに書き込まれます。

`BDUMP` ディレクトリのファイルを表示するには、次の `SELECT` ステートメントを実行します。

```
SELECT * FROM table(rdsadmin.rds_file_util.listdir('BDUMP')) order by mtime;
```

`BDUMP` ディレクトリのファイルの内容を表示するには、次の `SELECT` ステートメントを実行します。

```
SELECT text FROM table(rdsadmin.rds_file_util.read_text_file('BDUMP','rds-rman-validate-nnn.txt'));
```

ファイル名を、表示するファイルの名前に置き換えます。

## テナントデータベースの検証
<a name="Appendix.Oracle.CommonDBATasks.ValidateTenantDB"></a>

コンテナデータベース (CDB) 内のテナントデータベースのデータファイルを検証するには、Amazon RDS のプロシージャ `rdsadmin.rdsadmin_rman_util.validate_tenant` を使用します。

このプロシージャは現在のテナントデータベースにのみ適用され、以下の RMAN タスクの共通パラメータを使用します。
+ `p_validation_type`
+ `p_parallel`
+ `p_section_size_mb`
+ `p_rman_to_dbms_output`

詳細については、「[RMAN プロシージャの共通パラメータ](Appendix.Oracle.CommonDBATasks.CommonParameters.md)」を参照してください。このプロシージャは、以下の DB エンジンバージョンでサポートされています。
+ Oracle Database 21c (21.0.0) CDB
+ Oracle Database 19c (19.0.0) CDB

次の例では、パラメータのデフォルト値を使用して現行のテナントデータベースを検証します。

```
EXEC rdsadmin.rdsadmin_rman_util.validate_tenant;
```

次の例では、パラメータの指定値を使用して現行のテナントデータベースを検証します。

```
BEGIN
    rdsadmin.rdsadmin_rman_util.validate_tenant(
        p_validation_type     => 'PHYSICAL+LOGICAL', 
        p_parallel            => 4,  
        p_section_size_mb     => 10,
        p_rman_to_dbms_output => FALSE);
END;
/
```

`p_rman_to_dbms_output` パラメータを `FALSE` に設定すると、RMAN 出力は `BDUMP` ディレクトリのファイルに書き込まれます。

`BDUMP` ディレクトリのファイルを表示するには、次の `SELECT` ステートメントを実行します。

```
SELECT * FROM table(rdsadmin.rds_file_util.listdir('BDUMP')) order by mtime;
```

`BDUMP` ディレクトリのファイルの内容を表示するには、次の `SELECT` ステートメントを実行します。

```
SELECT text FROM table(rdsadmin.rds_file_util.read_text_file('BDUMP','rds-rman-validate-nnn.txt'));
```

ファイル名を、表示するファイルの名前に置き換えます。

## テーブルスペースの検証
<a name="Appendix.Oracle.CommonDBATasks.ValidateTablespace"></a>

テーブルスペースに関連付けられたファイルを検証するには、Amazon RDS プロシージャ `rdsadmin.rdsadmin_rman_util.validate_tablespace` を使用します。

このプロシージャでは、以下の RMAN タスクの共通パラメータを使用します。
+ `p_validation_type`
+ `p_parallel`
+ `p_section_size_mb`
+ `p_rman_to_dbms_output`

詳細については、「[RMAN プロシージャの共通パラメータ](Appendix.Oracle.CommonDBATasks.CommonParameters.md)」を参照してください。

このプロシージャでは、次の追加のパラメータも使用します。


****  

| パラメータ名 | データ型 | 有効な値 | デフォルト | 必須 | 説明 | 
| --- | --- | --- | --- | --- | --- | 
|  `p_tablespace_name`  |  varchar2  |  有効なテーブルスペース名  |  —  |  はい  |  テーブルスペースの名前。  | 

## 制御ファイルの検証
<a name="Appendix.Oracle.CommonDBATasks.ValidateControlFile"></a>

Amazon RDS Oracle DB インスタンスで使用されている制御ファイルのみを検証するには、Amazon RDS プロシージャ `rdsadmin.rdsadmin_rman_util.validate_current_controlfile` を使用します。

このプロシージャでは、次の RMAN タスクの共通パラメータを使用します。
+ `p_validation_type`
+ `p_rman_to_dbms_output`

詳細については、「[RMAN プロシージャの共通パラメータ](Appendix.Oracle.CommonDBATasks.CommonParameters.md)」を参照してください。

## SPFILE の検証
<a name="Appendix.Oracle.CommonDBATasks.ValidateSpfile"></a>

Amazon RDS Oracle DB インスタンスで使用されているサーバーパラメータファイル (SPFILE) を検証するには、Amazon RDS プロシージャ `rdsadmin.rdsadmin_rman_util.validate_spfile` を使用します。

このプロシージャでは、次の RMAN タスクの共通パラメータを使用します。
+ `p_validation_type`
+ `p_rman_to_dbms_output`

詳細については、「[RMAN プロシージャの共通パラメータ](Appendix.Oracle.CommonDBATasks.CommonParameters.md)」を参照してください。

## Oracle データファイルの検証
<a name="Appendix.Oracle.CommonDBATasks.ValidateDataFile"></a>

データファイルを検証するには、Amazon RDS プロシージャ `rdsadmin.rdsadmin_rman_util.validate_datafile` を使用します。

このプロシージャでは、以下の RMAN タスクの共通パラメータを使用します。
+ `p_validation_type`
+ `p_parallel`
+ `p_section_size_mb`
+ `p_rman_to_dbms_output`

詳細については、「[RMAN プロシージャの共通パラメータ](Appendix.Oracle.CommonDBATasks.CommonParameters.md)」を参照してください。

このプロシージャでは、以下の追加のパラメータも使用します。


****  

| パラメータ名 | データ型 | 有効な値 | デフォルト | 必須 | 説明 | 
| --- | --- | --- | --- | --- | --- | 
|  `p_datafile`  |  varchar2  |  有効なデータファイル ID 番号または完全なパスを含む有効なデータファイル名  |  —  |  はい  |  データファイル ID 番号 (`v$datafile.file#` より) またはパスを含む詳細なデータファイル名 (`v$datafile.name` より)。  | 
|  `p_from_block`  |  number  |  有効な整数  |  `NULL`  |  いいえ  |  データファイル内で検証が始まるブロックの番号。これが `NULL` の場合、`1` が使用されます。  | 
|  `p_to_block`  |  number  |  有効な整数  |  `NULL`  |  いいえ  |  データファイル内で検証が終わるブロックの番号。これが `NULL` の場合、データファイルの最大ブロックが使用されます。  | 

# ブロック変更追跡の有効化/無効化
<a name="Appendix.Oracle.CommonDBATasks.BlockChangeTracking"></a>

ブロック変更の追跡は、トラッキングファイル内の変更されたブロックを記録します。この手法により、RMAN 増分バックアップのパフォーマンスを向上させることができます。詳細は、Oracle Database のドキュメントの「[ ブロック変更の追跡を使用した増分バックアップのパフォーマンスの向上 ](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` に従って読み取り専用レプリカでブロック追跡を有効にすることもできます。この読み取り専用レプリカをソース DB インスタンスに昇格すると、新しいソースインスタンスでブロック変更追跡が有効になります。そのため、インスタンスは高速増分バックアップの恩恵を受けることができます。

ブロック変更の追跡手順は、次の DB エンジンバージョンの Enterprise Edition でのみサポートされています。
+ 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)」も参照してください。

DB インスタンスのブロック変更の追跡を有効にするには、Amazon RDS 手順 `rdsadmin.rdsadmin_rman_util.enable_block_change_tracking` を使用します。ブロック変更の追跡を無効にするには、`disable_block_change_tracking`を使用します。これらのプロシージャではパラメータを使用しません。

使用している DB インスタンスでブロック変更追跡が有効になっているかどうかを確認するには、次のクエリを実行します。

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

次の例では、DB インスタンスのブロック変更追跡を有効にします。

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

次の例では、DB インスタンスのブロック変更追跡を無効にします。

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

# アーカイブ REDO ログのクロスチェック
<a name="Appendix.Oracle.CommonDBATasks.Crosscheck"></a>

Amazon RDS プロシージャ `rdsadmin.rdsadmin_rman_util.crosscheck_archivelog` を使用して、アーカイブ REDO ログをクロスチェックできます。

このプロシージャを使用して、制御ファイルに登録済みのアーカイブ REDO ログをクロスチェックし、必要に応じて期限切れのログレコードを削除できます。RMAN によってバックアップが作成されると、制御ファイルにレコードが作成されます。時間の経過に伴って、これらのレコードのために制御ファイルのサイズが肥大します。期限切れのレコードは定期的に削除することをお勧めします。

**注記**  
スタンダードの Amazon RDS バックアップでは RMAN を使用しないため、レコードは制御ファイルに作成されません。

このプロシージャでは、RMAN タスクの共通パラメータ `p_rman_to_dbms_output` を使用します。

詳細については、「[RMAN プロシージャの共通パラメータ](Appendix.Oracle.CommonDBATasks.CommonParameters.md)」を参照してください。

このプロシージャでは、次の追加のパラメータも使用します。


****  

| パラメータ名 | データ型 | 有効な値 | デフォルト | 必須 | 説明 | 
| --- | --- | --- | --- | --- | --- | 
|  `p_delete_expired`  |  boolean  |  `TRUE`, `FALSE`  |  `TRUE`  |  いいえ  |  `TRUE` の場合、期限切れのアーカイブ REDO ログレコードを制御ファイルから削除します。 `FALSE` の場合、期限切れのアーカイブ REDO ログレコードを制御ファイルに保持します。  | 

このプロシージャは、以下の Amazon RDS for Oracle DB エンジンバージョンでサポートされています。
+ Oracle Database 21c (21.0.0)
+ Oracle Database 19c (19.0.0)

次の例では、制御ファイル内のアーカイブ REDO ログレコードを期限切れとしてマークしますが、レコードは削除しません。

```
BEGIN
    rdsadmin.rdsadmin_rman_util.crosscheck_archivelog(
        p_delete_expired      => FALSE,  
        p_rman_to_dbms_output => FALSE);
END;
/
```

次の例では、期限切れのアーカイブ REDO ログレコードを制御ファイルから削除します。

```
BEGIN
    rdsadmin.rdsadmin_rman_util.crosscheck_archivelog(
        p_delete_expired      => TRUE,  
        p_rman_to_dbms_output => FALSE);
END;
/
```

# アーカイブ REDO ログファイルのバックアップ
<a name="Appendix.Oracle.CommonDBATasks.BackupArchivedLogs"></a>

Amazon RDS パッケージ `rdsadmin.rdsadmin_rman_util` を使用して Amazon RDS Oracle DB インスタンスのアーカイブ REDO ログをバックアップできます。

アーカイブ REDO ログをバックアップするプロシージャは、以下の Amazon RDS for Oracle DB エンジンバージョンでサポートされています。
+ Oracle Database 21c (21.0.0)
+ Oracle Database 19c (19.0.0)

**Topics**
+ [すべてのアーカイブ REDO ログのバックアップ](#Appendix.Oracle.CommonDBATasks.BackupArchivedLogs.All)
+ [日付範囲からのアーカイブ REDO ログのバックアップ](#Appendix.Oracle.CommonDBATasks.BackupArchivedLogs.Date)
+ [SCN 範囲からのアーカイブ REDO ログのバックアップ](#Appendix.Oracle.CommonDBATasks.BackupArchivedLogs.SCN)
+ [シーケンス番号範囲からのアーカイブ REDO ログのバックアップ](#Appendix.Oracle.CommonDBATasks.BackupArchivedLogs.Sequence)

## すべてのアーカイブ REDO ログのバックアップ
<a name="Appendix.Oracle.CommonDBATasks.BackupArchivedLogs.All"></a>

Amazon RDS Oracle DB インスタンスのすべてのアーカイブ REDO ログをバックアップするには、Amazon RDS プロシージャ `rdsadmin.rdsadmin_rman_util.backup_archivelog_all` を使用します。

このプロシージャでは、以下の RMAN タスクの共通パラメータを使用します。
+ `p_owner`
+ `p_directory_name`
+ `p_label`
+ `p_parallel`
+ `p_compress`
+ `p_rman_to_dbms_output`
+ `p_tag`

詳細については、「[RMAN プロシージャの共通パラメータ](Appendix.Oracle.CommonDBATasks.CommonParameters.md)」を参照してください。

次の例では、DB インスタンスのすべてのアーカイブ REDO ログをバックアップします。

```
BEGIN
    rdsadmin.rdsadmin_rman_util.backup_archivelog_all(
        p_owner               => 'SYS', 
        p_directory_name      => 'MYDIRECTORY',
        p_parallel            => 4, 
        p_tag                 => 'MY_LOG_BACKUP',
        p_rman_to_dbms_output => FALSE);
END;
/
```

## 日付範囲からのアーカイブ REDO ログのバックアップ
<a name="Appendix.Oracle.CommonDBATasks.BackupArchivedLogs.Date"></a>

日付範囲を指定して Amazon RDS Oracle DB インスタンスの特定のアーカイブ REDO ログをバックアップするには、Amazon RDS プロシージャ `rdsadmin.rdsadmin_rman_util.backup_archivelog_date` を使用します。日付範囲では、どのアーカイブ REDO ログをバックアップするかを指定します。

このプロシージャでは、以下の RMAN タスクの共通パラメータを使用します。
+ `p_owner`
+ `p_directory_name`
+ `p_label`
+ `p_parallel`
+ `p_compress`
+ `p_rman_to_dbms_output`
+ `p_tag`

詳細については、「[RMAN プロシージャの共通パラメータ](Appendix.Oracle.CommonDBATasks.CommonParameters.md)」を参照してください。

このプロシージャでは、以下の追加のパラメータも使用します。


****  

| パラメータ名 | データ型 | 有効な値 | デフォルト | 必須 | 説明 | 
| --- | --- | --- | --- | --- | --- | 
|  `p_from_date`  |  date  |  ディスクにあるアーカイブ REDO ログの `start_date`～`next_date` の日付。この値は、`p_to_date` で指定した値以下にする必要があります。  |  —  |  はい  |  アーカイブログのバックアップのスタート日。  | 
|  `p_to_date`  |  date  |  ディスクにあるアーカイブ REDO ログの `start_date`～`next_date` の日付。この値は、`p_from_date` で指定した値以上にする必要があります。  |  —  |  はい  |  アーカイブログのバックアップの終了日。  | 

次の例では、DB インスタンスの日付範囲のアーカイブ REDO ログをバックアップします。

```
BEGIN
    rdsadmin.rdsadmin_rman_util.backup_archivelog_date(
        p_owner               => 'SYS', 
        p_directory_name      => 'MYDIRECTORY',
        p_from_date           => '03/01/2019 00:00:00',
        p_to_date             => '03/02/2019 00:00:00',
        p_parallel            => 4,  
        p_tag                 => 'MY_LOG_BACKUP',
        p_rman_to_dbms_output => FALSE);
END;
/
```

## SCN 範囲からのアーカイブ REDO ログのバックアップ
<a name="Appendix.Oracle.CommonDBATasks.BackupArchivedLogs.SCN"></a>

システム変更番号 (SCN) 範囲を指定して Amazon RDS Oracle DB インスタンスの特定のアーカイブ REDO ログをバックアップするには、Amazon RDS プロシージャ `rdsadmin.rdsadmin_rman_util.backup_archivelog_scn` を使用します。SCN 範囲では、どのアーカイブ REDO ログをバックアップするかを指定します。

このプロシージャでは、以下の RMAN タスクの共通パラメータを使用します。
+ `p_owner`
+ `p_directory_name`
+ `p_label`
+ `p_parallel`
+ `p_compress`
+ `p_rman_to_dbms_output`
+ `p_tag`

詳細については、「[RMAN プロシージャの共通パラメータ](Appendix.Oracle.CommonDBATasks.CommonParameters.md)」を参照してください。

このプロシージャでは、以下の追加のパラメータも使用します。


****  

| パラメータ名 | データ型 | 有効な値 | デフォルト | 必須 | 説明 | 
| --- | --- | --- | --- | --- | --- | 
|  `p_from_scn`  |  number  |  ディスクにあるアーカイブ REDO ログの SCN。この値は、`p_to_scn` で指定した値以下にする必要があります。  |  —  |  はい  |  アーカイブログのバックアップのスタート SCN。  | 
|  `p_to_scn`  |  number  |  ディスクにあるアーカイブ REDO ログの SCN。この値は、`p_from_scn` で指定した値以上にする必要があります。  |  —  |  はい  |  アーカイブログのバックアップの終了 SCN。  | 

次の例では、DB インスタンスの SCN 範囲のアーカイブ REDO ログをバックアップします。

```
BEGIN
    rdsadmin.rdsadmin_rman_util.backup_archivelog_scn(
        p_owner               => 'SYS', 
        p_directory_name      => 'MYDIRECTORY',
        p_from_scn            => 1533835,
        p_to_scn              => 1892447,
        p_parallel            => 4,
        p_tag                 => 'MY_LOG_BACKUP',
        p_rman_to_dbms_output => FALSE);
END;
/
```

## シーケンス番号範囲からのアーカイブ REDO ログのバックアップ
<a name="Appendix.Oracle.CommonDBATasks.BackupArchivedLogs.Sequence"></a>

シーケンス番号範囲を指定して Amazon RDS Oracle DB インスタンスの特定のアーカイブ REDO ログをバックアップするには、Amazon RDS プロシージャ `rdsadmin.rdsadmin_rman_util.backup_archivelog_sequence` を使用します。シーケンス番号範囲では、どのアーカイブ REDO ログをバックアップするかを指定します。

このプロシージャでは、以下の RMAN タスクの共通パラメータを使用します。
+ `p_owner`
+ `p_directory_name`
+ `p_label`
+ `p_parallel`
+ `p_compress`
+ `p_rman_to_dbms_output`
+ `p_tag`

詳細については、「[RMAN プロシージャの共通パラメータ](Appendix.Oracle.CommonDBATasks.CommonParameters.md)」を参照してください。

このプロシージャでは、以下の追加のパラメータも使用します。


****  

| パラメータ名 | データ型 | 有効な値 | デフォルト | 必須 | 説明 | 
| --- | --- | --- | --- | --- | --- | 
|  `p_from_sequence`  |  number  |  ディスクにあるアーカイブ REDO ログのシーケンス番号。この値は、`p_to_sequence` で指定した値以下にする必要があります。  |  —  |  はい  |  アーカイブログのバックアップのスタートシーケンス番号。  | 
|  `p_to_sequence`  |  number  |  ディスクにあるアーカイブ REDO ログのシーケンス番号。この値は、`p_from_sequence` で指定した値以上にする必要があります。  |  —  |  はい  |  アーカイブログのバックアップの終了シーケンス番号。  | 

次の例では、DB インスタンスのシーケンス番号範囲のアーカイブ REDO ログをバックアップします。

```
BEGIN
    rdsadmin.rdsadmin_rman_util.backup_archivelog_sequence(
        p_owner               => 'SYS', 
        p_directory_name      => 'MYDIRECTORY',
        p_from_sequence       => 11160,
        p_to_sequence         => 11160,
        p_parallel            => 4,  
        p_tag                 => 'MY_LOG_BACKUP',
        p_rman_to_dbms_output => FALSE);
END;
/
```

# データベースの完全バックアップの実行
<a name="Appendix.Oracle.CommonDBATasks.BackupDatabaseFull"></a>

Amazon RDS プロシージャ `rdsadmin.rdsadmin_rman_util.backup_database_full` を使用してバックアップに含まれているデータファイルのすべてのブロックのバックアップを実行します。

このプロシージャでは、以下の RMAN タスクの共通パラメータを使用します。
+ `p_owner`
+ `p_directory_name`
+ `p_label`
+ `p_parallel`
+ `p_section_size_mb`
+ `p_include_archive_logs`
+ `p_optimize`
+ `p_compress`
+ `p_rman_to_dbms_output`
+ `p_tag`

詳細については、「[RMAN プロシージャの共通パラメータ](Appendix.Oracle.CommonDBATasks.CommonParameters.md)」を参照してください。

このプロシージャは、以下の Amazon RDS for Oracle DB エンジンバージョンでサポートされています。
+ Oracle Database 21c (21.0.0)
+ Oracle Database 19c (19.0.0)

次の例では、パラメータの値を指定して DB インスタンスの完全バックアップを実行します。

```
BEGIN
    rdsadmin.rdsadmin_rman_util.backup_database_full(
        p_owner               => 'SYS', 
        p_directory_name      => 'MYDIRECTORY',
        p_parallel            => 4,  
        p_section_size_mb     => 10,
        p_tag                 => 'FULL_DB_BACKUP',
        p_rman_to_dbms_output => FALSE);
END;
/
```

# テナントデータベースの完全バックアップの実行
<a name="Appendix.Oracle.CommonDBATasks.BackupTenantDatabaseFull"></a>

コンテナデータベース (CDB) 内のテナントデータベースに含まれているすべてのデータブロックのバックアップを実行します。Amazon RDS プロシージャ `rdsadmin.rdsadmin_rman_util.backup_tenant_full` を使用します。このプロシージャは現在のデータベースバックアップにのみ適用され、以下の RMAN タスクの共通パラメータを使用します。
+ `p_owner`
+ `p_directory_name`
+ `p_label`
+ `p_parallel`
+ `p_section_size_mb`
+ `p_include_archive_logs`
+ `p_optimize`
+ `p_compress`
+ `p_rman_to_dbms_output`
+ `p_tag`

詳細については、「[RMAN プロシージャの共通パラメータ](Appendix.Oracle.CommonDBATasks.CommonParameters.md)」を参照してください。

`rdsadmin_rman_util.backup_tenant_full` プロシージャは、以下の RDS for Oracle DB エンジンバージョンでサポートされています。
+ Oracle Database 21c (21.0.0) CDB
+ Oracle Database 19c (19.0.0) CDB

次の例では、パラメータの指定値を指定して、現行のテナントデータベースの完全バックアップを実行します。

```
BEGIN
    rdsadmin.rdsadmin_rman_util.backup_tenant_full(
        p_owner               => 'SYS', 
        p_directory_name      => 'MYDIRECTORY',
        p_parallel            => 4,  
        p_section_size_mb     => 10,
        p_tag                 => 'FULL_TENANT_DB_BACKUP',
        p_rman_to_dbms_output => FALSE);
END;
/
```

# データベースの増分バックアップの実行
<a name="Appendix.Oracle.CommonDBATasks.BackupDatabaseIncremental"></a>

Amazon RDS プロシージャ `rdsadmin.rdsadmin_rman_util.backup_database_incremental` を使用して DB インスタンスの増分バックアップを実行できます。

増分バックアップの詳細については、Oracle ドキュメントの「[増分バックアップ](https://docs.oracle.com/database/121/RCMRF/rcmsynta006.htm#GUID-73642FF2-43C5-48B2-9969-99001C52EB50__BGBHABHH)」を参照してください。

このプロシージャでは、以下の RMAN タスクの共通パラメータを使用します。
+ `p_owner`
+ `p_directory_name`
+ `p_label`
+ `p_parallel`
+ `p_section_size_mb`
+ `p_include_archive_logs`
+ `p_include_controlfile`
+ `p_optimize`
+ `p_compress`
+ `p_rman_to_dbms_output`
+ `p_tag`

詳細については、「[RMAN プロシージャの共通パラメータ](Appendix.Oracle.CommonDBATasks.CommonParameters.md)」を参照してください。

このプロシージャは、以下の Amazon RDS for Oracle DB エンジンバージョンでサポートされています。
+ Oracle Database 21c (21.0.0)
+ Oracle Database 19c (19.0.0)

このプロシージャでは、次の追加のパラメータも使用します。


****  

| パラメータ名 | データ型 | 有効な値 | デフォルト | 必須 | 説明 | 
| --- | --- | --- | --- | --- | --- | 
|  `p_level`  |  number  |  `0`, `1`  |  `0`  |  いいえ  |  フル増分バックアップを有効にするには、`0` を指定します。 非累積増分バックアップを有効にするには、`1` を指定します。  | 

次の例では、パラメータの値を指定して DB インスタンスの増分バックアップを実行します。

```
BEGIN
    rdsadmin.rdsadmin_rman_util.backup_database_incremental(
        p_owner               => 'SYS', 
        p_directory_name      => 'MYDIRECTORY',
        p_level               => 1,
        p_parallel            => 4,  
        p_section_size_mb     => 10,
        p_tag                 => 'MY_INCREMENTAL_BACKUP',
        p_rman_to_dbms_output => FALSE);
END;
/
```

# テナントデータベースの増分バックアップの実行
<a name="Appendix.Oracle.CommonDBATasks.BackupTenantDatabaseIncremental"></a>

CDB 内の現在のテナントデータベースの増分バックアップを実行できます。Amazon RDS プロシージャ `rdsadmin.rdsadmin_rman_util.backup_tenant_incremental` を使用します。

増分バックアップの詳細については、Oracle Database ドキュメントの「[増分バックアップ](https://docs.oracle.com/database/121/RCMRF/rcmsynta006.htm#GUID-73642FF2-43C5-48B2-9969-99001C52EB50__BGBHABHH)」を参照してください。

このプロシージャは現在のテナントデータベースにのみ適用され、以下の RMAN タスクの共通パラメータを使用します。
+ `p_owner`
+ `p_directory_name`
+ `p_label`
+ `p_parallel`
+ `p_section_size_mb`
+ `p_include_archive_logs`
+ `p_include_controlfile`
+ `p_optimize`
+ `p_compress`
+ `p_rman_to_dbms_output`
+ `p_tag`

詳細については、「[RMAN プロシージャの共通パラメータ](Appendix.Oracle.CommonDBATasks.CommonParameters.md)」を参照してください。

このプロシージャは、以下の Amazon RDS for Oracle DB エンジンバージョンでサポートされています。
+ Oracle Database 21c (21.0.0) CDB
+ Oracle Database 19c (19.0.0) CDB

このプロシージャでは、次の追加のパラメータも使用します。


****  

| パラメータ名 | データ型 | 有効な値 | デフォルト | 必須 | 説明 | 
| --- | --- | --- | --- | --- | --- | 
|  `p_level`  |  number  |  `0`, `1`  |  `0`  |  いいえ  |  フル増分バックアップを有効にするには、`0` を指定します。 非累積増分バックアップを有効にするには、`1` を指定します。  | 

次の例では、パラメータの指定値を指定して、現行のテナントデータベースの増分バックアップを実行します。

```
BEGIN
    rdsadmin.rdsadmin_rman_util.backup_tenant_incremental(
        p_owner               => 'SYS', 
        p_directory_name      => 'MYDIRECTORY',
        p_level               => 1,
        p_parallel            => 4,  
        p_section_size_mb     => 10,
        p_tag                 => 'MY_INCREMENTAL_BACKUP',
        p_rman_to_dbms_output => FALSE);
END;
/
```

# テーブルスペースのバックアップ
<a name="Appendix.Oracle.CommonDBATasks.BackupTablespace"></a>

Amazon RDS プロシージャ `rdsadmin.rdsadmin_rman_util.backup_tablespace` を使用してテーブルスペースをバックアップできます。

このプロシージャでは、以下の RMAN タスクの共通パラメータを使用します。
+ `p_owner`
+ `p_directory_name`
+ `p_label`
+ `p_parallel`
+ `p_section_size_mb`
+ `p_include_archive_logs`
+ `p_include_controlfile`
+ `p_optimize`
+ `p_compress`
+ `p_rman_to_dbms_output`
+ `p_tag`

詳細については、「[RMAN プロシージャの共通パラメータ](Appendix.Oracle.CommonDBATasks.CommonParameters.md)」を参照してください。

このプロシージャでは、次の追加のパラメータも使用します。


****  

| パラメータ名 | データ型 | 有効な値 | デフォルト | 必須 | 説明 | 
| --- | --- | --- | --- | --- | --- | 
|  `p_tablespace_name`  |  varchar2  |  有効なテーブルスペース名。  |  —  |  はい  |  バックアップするテーブルスペースの名前。  | 

このプロシージャは、以下の Amazon RDS for Oracle DB エンジンバージョンでサポートされています。
+ Oracle Database 21c (21.0.0)
+ Oracle Database 19c (19.0.0)

次の例では、パラメータの値を指定してテーブルスペースバックアップを実行します。

```
BEGIN
    rdsadmin.rdsadmin_rman_util.backup_tablespace(
        p_owner               => 'SYS', 
        p_directory_name      => 'MYDIRECTORY',
        p_tablespace_name     => 'MYTABLESPACE',
        p_parallel            => 4,  
        p_section_size_mb     => 10,
        p_tag                 => 'MYTABLESPACE_BACKUP',
        p_rman_to_dbms_output => FALSE);
END;
/
```

# コントロールファイルのバックアップ
<a name="Appendix.Oracle.CommonDBATasks.backup-control-file"></a>

Amazon RDS プロシージャ `rdsadmin.rdsadmin_rman_util.backup_current_controlfile` を使用して、コントロールファイルをバックアップできます。

このプロシージャでは、以下の RMAN タスクの共通パラメータを使用します。
+ `p_owner`
+ `p_directory_name`
+ `p_label`
+ `p_compress`
+ `p_rman_to_dbms_output`
+ `p_tag`

詳細については、「[RMAN プロシージャの共通パラメータ](Appendix.Oracle.CommonDBATasks.CommonParameters.md)」を参照してください。

このプロシージャは、以下の Amazon RDS for Oracle DB エンジンバージョンでサポートされています。
+ Oracle Database 21c (21.0.0)
+ Oracle Database 19c (19.0.0)

次の例では、パラメータに指定した値を使用して、コントロールファイルをバックアップします。

```
BEGIN
    rdsadmin.rdsadmin_rman_util.backup_current_controlfile(
        p_owner               => 'SYS', 
        p_directory_name      => 'MYDIRECTORY',
        p_tag                 => 'CONTROL_FILE_BACKUP',
        p_rman_to_dbms_output => FALSE);
END;
/
```

# ブロックメディアリカバリの実行
<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;
/
```