Oracle DB インスタンスの一般的な RMAN タスクの実行 - Amazon Relational Database Service

Oracle DB インスタンスの一般的な RMAN タスクの実行

次のセクションでは、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 統合」を参照してください。

RMAN バックアップのバックアップファイルは、手動で削除するまでは、Amazon RDS DB インスタンスホストに残ります。ディレクトリからファイルを削除するには、Oracle プロシージャ UTL_FILE.FREMOVE を使用できます。詳細については、Oracle データベースドキュメントの「FREMOVE プロシージャ」を参照してください。

RMAN を使用して RDS for Oracle DB インスタンスを復元することはできません。ただし、RMAN を使用して、バックアップをオンプレミスまたは Amazon EC2 インスタンスに復元することはできます。詳細については、ブログ記事「Amazon RDS for Oracle インスタンスをセルフマネージドインスタンスに復元する」を参照してください。

注記

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

RMAN バックアップの前提条件

rdsadmin.rdsadmin_rman_util パッケージを使用してデータベースをバックアップする前に、以下の前提条件を満たしていることを確認してください。

  • RDS for Oracle データベースが ARCHIVELOG モードであることを確認してください。このモードを有効にするには、バックアップ保持期間をゼロ以外の値に設定します。

  • アーカイブされた REDO ログをバックアップしたり、アーカイブされた REDO ログを含む完全バックアップまたは増分バックアップを実行する場合は、REDO ログの保持期間をゼロ以外の値に設定する必要があります。リカバリ時にデータベースファイルの整合性を保つには、アーカイブされたREDO ログが必要です。詳細については、「アーカイブ REDO ログの保持」を参照してください。

  • DB インスタンスにバックアップを保持するのに十分な空き容量があることを確認してください。データベースをバックアップするときには、プロシージャ呼び出しのパラメータとして Oracle ディレクトリオブジェクトを指定します。RMAN は、指定されたディレクトリにファイルを配置します。デフォルトのディレクトリ (DATA_PUMP_DIR など) を使用するか、新しいディレクトリを作成できます。詳細については、「主要データストレージ領域でのディレクトリの作成と削除」を参照してください。

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

RMAN プロシージャの共通パラメータ

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 エンジンバージョンでサポートされています。

  • Oracle Database 21c (21.0.0)

  • 19.0.0.0.ru-2021-10.rur-2021-10.r1 以降を使用する、Oracle Database 19c (19.0.0)

  • 12.2.0.1.ru-2021-10.rur-2021-10.r1 以降を使用する、Oracle Database 12c リリース 2 (12.2)

  • 12.1.0.2.V26 以降を使用する、Oracle Database 12c リリース 1 (12.1)

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) の場合は 1254 の有効な整数

1その他の Oracle データベースエディションの場合は

1

いいえ

チャネルの数。

p_rman_to_dbms_output

boolean

TRUE, FALSE

FALSE

いいえ

TRUE の場合、RMAN 出力は DBMS_OUTPUT ディレクトリのファイルに加えて、BDUMP パッケージに送信されます。SQL*Plus で、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 でのデータベースファイルの検証

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

RMAN の検証の詳細については、Oracle ドキュメントの「データベースファイルおよびバックアップの検証」と「VALIDATE」を参照してください。

データベースの検証

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 プロシージャの共通パラメータ」を参照してください。

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

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'));

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

テナントデータベースの検証

コンテナデータベース (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 プロシージャの共通パラメータ」を参照してください。このプロシージャは、以下の 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'));

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

テーブルスペースの検証

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

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

  • p_validation_type

  • p_parallel

  • p_section_size_mb

  • p_rman_to_dbms_output

詳細については、「RMAN プロシージャの共通パラメータ」を参照してください。

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

パラメータ名 データ型 有効な値 デフォルト 必須 説明

p_tablespace_name

varchar2

有効なテーブルスペース名

はい

テーブルスペースの名前。

制御ファイルの検証

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

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

  • p_validation_type

  • p_rman_to_dbms_output

詳細については、「RMAN プロシージャの共通パラメータ」を参照してください。

SPFILE の検証

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

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

  • p_validation_type

  • p_rman_to_dbms_output

詳細については、「RMAN プロシージャの共通パラメータ」を参照してください。

Oracle データファイルの検証

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

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

  • p_validation_type

  • p_parallel

  • p_section_size_mb

  • p_rman_to_dbms_output

詳細については、「RMAN プロシージャの共通パラメータ」を参照してください。

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

パラメータ名 データ型 有効な値 デフォルト 必須 説明

p_datafile

varchar2

有効なデータファイル ID 番号または完全なパスを含む有効なデータファイル名

はい

データファイル ID 番号 (v$datafile.file# より) またはパスを含む詳細なデータファイル名 (v$datafile.name より)。

p_from_block

number

有効な整数

NULL

いいえ

データファイル内で検証が始まるブロックの番号。これが NULL の場合、1 が使用されます。

p_to_block

number

有効な整数

NULL

いいえ

データファイル内で検証が終わるブロックの番号。これが NULL の場合、データファイルの最大ブロックが使用されます。

ブロック変更追跡の有効化/無効化

ブロック変更の追跡は、トラッキングファイル内の変更されたブロックを記録します。この手法により、RMAN 増分バックアップのパフォーマンスを向上させることができます。詳細は、Oracle Database のドキュメントの「 ブロック変更の追跡を使用した増分バックアップのパフォーマンスの向上 」を参照してください。

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)

  • 12.2.0.1.ru-2019-01.rur-2019-01.r1 以降を使用している Oracle Database 12c リリース 2 (12.2)

  • 12.1.0.2.v15 以降を使用している Oracle Database 12c リリース 1 (12.1) (廃止)

注記

シングルテナント CDB では、以下のオペレーションは機能しますが、お客様が表示可能なメカニズムはオペレーションの現在のステータスを検出できません。「RDS for Oracle CDB の制限事項」も参照してください。

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 ログのクロスチェック

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

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

注記

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

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

詳細については、「RMAN プロシージャの共通パラメータ」を参照してください。

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

パラメータ名 データ型 有効な値 デフォルト 必須 説明

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)

  • 12.2.0.1.ru-2019-01.rur-2019-01.r1 以降を使用する、Oracle Database 12c リリース 2 (12.2)

  • 12.1.0.2.v15 以降を使用する、Oracle Database 12c リリース 1 (12.1)

次の例では、制御ファイル内のアーカイブ 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 ログファイルのバックアップ

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)

  • 12.2.0.1.ru-2019-01.rur-2019-01.r1 以降を使用する、Oracle Database 12c リリース 2 (12.2)

  • 12.1.0.2.v15 以降を使用する、Oracle Database 12c リリース 1 (12.1)

すべてのアーカイブ REDO ログのバックアップ

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 プロシージャの共通パラメータ」を参照してください。

次の例では、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 ログのバックアップ

日付範囲を指定して 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 プロシージャの共通パラメータ」を参照してください。

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

パラメータ名 データ型 有効な値 デフォルト 必須 説明

p_from_date

date

ディスクにあるアーカイブ REDO ログの start_datenext_date の日付。この値は、p_to_date で指定した値以下にする必要があります。

はい

アーカイブログのバックアップのスタート日。

p_to_date

date

ディスクにあるアーカイブ REDO ログの start_datenext_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 ログのバックアップ

システム変更番号 (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 プロシージャの共通パラメータ」を参照してください。

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

パラメータ名 データ型 有効な値 デフォルト 必須 説明

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 ログのバックアップ

シーケンス番号範囲を指定して 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 プロシージャの共通パラメータ」を参照してください。

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

パラメータ名 データ型 有効な値 デフォルト 必須 説明

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; /

データベースの完全バックアップの実行

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 プロシージャの共通パラメータ」を参照してください。

このプロシージャは、以下の 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; /

テナントデータベースの完全バックアップの実行

コンテナデータベース (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 プロシージャの共通パラメータ」を参照してください。

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; /

データベースの増分バックアップの実行

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

増分バックアップの詳細については、Oracle ドキュメントの「増分バックアップ」を参照してください。

このプロシージャでは、以下の 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 プロシージャの共通パラメータ」を参照してください。

このプロシージャは、以下の Amazon RDS for Oracle DB エンジンバージョンでサポートされています。

  • Oracle Database 21c (21.0.0)

  • Oracle Database 19c (19.0.0)

  • 12.2.0.1.ru-2019-01.rur-2019-01.r1 以降を使用する、Oracle Database 12c リリース 2 (12.2)

  • 12.1.0.2.v15 以降を使用する、Oracle Database 12c リリース 1 (12.1)

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

パラメータ名 データ型 有効な値 デフォルト 必須 説明

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; /

テナントデータベースの増分バックアップの実行

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

増分バックアップの詳細については、Oracle Database ドキュメントの「増分バックアップ」を参照してください。

このプロシージャは現在のテナントデータベースにのみ適用され、以下の 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 プロシージャの共通パラメータ」を参照してください。

このプロシージャは、以下の 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; /

テーブルスペースのバックアップ

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 プロシージャの共通パラメータ」を参照してください。

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

パラメータ名 データ型 有効な値 デフォルト 必須 説明

p_tablespace_name

varchar2

有効なテーブルスペース名。

はい

バックアップするテーブルスペースの名前。

このプロシージャは、以下の Amazon RDS for Oracle DB エンジンバージョンでサポートされています。

  • Oracle Database 21c (21.0.0)

  • Oracle Database 19c (19.0.0)

  • 12.2.0.1.ru-2019-01.rur-2019-01.r1 以降を使用する、Oracle Database 12c リリース 2 (12.2)

  • 12.1.0.2.v15 以降を使用する、Oracle Database 12c リリース 1 (12.1)

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

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; /

コントロールファイルのバックアップ

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 プロシージャの共通パラメータ」を参照してください。

このプロシージャは、以下の Amazon RDS for Oracle DB エンジンバージョンでサポートされています。

  • Oracle Database 21c (21.0.0)

  • Oracle Database 19c (19.0.0)

  • 12.2.0.1.ru-2019-01.rur-2019-01.r1 以降を使用する、Oracle Database 12c リリース 2 (12.2)

  • 12.1.0.2.v15 以降を使用する、Oracle Database 12c リリース 1 (12.1)

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

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; /

ブロックメディアリカバリの実行

Amazon RDS プロシージャ rdsadmin.rdsadmin_rman_util.recover_datafile_block を使用して、ブロックメディアリカバリと呼ばれる個々のデータブロックを復元できます。この重複された手順を使用して、個々のデータブロックまたはデータブロックの範囲を復元できます。

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

  • p_rman_to_dbms_output

詳細については、「RMAN プロシージャの共通パラメータ」を参照してください。

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

パラメータ名 データ型 有効な値 デフォルト 必須 説明

p_datafile

NUMBER

有効なデータファイル ID 番号。

はい

破損ブロックを含むデータファイル。次のいずれかの方法でデータファイルを指定します。

  • V$DATAFILE.FILE# にあるするデータファイル ID 番号

  • V$DATAFILE.NAME にあるパスを含む完全なデータファイル名

p_block

NUMBER

有効な整数。

はい

復元する個々のブロックの数。

次のパラメータは相互に排他的です。

  • p_block

  • p_from_block および p_to_block

p_from_block

NUMBER

有効な整数。

はい

復元するブロックの範囲の最初のブロック番号。

次のパラメータは相互に排他的です。

  • p_block

  • p_from_block および p_to_block

p_to_block

NUMBER

有効な整数。

はい

復元するブロックの範囲内の最後のブロック番号。

次のパラメータは相互に排他的です。

  • p_block

  • p_from_block および p_to_block

このプロシージャは、以下の 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; /