Oracleバックアップの覚書1
- 2011.06.08
- IT関連
mogeraです。
Oracleのバックアップについて調べたので、その覚書です。
Recovery Manager(RMAN)の利用
RMANはOracle標準のバックアップ・リストア・リカバリ用ユーティリティ。
バックアップ対象はデータベース全体、表領域単位、データファイル単位。
差分・増分バックアップが可能。
ポイントはRMANのリポジトリの保存場所。
DBスキーマをリポジトリの保存場所に指定できる。(デフォルトでは制御ファイルに保存)
これをリカバリ・カタログと呼ぶ。
これにより冗長性の確保は勿論、1つのリカバリ・カタログは複数サーバのRMANリポジトリを管理できるため、バックアップの集中管理が可能。
以下、操作手順を簡単に。
リカバリ・カタログのユーザーにはrecovery_catalog_ownerを付与
(リカバリ・カタログの管理権限のロール)
SQL> grant recovery_catalog_owner to rman;//ユーザー:rmanをリカバリ・カタログにする
RMANの起動。リカバリ・カタログにするスキーマへ接続
>rman CATALOG rman@REPO/RCAT//CATALOG指定でリカバリ・カタログへの接続
リカバリ・カタログを作成
RMAN> create catalog;
バックアップ対象のデータベースへ接続する(SYSDBA権限のあるユーザーで接続)
RMAN>connect TARGET sys/TGT//TARGET指定でバックアップ対象への接続
リカバリ・カタログへ登録する
RMAN> register database;
次はバックアップの取得。
INCREMENTALは差分増分、level0はそのベースとなる基本バックアップをとる、というオプション。
RMAN>BACKUP INCREMENTAL LEVEL 0 DATABASE;//DB全体のバックアップ
差分増分だけの取得はlevel1を指定。
RMAN>BACKUP INCREMENTAL LEVEL 1 DATABASE;
最後にリストアとリカバリ。
表領域:USERSを復旧する
RMANでリカバリ・カタログとリカバリ対象に接続
>rman CATALOG rman@REPO/RCAT
RMAN>connect TARGET sys/TGT
USERSをオフラインにする
RMAN>SQL ’ALTER TABLESPACE USERS OFFLINE’;
リストア実行
RMAN>RESTORE TABLESPACE USERS;
リカバリの実行
RMAN>RECOVER TABLESPACE USERS;
USERSをオンラインに戻す
SQL> ALTER TABLESPACE USERS ONLINE;