連載
» 2011年01月14日 00時00分 公開

独学! ORACLE MASTER Gold 11g講座(3):RMANによるバックアップの構成 (1/2)

ORACLE MASTER資格の上級に位置付けられる「ORACLE MASTER Gold Oracle Database 11g」。本連載では、Gold試験の頻出ポイントを解説する。確認問題付き。

[岩沢百合子,システム・テクノロジー・アイ]

 今回は、Oracleデータベースファイルのバックアップ/リカバリを実装するOracleユーティリティ「Recovery Manager」(以下、RMAN)の構成を紹介します。バックアップ/リカバリ計画は、ユーザー管理によるOSコマンドを使って管理できます。しかし、RMANを使うことで、さまざまなバックアップ方法のサポートおよびバックアップメンテナンスが可能になります。

RMANの仕組み

 初めに、RMANがどのような仕組みで動作しているのか見てみましょう。まず、RMANユーティリティから、backupコマンドやrestoreコマンドを発行します。そのコマンドを受け取って、実際の処理を行うのはサーバセッションです。サーバセッションは、ターゲットデータベースのデータベースファイルを、チャネルを通じてディスクまたはテープ装置にバックアップします。そして、バックアップ情報はターゲットデータベースの制御ファイルに記録します。制御ファイルにバックアップ情報を記録するため、バックアップ情報を簡単に閲覧できるのです。

ARCHIVELOGモードの場合
  • ターゲットデータベース:バックアップ対象データベース
  • チャネル:OSリソースにアクセスするプロセス。テープ装置に対するバックアップには、チャネルにMML(メディア管理ライブラリ)を構成する必要がある

RMANの永続設定を構成する

 RMANの仕組みが確認できたところで、RMANの動作を制御する「永続設定」について確認しましょう。永続設定の構成を確認するためには、showコマンドを使います。すべての永続設定を確認したい場合、show allを実行します。

[oracle@machine01 ~]$ rman target / ←RMANを起動しターゲットデータベースに接続します
Recovery Manager: Release 11.1.0.7.0 - Production on 木 12月 16 19:43:07 2010
Copyright (c) 1982, 2007, Oracle.  All rights reserved.
ターゲットデータベース: ORCL (データベースID=1247019328)に接続されました
RMAN> show all; ←show allとすることで構成済みの永続設定が確認できます
リカバリ・カタログの代わりにターゲットデータベース制御ファイルを使用しています
db_unique_name ORCLのデータベースにおけるRMAN構成パラメータ:
CONFIGURE RETENTION POLICY TO NONE;
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
〜省略〜
CONFIGURE COMPRESSION ALGORITHM 'BZIP2'; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/app/oracle/product/11.1.0/db_1/dbs/snapcf_orcl.f'; # default

 では、次に主要な永続設定をいくつかご紹介します。

保存ポリシーの設定

 保存ポリシーの設定では、バックアップファイルの保持ルールを設定します。保存ポリシーの設定には、「リカバリ期間」と「冗長性」があり、この2つのポリシーは相互に排他的です。

  • リカバリ期間:Point-in-Timeリカバリを可能にする期間を設定する。例えば、リカバリ期間を7日間と設定した場合、7日前まで過去の状態に戻せるようにバックアップファイルを保持する
  • 冗長性:保存する必要があるバックアップ数を設定する。世代管理ができる。例えば、冗長性2と設定している場合、2世代バックアップを保持する
RMAN> show retention policy;  
db_unique_name ORCLのデータベースにおけるRMAN構成パラメータ:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default ←デフォルトでは冗長性1
RMAN> configure retention policy to recovery window of 7 days; ←リカバリ期間7日間に設定
新しいRMAN構成パラメータ:
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;
新しいRMAN構成パラメータが格納できました
RMAN> configure retention policy to redundancy 2; ←冗長性2に設定を変更
古いRMAN構成パラメータ:
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;
新しいRMAN構成パラメータ:
CONFIGURE RETENTION POLICY TO REDUNDANCY 2;
新しいRMAN構成パラメータが格納できました

 このように、永続設定を変更したい場合には、configureコマンドを使います。

制御ファイルの自動バックアップ

 制御ファイルの全損失では、制御ファイルのバックアップを使った復旧が必要になります。では、制御ファイルのバックアップはどのタイミングで取得すればよいでしょうか?

 もちろん、データファイルをバックアップするタイミングで取得することは必要でしょう。バックアップ制御ファイルを使った復旧では、リカバリが必要になります。

 もう1つ、大切なバックアップタイミングがあります。それは、データベースの物理構造情報が変わったタイミングです。例えば、データファイルの追加や読み取り専用表領域への変更などが該当します。

 バックアップスケジューリングに制御ファイルのバックアップを含めることは容易でしょうが、構造が変わったタイミングでのバックアップは、うっかりすると忘れてしまいそうです。「制御ファイルの自動バックアップ」を有効化すると、バックアップ取得時および物理構造変更時に自動的に制御ファイルをバックアップしてくれます。この設定により、制御ファイルのバックアップを取得し忘れることはなくなります。大変便利な構成なので、お勧めです。設定方法は次のとおりです。

RMAN> show controlfile autobackup;
db_unique_name ORCLのデータベースにおけるRMAN構成パラメータ:
CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
RMAN> configure controlfile autobackup on;
新しいRMAN構成パラメータ:
CONFIGURE CONTROLFILE AUTOBACKUP ON;
新しいRMAN構成パラメータが格納できました

 なお、バックアップ場所を指定しなかった場合は、フラッシュリカバリ領域にバックアップされます。また、フラッシュリカバリ領域を指定しなかった場合、$ORACLE_HOME/dbsにバックアップされます。明示的に制御ファイルのバックアップ場所を指定する場合には、永続設定として、CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F';で自動制御ファイルのバックアップ場所を指定します。

       1|2 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。