Oracle/RMAN

キーワード

キーワード説明
完全リカバリREDOなどを適用しDBの更新状態が最新でリカバリされること
不完全リカバリREDOログ破損などにより過去の時間までのリカバリ。データベースをMOUINT状態にする必要がある
リストアバックアップファイルから、データを物理的に復元すること
リカバリREDOログから最新の更新状態を適用していく
 

RMAN接続

-- RMAN接続後のDATE型のフォーマットを時分秒まで表示できるようにする
NLS_DATE_FORMAT="yyyy-mm-dd hh24:mi:ss"
※ Windowsの場合は、SET NLS_DATE_FORMAT=yyyy-mm-dd hh24:mi:ss

-- RMANへ接続
rman target [USER]/[PASS]@[識別子]


 

RMANリポジトリ構成

RMANリポジトリはデフォルトでは制御ファイルで管理している。
制御ファイルのリポジトリ情報は、保存期間に制限がある。(CONTROL_FILE_RECORD_KEEP_TIME初期化パラメータで指定(デフォルトは7日))
リカバリ・カタログを作成し制御ファイルのリポジトリ情報を保持することで保存期間の制限をなくせる。

-- 表領域を作成
CREATE TABLESPACE rcat_tbs DATAFILE '/opt/app/oracle/oradata/orcl11/rman.dbf' SIZE 15M;
--リカバリカタログ用のユーザーを作成
CREATE USER rmansys IDENTIFIED BY oracle
TEMPORARY TABLESPACE temp
DEFAULT TABLESPACE rcat_tbs
QUOTA UNLIMITED ON rcat_tbs;
--リカバリカタログオーナー権限を付与
GRANT RECOVERY_CATALOG_OWNER TO rmansys;
--リカバリカタログの作成
$ rman
RMAN> CONNECT CATALOG rmansys/oracle@<SID>
RMAN> CREATE CATALOG;
--ターゲット・データベースをリカバリ・カタログに登録
$ rman TARGET / CATALOG rmansys/oracle@<SID>  ※ターゲットDBと、リカバリ・カタログの両方に接続
RMAN> REGISTER DATABASE;


 

RMANコマンド

BACKUP

BACKUP { DATABASE [追加オプション] | TABLESPACE 表領域[,表領域] | DATAFILE 'ファイル名'['ファイル名'] | SPFILE] [オプション]
オプション説明
AS BACKUPSETバックアップセット(RMAN専用の形式でリカバリが簡単)
AS COPYイメージコピー(OSに存在してるファイルと全く同じ形式)
FORMAT '保存先'バックアップ先(省略時はCONFIGURE CHANNEL DEVICE TYPE DISK FORMAT 'フォーマット'で指定された場所)
AS COMPRESSED BACKUPSETバックアップセットをバックアップする際にファイルを圧縮する
INCLUDE CURRENT CONTROLFILE制御ファイルも一緒にバックアップする
INCREMENTAL LEVEL 0レベル0増分バックアップ。バックアップセット、イメージコピーどちらも可
INCREMENTAL LEVEL 1 [CUMULATIVE]レベル1増分バックアップ。バックアップセットでのみ指定可能
CUMULATIVE句を付与すると累積増分バックアップ(レベル0からの差分)になる
KEEP UNTIL TIME 保存期限アーカイブログの保存日数を指定する(この期限を過ぎると不要とマークされる)
コマンド実行次点から10日間保存したい場合は、'SYSDATE+10'
追加オプション説明
PLUS ARCHIVELOG [ DELETE INPUT ]全体バックアップ+アーカイブREDOログファイルも同時にバックアップ
SKIP READONLY読み取り専用領域をバックアップ対象から除外
 

DELETE

DELETE [オプション] キーワード
オプション説明
EXPIRED指定したバックアップファイルが期限切れの場合、削除する
OBSOLETE [保存ポリシー]保存ポリシーに合致したファイルを削除する
キーワード削除対象
BACKUPSET [キー]バックアップセット
COPY全てのイメージコピー
DATAFILECOPY キー指定したイメージコピー
BACKUP OF TABLESPACE 表領域領域
CONTROLFILECOPY キー制御ファイル
 

RESTORE

RESTORE [ AUTOMATIC ] { DATABASE | TABLESPACE 表領域名 | DATAFILE { ファイル番号|'ファイル名'} }

RMANを使用してファイルをリストア(取得しておいたバックアップから、データを物理的に復元)する。
RMANでアーカイブREDOログファイルをバックアップしている場合はアーカイブREDOログのリストアは不要。
ORA-19573 が発生する場合、DB全体の場合はMOUNT、表領域の場合は対象表領域がOFFLINEになっていることを確認する。

オプション説明
AUTOMATIC自動的にアーカイブREDOログファイルの場所を判断し適用することができる(省略した場合は、必要なアーカイブREDOログファイルが表示される)
DATABASEデータベース全体のリストア。マウント状態でリストアする(RMAN> STARTUP FORCE MOUNT;)データベースOPENは ALTER DATABASE OPEN
TABLESPACE表領域のリストア。表領域はOFFLINEにする(ALTER TABLESPACE 表領域 OFFLINE)
DATAFILEデータファイルのリストア。表領域はOFFLINEにする(ALTER DATABASE DATAFILE 'ファイル名' OFFLINE)


RESTORE ARCHIVELOG FROM SEQUENCE ログ順序番号

アーカイブREDOログファイルのみリストアする。

 

RECOVER

RECOVER { DATABASE | TABLESPACE 表領域名 | DATAFILE { ファイル番号|'ファイル名'} } [ DELETE ARCHIVELOG ]

メディアリカバリ(変更内容を反映させ最新の状態に戻す)を実行する。
DELETE句を使用するとリストアされたアーカイブREDOログファイルを削除する。
アーカイブREDOログファイルがフラッシュリカバリ領域に保存されている場合は自動で削除される。

 

LIST

LIST [EXPIRED] { BACKUP [SUMMARY] | COPY | ARCHIVELOG ALL | RESTORE POINT ALL } [オプション];
オプション説明
EXPIRED期限切れの対象ファイルを表示
BACKUPバックアップセットに関する情報を表示
COPYデータベースファイルとアーカイブREDOログファイルのコピーを表示
ARCHIVELOG ALLアーカイブログに関する情報を表示
RESTORE POINT ALLリストアポイントを表示

詳細はDatabaseバックアップおよびリカバリ・リファレンスのLIST参照。

ステータス状態RMANリポジトリ情報とファイルの状態
AVAILABLE正常リポジトリに登録されファイルも存在する
EXPIRED期限切れリポジトリに登録されているがファイルが存在しない
UNAVAILABLE使用不可CHANGEコマンドで意図的に使用不可にした状態
 

CONFIGURE

SHOW ALL

設定されてるパラメータを表示する

CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT 'ファイルフォーマット'

バックアップファイルの保存先を指定。ファイル名が一意になるよう「%U」変数を使用すること
%TはYYYYMMDDになる。その他の置換変数(FormatSpec)はWEB参照
フラッシュリカバリ領域を指定(ファイルフォーマットブランク)している場合はOMFにより一意なファイルが作成される
フラッシュリカバリ領域以外を指定した場合は、高速リカバリ領域によるディスク管理を行わない

CONFIGURE CONTROLFILE AUTOBACKUP ON

バックアップの最後(BACKUPコマンドを発行)に制御ファイルとSPファイルもバックアップする。
表領域のオフライン/オンラインの変更、データファイル追加/削除した場合も自動保存される。

CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '保存先%F'

フラッシュリカバリ領域以外に制御ファイルをバックアップする場合に保存先を指定する。
保存先の指定には「%F」置換変数を含めDBIDや日付が含まれたファイルを作成する必要がある。

CONFIGURE BACKUP OPTIMIZATION ON

データベース全体のバックアップを行う際、読取り専用表領域のデータファイルやオフラインファイル、リテンションポリシーに従って保存されているファイルをスキップする。
「不要」と判断されているファイルはバックアップ対象になる。

CONFIGURE EXCLUDE FOR TABLESPACE 表領域

データベース全体バックアップを行う際、除外したい表領域を指定。

CONFIGURE DEFAULT DEVICE TYPE TO { DISK | SBT }

デフォルトデバイスを指定。ディスクまたはテープ

CONFIGURE DEVICE TYPE DISK PARALLELISM 並列度

複数のチャネルを起動して並列処理を行うことができる

CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO { BACKUPSET | COPY | COMPRESSED BACKUPSET }

デフォルトのバックアップを指定。バックアップセット、イメージコピー、圧縮バックアップセット

CONFIGURE CHANNEL DEVICE TYPE DISK MAXPIECESIZE 最大サイズ

バックアップセットで作成されるピースの最大バックアップピースサイズを指定

CONFIGURE 〜 CLEAR

設定値をデフォルトに戻す

 

REPORT

-- 表領域、データファイル名、サイズなどのスキーマ情報を表示。BACKUP DATABASEの対象ファイルとなる。
REPORT SCHEMA;
-- 現状で構成しているバックアップ保存方針、またはオプションで指定した保存方針を基に「不要」または「バックアップの作成」が必要なバックアップを表示。
REPORT { OBSOLETE | NEED BACKUP } [保存ポリシー];
保存ポリシー説明
増分バックアップ個数
NEED BACKUPのみ
INCREMENTAL 個数
指定した個数を超える増分バックアップを指定しなければリカバリが完了しないファイル
日数
NEED BACKUPのみ
DAYS 日数
指定した日数以上バックアップしてないファイル
冗長性REDUNDANCY 個数
NEED BACKUP:指定した個数以上のバックアップ数が取得されてないファイル=必要なファイル
OBSOLETE  :指定した個数以上のバックアップ数が取得されているファイル=不要なファイル
リカバリウィンドウRECOVERY WINDOW OF 日数 DAYS
NEED BACKUP:指定した日数より古いアーカイブREDOログファイルを適用しなければリカバリできないファイル
OBSOLETE  :指定した日数より古いアーカイブREDOログファイルを適用しなければリカバリできるファイル


不完全リカバリ

データベースをMOUINT状態にする必要がある。

RUN
{ SET UNTIL TIME "TO_DATE('2017-04-09 23:50:00','YYYY-MM-DD HH24:MI:SS')";
  RESTORE DATABASE;
  RECOVER DATABASE;
}

ある特定時間の状態に戻したい場合は SET UTIL TIME で時間をセットする。(SETはRUNコマンド内で実行する必要がある)
ALTER DATABASE OPEN RESETLOGS; でOPENする必要がある。

 

アーカイブログの削除

削除条件を指定した後、対象ファイルが表示され、YES/NO の選択がでる。YESを選択することで削除される。
削除されたアーカイブログは、V$ARCHIVED_LOG の NAME 列が空白になる。

-- RMAN に接続
NLS_DATE_FORMAT="yyyy-mm-dd hh24:mi:ss"
rman target /
rman target [USER]/[PASS]@[識別子]
-- アーカイブログのリスト表示
list archivelog all;
list archivelog like '%ファイル%';
-- 7日以上前のアーカイブログ削除
delete archivelog until time 'sysdate-7';
-- シーケンスNo 105 までのアーカイブログ削除
delete archivelog until sequence 105 [ thread 1 ];

トップ   編集 凍結解除 差分 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-05-02 (火) 21:22:37 (54d)