RMAN① バックアップ設定

前回はコールドバックアップについて記載しましたが、今回から数回はOracle標準のバックアップツールであるRMAN(Recovery Manager)についてとなります。

個人的に気に入っているRMANを使うメリットです。

1. バックアップ管理が容易 ・・ バックアップ対象ファイルをOracleが自動で取得する。世代管理も自動。

2.未使用領域の圧縮・・データファイルのうち、使用していない領域は圧縮の対象になる。

3.破損バックアップの検出・・バックアップ取得時に破損ブロックを検出する。OSコマンドやストレージ機能を使用したバックアップでは、破損ブロックが含まれた状態のバックアップになってしまう可能性もある。

———————————————————————–

バックアップコマンド自体は、

backup database;  フルバックアップ

backup database plus archivelog delete all input;  フルバックアップとアーカイブログのバックアップ。アーカイブログはバックアップ後に削除

などがありますが、事前に運用設計にあわせ、バックアップ設定をしておくことがおすすめです。(バックアップのコマンド詳細は次回以降)

———————————————————————–

現在の設定を表示:

show all;

保存設定(世代管理:例は3世代):

CONFIGURE RETENTION POLICY TO REDUNDANCY 3;

保存設定(日数管理:例は5日前までに復旧できる):

CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 5 DAYS;

バックアップファイルの保存先(DBとアーカイブログの保存先):

CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT ‘/backup/%U’;

%Uは必須(重複しないファイル名を自動生成してくれる)。その他、%dでDB名、%IはDBID(SPファイルのリストア時に必要)を入れると、バックアップファイルを管理しやすいかな、と思います。

制御ファイル、SPファイルの自動バックアップ有効:

CONFIGURE CONTROLFILE AUTOBACKUP ON;

制御ファイルには、バックアップ時の情報が記録されているので、リストア・リカバリを容易にするためには必須かと思っています。

制御ファイル、SPファイルのバックアップ保存先:

CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO ‘/backup/%F’;

 

設定を元に戻す場合は、値の代わりにCLEARオプションを指定して戻る方法や、sql*plus からEXECUTE DBMS_BACKUP_RESTORE.RESETCONFIG を実行すると全てのパラメータをデフォルトに戻せます。

コールドバックアップ

私は、アプリ開発技術者時代に初めてデータベース(SQLServer)に触れ、その後、Oracle専任技術者となり、お客様に最適なシステムの提案、構築、問題解決などをしています。このページでは、Oracleを学んできた上で役立ちそうな情報を記載していこうと思っています。

データベース環境は、11gR2、12cR1、12cR2です。基本はStandard Editionでも出来る内容を考えています。

まずバックアップの基本であるコールドバックアップとなります。

コールドバックアップに必要なDB構成ファイルは以下のコマンドで表示されます。

DB構成ファイル
————————
set line 200
col name for a100
col member for a100

select name from v$controlfile
union
select name from v$datafile
union
select name from v$tempfile
union
select member from v$logfile ;
————————

※一時表領域は再作成可能ですが、リストア時に古いファイルが残っている場合、他のファイルと整合性が合わないなど、おかしな動作をする懸念があるので、含めています。

上記で表示されたファイルをDB正常停止後にバックアップすればOKです。

shutdown immediate (shutdown abort、異常終了時は不可)

その他、パラメータファイルや、ネットワーク関連ファイル、パスワードファイルもあれば良いかと思います。

パラメータファイル
ORACLE_HOME/dbs (Windowsの場合は、%ORACLE_HOME%\database)
・システムパラメータファイルの場合
spfile<SID>.ora
・ 初期化パラメータファイルの場合
init<SID>.ora

※SPファイルがASM内に格納されている場合は、以下コマンドなどで作成できます。
create pfile = ‘/tmp/initxx.ora’ from spfile’;

各構成パラメータファイル
$ORACLE_HOME/network/admin ディレクトリ
tnsnames.ora
listener.ora
sqlnet.ora

パスワードファイル
$ORACLE_HOME/dbs (Windowsの場合は、%ORACLE_HOME%\database)
orapw<SID>

Windowsの場合、PWD<SID>.ora