• 検索結果がありません。

BIG_RM_BAS_OPEN

N/A
N/A
Protected

Academic year: 2021

シェア "BIG_RM_BAS_OPEN"

Copied!
55
0
0

読み込み中.... (全文を見る)

全文

(1)

®

1998 年 1月 21日 1

Oracle8

Oracle8

バックアップ

バックアップ

&

&

リカバリ

リカバリ

日本オラクル株式会社

(2)

® 1998 年 1月 21日 2

内容

• VLDB環境におけるバックアップの要件

• Oracle8 におけるバックアップ/リカバリ

• Recovery Manager のレポート機能

• リカバリ・

カタログのメンテナンス

• Recovery Manager の設定

• 活用するためのTips & 注意点

(3)

®

1998 年 1月 21日 3

(4)

® 1998 年 1月 21日 4

VLDB環境におけるバックアップの要件

• バックアップ管理の自動化

データベースによるバックアップの履歴管理

• バックアップ・リストア操作におけるミスの軽減

→ Recovery Managerによるシンプルな操作

• 高速なバックアップの実現

パラレル・バックアップ

• 効率的なデータのバックアップ

増分バックアップのサポート

(5)

® 1998 年 1月 21日 5

データベースによるバックアップの履歴管理

• リカバリ・カタログによるバックアップの履歴管理

– バックアップを実行した日時 – バックアップの対象領域 – バックアップの保存場所

• リストア・リカバリ時に必要なバックアップを自動判別

– 対象領域を指定する事で適切なバックアップをリストア – リカバリ時に必要となるアーカイブログのバックアップも 自動的にリストアされる

(6)

® 1998 年 1月 21日 6

シンプルなバックアップ・リカバリ操作

• 単一のRecovery Managerコマンドによる操作

• バックアップ先としてディスク、テープ装置を透過的

に使用可能

• RAWデバイス、OSファイルシステムの違いを意識せ

ずにバックアップ、リストアが可能

• Oracle Enterprise Manager、バックアップ管理ソフト

ウェアによる GUI 操作及び定期的なバックアップの

実行

(7)

® 1998 年 1月 21日 7

高速なバックアップの実現

• 複数のデバイスを使用して

並列にバックアップを実行

• 割り当てるデバイス数によ

り自動的にパラレルでバッ

クアップを実行

テープ テープ 装置 装置 ディスク ディスク リカバリ・ リカバリ・ カタログ カタログ Oracle Oracle Enterprise Enterprise Manager Manager Recovery Recovery Manager Manager ディスク ディスク ディスクディスク ディスクディスク テープ テープ 装置 装置 テープ テープ 装置 装置 テープ テープ 装置 装置 (GUIツール) Oracle8 サーバー・ プロセス Oracle8 サーバー・ プロセス Oracle8 Oracle8 サーバー・ サーバー・ プロセス プロセス

(8)

® 1998 年 1月 21日 8

効率的なデータのバックアップ

• 変更されたデータのみのバックアップ

• バックアップサイズ、実行時間の短縮

• 複数レベルを組み合わせて、柔軟なバックアッ

プ計画を作成可能

(9)

®

1998 年 1月 21日 9

(10)

® 1998 年 1月 21日 10

Oracle8におけるバックアップの

仕組み

リカバリ・カタログ データベース 管理者 Recovery Manager Recovery Manager 制御ファイル ターゲット DBファイル MML (libobk.so) MML (libobk.so) OEM(GUI) OEM(GUI) テープ・デバイス バックアップ・ファイル バックアップ ソフトウェア サーバー バックアップ ソフトウェア サーバー バックアップ ソフトウェア クライアント バックアップ ソフトウェア クライアント v$ビュー V$BACKUP V$BACKUP_SET ... Oracle サーバー プロセス Oracle サーバー プロセス Oracle サーバー プロセス Oracle サーバー プロセス Oracle サーバー プロセス Oracle サーバー プロセス SQL*Net チャネル (SBT_TAPE) チャネル (DISK) イメージ・ コピー バックアップ・ セット メディア管理ベンダ から提供 DBMS_BACKUP _RESTORE バックアップ/リストア パッケージ (FIXED)

• Recovery Manager(RMAN)

Oracle8でのバックアップ/リストア/リカバリ操作に使用するコマンドライン・ツールです。 バックアップ等の各コマンドは管理者からRecovery Managerに対して実行されます。 • Oracleサーバ・プロセス Recovery Managerに対して実行されたバックアップ、リカバリなどの各コマンドは、実際に はOracleのサーバー・プロセスにより実行されます。RMANとサーバー・プロセスとのやり とりは、DBMS_BACKUP_RESTORE パッケージ中のファンクション、プロシージャを実行 する事によって行われます。 • DBMS_BACKUP_RESTOREパッケージ Recovery Managerがバックアップ/リストアを行うために実行するパッケージです。このパッ ケージはインスタンスが起動されていればNOMOUNT、MOUNT状態でも実行する事が 可能です。またユーザーがこのパッケージを直接実行する必要はありません。

• Oracle Enterprise Manager

OracleのGUI管理ツール Oracle Enterprise Manager(OEM)からRecovery Managerを操作 してバックアップ/リカバリを実行する事も可能です。この場合 OEM のコンポーネントで ある Backup Manager と ターゲットDB 上で動作する Agent で Recovery Manager を実行し ます。

• 制御ファイル

制御ファイル中にはデータベースの構成に関する情報(表領域、データファイルなど)と共 にRecovery Managerによって作成されたバックアップの履歴情報が格納されます。 • リカバリ・カタログ

(11)

• チャネル Oracleのサーバー・プロセスからデバイス(ディスク、テープ装置)へのデータの流れ (ストリーム)を指す用語です。Recovery Managerからバックアップ/リストア/リカバ リを実行する際には、必ず1つ以上のチャネルを割り当てる必要があります。この時 割り当てるチャネルの種類で使用するデバイスが決まります。チャネルに指定出来る タイプには以下の種類があります。 – DISK OS のファイルシステムをバックアップで使用する場合に指定するチャ ネル。 – ‘SBT_TAPE’ Oracleと連携したバックアップ・ソフトウェアへのインターフェー スを使用するチャネル。テープ装置へのバックアップを行う場合に指定します。 • バックアップ・ファイル

Recovery Managerによりバックアップされたファイル。Recovery Managerによるバック アップにはバックアップ・セットとイメージコピーの2種類があります。

• バックアップ・ソフトウェア(サーバー、クライアント)

メディア管理ベンダー(MMV)から提供されるバックアップ管理ソフトウェア。これはテー プへのバックアップを行う際に必要となります。

• メディア管理ライブラリ(Media Management Library MML)

メディア管理ベンダーから提供されるOracleとバックアップ・ソフトウェアの連携をとる ライブラリ・モジュール。Oracle実行モジュール($ORACLE_HOME/bin/oracle)とダイ ナミックリンクさせて、バックアップ/リストア操作におけるバックアップ・ソフトウェアと のやり取りを行います。またMMLの名称は各メディア管理ベンダーによってことなり ます。例えばSun Solstice Backup では Database Module for Oracle(DMO) や Business Suit for Oracle(BMO)という名称になっています。

• ターゲット・データベース バックアップの対象となるデータベース。バックアップ・リストアを実行するサーバ・プ ロセスはターゲットDBのサーバ・プロセスです。 • カタログ・データベース リカバリ・カタログを格納するデータベースです。ターゲット・データベースと離れてい る(別のマシン上、もしくは同一マシン上でも別のディスク)ほど耐障害性が高くなりま す。

(12)

®

1998 年 1月 21日 12

Recovery Manager の起動

• 実行モジュール

– UNIX ・・・ rman – Windows ・・・ rman 80.exe

• 起動コマンド

%setenv ORACLE_SID je803

%rman target system/manager rcvcat rman/[email protected] Recovery Manager: リリース 8.0.3.0.0 - Production

RMAN-06005: ターゲット・データベース: JE803に接続されました。 RMAN-06008: 回復カタログ・データベースに接続されました。 RMAN>

%setenv ORACLE_SID je803

%rman target system/manager rcvcat rman/[email protected] Recovery Manager: リリース 8.0.3.0.0 - Production

RMAN-06005: ターゲット・データベース: JE803に接続されました。 RMAN-06008: 回復カタログ・データベースに接続されました。 RMAN> •Recovery Managerの起動オプション target ターゲット・データ・ベース用接続文字列 rcvcat リカバリ・カタログ用接続文字列 cmdfile 入力コマンド・ファイルの名前 msglog 出力メッセージ・ログファイルの名前 •リカバリ・カタログを使用しない場合の Recovery Manager の起動

リカバリ・カタログを使用しないで Recovery Manager を使用する場合は “nocatalog” キーワードを指定します。

・CONNECT コマンドによるターゲットDBへの接続

ターゲットDBへの接続は、コマンドラインからだけではなく、Recovery Manager の CONNECT コマンドにより実行する事も出来ます。

%rman target system/manager nocatalog

%rman nocatalog

Recovery Manager: リリース 8.0.3.0.0 - Production

RMAN-06009: 回復カタログに代えてターゲット・データベース制御ファイルを使用しています 。

RMAN> CONNECT TARGET

(13)

® 1998 年 1月 21日 13

Recovery Manager によるバックアップ・

リストア・

リカバリ操作

• バックアップのコマンド例:

• リストア・リカバリのコマンド例

RUN {

ALLOCATE CHANENL ch1 TYPE ‘SBT_TAPE’; BACKUP FORMAT ‘tbs_1_%d_%s_%p_%t’ (TABLESPACE tbs1);

RELEASE CHANNEL ch1; }

RUN {

ALLOCATE CHANENL ch1 TYPE ‘SBT_TAPE’; BACKUP FORMAT ‘tbs_1_%d_%s_%p_%t’ (TABLESPACE tbs1);

RELEASE CHANNEL ch1; }

RUN{

ALLOCATE CHANNEL ch1 TYPE DISK;

ALLOCATE CHANNEL ch2 TYPE 'SBT_TAPE'; RESTORE TABLESPACE tbs1;

RECOVER TABLESPACE tbs1; }

RUN{

ALLOCATE CHANNEL ch1 TYPE DISK;

ALLOCATE CHANNEL ch2 TYPE 'SBT_TAPE'; RESTORE TABLESPACE tbs1; RECOVER TABLESPACE tbs1; } Recovery Manager からバックアップを実行する場合には以下の様なコマンドを使用します。 • RUNコマンド RUNコマンドの{ ... }中に記述されたコマンドを一連のジョブとして実行します。バック アップ、リストア、リカバリなどのコマンドは RUNコマンド内で実行されなければなりま せん。 • ALLOCATE CHANNELコマンド バックアップ、リストア、リカバリで使用するチャネルを割り当てます。この時指定する チャネルの種類で使用するデバイスが決定されます。 – DISK OSのファイルシステムをバックアップで使用する場合に指定するチャネル。 – SBT_TAPE Oracleと連携したバックアップ・ソフトウェアへのインターフェースを使用する チャネル。テープ装置へのバックアップを行う場合に指定します。 • BACKUPコマンド バックアップ・セットを使用したバックアップを実行します。イメージ・コピーによるバック アップはCOPYコマンドを使用します。バックアップ・セットやイメージ・コピーについて は以降のページを参照して下さい。 バックアップ・セットの宛先、名前はFORMAT句で指定します。この時‘%d’の様な置換 文字列を使用する事が可能です。置換文字列はバックアップの実行時にそれぞれの 値(%dの場合、データベース名)に変換されます。 • RELEASE CHANNELコマンド 割り当てたチャネルを開放します。通常チャネルはジョブの終了時に自動的に開放さ れるため、明示的に指定する必要はありません。ジョブ内でバックアップ先を変更する 場合に用います。

(14)

®

1998 年 1月 21日 14

Oracle8 で使用可能なバックアップ形式

• バックアップ・セット

(Recovery Manager : BACKUPコマンド)

• イメージ・コピー

(Recovery Manager : COPYコマンド)

• OSコピー

(15)

®

1998 年 1月 21日 15

Oracle8におけるバックアップ

• Recovery Manager によるバックアップのコマンド例

• Oracle8で使用可能なバックアップの形式

– バックアップ・セット (Recovery Manager : BACKUPコマンド) – イメージ・コピー (Recovery Manager : COPYコマンド) – OSコピー

RUN {

ALLOCATE CHANENL ch1 TYPE DISK; BACKUP FORMAT ‘/backup/%d_%s_%p_%t’ (TABLESPACE tbs1);

RELEASE CHANNEL ch1; }

RUN {

ALLOCATE CHANENL ch1 TYPE DISK; BACKUP FORMAT ‘/backup/%d_%s_%p_%t’ (TABLESPACE tbs1); RELEASE CHANNEL ch1; } Recovery Manager からバックアップを実行する場合には以下の様なコマンドを使用します。 • RUNコマンド RUNコマンドの{ ... }中に記述されたコマンドを一連のジョブとして実行しま す。バックアップ、リストア、リカバリなどのコマンドはRUNコマンド内で実行さ れなければなりません。 • ALLOCATE CHANNELコマンド バックアップ、リストア、リカバリで使用するチャネルを割り当てます。この時 指定するチャネルの種類で使用するデバイスが決定されます。 – DISK OSのファイルシステムをバックアップで使用する場合に指定する チャネル。 – SBT_TAPE Oracleと連携したバックアップ・ソフトウェアへのインターフェースを 使用するチャネル。テープ装置へのバックアップを行う場合に指 定します。 • BACKUPコマンド バックアップ・セットを使用したバックアップを実行します。イメージ・コピーによ るバックアップはCOPYコマンドを使用します。バックアップ・セットやイメージ・ コピーについては以降のページを参照して下さい。 バックアップ・セットの宛先、名前はFORMAT句で指定します。この時‘%d’の 様な置換文字列を使用する事が可能です。置換文字列については「注意事 項&Tips」を参照して下さい。 • RELEASE CHANNELコマンド 割り当てたチャネルを開放します。通常チャネルはジョブの終了時に自動的 に開放されるため、明示的に指定する必要はありません。ジョブ内でバック アップ先を変更する場合に用います。

(16)

バックアップ・セットは複数のファイルを単一のセットにまとめる形式のバックアップです。バッ クアップ・セットとして作成されるバックアップは、オリジナルのデータファイルと比較した場 合サイズ、フォーマット共に異なります。このためバックアップ・セットはRecovery Manager 以外では使用する事が出来ません。 バックアップの対象として指定出来る単位には以下のものがあります。 • データベース全体 (全てのデータファイルと制御ファイルが含まれます。ただしオンラインログファイル は含まれません。) • 表領域 • データファイル • 制御ファイル • アーカイブログ またバックアップ対象には複数の表領域、データファイルを含める事が可能です。 以下のコマンド例を参照してください。 ® 1998 年 1月 21日 16

バックアップ・セット

RUN {

ALLOCATE CHANENL ch1 TYPE DISK; BACKUP FORMAT ‘/backup/%d_%s_%p_%t’ (TABLESPACE tbs1);

RELEASE CHANNEL ch1; }

RUN {

ALLOCATE CHANENL ch1 TYPE DISK; BACKUP FORMAT ‘/backup/%d_%s_%p_%t’ (TABLESPACE tbs1); RELEASE CHANNEL ch1; } データファイル 1 データファイル 2 データファイル 3 表領域 tbs1 バックアップ・セットへの バックアップ バックアップ・セット 表領域tbs1、tbs2を1つのバックアップセットにバックアップする場合: BACKUP FORMAT '/backup/%d_%s_%p_%t'

(TABLESPACE tbs1,tbs2);

表領域tbs1、tbs2を別々のバックアップセットにバックアップする場合: BACKUP FORMAT '/backup/%d_%s_%p_%t'

(17)

®

1998 年 1月 21日 17

バックアップ・

セットの分割

RUN {

ALLOCATE CHANENL ch1 TYPE DISK; SET LIMIT CHANNEL 2000 KBYTES; BACKUP FORMAT ‘/backup/%d_%s_%p_%t’ (TABLESPACE tbs1);

RELEASE CHANNEL ch1; }

RUN {

ALLOCATE CHANENL ch1 TYPE DISK; SET LIMIT CHANNEL 2000 KBYTES; BACKUP FORMAT ‘/backup/%d_%s_%p_%t’ (TABLESPACE tbs1); RELEASE CHANNEL ch1; } バックアップ・ピース 2 バックアップ・セット バックアップ・ピース 1 データファイル 1 データファイル 2 データファイル 3 表領域 tbs1 最大ファイルサイズを指定して バックアップ・セットへのバックアップ 1つのバックアップ・セットは複数のバックアップ・ピース(断片)と呼ばれる単位から構成 されます。バックアップ・ピースによるバックアップ・セットの分割は、Recovery Manager の SET LIMITコマンドでバックアップ・ピースのサイズを指定する事で行われます(上記 の例を参照してください)。 これはバックアップ・セットが OSのファイルシステムの制限や1本のテープ容量に収まら ない場合に用いられます。

(18)

® 1998 年 1月 21日 18

バックアップ・セットによる

バックアップ時の動作

•ブロックの整合性検査 •ブロックの変更回数チェック DBブロック単位のコピー データファイル 一度も使用されて バックアップ・セット いないブロック バックアップ・セットへのバックアップでは、以下の処理が行われます。 • バックアップ対象のデータファイルに対するチェックポイントの実行 • 各DBブロックについての処理 また各DBブロックについて以下の処理を実行します。 • ブロックの読み込み データファイル中の全てのブロックを読み込み、以下の処理を行います。 • ブロックの整合性検査 各ブロックについて整合性検査を実施し、チェックサムをブロックに書き込みま す。この時書き込まれたチェックサムは、リストア時の妥当性検査で使用されま す。 • ブロックの変更回数 各ブロック中には、そのブロックが作成されて(表領域の作成など)から、変更さ れた回数が記録されています。サーバープロセスはブロックのコピー中にこの 値を確認し、一度も変更されていない(未使用の)ブロックについては、バックアッ プには書き出しません。 • バックアップ・セットへのブロックの書き出し バックアップが正常に終了した時点で、制御ファイルとリカバリ・カタログにバックアップ の名前、実行した日時、対象領域(データファイル名)、バックアップ時点のSCNなどの 情報が書き込まれます。

(19)

® 1998 年 1月 21日 19

アーカイブログのバックアップ

• 初期化パラメータ LOG_ARCHIVE_DEST で指定され

たディレクトリに存在するアーカイブログの一括バッ

クアップ

• バックアップされたアーカイブの削除も可能

• リカバリ時に必要なアーカイブのバックアップが自動

的にリストアされる

RUN{

ALLOCATE CHANNEL ch1 TYPE 'SBT_TAPE'; BACKUP ARCHIVELOG ALL DELETE INPUT FORMAT ‘arc_%d_%s_%p_%t’;

} RUN{

ALLOCATE CHANNEL ch1 TYPE 'SBT_TAPE'; BACKUP ARCHIVELOG ALL DELETE INPUT FORMAT ‘arc_%d_%s_%p_%t’;

(20)

® 1998 年 1月 21日 20

パラレル・

サーバーのサポート

• パラレル・

サーバーの各インスタンスにバックアップを実

行させる事が可能

• 各インスタンスがバックアップする対象はコマンド中で

明示的に指定する

• スレッド別にアーカイブログをバックアップする事も可能

allocate channel node_1 type disk connect 'internal/kernel@node_1'; allocate channel node_2 type disk connect 'internal/kernel@node_2'; backup filesperset 1 format 'df_%s_%p'

(tablespace system, data1, data2 channel node_1) (tablespace data3, data4 channel node_2);

allocate channel node_1 type disk connect 'internal/kernel@node_1'; allocate channel node_2 type disk connect 'internal/kernel@node_2'; backup filesperset 1 format 'df_%s_%p'

(tablespace system, data1, data2 channel node_1) (tablespace data3, data4 channel node_2);

・パラレル・サーバでのバックアップのコマンド例 run {

allocate channel node_1 type disk

connect 'internal/kernel@node_1'; allocate channel node_2 type disk

connect 'internal/kernel@node_2'; backup

filesperset 1 format 'df_%s_%p'

(tablespace system, data1, data2 channel node_1) (tablespace data3, data4 channel node_2);

backup

filesperset 20 format 'al_%s_%p' (archivelog

until time 'SYSDATE' thread 1 delete input channel node_1); (archivelog

until time 'SYSDATE' thread 2 delete input channel node_2); release channel node_1;

release channel node_2; }

(21)

® 1998 年 1月 21日 21

増分バックアップ

月末 level 0 バックアップ 月曜 ∼ 金曜 level 2 バックアップ 週末 level 1 バックアップ 月曜 ∼ 金曜 level 2 バックアップ 31日 月曜 火曜 水曜 木曜 金曜 土・日曜 月曜 火曜 水曜 一週間分の変更を バックアップ 一週間分の変更を バックアップ 一日分の変更を バックアップ 一日分の変更を バックアップ ファイル全体を バックアップ ファイル全体を バックアップ バックアップ・セットによるバックアップの場合、前回のバックアップから変更された部分 のみをバックアップする増分バックアップが使用可能です。 Oracle8 では複数レベルの増分バックアップをサポートしているため、運用に合わせた 柔軟な構成が可能です。上図は、以下の様な3つのレベルによる増分バックアップを使 用したバックアップで運用を行っている場合の例です。 • 月末 毎月月末にレベル0増分バックアップを実行します。レベル0増分バックアップは 全てのデータを含むバックアップで、増分バックアップを回復する際のベースと なるものです。このため上図の例で示した運用パターンでファイルに障害が起こっ た場合、常に月末に取得したレベル0増分バックアップをリストアし、その後適切 な増分バックアップとアーカイブログを適用する事になります。 • 月曜∼金曜の毎日 月曜から金曜には、それぞれ一日毎に変更されたデータをバックアップします。 上図の例ではレベル2バックアップを実行し、前日からの差分をバックアップして います。 • 週末 各週の週末に、その週に変更されたデータをまとめてバックアップします。上図 の例ではこれをレベル1増分バックアップで実行しています。これにより月の後 半でデータに障害が起こった場合でも、それまでの週毎の変更を適用する事で、 回復するために適用しなければならないバックアップを減らす事が可能です。 また増分バックアップは ARCHIEVLOG、NOARCHIVELOGモードのどちらでも実行可 能です。ただしNOARCHIVELOGモードでのバックアップはデータベースを正常に停止 した状態で(SHUTDOWN NORMAL、IMMEDIATE)、データベース全体をバックアッ プする必要があります。

(22)

® 1998 年 1月 21日 22

増分バックアップの種類

• レベル0増分バックアップ

– 増分バックアップのベースとなるバックアップ

• (

非累積)

増分バックアップ

– 同一レベルにおける変更の差分を取得するバックアップ

• 累積増分バックアップ

– 同一レベルにおける変更の累積を取得するバックアップ 増分バックアップにはレベル0、非累積、累積の3種類があります。 •レベル0増分バックアップ データファイルの回復を行う際のベースとなるバックアップです。増分バックアップを実 行する際には、必ず対象データファイルにレベル0増分バックアップが存在しなければ なりません。 レベル0増分バックアップと非増分バックアップでは、作成されるバックアップ自体には 違いはありません。しかし非増分バックアップは増分バックアップの回復計画の対象と して選択されません。 バックアップ・セットによるレベル0増分バックアップのコマンド例: RUN {

ALLOCATE CHANNEL ch1 TYPE 'SBT_TAPE'; BACKUP INCREMENTAL LEVEL 0

FORMAT 'inclv0_db_%s_%p_%t' (DATABASE);

}

イメージ・コピーによるレベル0増分バックアップのコマンド例: RUN{

ALLOCATE CHANNEL ch1 TYPE DISK; COPY LEVEL 0

DATAFILE '/oracle/data/rman_db/dbs/data2rman_db.dbf' TO '/oracle/backup/rman_db/data2rman_db.bak';

(23)

® 1998 年 1月 21日 23

非累積増分バックアップ

デフォルトの増分バックアップ)

回復に必要なファイル=バックアップ A+バックアップ E+ バックアップ F+バックアップ G+REDOログ 回復に必要なファイル=バックアップ A+バックアップ E+ バックアップ F+バックアップ G+REDOログ バックアップ B バックアップ D バックアップ E バックアップ F level 0 バックアップ level 2 バックアップ level 2 バックアップ level 1 バックアップ level 2 バックアップ level 2 バックアップ 媒体障害の 発生 level 2 バックアップ バックアップ C バックアップ G REDOログ • 非累積増分バックアップ(デフォルトの増分バックアップのタイプ) 増分バックアップにおけるデフォルトのバックアップです。指定されたレベルと同一レ ベル以下で前回実行された増分バックアップを起点として、それ以降に変更されたブ ロックをバックアップします。例えばレベル2を指定した場合、前回レベル2以下で増分 バックアップを実行した時点以降に変更されたブロックをバックアップします。このた め同一レベルでの差分をバックアップする形のバックアップとなります。 非累積増分バックアップのコマンド例: RUN{

ALLOCATE CHANNEL ch1 TYPE ‘SBT_TAPE‘; BACKUP INCREMENTAL LEVEL 2

(DATABASE FORMAT 'inclv2_db_%d_%s_%p_%t'); RELEASE CHANNEL ch1;

(24)

® 1998 年 1月 21日 24

累積増分バックアップ

回復に必要なファイル=バックアップ A+バックアップ E+ バックアップ G+REDOログ 回復に必要なファイル=バックアップ A+バックアップ E+ バックアップ G+REDOログ バックアップ A バックアップ B バックアップ D バックアップ E バックアップ F level 0 バックアップ level 2 バックアップ level 2 バックアップ level 1 バックアップ level 2 バックアップ level 2 バックアップ 媒体障害の 発生 level 2 バックアップ バックアップ C バックアップ G REDOログ •累積増分バックアップ(CUMULATIVEオプション) 前回の(同一レベル−1)のレベルで実行した増分バックアップ以降に変更されたブロッ クをバックアップします。BACKUPコマンドでCUMULATIVEオプションを指定した増分 バックアップの場合に実行されます。 非累積増分バックアップに比べて作成されるバックアップのサイズが大きくなり、冗長な バックアップが多くなりますが、回復時に必要となるバックアップの量を減らし、回復に 必要となる時間を節約する事が出来ます。 累積増分バックアップのコマンド例: RUN{

ALLOCATE CHANNEL ch1 TYPE ‘SBT_TAPE’; BACKUP INCREMENTAL LEVEL 2 CUMULATIVE

(DATABASE FORMAT 'inclv2c_db_%d_%s_%p_%t'); RELEASE CHANNEL ch1;

(25)

® 1998 年 1月 21日 25

増分バックアップ時の動作

•ブロックの検査 •ブロックの変更回数チェック •SCNの比較 DBブロック単位のコピー データファイル バックアップ・セット 前回のバックアップ以降に 変更されたブロック 通常のバックアップ・セットによるバックアップ時の動作に加え、増分バックアップでは前 回対象領域がバックアップされた時点でのSCN(システム変更番号)と、データブロック に含まれるSCNが比較されます。データブロックに含まれるSCNとは、ブロックが最後に 変更された時点のSCNです。 この時前回バックアップ時のSCNよりデータブロックの SCNが大きい場合には、そのブ ロックはバックアップ対象となりバックアップ・セットに書き出されます。システム変更番 号はデータベースに対する変更に対して一意に割り振られる番号であるため、SCNの 比較により前回のバックアップから変更されたブロックを判別する事が可能となります。

(26)

® 1998 年 1月 21日 26

Oracle8におけるリストア/リカバリ

回復に必要なファイル=バックアップ A+バックアップ E+ バックアップ F+バックアップ G+REDOログ 回復に必要なファイル=バックアップ A+バックアップ E+ バックアップ F+バックアップ G+REDOログ バックアップ A バックアップ B バックアップ D バックアップ E バックアップ F level 0 バックアップ level 2 バックアップ level 2 バックアップ level 1 バックアップ level 2 バックアップ level 2 バックアップ 媒体障害の 発生 level 2 バックアップ バックアップ C バックアップ G REDOログ RUN{

ALLOCATE CHANNEL ch1 TYPE DISK;

ALLOCATE CHANNEL ch2 TYPE 'SBT_TAPE'; RESTORE TABLESPACE tbs1;

RECOVER TABLESPACE tbs1; }

RUN{

ALLOCATE CHANNEL ch1 TYPE DISK;

ALLOCATE CHANNEL ch2 TYPE 'SBT_TAPE'; RESTORE TABLESPACE tbs1; RECOVER TABLESPACE tbs1; } Recovery Managerによるリストア/リカバリでは、必要なバックアップとアーカイブログを 自動的に判断して操作を実行します。増分バックアップやイメージコピーなどが混在し ている場合でも、最適な計画を選択してリストアを実行します。またバックアップされた アーカイブログが存在する場合、必要なアーカイブログもディスク上に自動的にリストア されます。 Recovery Managerからリストア、リカバリを実行する場合に使用するコマンド •RESTOREコマンド 指定された領域(DB全体、表領域、データファイル)のリストアを実行します。 この時指定された領域がオンラインの場合には、安全のためリストアは実行 されません。リストア実行時にはRUNコマンド内で割り当てられているチャネ ルで指定されたメディア上に存在するバックアップの中から、最新のバックアッ プが自動的にリストアされます。またRESTOREコマンドでは増分バックアップ は適用されません。増分バックアップはRECOVERコマンドを実行した時点で 対象領域に適用されます。 •RECOVERコマンド 指定された対象(DB全体、表領域、データファイル)に対して媒体回復を実行 します。この時バックアップされたアーカイブ・ログが必要な場合、自動的に 必要なアーカイブログのバックアップをディスク上にリストアします。 またインクリメンタル・バックアップの適用もRECOVERコマンドで行います。リ カバリの方法として増分バックアップとアーカイブ・ログのどちらも適用可能な 場合、Recovery Managerは必ず増分バックアップの適用を行います。 上記の例では複数のチャネルを割り当てています。これはRecovery Managerがリストア するファイルを選択する際、割り当てられたチャネルに保存されているバックアップのみ

(27)

® 1998 年 1月 21日 27

イメージ・コピー

•ブロックの整合性検査 DBブロック単位のコピー データファイル 一度も使用されて イメージ・コピー いないブロック イメージ・コピーはRecovery Managerによって作成されるデータファイルのコピーです。 このためバックアップ・セットと異なり、ファイルのサイズ、フォーマットはオリジナルのファ イルと同じになります。イメージ・コピーの実行ではデータファイル、制御ファイル、アー カイブログのいずれかのみ指定可能です。以下にコマンドの例を示します。 また対象がデータファイルの場合、絶対ファイル番号を指定してイメージ・コピーを行う 事も可能です。 イメージ・コピーをテープ上に作成する事は出来ません。ただしディスク上のイメージ・コ ピーをテープにバックアップ・セットとしてバックアップする事は可能です。 RUN{

ALLOCATE CHANNEL ch1 TYPE DISK;

COPY DATAFILE '/oracle/data/rman_db/dbs/data2rman_db.dbf' TO '/oracle/backup/rman_db/data2rman_db.bak';

}

RUN{

ALLOCATE CHANNEL ch1 TYPE DISK; COPY DATAFILE 05

TO '/oracle/backup/rman_db/data2rman_db.bak'; }

(28)

® 1998 年 1月 21日 28

• RESTOREコマンド

• SWITCHコマンド

イメージ・コピーを使用したリストア

バックアップ データファイル バックアップ バックアップ データファイル データファイル データファイル 元データファイル RESTORE コマンドの実行 SWITCH コマンドの実行 ファイルのコピー DB上のデータファイル エントリを変更 イメージ・コピーを使用してデータファイルをリストアする場合、Recovery Manager の RESTORE コマンドと SWITCH コマンドの2種類が使用可能です。 SWITCHコマンドを用いた場合、ディスク上に存在するバックアップを直接データファイ ルとして使用します。このためファイルのコピーを実行する必要が無いので、リストアに 必要となる時間を短縮できます。これはSQLのALTER DATABASE RENAME FILEコ マンドと同じ処理になります。またSWITCHされたイメージ・コピーのバックアップ情報は リカバリ・カタログから削除されます。 以下にそれぞれのコマンド例を示します。 注)Recovery ManagerではSQLコマンドを用いて、SQL文を実行する事が可能です。 RESTOREコマンドによるリストアの例: RUN{

ALLOCATE CHANNEL ch1 TYPE DISK;

RESTORE DATAFILE '/mnt3/dbs/tstrman.dbf'; RECOVER DATAFILE '/mnt3/dbs/tstrman.dbf';

SQL "ALTER DATABASE DATAFILE ''/mnt3/dbs/tstrman.dbf'' ONLINE";

}

SWITCHコマンドによるリストアの例: RUN{

ALLOCATE CHANNEL ch1 TYPE DISK;

SWITCH DATAFILE '/mnt3/dbs/tstrman.dbf'

TO DATAFILECOPY '/mnt3/backkup/tstrman.dbf'; RECOVER DATAFILE '/mnt3/backkup/tetrman.dbf';

SQL "ALTER DATABASE DATAFILE

''/mnt3/backkup/testrman_db.dbf'' ONLINE"; }

(29)

® 1998 年 1月 21日 29

バックアップ・セットと

イメージコピーの比較

バックアップ・セット イメージ・コピー バックアップの単位 DB 全体、表領域、データ ファイル、複数アーカイブ ログの一括バックアップ データファイル、制御ファイ ル、アーカイブログ テープ装置への 書き込み 可能 不可(ディスク上のイメージ・ コピーはテープに書き込み可 能) 増分バックアップ 可能 不可(増分バックアップのベ ースとする事は可能) ファイルの多重化 可能 不可 リストア時の処理 バックアップからブロック 単位で必要なブロックを 取り出す。 バックアップをそのまま使用 する。SWITCH コマンドによ る高速なリストアも可能。

(30)

® 1998 年 1月 21日 30

OSコピー

• OSコマンド(cp,dd...)

によるバックアップ方法

• Oracle8でもOracle7と同じバックアップ/リカバリを使用

可能 → 運用パターンの変更は不要

• cp などのファイル単位のOSコピーを、Recovery

Manager のリカバリで使用する事も可能

CATALOGコマンドによるリカバリ・カタログへの登録

RMAN>CATALOG DATAFILECOPY '/backup/systemora803.dbf'; RMAN>CATALOG ARCHIVELOG '/backup/arch18.log';

RMAN>CATALOG DATAFILECOPY '/backup/systemora803.dbf'; RMAN>CATALOG ARCHIVELOG '/backup/arch18.log';

Oracle8でのバックアップでは、Recovery Managerを用いずにOracle7で行っていたOSコ ピーによるバックアップ手法を用いる事も可能です。

OSコピーによるバックアップ時の処理は以下の様になります。

• ALTER ... BEGIN BACKUP の実行(ホットバックアップ・モードへの変更) BEGIN BACKUPにより対象の領域に対してチェックポイントが実行されます。 またこれ以降に対象領域のブロックが変更される場合、ブロック全体のイメージ がREDOに書き出されます。

• OSコマンドによるコピーの実行

• ALTER ... END BACKUP の実行(ホットバックアップ・モードの終了)

またRecovery ManagerのCATALOGコマンドを用いて、OSコピーをリカバリ・カタログに 登録する事も出来ます。これにより OSコマンドで作成したバックアップを Recovery Manager によるリストア、リカバリで用いる事が出来ます。OSコピーのカタログへの登録 については「リカバリ・カタログのメンテナンス」を参照してください。

(31)

®

1998 年 1月 21日 31

Recovery ManagerとOSコピー(

≒Oracle7)

おけるバックアップの違い

Recovery

Manager

OS コマンド

(≒Oracle7)

オンライン・

バックアップ時の

ホット・バックアップ・モードへの変更

不要

必要

オンライン・バックアップを使用した

回復時の REDO の適用

必要

必要

バックアップ中に更新されるブロック

全体の REDO への書き出し

なし

あり

•オンライン・バックアップ時のホットバック・アップモードへの変更

Recovery ManagerによるバックアップではServer Managerなどから明示的に ALTER TABLESPACE ... BEGIN BACKUP ;などのコマンドを実行する必要はあ りません。 しかしバックアップ対象のファイルに対するチェックポイントなどは内部的に実行さ れます。 •オンライン・バックアップを使用した回復時のREDOの適用 Recovery Managerを使用して取得したオンライン・バックアップでも、回復時には REDOの適用が必要です。 •バックアップ中に更新されるブロック全体のREDOへの書き出し これはRecovery Managerによるバックアップでは、バックアップ時の分裂ブロック の検出を行っているためです。分裂ブロックについては次ページを参照して下さい。

(32)

®

1998 年 1月 21日 32

Recovery ManagerとOSコピー(

≒Oracle7)

における

バックアップの違い(

分裂ブロックの検出)

• 分裂ブロックとは

– 単一の Oracle ブロック内で整合性が取れていないブロック – DBWRによる書き出しと、バックアップのための読み取りが同時 に一つのブロックに対して行われた場合に発生

• OSコピーの場合

– ホット・バックアップ・モード中の更新の場合、必ず更新前のブロッ ク全体のイメージをREDOに書き出す – REDO適用時にまずブロックイメージが適用される

• Recovery Managerの場合

– 読み込んだブロックが分裂ブロックの場合、再度そのブロックを 読み直す 通常1つのデータベース・ブロックは複数のOSブロックから構成されます。 例えば Solarisの場合、OSのブロックサイズは通常512bytesなので、2KBのデータベース・ ブロックは4つのOSブロックから構成されます。

(33)

® 1998 年 1月 21日 33

パラレル・

バックアップ

• パラレル・バックアップの条件

– 複数チャネルの割り当て – バックアップセット毎のファイル数を指定 RUN{

ALLOCATE CHANNEL ch1 TYPE 'SBT_TAPE'; ALLOCATE CHANNEL ch2 TYPE 'SBT_TAPE'; BACKUP FORMAT '%d_%s_%p_%t' (TABLESPACE data1) (TABLESPACE data2) (TABLESPACE data3) (TABLESPACE data4); } RUN{

ALLOCATE CHANNEL ch1 TYPE 'SBT_TAPE'; ALLOCATE CHANNEL ch2 TYPE 'SBT_TAPE'; BACKUP FORMAT '%d_%s_%p_%t' (TABLESPACE data1) (TABLESPACE data2) (TABLESPACE data3) (TABLESPACE data4); } バックアップ・セット、イメージ・コピーのどちらの場合でも、複数のデバイスを使用して同 時にバックアップを行うパラレル・バックアップが可能です。 パラレル・バックアップは上記の条件が満たされた場合に自動的に実行されます。 また通常この他にもバックアップ管理ソフトウェア側で複数デバイスを使用可能にする 設定も必要となります。

(34)

® 1998 年 1月 21日 34

パラレル実行とコマンドの書式

• パラレルに実行される場合

• シリアルに実行される場合

RUN{

ALLOCATE CHANNEL c1 TYPE disk; ALLOCATE CHANNEL c2 TYPE disk;

COPY DATAFILE 01 TO ‘/backups/copy_01.dbf’, DATAFILE 02 TO ‘/backups/copy_02.dbf’; }

RUN{

ALLOCATE CHANNEL c1 TYPE disk; ALLOCATE CHANNEL c2 TYPE disk;

COPY DATAFILE 01 TO ‘/backups/copy_01.dbf’, DATAFILE 02 TO ‘/backups/copy_02.dbf’; }

RUN{

ALLOCATE CHANNEL c1 TYPE disk; ALLOCATE CHANNEL c2 TYPE disk;

COPY DATAFILE 01 TO ‘/backups/copy_01.dbf’; COPY DATAFILE 02 TO ‘/backups/copy_02.dbf’; }

RUN{

ALLOCATE CHANNEL c1 TYPE disk; ALLOCATE CHANNEL c2 TYPE disk;

COPY DATAFILE 01 TO ‘/backups/copy_01.dbf’; COPY DATAFILE 02 TO ‘/backups/copy_02.dbf’; } Recovery ManagerのRUNコマンドでは、{...}内に記述されたコマンドを順番に実行しま す。この時パラレルの度合いは、1つのコマンドのコンテキストの中だけで適用されます。 例えば、2つのデータファイル・コピーが必要である場合、2つのCOPYコマンドを個別に 発行した場合、それぞれのコマンドはシリアルに実行されます。2つのコピーをパラレル に実行するには、1つのCOPYコマンドの中で両方のデータファイルのコピーを指定しま す。

(35)

®

1998 年 1月 21日 35

(36)

® 1998 年 1月 21日 36

レポート機能の概要

ターゲット データベース リカバリ・ マネージャー RMAN> リカバリ・ カタログ Oracle データベース 管理者が知りたい情報 • 現在どのようなバックアップが存在するか • UNRECOVERABLE 操作をしたためにリカバリする事が出来ないファイルはどれか • どのバックアップ・ファイルを削除しても良いのか • どのファイルがバックアップを必要としているのか • 最近5日間バックアップが取られていないファイルはどれか • 現在どのようなバックアップが存在するか • UNRECOVERABLE 操作をしたためにリカバリする事が出来ないファイルはどれか • どのバックアップ・ファイルを削除しても良いのか • どのファイルがバックアップを必要としているのか • 最近5日間バックアップが取られていないファイルはどれか Oracle7までは、データベース管理者がバックアップ情報を管理し、不要なバックアップ などを決定する必要がありました。 Oracle8ではRecovery Managerが、これらの情報を 管理者の代わりに管理してくれます。管理者はRecovery Managerのリポート機能を利 用する事によって、バックアップの管理に必要な情報を得る事が出来ます。 Recovery Managerはバックアップやリカバリに必要な情報やファイルをユーザーの要件 に基づいて表示します。データベース管理者は、リポート機能を利用する事によって、 以下のような情報を得る事が出来ます。 • 現在どのようなバックアップが存在するか • UNRECOVERABLE操作をしたためにリカバリする事が出来ないファイルはど れか (REPORT UNRECOVERABLE....) • 削除しても問題の無いバックアップ・ファイルはどれか (REPORT OBSOLETE UNTIL TIME....)

• 最近 n 日間バックアップが取られていないファイルはどれか (REPORT NEED BACKUP DAYS n ....)

• 増分バックアップを連続して実行し過ぎたために、回復に必要な増分バックアッ プが n 個より多くなってしまったファイルはどれか

(37)

® 1998 年 1月 21日 37

リカバリ・カタログ内の情報表示

• LIST コマンド

– 存在するバックアップをすべて表示する場合 – デバイスを指定してバックアップを表示する場合 – 登録されているデータベース情報を表示する場合 RMAN> LIST BACKUPSET OF DATABASE;

RMAN> LIST COPY OF TABLESPACE tbs1; RMAN> LIST BACKUPSET OF DATABASE; RMAN> LIST COPY OF TABLESPACE tbs1;

RMAN> LIST BACKUPSET OF DATABASE DEVICE TYPE ‘SBT_TAPE ’; RMAN> LIST BACKUPSET OF DATABASE DEVICE TYPE ‘SBT_TAPE ’;

RMAN> LIST INCARNATION OF DATABASE; RMAN> LIST INCARNATION OF DATABASE;

• LIST BACKUPSETコマンドの実行例:

• LIST INCARNATION コマンドの実行例: RMAN> LIST BACKUPSET OF DATABASE;

RMAN-03022: コンパイル・コマンド: list RMAN-06230: データファイルのバックアップ・リスト RMAN-06231: キー File 型 LV 完了時刻 Ckp SCN Ckp時刻 RMAN-06232: --- ---- ---- -- --- -- ---RMAN-06233: 195 1 Full 97-08-05 12394 97-08-05 RMAN-06233: 1272 1 Full 97-09-05 35119 97-09-05 RMAN-06233: 1273 1 Full 97-09-05 35120 97-09-05 RMAN-06233: 195 2 Full 97-08-05 12394 97-08-05 RMAN-06233: 1272 2 Full 97-09-05 35119 97-09-05 : :

RMAN> LIST INCARNATION OF DATABASE; RMAN-03022: コンパイル・コマンド: list RMAN-06240: データベースの表示リスト

RMAN-06241: DBキー Incキー DB名 DB ID CUR Reset SCN Reset時 刻

RMAN-06242: --- --- --- --- --

-RMAN-06243: 203 204 CATALOG 155514224 YES 1 97-08-02 RMAN-06243: 1 2 RMAN_DB 757973162 YES 1 97-08-04

(38)

® 1998 年 1月 21日 38

UNRECOVERABLE操作が行われた

ファイルのレポート

• REPORT UNRECOVERABLE コマンド

• UNRECOVERABLE 操作の例

– CREATE TABLE NOLOGGING AS SELECT – CREATE INDEX NOLOGGING

– SQL*Loader (NOLOGGING) – PARALLEL INSERT (NOLOGGING) RMAN> REPORT UNRECOVERABLE DATABASE; RMAN> REPORT UNRECOVERABLE DATABASE;

REPORT UNRECOVERBLEコマンドを実行する事で現在のバックアップでは完全に回復する事 の出来ないデータファイルを表示する事が出来ます。

この時データファイルのバックアップが存在しないというだけでは回復不能とはみなされません。こ れはこの様なデータファイルの場合、そのデータファイルが作成された後のアーカイブログがすべ て存在すれば、SQL文のALTER DATABASE CREATE DATAFILEコマンドを使用して回復する 事が可能なためです。 このためREPORT UNRECOVERABLEコマンドで表示されるデータファイルは以下の様な条件に 当てはまるものになります。 • UNRECOVERBLE(NOLOGGING)操作が実行されたオブジェクトを含むファイル • 作成後一度もバックアップを実行しておらず、かつ作成後のアーカイブログが一部でも 存在しないもの REPORT UNRECOVERABLEコマンドの実行例:

注)Oracle7の CREATE TABLE や CREATE INDEX コマンドで指定可能な RMAN>REPORT UNRECOVERABLE DATABASE;

RMAN-03022: コンパイル・コマンド: report

RMAN-06250: 回復不能操作のためバックアップの必要なファイルの一覧 RMAN-06251: File 必要なバックアップの型 名前

RMAN-06252: ---- ---

-RMAN-06253: 6 full /test/mnt9/data/test1.dbf RMAN-06253: 9 full /test/mnt9/data/test4.dbf RMAN-06253: 10 full /test/mnt9/data/test5.dbf RMAN-06253: 11 full /test/mnt9/data/test6.dbf :

(39)

® 1998 年 1月 21日 39

削除可能なファイルのレポート

• REPORT OBSOLETE コマンド

• 指定した時間以前へのPoint-In-Time回復が必要ない場

合に、このレポート コマンドを使用すれば、削除可能な

バックアップファイルの一覧が表示されます。

RMAN>REPORT OBSOLETE UNTIL TIME "08/18/1997 16:17:00"; RMAN>REPORT OBSOLETE UNTIL TIME "08/18/1997 16:17:00";

以下にREPORT OBSOLETEコマンドの実行例を示します。

この例でも分かるように、REPORT コマンドは Recovery Managerのコマンドラインから直 接実行します。RUNコマンド内では実行出来ません。 REPORT OBSOLETE コマンドの注意事項 • バックアップ・ファイルが削除可能となるタイミング データベース全体のバックアップをとった時に、それ以前にとったデータベース 全体のバックアップや、表領域ごとのバックアップは削除可能となると考えられ ますが、実際には、さらにその次のバックアップをとったタイミングで、削除可能 になります。ただし、そのバックアップは必ずしもデータベース全体のバックアッ プである必要はありません。 • NLS_DATE_FORMAT環境変数

REPORT OBSOLETE コマンドで UNTIL TIMEを使用する場合、環境変数 NLS_DATE_FORMATを指定する必要があります。UNTIL TIME句では NLS_DATE_FORMATで指定した形式で時間指定を行ってください。また年の 指定では必ず‘YYYY’の4桁を指定する必要があります。

RMAN>REPORT OBSOLETE UNTIL TIME "1997/08/18 16:17:00"; RMAN-03022: コンパイル・コマンド: report

RMAN-06280: 古いバックアップ集合およびデータ・ファイル・コピーのレポート RMAN-06281: タイプ Recid スタンプ ファイル名

RMAN-06282: --- --- ---

-RMAN-06284: Backup Set 34 309541134

RMAN-06285: Backup Piece 34 309541026 /test/backups/bpi0_35_1 RMAN-06284: Backup Set 35 309541487

RMAN-06285: Backup Piece 35 309541483 /test/backups/bpi0t_36_1

(40)

®

1998 年 1月 21日 40

バックアップを必要とするファイルのレポート

• 指定した日数以上バックアップが実行されていない

ファイルをリストアップ

(REPORT NEED BACKUP DAYS コマンド)

• 回復するために必要となる増分バックアップが

指定した数より多いファイルをリストアップ

(REPORT NEED BACKUP INCREMENTAL コマンド)

RMAN>REPORT NEED BACKUP DAYS 7 DATABASE;

RMAN>REPORT NEED BACKUP DAYS 7 DATABASE;

RMAN>REPORT NEED BACKUP INCREMENTAL 5 DATABASE; RMAN>REPORT NEED BACKUP INCREMENTAL 5 DATABASE;

REPORT NEED BACKUP DAYS コマンドの実行例:

#最近の3日間より長期間バックアップが取られていないファイルを出力します RMAN>REPORT NEED BACKUP DAYS 3 DATABASE;

RMAN-03022: コンパイル・コマンド: report RMAN-06270: 回復に3より多い日数のアーカイブ・ログが必要なファイルの一覧 RMAN-06271: File 日数 名前 RMAN-06272: ---- --- -RMAN-06273: 1 4 /test/data/test1.dbf RMAN-06273: 2 4 /test/data/test2.dbf : :

(41)

®

1998 年 1月 21日 41

(42)

®

1998 年 1月 21日 42

リカバリ・カタログのメンテナンス

• リカバリ・カタログと制御ファイルの再同期

• リカバリ・カタログへのOSコピーの登録

RMAN>CATALOG DATAFILECOPY '/backup/systemora803.dbf'; RMAN>CATALOG ARCHIVELOG '/backup/arch18.log';

RMAN>CATALOG DATAFILECOPY '/backup/systemora803.dbf'; RMAN>CATALOG ARCHIVELOG '/backup/arch18.log';

RMAN>RESYNC CATALOG; RMAN>RESYNC CATALOG; • リカバリ・カタログと制御ファイルの再同期 「再同期」とは、リカバリ・カタログと制御ファイルの情報を一致させるためにRecovery Managerが行う処理の事です。リカバリ・カタログを使用している場合、定期的に再同 期化処理が必要になります。再同期には以下の2種類があります。 – 部分再同期 Recovery Managerによるバックアップ、リストア操作などの前後に行われる再 同期化です。バックアップ履歴、アーカイブログ履歴などの情報がリカバリ・カ タログに転送されます。 – 完全再同期

Recovery ManagerのRESYNC CATALOGコマンド等によって実行される再 同期化処理です。部分再同期に追加して以下の情報が転送されます。 • 追加、削除されたデータファイル • 追加、削除された表領域 • 追加、削除されたオンラインREDOログ・グループおよびメンバー 自動的な再同期はRecovery Managerでバックアップ等の操作を行った場合しか実行 されません。このため上記の変更が行われた場合には必ずRecovery Managerから RESYNCコマンドを用いて明示的な再同期化を行うって下さい。 • リカバリ・カタログへのOSコピーの登録 Recovery ManagerではOSコピーで作成されたデータファイル、アーカイブログ、制御 ファイルのバックアップをリカバリ・カタログに登録する事が出来ます。これによりOSコ ピーで作成されたバックアップを、Recovery Managerによるデータベースの回復計画 で使用させる事が可能です。

(43)

®

1998 年 1月 21日 43

リカバリ・カタログのメンテナンス(

続き)

• カタログからのバックアップ情報の削除

• バックアップの削除

RMAN> ALLOCATE CHANNEL FOR DELETE TYPE DISK;

RMAN> CHANGE BACKUPPIECE '/mnt/backup/bk_1_1' DELETE; RMAN> CHANGE DATAFILECOPY '/mnt/backup/data1.dbf' DELETE; RMAN> ALLOCATE CHANNEL FOR DELETE TYPE DISK;

RMAN> CHANGE BACKUPPIECE '/mnt/backup/bk_1_1' DELETE; RMAN> CHANGE DATAFILECOPY '/mnt/backup/data1.dbf' DELETE;

RMAN> CHANGE BACKUPPIECE '/mnt/backup/bk_1_1' UNCATALOG; RMAN> CHANGE DATAFILECOPY '/mnt/backup/data1.dbf' UNCATALOG; RMAN> CHANGE BACKUPPIECE '/mnt/backup/bk_1_1' UNCATALOG; RMAN> CHANGE DATAFILECOPY '/mnt/backup/data1.dbf' UNCATALOG;

• バックアップの削除

バックアップされたファイルを削除する場合、削除用のチャネルをALLOCATA CHANNEL FOR DELETEコマンドで割り当てる必要があります。この場合の ALLOCATE CHANNEL ... コマンドは RUNコマンドの{...}内では割り当てる事が出 来ないので注意してください。 実際のバックアップの削除はチャネル割り当て後のCHANGE ... DELETEコマンドで 実行します。バックアップ・セットの場合、バックアップを削除する事でカタログ内の情 報も削除されますが、イメージ・コピーの場合バックアップ情報自体は削除されず、バッ クアップのステータスが‘D‘に変更されます。以下のイメージ・コピーを削除した後に LISTコマンドを実行した場合の例を参照してください。

RMAN> LIST COPY OF TABLESPACE tbs1;

RMAN-03022: コンパイル・コマンド: list RMAN-06210: データファイルのコピー・リスト RMAN-06211: キー File S 完了時刻 Ckp SCN Ck時刻 名前 RMAN-06212: --- ---- - --- --- --- -RMAN-06213: 1310 6 D 97-10-06 55885 97-10-06 /bkup/b.bk RMAN-06213: 1321 6 A 97-10-06 55890 97-10-06 /bkup/tbs1.dbf

(44)

®

1998 年 1月 21日 44

(45)

® 1998 年 1月 21日 45

Recovery Managerの設定

• 設定前の要件

• リカバリ・カタログの設定

• バックアップ管理ソフトウェア(

テープ装置)を使用するため

の設定

(46)

® 1998 年 1月 21日 46

設定前の要件

• リカバリ・カタログの必要性

• パスワードファイルの必要性

• 初期化パラメータファイル、パスワード・

ファイルのバック

アップ

• リカバリ・カタログの必要性 RMANによるバックアップの運用を行う場合、Oracleでは基本的にリカバリ・カタログを使 用することを推奨しています。ただしDBを2つ運用することが困難な場合、以下の制限が あることを前提にリカバリ・カタログを使用しない運用も可能です。 – 制御ファイルが壊れた場合のリカバリが困難である事 全ての制御ファイルに障害が発生し、かつデータファイル、アーカイブログのリスト アが必要な場合には通常の方法では Recovery Managerを用いて行ったバックアッ プをリストアする事が出来ません。 このような場合にはカスタマーサポートの支援が必要となります。またこの時バック アップをとった際のファイル名などが含まれているログファイルも必要になります。こ のためリカバリ・カタログを使用しない運用を選択した場合には、制御ファイルの障 害に備え、Recovery Managerによるバックアップ実行時のログファイルをなるべく保 存するようにして下さい。 – Point-In-Time回復 制御ファイル中にバックアップの履歴が保存されていないバックアップを使用する Point - in - Time回復が実行出来ません。これは制御ファイル中のバックアップ情報 が循環的に使用されるため、エントリが上書きされる場合があるためです。 – ストアド・スクリプト リカバリ・カタログ中にスクリプトを格納しておくストアド・スクリプトの機能が使用出 来ません。 • パスワードファイルの必要性 Recovery Managerを用いてリモートからDBバックアップ、リカバリなどを行う場合、OSによ る認証が行えないため、パスワードファイルを使用して認証を行う必要があります。 • 初期化パラメータファイル、パスワードファイルのバックアップ

(47)

® 1998 年 1月 21日 47

リカバリ・カタログの設定

1. カタログ用DBの準備

2. リカバリ・カタログ所有者の作成

3. CATRMAN.SQLの実行

4. SQL*Netの設定

5. データベースの登録

1. カタログ用DBの準備 新規にDBを作成するか、既存のDBをカタログDBとして利用してカタログDBを準備します。こ のときリカバリ・カタログを作成する表領域には、10MB以上の空き領域を確保して下さい。ま たこの時ターゲットDB内にリカバリ・カタログを作成する事や、ターゲットDBと同一のディスク にカタログDBを作成することは避けてください。またOracle7 の RDBMS上にリカバリ・カタログ を作成する事は出来ません。 2. リカバリ・カタログ所有者の作成 このとき作成したユーザーにRECOVERY_CATALOG_OWNERロールを与える必要がありま す。(このロール自体はcatalog.sqlによって作成されています。またCONNECT、RESOURCEな どのロールを別途与える必要はありません。) 3. CATRMAN.SQL の実行 作成したユーザーに接続して $ORACLE_HOME/admin/catrman.sqlを実行し、リカバリ・カタロ グを作成してください。 4. SQL*Netの設定 Recovery Managerはリカバリ・カタログにSQL*Netを経由して接続します。このため tnsnames.ora、listener.oraなどのSQL*Net設定ファイルを変更し、ターゲットDBのノードからカタ ログDBへSQL*Net経由で接続できるよう設定してください。 5. データベースの登録 Recovery ManagerのREGISTERコマンドを用いて、ターゲットDBをカタログに登録します。 SVRMGR> CONNECT INTERNAL

SVRMGR> CREATE USER rman IDENTIFIED BY rman 2> TEMPORARY TABLESPACE temp

3> DEFAULT TABLESPACE data 4> QUOTA UNLIMITED ON data;

SVRMGR> GRANT RECOVERY_CATALOG_OWNER TO rman;

SVRMGR> CONNECT rman/rman SVRMGR> @?/rdbms/admin/catrman

(48)

® 1998 年 1月 21日 48

テープ装置利用に必要なバックアップ管理ソ

フトウェアの設定

1. バックアップ管理ソフトウェア(サーバー、クライアント)の

インストールと設定

2. Oracle実行モジュールとMMLとのリンク

3. リンクの確認

lddコマンドなど

例:Solaris+ Solstice Backup を使用した環境で MMLが/usr/lib/libobk.so に インストールされている場合

%cd $ORACLE_HOME/rdbms /lib

%make -f ins_rdbms.mk ioracle LLIBMM=/usr/lib/ libobk.so 例:Solaris+ Solstice Backup を使用した環境で MMLが/usr/lib/libobk.so に インストールされている場合

%cd $ORACLE_HOME/rdbms /lib

%make -f ins_rdbms.mk ioracle LLIBMM=/usr/lib/ libobk.so

Recovery Managerからテープ装置へバックアップを行うには、メディア管理ベンダーから 提供されるMML とOracleの実行モジュールがダイナミックリンクされる必要があります。 リンクの実行方法については各プラットホームの $ORACLE_HOME/rdbms/README.docやメディア管理ベンダーから提供されるマニュ アルを参照してください。 Oracle実行モジュールが正しくMMLとダイナミック・リンクされているか、実行モジュール の依存関係を調べるOSコマンドで確認できます。Solarisの場合 ldd コマンドを使用して 下さい。以下に例を示します。 %cd $ORACLE_HOME/bin %ldd ./oracle libobk.so => /usr/lib/libobk.so libnsl.so.1 => /usr/lib/libnsl.so.1 libsocket.so.1 => /usr/lib/libsocket.so.1 libdl.so.1 => /usr/lib/libdl.so.1 libc.so.1 => /usr/lib/libc.so.1 libaio.so.1 => /usr/lib/libaio.so.1 libm.so.1 => /usr/lib/libm.so.1 libintl.so.1 => /usr/lib/libintl.so.1 libmp.so.1 => /usr/lib/libmp.so.1 libw.so.1 => /usr/lib/libw.so.1

(49)

®

1998 年 1月 21日 49

(50)

®

1998 年 1月 21日 50

リソース制限の設定

• データファイルの読み込み速度の制限

– SET LIMIT CHANNEL name READREATE n ; – name = チャネル名、n = バッファの個数 – バッファ サイズ = DB_BLOCK_SIZE × DB_FILE_DIRECT_IO_COUNT データファイル読み込み速度の制限 比較的遅いテープ装置へバックアップを実行する場合、テープへの書き込みによるI/O 待ちが発生する場合があります。このような場合には、バックアップ時のデータファイル の読み込み速度を制限して無駄なリソースの消費を抑える事が出来ます。

コマンド上の指定としては SET LIMIT CHANNEL コマンドをRUNコマンドで行います。 READRATEで指定する1つのバッファの大きさは以下の2つの初期化パラメータで決 定されます。 DB_BLOCK_SIZE: データベース・ブロックのバイト単位のサイズ DB_FILE_DIRECT_IO_COUNT(デフォルト 64) : バックアップ、リストア時に使用するバッファのサイズ。DB_BLOCK_SIZEの 個数で指定します。

参照

関連したドキュメント

We propose to study the e ff ects of an Oldroyd-B fluid on the mechanism of peristaltic transport in a planar channel.. Of course the natural coordinate system is axisymmet-

This paper is an interim report of our comparative and collaborative research on the rela- tionship between religion and family values in Japan and Germany. The report is based upon

Should Buyer purchase or use onsemi products for any such unintended or unauthorized application, Buyer shall indemnify and hold onsemi and its officers, employees,

The sync channel operates as in normal readout and enables frame and line synchronization. Every data channel transmits a fixed, programmable word to replace normal data words

ALLOWABLE DAMBAR PROTRUSION SHALL BE 0.08 (0.003) TOTAL IN EXCESS OF THE K DIMENSION AT MAXIMUM MATERIAL CONDITION7. TERMINAL NUMBERS ARE SHOWN FOR

same channel are paralleled together in output of power stage with a common voltage−sense feedback. All the input pins of voltage sense and current senses in unused channel and

To synchronize the receiver frequency to a carrier signal, the oscillator frequency could be tuned using the capacitor bank however, the recommended method to implement

If frame mode is used for data communication, the pins DCLK and DATA can optionally be used as general purpose I/O pins.. RF Frequency