SlideShare a Scribd company logo
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |
Oracle Databaseのバックアップ/リカバリ
動作原理から時間短縮のテクニックまで
日本オラクル株式会社
日下部明
2019年5月29日
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |
以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。また、
情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことはできません。
以下の事項は、マテリアルやコード、機能を提供することをコミットメント(確約)するもの
ではないため、購買決定を行う際の判断材料になさらないで下さい。オラクル製品に関
して記載されている機能の開発、リリースおよび時期については、弊社の裁量により決
定されます。
2
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |
Agenda
データベースのバックアップ
Oracle Databaseのバックアップ/リストア/リカバリ
RMANでバックアップ/リカバリ時間を短縮する
1
2
3
3
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |
データベースのバックアップ
4
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |
毎日の運用で行われる vs 万が一の場面でしか行わない
5
Recovery
Backup
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |
手段の一つ vs 目的(最重要)
6
Recovery
Backup
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 7
ファイルのコピーがあれば大丈夫と思ってはいけない
出典:UNISPHERE RESEARCH社 「Oracle Database and Data Protection Survey」
http://www.dbta.com/DBTA-Downloads/ResearchReports/Oracle-Database-and-Data-Protection-Survey-Results-4331.aspx
データベースのリストア・リカ
バリを実施したDBAのう
ち、失敗を経験した割合84%
20%
5回のリストア・リカバリで
1回以上の失敗を経験した
DBAの割合
19%
9%
11%
12%
13%
26%
26%
34%
0% 10% 20% 30% 40%
不明/未確認
インテグレートされていない…
正しいバックアップを指定できない
アプリケーションがリストアされた…
プロセスに複数の人員が関係している
ハードウェア/ソフトウェアの不具合
バックアップの破損
人的エラー
リストア・リカバリに失敗した主な理由
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |
戻せないバックアップを回避するために
8
復旧方法が標準化されていること
バックアップ自体が壊れていないことをチェックすること
必要なバックアップが取られていて、管理されていること
人的エラー
ミスしにくい復旧方法であること
バックアップ破損
不適切な
バックアップ設計
復旧方法が適切に設計されていること
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 9
Oracle Databaseの場合
担当者の視点によって
「データベース・バックアップ」が異なる
インフラ担当者の視点 アプリ担当者の視点
「ボリューム」や「ファイル」
単位での複製
ユーザーデータの外部保存
• ストレージ機能を使ったボリューム・コピー
(スナップショット/スプリット・ミラーなど)
• バックアップ管理製品やOSのコマンドによる
ファイル複製
• 論理Exportを使ったユーザーデータの抽出
Oracle Database視点ではデータベースの
物理バックアップとは言わない
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 10
Oracle Databaseの場合
担当者の視点によって
「データベース・バックアップ」が異なる
インフラ担当者の視点 アプリ担当者の視点
「ボリューム」や
「ファイル」単位で
の複製
ユーザーデータ
の外部保存
データベース担当者の視点
DB構造を理解した
「データ・ブロック」
単位の複製
• ブロック破損のチェック
• ブロック単位の修復
• 障害直前の状態まで修復
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |
Oracle Databaseの
バックアップ/リストア/リカバリ
11
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 12
Oracle Databaseのアーキテクチャ
System
Global
Area
DBWn
SMON
PMON
LGWR
ARCn
バックグラウンド・
プロセス
共有メモリ データ・ファイル
オンラインREDOログ・ファイル
アーカイブREDOログ・ファイル
制御ファイル
パラメータ・
ファイル
データベースの状態
インスタンスのパラメータ
表や索引データの実体
更新の履歴
オンラインREDOログ
のバックアップ
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 13
Oracle Databaseのアーキテクチャ
System
Global
Area
DBWn
SMON
PMON
LGWR
ARCn
バックグラウンド・
プロセス
共有メモリ データ・ファイル
オンラインREDOログ・ファイル
アーカイブREDOログ・ファイル
制御ファイル
パラメータ・
ファイル
サイズ小
サイズ大
バックアップ対象外
多数のファイル生成
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 14
Oracle Databaseのバックアップ/リストア/リカバリの文脈
バックアップ (主に)データファイルのコピーを取得すること
リストア (主に)データファイルのバックアップから書き戻すこと
リカバリ データブロックにREDOログを適用しロールフォワード
&ロールバックすること
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 15
バックアップ/リストア/リカバリ
時間
INSERT
UPDATE
DELETE
オンラインREDOログ
(固定長、循環式)
更新の履歴はまずオンラインREDOログ
に記録される
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 16
バックアップ/リストア/リカバリ
時間
INSERT
UPDATE
DELETE
オンラインREDOログ
(固定長、循環式)アーカイブREDOログ
更新の履歴はまずオンラインREDOログ
に記録される
オンラインREDOログのコピーが
アーカイブREDOログとして残される
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 17
バックアップ/リストア/リカバリ
時間
INSERT
UPDATE
DELETE
バックアップ
(データファイルのコピー)
時刻t0
時刻t0に取得したバックアップには時刻t0まで
の変更情報しか含まれていない
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 18
バックアップ/リストア/リカバリ
時間
INSERT
UPDATE
DELETE
INSERT
UPDATE
DELETE
INSERT
UPDATE
DELETE
オンラインREDOログアーカイブREDOログ
バックアップ
(データファイルのコピー)
時刻t0
時刻t0に取得したバックアップには時刻t0まで
の変更情報しか含まれていない
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 19
バックアップ/リストア/リカバリ データファイル障害発生
INSERT
UPDATE
DELETE
INSERT
UPDATE
DELETE
INSERT
UPDATE
DELETE
オンラインREDOログアーカイブREDOログ
バックアップ
(データファイルのコピー)
時刻t0 時刻t1
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 20
バックアップ/リストア/リカバリ
INSERT
UPDATE
DELETE
INSERT
UPDATE
DELETE
INSERT
UPDATE
DELETE
オンラインREDOログアーカイブREDOログ
時間
バックアップ
(データファイルのコピー)
時刻t0 時刻t1
データファイル障害発生
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 21
バックアップ/リストア/リカバリ
INSERT
UPDATE
DELETE
INSERT
UPDATE
DELETE
INSERT
UPDATE
DELETE
オンラインREDOログアーカイブREDOログ
時間
バックアップ
(データファイルのコピー)
リストア
(データファイルの書き戻し)
時刻t0 時刻t1
データファイル障害発生
時刻t0までのデータブロックの復元
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 22
バックアップ/リストア/リカバリ
INSERT
UPDATE
DELETE
INSERT
UPDATE
DELETE
INSERT
UPDATE
DELETE
オンラインREDOログアーカイブREDOログ
時間
バックアップ
(データファイルのコピー)
リストア
(データファイルの書き戻し)
リカバリ
(REDOログの適用)
時刻t0 時刻t1
データファイル障害発生
時刻t0から時刻t1までの
更新差分の適用
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |
バックアップ/リストア/リカバリ
• データファイルのバックアップにはバックアップを取得した時点までの情報
しか含まれていない
• データファイルのリストア(更新の起点) + REDOログ(更新の差分)でデー
タファイル障害直前の状態までリカバリできる
23
時間
INSERT
UPDATE
DELETE
INSERT
UPDATE
DELETE
INSERT
UPDATE
DELETE
オンラインREDOログアーカイブREDOログ
バックアップ
(データファイルのコピー)
時刻t0
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |
データファイルのオンライン・バックアップ
• Oracle Databaseは更新トランザクションが実行されていてもI/Oを停止させ
ることなくバックアップ可能
• バックアップ取得中にもデータファイルが部分的に書き換えられている!
24
A1 B1 C2
A1
A2 B1 C3
A1 B1
write write
A2 B1 C3
A1 B1 C3
データファイル
(コピー元)
バックアップ
(コピー先)
時間write
未COMMITの更新も含む一貫性
のないファイルができあがる
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |
オンライン・バックアップからのリストア/リカバリ
• オンライン・バックアップは一貫性のないファイルができあがる
• 一貫性のないデータファイルはリストアしただけでは使用できない
• リカバリ(REDOログの適用)を行って一貫性のある状態までロールフォ
ワード&ロールバックすることが必須
– アーカイブ・ログ・モードでないとオンライン・バックアップできない
– RECOVERコマンドで自動的に一貫性のある状態までリカバリされる
25
リカバリすることを前提に静止点のないデータファイルのコピーが可能
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |
オンライン・バックアップと分裂ブロック
• OracleデータブロックのサイズはOSがアトミックに処理できるI/Oサイズより
も大きい
• データブロックへのwrite I/Oとバックアップのread I/Oが衝突するとバック
アップのデータブロックが分裂することが起こり得る⇒不正なブロック
26
A2 B1 C3
A1 B1 ?
データファイル
(コピー元)
バックアップ
(コピー先)
write
read
分裂ブロック
SCN=y
SCN=x
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 27
Oracle Databaseの2種類の物理バックアップ手法
Recovery Manager(RMAN) ユーザー管理バックアップ
oracle
rman
データファイル
(コピー元)
バックアップ
(コピー先) コピー元ボリューム バックアップ・ボリューム
スナップショット
スプリット・ミラー
• Oracle付属のバックアップ・ツール
• Oracleサーバー・プロセスがデータベースのファイルに
アクセスする仕組みを使ってファイルをコピー
• Oracleインスタンス管理下で行われる操作
• RMAN以外の方法でファイルをコピーするすべての手法
• Oracleインスタンスが関知しないところでコピーが行わ
れる
• OSのファイル・コピー・コマンド
• ストレージ機能のスナップショット/スプリット・ミラー
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 28
Oracle Databaseの2種類の物理バックアップ手法
Recovery Manager(RMAN) ユーザー管理バックアップ
分裂ブロック対策 Oracleインスタンスによってデータブロッ
クに対する排他制御がかかるので
read/write I/Oが衝突しない
⇒分裂ブロックが発生しない
分裂ブロックが発生してもリカバリできる仕組み
がある
⇒ホット・バックアップ・モード
ファイル破損のチェック される されない
リストア/リカバリ操作 ある程度自動化できる 破損個所の特定からどのファイルをリストアする
かまですべて管理者の判断
最小リストア粒度 データブロック ファイル/ボリューム
バックアップ/リストア時間
の短縮
• 高速増分バックアップ
• 増分更新バックアップ
• ブロック・メディア・リカバリ
• 並列化
• マルチセクション・バックアップ
ストレージ機能(スナップショット/スプリット・ミ
ラー)との組み合わせ
第一選択肢はRMAN
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 29
分裂ブロックが発生してもリカバリできる仕組み
ユーザー管理バックアップでのホット・バックアップ・モード
時間
データブロック REDOログ
通常モード
(更新個所のみ記録)
データブロック REDOログ
ホット・バックアップ・モード
(データブロック全体を記録)
SQL> ALTER DATABASE BEGIN BACKUP;
• データファイルへの書き戻し(チェックポイント)
• データファイル・ヘッダのチェックポイントSCNの固定
• ホットバックアップ・モード開始
SQL> ALTER DATABASE END BACKUP;
• データファイル・ヘッダの通常モードへの移行
• ホットバックアップ・モード終了
ホット・バックアップ・モード
• REDOログに記録される情報が増える
• データファイルのコピー取得
ホット・バックアップ・モード中に更新されたブロック(分裂ブロック
になる可能性)は一貫性のあるイメージがREDOログに記録される
⇒分裂ブロックが発生してもリカバリ時にREDOログに記録された
一貫性のあるイメージでブロック全体を上書き
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 30
ストレージ機能(スナップショット/スプリット・ミラー)との組み合わせ
ユーザー管理バックアップ
コピー元ボリューム バックアップ・ボリューム
時間
時刻t0
ボリュームのバックアップ
時刻t1
障害発生
ボリュームのリストア
ストレージ機能(スナップショット/ス
プリット・ミラー)は「ファイル」単位で
はなく「ボリューム」のコピーを取得
する機能
「ボリューム」のバックアップを取得
した人は「ボリューム」をリストアしよ
うとする
「ボリューム」に何が含まれていた
かによってはリカバリ不能になる
t0 t0
t0 t0
t1
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |
ユーザー管理バックアップ
• ユーザー管理バックアップはストレージ機能(スナップショット/スプリット・ミ
ラー)を使用する場合の手法
– 「ファイル」単位ではなく「ボリューム」のコピーを取得する機能
– ファイル単位のコピーならばRMANを使用するべき
• 「ボリューム」のコピーを取得した人は「ボリューム」をリストアしようとする
– この方法で正しくリストア/リカバリできるように設計すること自体が難しい
• 物理バックアップの第一選択肢はRMAN
31
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |
Recovery Manager(RMAN)
• 分裂ブロックが発生しないのでホット・バックアップ・モードは不要
• リストア/リカバリの手順がある程度固定されるので考慮点が減る
• データ・リカバリ・アドバイザでリストア/リカバリ手順を自動生成
• バックアップ/リストア時間を短縮する仕組み
32
Oracleサーバー・プロセスがデータベースのファイルにアクセスする仕組みでコピー
oracle
rman
データファイル
(コピー元)
バックアップ
(コピー先)
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 33
分裂ブロックが発生しないのでホットバックアップ・モードは不要
RMANでのオンライン・バックアップ
oracle
rman
データファイル
(コピー元)
バックアップ
(コピー先)
DBWn
RMANのOracleサーバー・プロセス
(データブロックを読む)
データベース・ライター・プロセス
(データブロックを書く)
どちらもOracleインスタンス制御下のプロセスでデータブロックに対する
アクセスは適切に排他制御されるので分裂ブロックが発生しない
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |
RMANバックアップ情報のメタデータ
• RMANでどのファイルを、いつ、どこにバックアップしたのかはデータベー
スの制御ファイルに記録される
• 制御ファイルの情報はいつか上書きされるので長期の保存にはメタデー
タ格納用のカタログ・データベースを別途用意する(Optional)
34
RMAN> RESTORE DATAFILE xx;
バックアップがどこにあるかは制御ファイル
(もしくはカタログ・データベース)に記録され
ている
oracle
rman
データファイル バックアップ制御ファイル
RMANカタログ・データベース
RMAN> RECOVER DATAFILE xx;
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 35
範囲が狭いほどリストアのデータブロック移動量とリカバリのREDOログ適用量が減る
リストアの粒度
リストア対象 リストアのRMANコマンド リストアの前提
ボリューム
(ストレージ機能を使用した
ユーザー管理バックアップ)
CDB全体の場合Oracleインスタンスを
SHUTDOWN
CDB全体 RMAN> RESTORE DATABASE; OracleインスタンスをSHUTDOWNして
MOUNTで起動
Pluggable Database RMAN> RESTORE PLUGGABLE DATABASE xx; 該当PDBをMOUNT状態
表領域 RMAN> RESTORE TABLESPACE xx; 該当表領域をOFFLINE
データファイル RMAN> RESTORE DATAFILE xx; 該当表領域をOFFLINE
データブロック RMAN> RECOVER DATAFILE xx BLOCK yy; 該当データブロック以外は使用可能
リストア粒度がデータファイルの場合、
該当ファイルを含む領域はリカバリ完了
まで使用できない
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 36
リストア/リカバリ手順を自動生成
RMANデータ・リカバリ・アドバイザ
oracle
application
oracle
application
System
Global
Area
1.データファイルの破損を検出
oracle
rman
System
Global
Area
2.破損個所を把握
3.破損個所をリストア/リカバリす
るRMANスクリプトを自動生成
oracle
rman
System
Global
Area
4.RMANスクリプト実行
5.リストア/リカバリ完了
SQLでのアクセス可能
RMAN> LIST FAILURE;
RMAN> ADVISE FAILURE;
RMAN> REPAIR FAILURE;
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |
RMANでバックアップ/リカバリ時間を
短縮する
37
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |
RMANでバックアップ/リカバリ時間を短縮する
• 高速増分バックアップ
• 増分更新バックアップ
• ブロック・メディア・リカバリ
• 並列化
• マルチセクション・バックアップ
38
サイズの大きなデータファイルの移動時間を短縮したい
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 39
前回のバックアップ時点から更新されたデータブロックを抽出
増分バックアップ
A A A A A A
A B A B B A
データファイル
更新
A A A A A A
A B A B B A
level 0
level 1
バックアップ
時間
増分バックアップの目的:
バックアップのファイル・サイズを小さくする
最初のバックアップはすべてのデータ
ブロック
⇒level 0
前回のバックアップ時点から更新され
たデータブロックのバックアップ
⇒level 1
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 40
Block Change Trackingファイルの導入(Oracle Database 10g~)
高速増分バックアップ
A A A A A A
A B A B B A
デフォルトの増分バックアップ
更新
全データブロックにアクセスして抽出
⇒データファイルの読み込みは減らない
BCTファイルに記録されたデータブロックにアクセス
⇒データファイルの読み込みが減る
高速増分バックアップ
B B B
データファイル
バックアップ・ファイル
A A A A A A
A B A B B A
更新
B B B
BCTファイル
更新が発生したブロックを
BCTファイルに記録
データファイル
level 1バックアップ
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 41
level 0リストア ⇒ level 1リストア ⇒ リカバリ(REDOログ適用)
増分バックアップからのリストア/リカバリ
A A A A A A
A B A B B A
データファイル
A A A A A A
A B A B B A
level 0
level 1
バックアップ
時間
1.level 0バックアップのリストア
2.level 1バックアップのリストア
A B C B C C
3.リカバリ(REDOログ適用)
REDOログの適用開始は最新のlevel 1バックアップの時点から
高速増分バックアップ
• バックアップの時間とファイル・サイズが減少する
• ただしリストア量はlevel 1の分だけ増える
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 42
どこの時点からの増分か
2種類の増分バックアップ
A A A A A A
時間
A B A B B A
A B C B C C
データファイル 差分増分バックアップ
更新
更新
A A A A A A
A B A B B A
A B C B C C
累積増分バックアップ
A A A A A A
A B A B B A
A B C B C C
前回のバックアップからの増分 level 0バックアップからの増分
バックアップ
level 0
level 1
level 1
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |
リストア
43
level 0リストア ⇒ すべてのlevel 1リストア
差分増分バックアップからのリストア
A A A A A A
時間
A B A B B A
A B C B C C
データファイル 差分増分バックアップ
更新
更新
A A A A A A
A B A B B A
A B C B C C
リストアしたデータファイル
A A A A A A
前回のバックアップからの増分 level 0+すべてのlevel 1
バックアップ
level 0
level 1
level 1 A B C B C C
A B A B B A
level 0
level 1
level 1
時間
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |
リストア
44
level 0リストア ⇒ 最新のlevel 1リストア
累積増分バックアップからのリストア
A A A A A A
時間
A B A B B A
A B C B C C
データファイル 累積増分バックアップ
更新
更新
A A A A A A
A B A B B A
リストアしたデータファイル
A A A A A A
level 0バックアップからの増分 level 0+最新のlevel 1
バックアップ
level 0
level 1
level 1 A B C B C C
level 0
level 1A B C B C C
時間
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 45
各増分バックアップ方式のリストア/リカバリ
バックアップ方式 バックアップ リストア リカバリの起点
フル・バックアップ データファイル全体 最新のフル・バックアップ 最新のフル・バックアップ
差分増分バックアップ 前回のバックアップからの
増分
level 0 +すべてのlevel 1 最新のlevel 1
累積増分バックアップ level 0からの増分 level 0 +最新のlevel 1 最新のlevel 1
• リカバリの起点はいずれも最新のバックアップ時点から
• リストア対象のファイルが異なる
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |
level 0にlevel 1を適用
Confidential – Oracle Internal 46
リストア時にlevel 1を適用するのではなくあらかじめlevel 0にlevel 1を適用しておく
増分更新バックアップ
A A A A A A
時間
A B A B B A
A B C B C C
データファイル 差分増分バックアップ
更新
更新
A A A A A A
A B A B B A
A B C B C C
増分更新バックアップ
A A A A A A
前回のバックアップからの増分 level 1適用済みのlevel 0
バックアップ
level 0
level 1
level 1 A B C B C C
A B A B B A
level 0
recover
recover
時間
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |
level 0にlevel 1を適用
Confidential – Oracle Internal 47
あらかじめlevel 1を適用したlevel 0をリストア
増分更新バックアップからのリストア
時間
差分増分バックアップ
A A A A A A
A B A B B A
A B C B C C
増分更新バックアップ
A A A A A A
前回のバックアップからの増分 level 1適用済みのlevel 0
A B C B C C
A B A B B A
level 0
recover
recover
時間
A B C B C Clevel 0
データファイル
level 1適用済みのlevel 0をリストア
リストアlevel 0
level 1
level 1
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 48
各増分バックアップ方式のリストア/リカバリ
バックアップ方式 バックアップ リストア リカバリの起点
フル・バックアップ データファイル全体 最新のフル・バックアップ 最新のフル・バックアップ
差分増分バックアップ 前回のバックアップからの
増分
level 0 +すべてのlevel 1 最新のlevel 1
累積増分バックアップ level 0からの増分 level 0 +最新のlevel 1 最新のlevel 1
増分更新バックアップ 差分増分 or 累積増分 level 1適用済みのlevel 0 最新のlevel 1
• リカバリの起点はいずれも最新のバックアップ時点から
• リストア対象のファイルが異なる
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 49
フル/差分増分/累積増分/増分更新どれでも変わらない
バックアップからのリストア/リカバリ操作
RMAN> RESTORE DATAFILE xx;
RMAN> RECOVER DATAFILE xx;
1.level 0バックアップのリストア
2.level 1バックアップのリストア
3.リカバリ(REDOログの適用)
どのバックアップ手法であったとしてもRMANが適切なバックアップから全自動でリストアする
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 50
データファイルよりも小さな粒度でリストア/リカバリ
ブロック・メディア・リカバリ
RMAN> RECOVER DATAFILE xx BLOCK yy;
1. データブロックのリストア
2.リカバリ(REDOログの適用)
データファイル level 0バックアップ
2.リカバリ(REDOログの適用)
1. データブロックのリストア
データ・リカバリ・アドバイザはブロック・メディア・リカバリで修復できると判断するとこの方法を選択する
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 51
コピー対象のファイルが複数あると並列コピー可能
バックアップ/リストア(ファイル・コピー)の並列化
ファイル1
ファイルn
oracle
rman
oracle
ファイル1
ファイルn
コピー元 コピー先
RMAN> RESTORE DATABASE;
RMAN> BACKUP DATABASE;
RMAN> CONFIGURE DEVICE TYPE DISK PARALLELISM n; 1.並列化の設定
2.バックアップ/リストアのコマンド
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 52
1つの巨大なデータファイルを分割して並列バックアップ可能
マルチセクション・バックアップ
データファイル
バックアップ
oracle
rman
oracle
oracle
RMAN> BACKUP SECTION SIZE xx DATABASE;
RMAN> CONFIGURE DEVICE TYPE DISK PARALLELISM n; 1.並列化の設定
2.SECTION SIZEに分割してBACKUP
SECTION SIZE SECTION SIZE SECTION SIZE
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 53
リカバリ対象のデータファイルが複数ある場合並列にREDOログ適用可能
リカバリ(REDOログ適用)の並列化
アーカイブREDOログ
+
オンラインREDOログ
PR01
PR02
PRnn
パラレル・リカバリ・プロセス データファイル
RMAN> RECOVER DATABASE [PARALLEL n]; デフォルトはCPU数の並列度でリカバリ
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |
Oracle Databaseのバックアップ/リストア/リカバリ
• リカバリできることが重要、そのためのバックアップ
• RMANが第一選択肢
• 時間を短縮する仕組み
54
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 55
Oracle backup and recovery basics

More Related Content

PDF
[Oracle DBA & Developer Day 2012] 高可用性システムに適した管理性と性能を向上させるASM と RMAN の魅力
PDF
Zero Data Loss Recovery Applianceのご紹介
PDF
Oracle GoldenGate入門
PDF
あなたのクラウドは大丈夫?NRI実務者が教えるセキュリティの傾向と対策 (Oracle Cloudウェビナーシリーズ: 2021年11月24日)
PDF
しばちょう先生による特別講義! RMANバックアップの運用と高速化チューニング
PDF
[Oracle DBA & Developer Day 2016] しばちょう先生の特別講義!!ストレージ管理のベストプラクティス ~ASMからExada...
PDF
Rac rac one_node説明資料
PDF
Oracle運用Tips大放出! ~ RAC環境のRMANのパラレル化を極める 編 ~ @2016-02-23 JPOUG
[Oracle DBA & Developer Day 2012] 高可用性システムに適した管理性と性能を向上させるASM と RMAN の魅力
Zero Data Loss Recovery Applianceのご紹介
Oracle GoldenGate入門
あなたのクラウドは大丈夫?NRI実務者が教えるセキュリティの傾向と対策 (Oracle Cloudウェビナーシリーズ: 2021年11月24日)
しばちょう先生による特別講義! RMANバックアップの運用と高速化チューニング
[Oracle DBA & Developer Day 2016] しばちょう先生の特別講義!!ストレージ管理のベストプラクティス ~ASMからExada...
Rac rac one_node説明資料
Oracle運用Tips大放出! ~ RAC環境のRMANのパラレル化を極める 編 ~ @2016-02-23 JPOUG

What's hot (20)

PDF
Oracle GoldenGate 19c を使用した 簡単データベース移行ガイド_v1.0
PDF
データ基盤の従来~最新の考え方とSynapse Analyticsでの実現
PPTX
Oracle Database Vaultのご紹介
PDF
監査ログをもっと身近に!〜統合監査のすすめ〜
PDF
Oracle GoldenGate導入Tips
PDF
DDD 2016 DB 12c クエリー・オプティマイザ新機能活用と統計情報運用の戦略
PDF
Exadata X8M-2 KVM仮想化ベストプラクティス
PPTX
しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#3
PDF
Oracle Data Guard による高可用性
PDF
GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)
PDF
Migration to Oracle Multitenant
PDF
オンプレミスからクラウドへ:Oracle Databaseの移行ベストプラクティスを解説 (Oracle Cloudウェビナーシリーズ: 2021年2月18日)
PDF
事例から見る規模別クラウド・データベースの選び方 (Oracle Database) (Oracle Cloudウェビナーシリーズ: 2021年6月30日)
PDF
GoldenGateテクニカルセミナー3「Oracle GoldenGate Technical Deep Dive」(2016/5/11)
PDF
Oracle Gen 2 Exadata Cloud@Customer:サービス概要のご紹介 [2021年7月版]
PPTX
第15回JSSUG「Azure SQL Database 超入門」
PDF
Dbts2013 特濃jpoug log_file_sync
PDF
Oracle Cloud Infrastructure セキュリティの取り組み [2021年2月版]
PDF
シンプルでシステマチックな Oracle Database, Exadata 性能分析
PDF
Oracle Analytics Cloud のご紹介【2021年3月版】
Oracle GoldenGate 19c を使用した 簡単データベース移行ガイド_v1.0
データ基盤の従来~最新の考え方とSynapse Analyticsでの実現
Oracle Database Vaultのご紹介
監査ログをもっと身近に!〜統合監査のすすめ〜
Oracle GoldenGate導入Tips
DDD 2016 DB 12c クエリー・オプティマイザ新機能活用と統計情報運用の戦略
Exadata X8M-2 KVM仮想化ベストプラクティス
しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#3
Oracle Data Guard による高可用性
GoldenGateテクニカルセミナー2「Oracle GoldenGate 新機能情報」(2016/5/11)
Migration to Oracle Multitenant
オンプレミスからクラウドへ:Oracle Databaseの移行ベストプラクティスを解説 (Oracle Cloudウェビナーシリーズ: 2021年2月18日)
事例から見る規模別クラウド・データベースの選び方 (Oracle Database) (Oracle Cloudウェビナーシリーズ: 2021年6月30日)
GoldenGateテクニカルセミナー3「Oracle GoldenGate Technical Deep Dive」(2016/5/11)
Oracle Gen 2 Exadata Cloud@Customer:サービス概要のご紹介 [2021年7月版]
第15回JSSUG「Azure SQL Database 超入門」
Dbts2013 特濃jpoug log_file_sync
Oracle Cloud Infrastructure セキュリティの取り組み [2021年2月版]
シンプルでシステマチックな Oracle Database, Exadata 性能分析
Oracle Analytics Cloud のご紹介【2021年3月版】
Ad

Similar to Oracle backup and recovery basics (20)

PPTX
Oracle Data Guard basics and how to create manually 18c plus
PPTX
Oracle Cloud PaaS & IaaS:2019年10月度サービス情報アップデート
PDF
Oracle Cloud PaaS & IaaS:2019年4月度サービス情報アップデート
PDF
Oracle Cloud Infrastructure:2023年3月度サービス・アップデート
PDF
Oracle Database Enterprise Edition で解決する データベースシステムの課題 (12c対応版)
PDF
【2018年3月時点】Oracle BI ベストプラクティス
PPTX
3年間の情報漏洩事件からみるデータ保護対策の勘所 ~ データ・セキュリティ、考え方とその仕組み
PDF
Oracle Exadata MAA - Platinum層特化版プレゼンテーション
PDF
Oracle Database Applianceのご紹介(詳細)
PPTX
Zero Data Loss Recovery Appliance 設定手順例
PDF
Autonomous を支える技術、Oracle Database 18c デモンストレーション
PDF
MBAAで覚えるDBREの大事なおしごと
PDF
[Oracle Cloud Days Tokyo 2015] Oracle Database 12c最新情報 ~Maximum Availability ...
PDF
【旧版】Oracle Exadata Cloud Service:サービス概要のご紹介
PDF
[Modern Cloud Day Tokyo 2019] Oracle Cloud Infrastructure 基本サービス入門(2) - ユーザー管...
PDF
20190620 multicloud share
PDF
Tech deepdive#2 datastore_180317_share
PPTX
Database Cloud Service/Exadata Cloud Service/Exadata Cloud at Customer サービスアッ...
PDF
Oracle Cloud PaaS & IaaS:2019年3月度サービス情報アップデート
PDF
Oracle Database Appliance 2.9 アップデート及びパッチ管理について
Oracle Data Guard basics and how to create manually 18c plus
Oracle Cloud PaaS & IaaS:2019年10月度サービス情報アップデート
Oracle Cloud PaaS & IaaS:2019年4月度サービス情報アップデート
Oracle Cloud Infrastructure:2023年3月度サービス・アップデート
Oracle Database Enterprise Edition で解決する データベースシステムの課題 (12c対応版)
【2018年3月時点】Oracle BI ベストプラクティス
3年間の情報漏洩事件からみるデータ保護対策の勘所 ~ データ・セキュリティ、考え方とその仕組み
Oracle Exadata MAA - Platinum層特化版プレゼンテーション
Oracle Database Applianceのご紹介(詳細)
Zero Data Loss Recovery Appliance 設定手順例
Autonomous を支える技術、Oracle Database 18c デモンストレーション
MBAAで覚えるDBREの大事なおしごと
[Oracle Cloud Days Tokyo 2015] Oracle Database 12c最新情報 ~Maximum Availability ...
【旧版】Oracle Exadata Cloud Service:サービス概要のご紹介
[Modern Cloud Day Tokyo 2019] Oracle Cloud Infrastructure 基本サービス入門(2) - ユーザー管...
20190620 multicloud share
Tech deepdive#2 datastore_180317_share
Database Cloud Service/Exadata Cloud Service/Exadata Cloud at Customer サービスアッ...
Oracle Cloud PaaS & IaaS:2019年3月度サービス情報アップデート
Oracle Database Appliance 2.9 アップデート及びパッチ管理について
Ad

Recently uploaded (8)

PDF
XCMSを用いた質量分析データ処理_BioCAsia2021_yamamoto.pdf
PDF
世界半導体用酸化ハフニウム市場のサプライチェーン解析:上流、下流、収益モデル分析2025-2031
PDF
【QYResearch】人形ロボット産業の市場構造と今後の発展方向に関する分析レポート
PDF
【QYResearch】急拡大する医療機器市場における主要企業の動向と競争環境分析
PDF
【QYResearch】グローバルコネクタ市場の動向と将来展望に関する詳細な分析報告
PDF
【QYResearch】グローバル農業機械市場の動向分析と成長戦略に関する総合調査報告
PDF
グローバルロープウェイ用スチールワイヤーロープ市場2025:主要企業のシェア、売上動向、競争戦略
PDF
【QYResearch】グローバル磁性材料産業チェーンの構造分析と市場動向の詳細解説
XCMSを用いた質量分析データ処理_BioCAsia2021_yamamoto.pdf
世界半導体用酸化ハフニウム市場のサプライチェーン解析:上流、下流、収益モデル分析2025-2031
【QYResearch】人形ロボット産業の市場構造と今後の発展方向に関する分析レポート
【QYResearch】急拡大する医療機器市場における主要企業の動向と競争環境分析
【QYResearch】グローバルコネクタ市場の動向と将来展望に関する詳細な分析報告
【QYResearch】グローバル農業機械市場の動向分析と成長戦略に関する総合調査報告
グローバルロープウェイ用スチールワイヤーロープ市場2025:主要企業のシェア、売上動向、競争戦略
【QYResearch】グローバル磁性材料産業チェーンの構造分析と市場動向の詳細解説

Oracle backup and recovery basics

  • 1. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | Oracle Databaseのバックアップ/リカバリ 動作原理から時間短縮のテクニックまで 日本オラクル株式会社 日下部明 2019年5月29日
  • 2. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。また、 情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことはできません。 以下の事項は、マテリアルやコード、機能を提供することをコミットメント(確約)するもの ではないため、購買決定を行う際の判断材料になさらないで下さい。オラクル製品に関 して記載されている機能の開発、リリースおよび時期については、弊社の裁量により決 定されます。 2
  • 3. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | Agenda データベースのバックアップ Oracle Databaseのバックアップ/リストア/リカバリ RMANでバックアップ/リカバリ時間を短縮する 1 2 3 3
  • 4. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | データベースのバックアップ 4
  • 5. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 毎日の運用で行われる vs 万が一の場面でしか行わない 5 Recovery Backup
  • 6. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 手段の一つ vs 目的(最重要) 6 Recovery Backup
  • 7. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 7 ファイルのコピーがあれば大丈夫と思ってはいけない 出典:UNISPHERE RESEARCH社 「Oracle Database and Data Protection Survey」 http://www.dbta.com/DBTA-Downloads/ResearchReports/Oracle-Database-and-Data-Protection-Survey-Results-4331.aspx データベースのリストア・リカ バリを実施したDBAのう ち、失敗を経験した割合84% 20% 5回のリストア・リカバリで 1回以上の失敗を経験した DBAの割合 19% 9% 11% 12% 13% 26% 26% 34% 0% 10% 20% 30% 40% 不明/未確認 インテグレートされていない… 正しいバックアップを指定できない アプリケーションがリストアされた… プロセスに複数の人員が関係している ハードウェア/ソフトウェアの不具合 バックアップの破損 人的エラー リストア・リカバリに失敗した主な理由
  • 8. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 戻せないバックアップを回避するために 8 復旧方法が標準化されていること バックアップ自体が壊れていないことをチェックすること 必要なバックアップが取られていて、管理されていること 人的エラー ミスしにくい復旧方法であること バックアップ破損 不適切な バックアップ設計 復旧方法が適切に設計されていること
  • 9. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 9 Oracle Databaseの場合 担当者の視点によって 「データベース・バックアップ」が異なる インフラ担当者の視点 アプリ担当者の視点 「ボリューム」や「ファイル」 単位での複製 ユーザーデータの外部保存 • ストレージ機能を使ったボリューム・コピー (スナップショット/スプリット・ミラーなど) • バックアップ管理製品やOSのコマンドによる ファイル複製 • 論理Exportを使ったユーザーデータの抽出 Oracle Database視点ではデータベースの 物理バックアップとは言わない
  • 10. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 10 Oracle Databaseの場合 担当者の視点によって 「データベース・バックアップ」が異なる インフラ担当者の視点 アプリ担当者の視点 「ボリューム」や 「ファイル」単位で の複製 ユーザーデータ の外部保存 データベース担当者の視点 DB構造を理解した 「データ・ブロック」 単位の複製 • ブロック破損のチェック • ブロック単位の修復 • 障害直前の状態まで修復
  • 11. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | Oracle Databaseの バックアップ/リストア/リカバリ 11
  • 12. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 12 Oracle Databaseのアーキテクチャ System Global Area DBWn SMON PMON LGWR ARCn バックグラウンド・ プロセス 共有メモリ データ・ファイル オンラインREDOログ・ファイル アーカイブREDOログ・ファイル 制御ファイル パラメータ・ ファイル データベースの状態 インスタンスのパラメータ 表や索引データの実体 更新の履歴 オンラインREDOログ のバックアップ
  • 13. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 13 Oracle Databaseのアーキテクチャ System Global Area DBWn SMON PMON LGWR ARCn バックグラウンド・ プロセス 共有メモリ データ・ファイル オンラインREDOログ・ファイル アーカイブREDOログ・ファイル 制御ファイル パラメータ・ ファイル サイズ小 サイズ大 バックアップ対象外 多数のファイル生成
  • 14. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 14 Oracle Databaseのバックアップ/リストア/リカバリの文脈 バックアップ (主に)データファイルのコピーを取得すること リストア (主に)データファイルのバックアップから書き戻すこと リカバリ データブロックにREDOログを適用しロールフォワード &ロールバックすること
  • 15. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 15 バックアップ/リストア/リカバリ 時間 INSERT UPDATE DELETE オンラインREDOログ (固定長、循環式) 更新の履歴はまずオンラインREDOログ に記録される
  • 16. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 16 バックアップ/リストア/リカバリ 時間 INSERT UPDATE DELETE オンラインREDOログ (固定長、循環式)アーカイブREDOログ 更新の履歴はまずオンラインREDOログ に記録される オンラインREDOログのコピーが アーカイブREDOログとして残される
  • 17. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 17 バックアップ/リストア/リカバリ 時間 INSERT UPDATE DELETE バックアップ (データファイルのコピー) 時刻t0 時刻t0に取得したバックアップには時刻t0まで の変更情報しか含まれていない
  • 18. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 18 バックアップ/リストア/リカバリ 時間 INSERT UPDATE DELETE INSERT UPDATE DELETE INSERT UPDATE DELETE オンラインREDOログアーカイブREDOログ バックアップ (データファイルのコピー) 時刻t0 時刻t0に取得したバックアップには時刻t0まで の変更情報しか含まれていない
  • 19. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 19 バックアップ/リストア/リカバリ データファイル障害発生 INSERT UPDATE DELETE INSERT UPDATE DELETE INSERT UPDATE DELETE オンラインREDOログアーカイブREDOログ バックアップ (データファイルのコピー) 時刻t0 時刻t1
  • 20. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 20 バックアップ/リストア/リカバリ INSERT UPDATE DELETE INSERT UPDATE DELETE INSERT UPDATE DELETE オンラインREDOログアーカイブREDOログ 時間 バックアップ (データファイルのコピー) 時刻t0 時刻t1 データファイル障害発生
  • 21. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 21 バックアップ/リストア/リカバリ INSERT UPDATE DELETE INSERT UPDATE DELETE INSERT UPDATE DELETE オンラインREDOログアーカイブREDOログ 時間 バックアップ (データファイルのコピー) リストア (データファイルの書き戻し) 時刻t0 時刻t1 データファイル障害発生 時刻t0までのデータブロックの復元
  • 22. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 22 バックアップ/リストア/リカバリ INSERT UPDATE DELETE INSERT UPDATE DELETE INSERT UPDATE DELETE オンラインREDOログアーカイブREDOログ 時間 バックアップ (データファイルのコピー) リストア (データファイルの書き戻し) リカバリ (REDOログの適用) 時刻t0 時刻t1 データファイル障害発生 時刻t0から時刻t1までの 更新差分の適用
  • 23. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | バックアップ/リストア/リカバリ • データファイルのバックアップにはバックアップを取得した時点までの情報 しか含まれていない • データファイルのリストア(更新の起点) + REDOログ(更新の差分)でデー タファイル障害直前の状態までリカバリできる 23 時間 INSERT UPDATE DELETE INSERT UPDATE DELETE INSERT UPDATE DELETE オンラインREDOログアーカイブREDOログ バックアップ (データファイルのコピー) 時刻t0
  • 24. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | データファイルのオンライン・バックアップ • Oracle Databaseは更新トランザクションが実行されていてもI/Oを停止させ ることなくバックアップ可能 • バックアップ取得中にもデータファイルが部分的に書き換えられている! 24 A1 B1 C2 A1 A2 B1 C3 A1 B1 write write A2 B1 C3 A1 B1 C3 データファイル (コピー元) バックアップ (コピー先) 時間write 未COMMITの更新も含む一貫性 のないファイルができあがる
  • 25. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | オンライン・バックアップからのリストア/リカバリ • オンライン・バックアップは一貫性のないファイルができあがる • 一貫性のないデータファイルはリストアしただけでは使用できない • リカバリ(REDOログの適用)を行って一貫性のある状態までロールフォ ワード&ロールバックすることが必須 – アーカイブ・ログ・モードでないとオンライン・バックアップできない – RECOVERコマンドで自動的に一貫性のある状態までリカバリされる 25 リカバリすることを前提に静止点のないデータファイルのコピーが可能
  • 26. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | オンライン・バックアップと分裂ブロック • OracleデータブロックのサイズはOSがアトミックに処理できるI/Oサイズより も大きい • データブロックへのwrite I/Oとバックアップのread I/Oが衝突するとバック アップのデータブロックが分裂することが起こり得る⇒不正なブロック 26 A2 B1 C3 A1 B1 ? データファイル (コピー元) バックアップ (コピー先) write read 分裂ブロック SCN=y SCN=x
  • 27. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 27 Oracle Databaseの2種類の物理バックアップ手法 Recovery Manager(RMAN) ユーザー管理バックアップ oracle rman データファイル (コピー元) バックアップ (コピー先) コピー元ボリューム バックアップ・ボリューム スナップショット スプリット・ミラー • Oracle付属のバックアップ・ツール • Oracleサーバー・プロセスがデータベースのファイルに アクセスする仕組みを使ってファイルをコピー • Oracleインスタンス管理下で行われる操作 • RMAN以外の方法でファイルをコピーするすべての手法 • Oracleインスタンスが関知しないところでコピーが行わ れる • OSのファイル・コピー・コマンド • ストレージ機能のスナップショット/スプリット・ミラー
  • 28. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 28 Oracle Databaseの2種類の物理バックアップ手法 Recovery Manager(RMAN) ユーザー管理バックアップ 分裂ブロック対策 Oracleインスタンスによってデータブロッ クに対する排他制御がかかるので read/write I/Oが衝突しない ⇒分裂ブロックが発生しない 分裂ブロックが発生してもリカバリできる仕組み がある ⇒ホット・バックアップ・モード ファイル破損のチェック される されない リストア/リカバリ操作 ある程度自動化できる 破損個所の特定からどのファイルをリストアする かまですべて管理者の判断 最小リストア粒度 データブロック ファイル/ボリューム バックアップ/リストア時間 の短縮 • 高速増分バックアップ • 増分更新バックアップ • ブロック・メディア・リカバリ • 並列化 • マルチセクション・バックアップ ストレージ機能(スナップショット/スプリット・ミ ラー)との組み合わせ 第一選択肢はRMAN
  • 29. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 29 分裂ブロックが発生してもリカバリできる仕組み ユーザー管理バックアップでのホット・バックアップ・モード 時間 データブロック REDOログ 通常モード (更新個所のみ記録) データブロック REDOログ ホット・バックアップ・モード (データブロック全体を記録) SQL> ALTER DATABASE BEGIN BACKUP; • データファイルへの書き戻し(チェックポイント) • データファイル・ヘッダのチェックポイントSCNの固定 • ホットバックアップ・モード開始 SQL> ALTER DATABASE END BACKUP; • データファイル・ヘッダの通常モードへの移行 • ホットバックアップ・モード終了 ホット・バックアップ・モード • REDOログに記録される情報が増える • データファイルのコピー取得 ホット・バックアップ・モード中に更新されたブロック(分裂ブロック になる可能性)は一貫性のあるイメージがREDOログに記録される ⇒分裂ブロックが発生してもリカバリ時にREDOログに記録された 一貫性のあるイメージでブロック全体を上書き
  • 30. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 30 ストレージ機能(スナップショット/スプリット・ミラー)との組み合わせ ユーザー管理バックアップ コピー元ボリューム バックアップ・ボリューム 時間 時刻t0 ボリュームのバックアップ 時刻t1 障害発生 ボリュームのリストア ストレージ機能(スナップショット/ス プリット・ミラー)は「ファイル」単位で はなく「ボリューム」のコピーを取得 する機能 「ボリューム」のバックアップを取得 した人は「ボリューム」をリストアしよ うとする 「ボリューム」に何が含まれていた かによってはリカバリ不能になる t0 t0 t0 t0 t1
  • 31. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | ユーザー管理バックアップ • ユーザー管理バックアップはストレージ機能(スナップショット/スプリット・ミ ラー)を使用する場合の手法 – 「ファイル」単位ではなく「ボリューム」のコピーを取得する機能 – ファイル単位のコピーならばRMANを使用するべき • 「ボリューム」のコピーを取得した人は「ボリューム」をリストアしようとする – この方法で正しくリストア/リカバリできるように設計すること自体が難しい • 物理バックアップの第一選択肢はRMAN 31
  • 32. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | Recovery Manager(RMAN) • 分裂ブロックが発生しないのでホット・バックアップ・モードは不要 • リストア/リカバリの手順がある程度固定されるので考慮点が減る • データ・リカバリ・アドバイザでリストア/リカバリ手順を自動生成 • バックアップ/リストア時間を短縮する仕組み 32 Oracleサーバー・プロセスがデータベースのファイルにアクセスする仕組みでコピー oracle rman データファイル (コピー元) バックアップ (コピー先)
  • 33. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 33 分裂ブロックが発生しないのでホットバックアップ・モードは不要 RMANでのオンライン・バックアップ oracle rman データファイル (コピー元) バックアップ (コピー先) DBWn RMANのOracleサーバー・プロセス (データブロックを読む) データベース・ライター・プロセス (データブロックを書く) どちらもOracleインスタンス制御下のプロセスでデータブロックに対する アクセスは適切に排他制御されるので分裂ブロックが発生しない
  • 34. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | RMANバックアップ情報のメタデータ • RMANでどのファイルを、いつ、どこにバックアップしたのかはデータベー スの制御ファイルに記録される • 制御ファイルの情報はいつか上書きされるので長期の保存にはメタデー タ格納用のカタログ・データベースを別途用意する(Optional) 34 RMAN> RESTORE DATAFILE xx; バックアップがどこにあるかは制御ファイル (もしくはカタログ・データベース)に記録され ている oracle rman データファイル バックアップ制御ファイル RMANカタログ・データベース RMAN> RECOVER DATAFILE xx;
  • 35. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 35 範囲が狭いほどリストアのデータブロック移動量とリカバリのREDOログ適用量が減る リストアの粒度 リストア対象 リストアのRMANコマンド リストアの前提 ボリューム (ストレージ機能を使用した ユーザー管理バックアップ) CDB全体の場合Oracleインスタンスを SHUTDOWN CDB全体 RMAN> RESTORE DATABASE; OracleインスタンスをSHUTDOWNして MOUNTで起動 Pluggable Database RMAN> RESTORE PLUGGABLE DATABASE xx; 該当PDBをMOUNT状態 表領域 RMAN> RESTORE TABLESPACE xx; 該当表領域をOFFLINE データファイル RMAN> RESTORE DATAFILE xx; 該当表領域をOFFLINE データブロック RMAN> RECOVER DATAFILE xx BLOCK yy; 該当データブロック以外は使用可能 リストア粒度がデータファイルの場合、 該当ファイルを含む領域はリカバリ完了 まで使用できない
  • 36. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 36 リストア/リカバリ手順を自動生成 RMANデータ・リカバリ・アドバイザ oracle application oracle application System Global Area 1.データファイルの破損を検出 oracle rman System Global Area 2.破損個所を把握 3.破損個所をリストア/リカバリす るRMANスクリプトを自動生成 oracle rman System Global Area 4.RMANスクリプト実行 5.リストア/リカバリ完了 SQLでのアクセス可能 RMAN> LIST FAILURE; RMAN> ADVISE FAILURE; RMAN> REPAIR FAILURE;
  • 37. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | RMANでバックアップ/リカバリ時間を 短縮する 37
  • 38. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | RMANでバックアップ/リカバリ時間を短縮する • 高速増分バックアップ • 増分更新バックアップ • ブロック・メディア・リカバリ • 並列化 • マルチセクション・バックアップ 38 サイズの大きなデータファイルの移動時間を短縮したい
  • 39. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 39 前回のバックアップ時点から更新されたデータブロックを抽出 増分バックアップ A A A A A A A B A B B A データファイル 更新 A A A A A A A B A B B A level 0 level 1 バックアップ 時間 増分バックアップの目的: バックアップのファイル・サイズを小さくする 最初のバックアップはすべてのデータ ブロック ⇒level 0 前回のバックアップ時点から更新され たデータブロックのバックアップ ⇒level 1
  • 40. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 40 Block Change Trackingファイルの導入(Oracle Database 10g~) 高速増分バックアップ A A A A A A A B A B B A デフォルトの増分バックアップ 更新 全データブロックにアクセスして抽出 ⇒データファイルの読み込みは減らない BCTファイルに記録されたデータブロックにアクセス ⇒データファイルの読み込みが減る 高速増分バックアップ B B B データファイル バックアップ・ファイル A A A A A A A B A B B A 更新 B B B BCTファイル 更新が発生したブロックを BCTファイルに記録 データファイル level 1バックアップ
  • 41. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 41 level 0リストア ⇒ level 1リストア ⇒ リカバリ(REDOログ適用) 増分バックアップからのリストア/リカバリ A A A A A A A B A B B A データファイル A A A A A A A B A B B A level 0 level 1 バックアップ 時間 1.level 0バックアップのリストア 2.level 1バックアップのリストア A B C B C C 3.リカバリ(REDOログ適用) REDOログの適用開始は最新のlevel 1バックアップの時点から 高速増分バックアップ • バックアップの時間とファイル・サイズが減少する • ただしリストア量はlevel 1の分だけ増える
  • 42. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 42 どこの時点からの増分か 2種類の増分バックアップ A A A A A A 時間 A B A B B A A B C B C C データファイル 差分増分バックアップ 更新 更新 A A A A A A A B A B B A A B C B C C 累積増分バックアップ A A A A A A A B A B B A A B C B C C 前回のバックアップからの増分 level 0バックアップからの増分 バックアップ level 0 level 1 level 1
  • 43. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | リストア 43 level 0リストア ⇒ すべてのlevel 1リストア 差分増分バックアップからのリストア A A A A A A 時間 A B A B B A A B C B C C データファイル 差分増分バックアップ 更新 更新 A A A A A A A B A B B A A B C B C C リストアしたデータファイル A A A A A A 前回のバックアップからの増分 level 0+すべてのlevel 1 バックアップ level 0 level 1 level 1 A B C B C C A B A B B A level 0 level 1 level 1 時間
  • 44. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | リストア 44 level 0リストア ⇒ 最新のlevel 1リストア 累積増分バックアップからのリストア A A A A A A 時間 A B A B B A A B C B C C データファイル 累積増分バックアップ 更新 更新 A A A A A A A B A B B A リストアしたデータファイル A A A A A A level 0バックアップからの増分 level 0+最新のlevel 1 バックアップ level 0 level 1 level 1 A B C B C C level 0 level 1A B C B C C 時間
  • 45. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 45 各増分バックアップ方式のリストア/リカバリ バックアップ方式 バックアップ リストア リカバリの起点 フル・バックアップ データファイル全体 最新のフル・バックアップ 最新のフル・バックアップ 差分増分バックアップ 前回のバックアップからの 増分 level 0 +すべてのlevel 1 最新のlevel 1 累積増分バックアップ level 0からの増分 level 0 +最新のlevel 1 最新のlevel 1 • リカバリの起点はいずれも最新のバックアップ時点から • リストア対象のファイルが異なる
  • 46. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | level 0にlevel 1を適用 Confidential – Oracle Internal 46 リストア時にlevel 1を適用するのではなくあらかじめlevel 0にlevel 1を適用しておく 増分更新バックアップ A A A A A A 時間 A B A B B A A B C B C C データファイル 差分増分バックアップ 更新 更新 A A A A A A A B A B B A A B C B C C 増分更新バックアップ A A A A A A 前回のバックアップからの増分 level 1適用済みのlevel 0 バックアップ level 0 level 1 level 1 A B C B C C A B A B B A level 0 recover recover 時間
  • 47. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | level 0にlevel 1を適用 Confidential – Oracle Internal 47 あらかじめlevel 1を適用したlevel 0をリストア 増分更新バックアップからのリストア 時間 差分増分バックアップ A A A A A A A B A B B A A B C B C C 増分更新バックアップ A A A A A A 前回のバックアップからの増分 level 1適用済みのlevel 0 A B C B C C A B A B B A level 0 recover recover 時間 A B C B C Clevel 0 データファイル level 1適用済みのlevel 0をリストア リストアlevel 0 level 1 level 1
  • 48. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 48 各増分バックアップ方式のリストア/リカバリ バックアップ方式 バックアップ リストア リカバリの起点 フル・バックアップ データファイル全体 最新のフル・バックアップ 最新のフル・バックアップ 差分増分バックアップ 前回のバックアップからの 増分 level 0 +すべてのlevel 1 最新のlevel 1 累積増分バックアップ level 0からの増分 level 0 +最新のlevel 1 最新のlevel 1 増分更新バックアップ 差分増分 or 累積増分 level 1適用済みのlevel 0 最新のlevel 1 • リカバリの起点はいずれも最新のバックアップ時点から • リストア対象のファイルが異なる
  • 49. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 49 フル/差分増分/累積増分/増分更新どれでも変わらない バックアップからのリストア/リカバリ操作 RMAN> RESTORE DATAFILE xx; RMAN> RECOVER DATAFILE xx; 1.level 0バックアップのリストア 2.level 1バックアップのリストア 3.リカバリ(REDOログの適用) どのバックアップ手法であったとしてもRMANが適切なバックアップから全自動でリストアする
  • 50. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 50 データファイルよりも小さな粒度でリストア/リカバリ ブロック・メディア・リカバリ RMAN> RECOVER DATAFILE xx BLOCK yy; 1. データブロックのリストア 2.リカバリ(REDOログの適用) データファイル level 0バックアップ 2.リカバリ(REDOログの適用) 1. データブロックのリストア データ・リカバリ・アドバイザはブロック・メディア・リカバリで修復できると判断するとこの方法を選択する
  • 51. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 51 コピー対象のファイルが複数あると並列コピー可能 バックアップ/リストア(ファイル・コピー)の並列化 ファイル1 ファイルn oracle rman oracle ファイル1 ファイルn コピー元 コピー先 RMAN> RESTORE DATABASE; RMAN> BACKUP DATABASE; RMAN> CONFIGURE DEVICE TYPE DISK PARALLELISM n; 1.並列化の設定 2.バックアップ/リストアのコマンド
  • 52. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 52 1つの巨大なデータファイルを分割して並列バックアップ可能 マルチセクション・バックアップ データファイル バックアップ oracle rman oracle oracle RMAN> BACKUP SECTION SIZE xx DATABASE; RMAN> CONFIGURE DEVICE TYPE DISK PARALLELISM n; 1.並列化の設定 2.SECTION SIZEに分割してBACKUP SECTION SIZE SECTION SIZE SECTION SIZE
  • 53. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 53 リカバリ対象のデータファイルが複数ある場合並列にREDOログ適用可能 リカバリ(REDOログ適用)の並列化 アーカイブREDOログ + オンラインREDOログ PR01 PR02 PRnn パラレル・リカバリ・プロセス データファイル RMAN> RECOVER DATABASE [PARALLEL n]; デフォルトはCPU数の並列度でリカバリ
  • 54. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | Oracle Databaseのバックアップ/リストア/リカバリ • リカバリできることが重要、そのためのバックアップ • RMANが第一選択肢 • 時間を短縮する仕組み 54
  • 55. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 55

Editor's Notes

  • #3: 2
  • #53: マルチセクション・バックアップはOracle Database 11g Release 1で実装。ただしフル・バックアップのみ。バックアップ・セットのみ。 12c Release 1でできるようになったこと: マルチセクション・バックアップ + 増分バックアップ(高速増分バックアップ) マルチセクション・バックアップ + イメージ・コピー(増分更新バックアップのlevel 0に必要)