効率良いバックアップのための拡張機能

RMANの新機能

RMAN>BACKUP RECOVERY AREAコマンド

  • Flash Recovery Areaの中にテープバックアップされていないファイルをTAPEへバックアップします。
  • ターゲットファイルはフルと増分バックアップセット、自動コントロールバックアップ、アーカイブログ、データファイルコピーとなります。
  • フラッシュバックログ、 増分ビットマップ、カレントコントロールファイル、オンラインREDOログはこのRMANコマンドによってバックアップされません。

RMAN> BACKUP RECOVERY FILESコマンド

  • Disk上のテープにバックアップされていないファイルをTAPEへバックアップします。
  • ターゲットファイルはフルと増分バックアップセット、自動コントロールバックアップ、アーカイブログ、データファイルコピーとなります。
  • Flash Recovery Area以外のリカバリファイルも対象になってバックアップされます。

RMAN> RECOVER COPY OF DATAFILE(RECOVER DATAFILECOPY)コマンド:Incrementally Updated Backups

  • RMANでデータファイルイメージコピーに増分バックアップを適用します。これによってあるデータファイルイメージコピーをある時点の状態にRoll Forward(Recovery)ができます。
  • 増分バックアップのSCNによってデータファイルイメージコピーはアップデートされます。毎日フルデータベースイメージコピーは必要がなくなります。
  • Media Recovery(using archive log)時間を削減します。

RMAN> … FROM SCN

RMAN> BACKUP INCREMENTAL FROM SCN 9727155 DATABASE;
  • 指定されたSCN以降の増分をバックアップされます。
  • RMANリポジトリに増分バックアップをカタログされません。

RMAN> BACKUP AS COPY DATABASE:データベースイメージコピーを作成されます。

RMAN> BACKUP COPY OF DATABASE:以前のイメージコピーをバックアップします。

RMAN> BACKUP AS BACKUPSET DATABASE:バックアップセットでバックアップします。

RMAN> CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COPY:デフォルトバックアップタイプをイメージコピーに設定します。

RMAN> BACKUP TABLESPACE:表領域を個別にバックアップします。

RMAN> BACKUP COPY OF TABLESPACE:表領域のイメージコピーをバックアップします。

RMAN> BACKUP CURRENT CONTROLFILE:制御ファイルをバックアップします。

RMAN> RMAN> SWITCH DATABASE TO COPY:

  • スイッチ処理はバックアップデータファイルをコピーすることは一切にしません。
  • RMANは制御ファイルのポインターをバックアップファイルに指させるようにスイッチし、即時にリカバリ処理を行います。
  • バックアップファイルはイメージコピーでなければなりません。

RMAN> BACKUP AS COMPRESSED BACKUPSET DATABASE:バックアップセットを圧縮モードでバックアップします。

RMAN> DROP DATABASE [INCLUDING BACKUPS]:物理データベースファイルを削除します。

RMAN> BACKUP AS COPY DURATION 10:00 MINIMIZE LOAD DATABASE:10時間以内に最小の影響でデータベースイメージをコピーします。

RMAN> BACKUP AS COPY DURATION 4:00 FILESPERSET 1 TABLESPACE USERS:4時間以内にUSERS表領域をバックアップします。

RMAN> BACKUP AS COPY DURATION 4:00 PARTIAL FILESPERSET 1:4時間以内にバックアップを取って、バックアップが不完全の場合でもエラーにはなりません。

Fast Incremental Backup

Fast Incremental Backupの概要(チェンジ・トラッキング:Change Tracking)

  • Recovery Managerの増分バックアップ用のチェンジ・トラッキング機能を使用すると、チェンジ・トラッキング(Change Tracking)・ファイル内の各データ・ファイルで変更されたブロックを記録することにより、増分バックアップのパフォーマンスが改善されます。
  • チェンジ・トラッキングが有効な場合、Recovery Managerは、チェンジ・トラッキング・ファイルを使用して、増分バックアップで変更されたブロックを識別します。これによって、データ・ファイル内のすべてのブロックをスキャンする必要がなくなります。
  • チェンジ・トラッキングを有効にした直後は、チェンジ・トラッキング・ファイルにブロックの状態が反映されていないため、レベル0の最初の増分バックアップでは、データ・ファイル全体をスキャンする必要があります。このレベル0の増分バックアップを親として使用するその後の増分バックアップでは、チェンジ・トラッキング・ファイルを使用します。
  • チェンジ・トラッキングは、通常の動作時に、データベースに対するパフォーマンスのオーバーヘッドをわずかに発生させるため、デフォルトでは無効になっています。
  • ただし、バックアップとバックアップの間で行われた変更がごく少量の場合などは、バックアップ時にデータベース全体のスキャンを実行しないことは大きな利点です。
  • Change Tracking Fileに書き込むOracleバックグランドプロセスはCTWR(Change Tracking Writer)となります。
  • Change Tracking Fileはデフォルトサイズが10Mで増分サイズが10Mとなります。変更されたブロックリストを保存されるが、デフォルトで変更された情報を記録しません。

Change Tracking機能の有効化/無効化

ALTER DATABASE {ENABLE|DISABLE} BLOCK CHANGE TRACKING [USING FILE '…']

SQL> alter database enable block change tracking;

データベースが変更されました。

※ DB_CREATE_FILE_DESTが指定された時、Change Trackingファイルを指定しなくても良いです。

V$BLOCK_CHANGE_TRACKINGビューで監視

SQL> col filename format a70
SQL> SELECT filename, status, bytes FROM v$block_change_tracking;

FILENAME                                                               STATUS                              BYTES
---------------------------------------------------------------------- ------------------------------ ----------
/u02/oracle/oradata/ocm/OCM/changetracking/o1_mf_3xznk8dj_.chg         ENABLED                          11599872

Incremental Roll Forward of a Database Copy

テストDB構築・運用の例:

  1. 本番DBのイメージコピー(clone)を取得します。
  2. トランザクション整合性を保つため、クーロンデータベースをロールフォワードします。
  3. クーロンデータベースをFlashback Onモードに設定します。
  4. ResetlogsでクーロンデータベースをテストDBとしてオープンします。
  5. テスト作業を実行します。
  6. テスト作業期間のすべての変更をFlashbackします。
  7. 本番DBの増分バックアップをクーロンDBに適用します。
  8. Step 2に繰り返します。

SQL機能変化

ALTER DATABASE ADD LOGFILE and ADD STANDBY LOGFILE

ファイル名とDB_CREATE_ONLINE_LOG_DEST_nが指定されていない場合、REDOログメンバーはFlash Recovery Areaに作成されます。

ALTER DATABASE DROP LOGFILE

Flash Recovery AreaにあるOMF REDOログメンバーは削除されます。

ALTER DATABASE … RENAME FILE

名前を変更される前のファイルはFlash Recovery Areaにあれば、削除されます。

CREATE CONTROLFILE

CONTROL_FILES初期化パラメータに指定された場所或いは事前指定されたOMF場所に作成されました。

SQL> ALTER DATABASE {BEGIN/END} BACKUP

  • 個別に表領域を設定することは必要なくなります。
  • データベースはArchivelogモード且つMOUNT或いはOPEN状態でなければなりません。
  • RMANを使わずにオンラインバックアップを取得する場合はこの設定が必要となります。
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License