株式会社コーソル

KNOWLEDGE

コーソルの技術情報

コーソルでは経験豊かなエンジニアが、Oracle Databaseに関するお役立ち情報を発信しています。
データベースのチューニングや設定にお役立ていただけます。

KNOWLEDGE検索人気のキーワード

Oracle DB ベストプラクティス

最低限実施すべきRMAN設定

01.RMAN設定

RMAN(Recovery Manager)は優れたバックアップユーティリティであり、オラクル社推奨のバックアップ取得方法です。
特に何も設定しなくても、backup databaseコマンドさえ実行すればデータベース全体のバックアップを簡単に取得できます。

[oracle@l54x64a ~]$ rman target /

Recovery Manager: Release 11.2.0.1.0 - Production on 水 2月 22 20:52:30 2012

Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.

ターゲット・データベース: B201 (データベースID=3645657987)に接続されました

RMAN> backup database;
backupが開始されました(開始時間: 2012-02-22 20:54:11)
チャネルORA_DISK_1の使用
チャネルORA_DISK_1: フル・データファイル・バックアップ・セットを開始しています
チャネルORA_DISK_1: バックアップ・セットにデータファイルを指定しています
入力データファイル・ファイル番号=00001 名前=/u02/app/oracle/oradata/b201/system01.dbf
入力データファイル・ファイル番号=00002 名前=/u02/app/oracle/oradata/b201/sysaux01.dbf
入力データファイル・ファイル番号=00003 名前=/u02/app/oracle/oradata/b201/undotbs01.dbf
入力データファイル・ファイル番号=00005 名前=/u02/app/oracle/oradata/b201/testtbs01.dbf
入力データファイル・ファイル番号=00006 名前=/u02/app/oracle/oradata/b201/testtbs02.dbf
入力データファイル・ファイル番号=00004 名前=/u02/app/oracle/oradata/b201/users01.dbf
チャネルORA_DISK_1: ピース1(2012-02-22 20:54:12)を起動します
チャネルORA_DISK_1: ピース1(2012-02-22 20:56:07)が完了しました
ピース・ハンドル=/u02/app/oracle/flash_recovery_area/B201/backupset/2012_02_22/o1_mf_nnndf_TAG20120222T205412_7n9ov4sx_.bkp タグ=TAG20120222T205412 コメント=NONE
チャネルORA_DISK_1: バックアップ・セットが完了しました。経過時間: 00:01:55
チャネルORA_DISK_1: フル・データファイル・バックアップ・セットを開始しています
チャネルORA_DISK_1: バックアップ・セットにデータファイルを指定しています
現行の制御ファイルをバックアップ・セットに組み込んでいます
バックアップ・セットに現行のSPFILEを組み込んでいます
チャネルORA_DISK_1: ピース1(2012-02-22 20:56:09)を起動します
チャネルORA_DISK_1: ピース1(2012-02-22 20:56:10)が完了しました
ピース・ハンドル=/u02/app/oracle/flash_recovery_area/B201/backupset/2012_02_22/o1_mf_ncsnf_TAG20120222T205412_7n9oys98_.bkp タグ=TAG20120222T205412 コメント=NONE
チャネルORA_DISK_1: バックアップ・セットが完了しました。経過時間: 00:00:01
backupが完了しました(完了時間: 2012-02-22 20:56:10)

しかし、RMANの設定項目は多岐にわたるため、全貌を理解しにくいと思われます。最低限設定すべきRMAN設定をご紹介します。

02.バックアップファイルの出力先指定

RMANでは、複数の方法でバックアップファイルの出力先を指定できます。
詳細はマニュアル「バックアップおよびリカバリ・リファレンス」のformatSpecの箇所をご確認ください。
(11.2では、http://docs.oracle.com/cd/E16338_01/backup.112/b56270/rcmsubcl010.htm#sthref2349 )
一般的な設定方法は、デバイスチャネルのFORMAT句で指定する方法でしょう。

CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/disk1/%U';

出力先をデータベース構成ファイルを配置したディスクとは別のディスク上のディレクトリに設定してください。同一のディスクに設定してしまうと、ディスク障害によりデータベースとバックアップの両方が失われる可能性があり、バックアップの意味がありません。 また、10.1以降では、FORMAT句によるバックアップ出力先の指定がない場合は、フラッシュリカバリ領域にバックアップにバックアップが出力されます。 弊社技術情報「アーカイブログモードの重要性とアーカイブログモード運用のすすめ」の「フラッシュリカバリ領域の構成」を参考にしてください。 同様の理由で、フラッシュリカバリ領域もデータベース構成ファイルを配置したディスクとは別のディスク上のディレクトリに設定してください。 なお、上記の記載はバックアップデバイスとしてテープではなくディスクを使用することを前提にしています。

03.バックアップ保存方針(RETENTION POLICY)の設定

RMANの設定項目であるバックアップ保存方針(RETENTION POLICY)を運用ポリシーに合わせて設定します。

例) 過去2世代分のバックアップを保存する場合

RMAN> CONFIGURE RETENTION POLICY TO REDUNDANCY 2;

例) 7日前までの状態に復旧できるだけのバックアップを保存する場合

RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;

もっとも一般的な要件である、障害発生直前に戻せればよいのであれば、REDUNDANCYを指定して、過去1世代分のバックアップを保存しておけば十分です。障害発生直前だけではなく、過去のある時点(障害発生直前のX日前)に戻したい要件がある場合は、RECOVERY WINDOW OFを指定します。 なお、REDUNDANCY とRECOVERY WINDOW OFを併用することはできません。

04.制御ファイルの自動バックアップ有効化

制御ファイル自動バックアップを有効化すると、データベースの構成変更が行われると、自動的に制御ファイルのバックアップが取得されます。 例) 制御ファイル自動バックアップの有効化

RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;

制御ファイルにはデータベースの構成情報が含まれています。障害発生時点のデータベースの構成と、バックアップされた制御ファイルに記録されたデータベースの構成情報に乖離があると、復旧作業が複雑になり、復旧に時間を要する場合があります。自動的に制御ファイルのバックアップが取得することで、このような事態を避けられます。

05.RMAN設定とデフォルトからの変更点の確認方法

RMANの設定は show all; コマンドで確認できます。出力結果は設定用のコマンドCONFIGURE として出力されます。 出力されたCONFIGUREコマンドを実行すると、現行の設定と同じ設定にすることができます。

RMAN> show all;
using target database control file instead of recovery catalog
RMAN configuration parameters for database with db_unique_name B203 are:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/app/oracle/product/11.2.0.3/ee_1/dbs/snapcf_b203.f'; # default

各行の出力の最後に、”# default” という出力がありますが、これはデフォルト設定のままであることを意味しています。デフォルト設定から変更して、出力結果を変化を確認してみます。 本章で説明した推奨項目について設定します。 バックアップ出力先指定を(別のディスクであることを示した) /another_disk/ ディレクトリに設定 バックアップ保存方針を2世代分に設定 制御ファイルの自動バックアップを有効化

RMAN> CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/another_disk/%U';
new RMAN configuration parameters:
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT   '/another_disk/%U';
new RMAN configuration parameters are successfully stored
RMAN> CONFIGURE RETENTION POLICY TO REDUNDANCY 2;
new RMAN configuration parameters:
CONFIGURE RETENTION POLICY TO REDUNDANCY 2;
new RMAN configuration parameters are successfully stored
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;
new RMAN configuration parameters:
CONFIGURE CONTROLFILE AUTOBACKUP ON;
new RMAN configuration parameters are successfully stored
RMAN> show all;
RMAN configuration parameters for database with db_unique_name B203 are:
CONFIGURE RETENTION POLICY TO REDUNDANCY 2;
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT   '/another_disk/%U';
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/app/oracle/product/11.2.0.3/ee_1/dbs/snapcf_b203.f'; # default

設定を変更した項目に対応する、行の出力の最後から、”# default” という出力が消えていることがわかります。