Oracle Database ・完璧バックアップ・リカバリ

<Insert Picture Here>
第20回 「夜もよか~!! オラクル勉強会 presented by アシスト」
Oracle Database ・ 完璧バックアップ・リカバリ
2014年8月20日
アシスト
1
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
Agenda
•
•
•
•
<Insert Picture Here>
バックアップ・リカバリとは
バックアップ・リカバリ方法の整理
バックアップ運用Tips
Enterprise Manager を利用したバックアップ・リカバリ
Backup
Database
Database
アシスト
2
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
Agenda
• バックアップ・リカバリとは
<Insert Picture Here>
• バックアップ・リカバリ方法の整理
• バックアップ運用Tips
• Enterprise Manager を利用したバックアップ・リカバリ
Backup
Database
Database
アシスト
3
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
バックアップ・リカバリとは
• そもそもバックアップ・リカバリって・・・?
• バックアップ・リカバリの用語の整理
• データベース内の処理の流れの整理
• 障害がおきないようにするための対策
リストア、リカバリって
何が違うの?
リカバリの
仕組みは?
どんなファイルをバックアップ
する必要があるの?
バックアップ以外に
できる対策はあるの?
アシスト
4
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
バックアップとは
• バックアップとは
• データをコピーしておき、別の場所に保存しておくこと
• バックアップの目的
• データが壊れたり損失した場合に、複製したデータを元に戻すことで
復旧すること
• 過去のデータを別の場所に保存しておくこと
• バックアップの重要性
• 企業活動に必要な情報資産の消失を防ぐ最良の手段
• 様々な障害を想定して対策をとる必要
 OSレベル、H/Wレベルの障害は防ぎきれない
 アプリケーションのエラーで論理的に壊れることもある
 ディスクのミラーリング機能を使っても、ミラーごと壊れる
可能性もある
アシスト
5
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
リカバリとは
• リカバリとは
• データ損失時にバックアップを使って復旧すること
• データ・リカバリ要件に即した計画の検討
• リカバリ用件の明確化
 障害からの復旧にどれだけの時間をかけられるのか?
 どの時点のデータに復旧すればよいのか?
 全てのデータをもれなく復旧する必要があるか?
• リカバリ計画の検討
 障害発生時、どのような手順で復旧することができるか
 復旧するまでにどれくらいの時間がかかるか
 リカバリ手順の検証
アシスト
6
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
データ復旧までの主な流れ
時間
Database
バックアップ
Backup
Databaseを構成するファイル
のコピーを保存しておく
9/8
リカバリ
バックアップ時点から後に
行われた変更ログを反映
リストア
破損したファイルの代わりに
バックアップファイルを定位置に
戻す
9/15
データベースの復旧
=リストア+リカバリ
アシスト
7
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
バックアップと障害復旧
データファイルの
バックアップを取得
時間
UPDATE
INSERT
DELETE
バックアップ
更新内容がREDO
ログに記録される
データファイル
アシスト
8
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
バックアップと障害復旧
バックアップ取得後にも
データベースは更新される
データファイルに
障害発生
時間
UPDATE
UPDATE
UPDATE
INSERT
INSERT
INSERT
DELETE
DELETE
DELETE
UPDATE
INSERT
DELETE
バックアップ
データファイル
更新内容がREDOログに記録される
データファイルのバックアップには、
バックアップ以後の更新内容は含まれていない
アシスト
9
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
バックアップと障害復旧
データファイルに
障害発生
時間
UPDATE
UPDATE
UPDATE
INSERT
INSERT
INSERT
DELETE
DELETE
DELETE
UPDATE
INSERT
DELETE
バックアップ
データファイル
更新履歴
(REDOログ)
リストア
データファイル
時間
障害が発生したデータファイルを
バックアップから書き戻す(リストア)
アシスト
10
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
バックアップと障害復旧
データファイルに
障害発生
時間
UPDATE
UPDATE
UPDATE
INSERT
INSERT
INSERT
DELETE
DELETE
DELETE
UPDATE
INSERT
DELETE
バックアップ
更新履歴
(REDOログ)
データファイル
リストア
リカバリ
データファイル
REDOログに記録された更新履歴を再現
時間
障害直前の状態
にリカバリ完了
アシスト
11
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
データファイルのリカバリ
CKPT
制御ファイル
データファイルの
チェックポイント状態
LGWR
オンラインREDOログファイル
データファイルの
更新履歴
ARCn
アーカイブREDOログファイル
リカバリ
オンラインREDOログと制御ファイル
が障害直前の情報を保持
DBWn
Oracleインスタンス
データファイル
データファイルを
障害発生直前までの状態に復旧可能
アシスト
12
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
データベース内の処理の流れの整理
Oracle Server
クライアント
データベース・
バッファ・キャッシュ
ユーザー
プロセス
A
B
サーバー
プロセス
SELECT A
FROM 表1
UPDATE 表1
A→B
REDOログ・
バッファ
変更履歴
A→B
A
データ
ディクショナリ
データ・ファイル
制御ファイル
REDOログ・
ファイル
データ・ファイル
・ユーザーが利用するデータ
・情報管理用のデータ(ディクショナリ)
アシスト
13
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
データベース内の処理の流れの整理
処理が確定(COMMIT)した場合
Oracle Server
クライアント
データベース・
バッファ・キャッシュ
変更履歴
A→B
AB
ユーザー
プロセス
REDOログ・
バッファ
サーバー
プロセス
ログ
ライター
COMMIT
A
データ・ファイル
A→B
制御ファイル
データ・ファイル
・ユーザーが利用するデータ
・情報管理用のデータ(ディクショナリ)
REDOログ・
ファイル
REDOログ・ファイル
・データベースで行われた変更
履歴(DML,DDL処理)を格納
・障害からの復旧に使用
アシスト
14
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
データベース内の処理の流れの整理
チェックポイントが発生した場合
Oracle Server
クライアント
REDOログ・
バッファ
データベース・
バッファ・キャッシュ
変更履歴
A→B
AB
ユーザー
プロセス
サーバー
プロセス
DB
ライター
チェック
ポイント
BA
ログ
ライター
A→B
A
データ・ファイル
データ・ファイル
・ユーザーが利用するデータ
・情報管理用のデータ(ディクショナリ)
制御ファイル
制御ファイル
・メモリ上の変更をいつファイルに
反映したか(チェックポイント)
・他の物理ファイルの場所
REDOログ・
ファイル
REDOログ・ファイル
・データベースで行われた変更
履歴(DML,DDL処理)を格納
・障害からの復旧に使用
アシスト
15
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
障害がおきないようにするための対策
• ファイルごとの障害対策
• 制御ファイル
• 多重化が推奨
(一つでも壊れるとデータベースは停止)
2つのディスクを使った配置例
• 各ファイルを異なるディスクに配置
多重化したファイルは
• REDOログ・ファイル
別ディスクに配置
• 多重化が推奨
(一つでも正常なファイルがあれば
データベースは運用可能)
制御
制御
ファイル
ファイル
• 各ファイルを異なるディスクに配置
バックアップ
データ・ファイル
• データ・ファイル
REDOログ アーカイブ
REDOログ
ファイル
ファイル
ログ
• 定期的なバックアップの取得
ファイル
• 変更ログ(REDOログ情報)の保存
データ・ファバックアップは
別ディスクに配置
アシスト
16
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
Agenda
• バックアップリカバリとは
<Insert Picture Here>
• バックアップ・リカバリ方法の整理
• バックアップ運用Tips
• Enterprise Manager を利用したバックアップ / リカバリ
Backup
Database
Database
アシスト
17
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
バックアップ・リカバリ方法の整理
• バックアップ・リカバリ、その前に・・・
• 発生しうる障害のタイプ
• 障害からの復旧に必要な設定
• 代表的なバックアップ方法
• 代表的なリカバリ方法
どんなタイプの
障害があるの?
バックアップするには
データベースを停止する
必要があるの?
事前の設定
は
必要なの?
障害直前まで
復旧できるの?
アシスト
18
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
発生し得る障害のタイプ
インスタンス障害
• 原因:停電、プロセス障害などにより、データベースが異常終了
• 問題:メモリ上の変更がファイルに反映されていない可能性(不整合)
• 解決法:データベースの再起動
Oracle Server
クライアント
DBバッファ・キャッシュ
A→B
COMMIT
AB
ユーザー
プロセス
UPDATE 表A
A→B;
COMMIT;
REDOログ・バッファ
サーバー
プロセス
LGWR
A→B
COMMIT
A
データ・ファイル
制御ファイル
REDOログ・
ファイル
アシスト
19
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
発生し得る障害のタイプ
メディア障害
• 原因:データベースを構成するファイルの損失、破損
• 問題:データベースの停止、または特定のデータへのアクセス・エラー
(破損したファイルのタイプによって異なる)
• 解決法:バックアップからリストア+リカバリ
Oracle Server
DBバッファ・キャッシュ
A→B
COMMIT
AB
リストア
REDOログ・バッファ
リカバリ
AB
A→B
COMMIT
A
A
バックアップ
データ・ファイル
LGWR
制御ファイル
REDOログ・
ファイル
アシスト
20
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
障害発生時の出力例
※ブロック破損時の例
SQL> select * from emp;
select * from emp
*
行1でエラーが発生しました。:
ORA-01578:
Oracleデータ・ブロックに障害が発生しました(ファイル番号4、ブロック番号27)
ORA-01110: データファイル4:
'/u01/app/oracle/oradata/orcl/users01.dbf'
アシスト
21
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
メディア障害からのリカバリに必要な設定
• 障害直前の状態まで復旧するためにはREDOログ情報が必要
• ARCHIVE LOG モード=障害直前までの復旧が可能(リカバリ)
• NO ARCHIVE LOG モード(デフォルト)
=バックアップを取得した時点までしか復旧できない(リストア)
ノー・アーカイブ・ログ モード
循環して
4
1
アーカイブ・ログ モード
循環して
4
1
1
上書き
上書き
アーカイブ・
REDOログファイル
2
2
ログ順序番号
3
REDOログファイル
循環して
REDOログを
上書き
53
5
2
3
REDOログファイル
3
REDOログを
上書き前に
アーカイブする
アシスト
22
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
データベース運用モード選択のポイント
• アーカイブログモードが適している場合
• データを失うことが許されない
• 過去のある時点へ戻すようなリカバリが必要となる可能性がある
• データベースを停止することが出来ない(オンラインバックアップ)
• ノーアーカイブログモードでも問題ない場合
• データを失っても構わない
• データを失ってもアーカイブ適用以外の手段で復旧可能
アシスト
23
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
アーカイブ・ログの設定
アーカイブ・ログの有効化とログの出力先の設定
アーカイブ・ログの設定
ARCHIVE LOGモードの有効化と
ログの出力先(最大10か所)指定可能
アシスト
24
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
Oracle Databaseのデータのバックアップ
• 論理バックアップ
• データのみを抽出し、障害時にデータを再ロードする方法
• Data Pumpユーティリティ
• 物理バックアップ
• ユーザー管理バックアップ
• OSコマンド+SQLコマンド
• Recovery Manager (RMAN)
• Oracleインスタンスの仕組みでファイルにアクセス
アシスト
25
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
代表的なバックアップ方法
オンライン・バックアップ オフライン・バックアップ
• オフライン(一貫性)バックアップ
• データベースを正常に停止した状態でバックアップを取得
• すべてのファイルをリストアした場合、リストア直後に
データベースをオープンできる
Backup
• オンライン(非一貫性)バックアップ
• データベースを運用しながら(停止せずに)バックアップを取得
• リストア後にリカバリ操作をする必要がある
• ARCHIVE LOG MODE運用時のみ
Backup
アシスト
26
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
代表的なリカバリ方法
ログ・モードによるリカバリ方法の違い
• NO ARCHIVE LOGモードの場合
• バックアップ時点までのリカバリ
• ARCHIVE LOG モードの場合
• 完全リカバリ
• すべての変更履歴を適用し、障害直前の状態まで復旧
• 不完全リカバリ
• 途中までの変更履歴を適用し、最新の状態まで戻さない状態で復旧
• アーカイブ・ログ・ファイルやREDOログ・ファイルに障害があり、
ログの適用ができない場合
• 誤操作を取り消すために、データベース全体を過去の状態に
戻したいとき
アシスト
27
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
ノー・アーカイブ・ログ モードでの復旧作業
9月15日
9月8日
①障害発生
本番DB
②データファイル
リストア
REDO
DataFile
バックアップ
 障害発生時までの全ての更新履歴情報がないので、
バックアップ時点のデータまでしかリカバリできない
アシスト
28
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
アーカイブ・ログ モードでの復旧作業(完全リカバリ)
9月8日
9月15日
①障害発生
本番DB
REDO
②データファイル
リストア
③アーカイブ適用
DataFile
Arch1
Arch2
Arch3
Arch4
④REDOログ
ファイル適用
Arch5
バックアップ
 障害直前の状態まで復旧可能
アシスト
29
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
アーカイブ・ログ モードでの復旧作業(不完全リカバリ)
9月8日
9月15日
①障害発生
本番DB
REDO
②データファイル
リストア
③アーカイブ適用
DataFile
Arch1
Arch2
Arch3
Arch4
Arch5
バックアップ
 途中までの変更履歴を適用し、
最新の状態には戻さない状態で復旧
アシスト
30
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
Agenda
• バックアップリカバリとは
• バックアップ・リカバリ方法の整理
<Insert Picture Here>
• バックアップ運用Tips
• Enterprise Manager を利用したバックアップ / リカバリ
Backup
Database
Database
アシスト
31
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
バックアップ運用Tips
•
•
•
•
バックアップのスケジュールは?
どのようなタイプのバックアップを取るか?
どこにバックアップデータを保存するのか?
保存ポリシーはどのように設定しますか? バックアップはいつまで
保存しておく必要が
あるの?
どのようなバックアップ
スケジュールがいいの?
どんな場合に、
どんなバックアップ方法が
最適なの?
アシスト
32
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
バックアップ取得のタイミング
• 定期バックアップ:業務的な要求により事前に決定
• 日次バックアップ
• 週次バックアップ
• 月次バックアップ
• メンテナンス作業前
• 大規模なバッチ処理の前後
• バージョンアップ/パッチの適用
リカバリを
単純化!!
• データベースの構造が変わった場合には必ず取得
• 表領域やデータ・ファイルの追加
• REDOログ、制御ファイルの構成変更(多重化など)
• アーカイブ・ログ・モード変更時
アシスト
33
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
定期的なバックアップ計画について
システム要件・リカバリ要件
•
•
•
•
障害発生時にどのくらいの時間でリカバリが必要か
障害発生後のリカバリでどこまで戻す必要があるか
普段、システムを止められる時期があるか
普段、システム負荷の低い時間帯はあるか ・・・
バックアップ事前設定
バックアップ対象
バックアップモード
バックアップのスケジュール
どのくらいの頻度で
バックアップを取得していくか?
DB運用モード …
アシスト
34
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
バックアップのスケジュール
定期バックアップ頻度の決定
低頻度な全体バックアップ システム負荷は低いが、リカバリ時間が長い
1週間前
バックアップ
Arch1
Arch2
Arch3
・・・・・・
Arch20
Arch21
REDO
高頻度な全体バックアップ バックアップ負荷は高いが、リカバリ時間が短い
2日前
3日前
1日前
バックアップ
Arch1 Arch2
バックアップ
Arch3 Arch4
バックアップ
Arch5
REDO
アシスト
35
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
バックアップタイプ
増分バックアップタイプ
全体バックアップ
2日前
3日前
バックアップ
Arch1 Arch2
バックアップ
1日前
Arch3 Arch4
バックアップ
Arch5
REDO
増分バックアップ
2日前
3日前
バックアップ
Arch1 Arch2
増分
バックアップ
1日前
Arch3 Arch4
増分
バックアップ Arch5
REDO
~増分バックアップのメリット~
• バックアップ・ファイルのサイズの削減が可能
アシスト
36
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
増分バックアップ
データベースのファイル群
・・・・・・・・
・・・・・・・・
データベースファイル全体を
Change Tracking File
読み込んで変更された領域の
(データブロック単位で追
みをバックアップ
跡)
バックアップ・ファイルサイズの縮小
バックアップ時間短縮→それほど効果はありませんでした
アシスト
37
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
Oracle Database10g以降 :
高速増分バックアップ
データベースのファイル群
・・・・・・・・
・・・・・・・・
変更があった領域のみ
を読み込んでバックアップ
バックアップ時間も
大幅に短縮 !!
チェンジ・トラッキング・ファイル
(データブロック単位で追跡)
アシスト
38
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
Oracle Database10g以降:
高速増分バックアップ
高速増分バックアップ
全体バックアップ
50
45
40
35
30
時間(分) 25
18分の
1!
20
15
10
5
0
100
200
300
更新量(MB)
400
500
600
※数値は検証結果に任意の定数を掛けたものです
アシスト
39
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
バックアップ取得方法の詳細設定
定期バックアップの効率化のための設定
増分バックアップ
・前回のバックアップアップ以降に
変更されたブロックのみを
バックアップ対象とすることで、
サイズを小さくできる
・「ブロック変更トラッキングを有効化」
にチェックをすることで、バックアップ
時間の短縮が可能
日
月
火
水
アシスト
40
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
バックアップデータの保存先
• テープ
• 長所: ・データ容量が大きい ・メディアの容量当たりの単価が安い
• 短所: ・ディスクに比べると低速 ・定期的なクリーニングが必要
・追加の設定作業が発生
• ハードディスク
• 長所: ・高速なバックアップ ・劣化が少ない
• 短所: ・可搬性の点が低い
フラッシュ・リカバリ領域(10g以降)
• バックアップ関連ファイルを置くための領域
• フラッシュ・リカバリ領域に保存されたバックアップは、必要に応じて
自動的に削除(上書き)される
アシスト
41
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
バックアップの取得場所
バックアップ取得場所の指定
デフォルトはフラッシュ・リカバリ領域
アシスト
42
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
フラッシュ・リカバリ領域の設定
バックアップ関連のファイルのデフォルト格納先の設定
フラッシュ・リカバリ領域
バックアップ関連ファイルを置く
ための領域(10g)
(バックアップ・アーカイブなど)
場所とサイズを指定
アシスト
43
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
バックアップの保存方針の設定
保存方針設定例
• バックアップの保存方針
• 例)2世代保存の場合
9/2
9/1
3世代
バックアップ
9/3
1世代
2世代
Arch1 Arch2
バックアップ
Arch3 Arch4
バックアップ
Arch5
REDO
削除可能
•保存期間を過ぎたバックアップは、一括削除可能
•フラッシュリカバリ領域に保存した場合は、保存期間を過ぎたものは
領域不足時に自動的に上書きされる
アシスト
44
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
保存ポリシーの設定
保存ポリシー
バックアップの保存期間を設定し、期間を過ぎたものは一括削除することも可能
1世代
2世代
アーカイブ・ログ・ファイル
4日前
3日前
アーカイブ・ログ・ファイル
2日前
1日前
今日
アシスト
45
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
ホット・バックアップはなぜ難しい?
• ファイルサーバー
• ファイル単位で置き換わる
• データベース
• ファイルが部分的に、かつ頻繁に更新される
ファイルのコピー中にも、コピー元のファイル内容が更新される
考慮点が増えるかわりに、DBMSは障害直前(バックアップ時刻より未来)
の状態までリカバリする仕組みがある
アシスト
46
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
更新され続けるファイルのコピー
ホットバックアップはなぜ難しい?
ファイルコピー終了
ファイルコピー開始
時間
ファイル更新
コピー元ファイル
A A A A
A A B B
A B B B
A A ?
A A ? B
コピーはファイルの
先頭から
バックアップファイル
(コピー先)
A
コピー後にもブロックが
更新される
A B
1ブロック内の前半と後半が
異なる可能性がある
アシスト
47
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
ホット・バックアップ
• ファイルのバックアップ(コピー)中にも、ファイルの内容が
書き換えられる
• DBMSは専用のホットバックアップツールが付属している
• DBMSがファイルにアクセスする仕組みを使ってバックアップ
• Oracle Database はRecovery Manager (RMAN)
• Oracle Databaseは特殊な機能を備えている
• OSのファイル・コピー・コマンドでホット・バックアップ可能
• ホット・バックアップ・モード (ユーザー管理バックアップ)
• よく BEGIN BACKUP / END BACKUP と呼ばれているもの
アシスト
48
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
ユーザー管理バックアップとRMAN
Oracleサーバー・プロセス
oracle
OSのファイルコピー・プロセス
Oracle
インスタンス
dd
OS
データファイル
(コピー元)
RMAN
oracle
OS
バックアップファイル
(コピー先)
データファイル
(コピー元)
ユーザー管理バックアップ
Oracleインスタンスが関知しない
(ホット・バックアップ・モード使用)
バックアップファイル
(コピー先)
Recovery Manager
Oracleインスタンスの仕組みを
使ってファイルを読む
アシスト
49
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
データベースのホット・バックアップ
• 制御ファイル
• OSファイル・コピー・コマンド不可
• Oracleインスタンスでのスナップショット生成
• または制御ファイル再作成スクリプトの生成
• オンラインREDOログファイル
• OSファイル・コピー・コマンド不可
• アーカイブREDOログファイルをバックアップ
つまり、RMANでもユーザー
管理バックアップでも、Oracle
インスタンスを経由しなけれ
ばならない。
Oracleインスタンスが生成し
たファイルをコピー(バックアッ
プ)する。
• データファイル
• ホット・バックアップ・モード
• RMAN
Oracleインスタンス管轄外で取得できる
ホット・バックアップはデータファイルのみ
アシスト
50
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
制御ファイルのバックアップ
ユーザー管理バックアップ
方法1. 制御ファイルのバイナリ・スナップショットの取得
SQL> ALTER DATABASE BACKUP CONTROLFILE TO バックアップファイル名
方法2. 現在のデータベース構成に合わせたCREATE CONTROLFILE文の生成
SQL> ALTER DATABASE BACKUP CONTROLFILE TO TRACE
生成されたトレースファイル名がアラートファイルに記録される
Sun Apr 27 20:02:36 2008
ALTER DATABASE BACKUP CONTROLFILE TO TRACE
Backup controlfile written to trace file
/u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_2115.trc
Completed: ALTER DATABASE BACKUP CONTROLFILE TO TRACE
トレースファイルの内容はCREATE CONTROLFILE文とリカバリ手順
・・・
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE ・・・
アシスト
51
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
REDOログのバックアップ
現在の(CURRENT)オンラインREDOログ・データを今すぐアーカイブにコピーしたい場合
ログライター
プロセス
LGWR
CURRENT
LGWR
CURRENT
ALTER SYSTEM ARCHIVE LOG CURRENT
CURRENTが1つ進む
オンラインREDOログ・ファイル
固定長、個定数のファイルに循環書き込み
ARCn
アーカイバプロセス
・・・
・・・
アーカイブREDOログ・ファイル
アシスト
52
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
ホット・バックアップ・モード
データファイルのユーザー管理バックアップ
更新が発生した行のみREDOに記録
データブロック
ALTER TABLESPACE 表領域名 BEGIN BACKUP
REDOログ
該当表領域のデータブロックを書き戻す(チェックポイント)
該当データファイル・ヘッダのチェックポイントSCNを固定
通常モード
バックアップされたデータファイル
のチェックポイントSCN
データブロック全体をREDOに記録
データファイルをコピー
データブロック
ALTER TABLESPACE 表領域名 END BACKUP
REDOログ
該当表領域のデータファイル・ヘッダを通常モードに移行
ホット・バックアップ・モード
時間
※Oracle Database 10g Release 1からは ALTER DATABASE BEGIN BACKUP
によってデータベース全体(すべてのデータファイル)をホット・バックアップ・モードに
することも可能になっている。ストレージ機能を想定しての機能拡張。
アシスト
53
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
スプリット・ミラーとスナップショット
ストレージ機能で過去イメージを取得する
最新イメージ
最新イメージ
ミラー
通常運用時
通常運用時
最新イメージ 過去イメージ
ミラー解除
スプリット・ミラー
最新イメージ 過去イメージ
スナップショット取得
スナップショット
アシスト
54
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
ストレージ機能が分割する要素
データファイルとストレージの間の層も考える
表/索引
表領域
Oracleのホット・バックアップ・モードはデ
ータファイルのスナップショットを可能にす
る
データ・ファイル
ファイルシステム
論理ボリューム
ストレージ上にある論理ボリュームとファ
イルシステムも分割される
スプリット・ミラー/スナップショットは
ストレージ・ボリューム(LU)を分割する
論理ボリューム・マネージャ・ソフトウェアやファイルシステム上にデータベースを構成して
いる場合、安全を見てコールド・バックアップで運用されることが多い。
⇒ ファイルシステム/論理ボリュームもオフラインにしていることが多い(かもしれない)
アシスト
55
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
Automatic Storage Management
• Oracleデータベース専用のボリューム・マネージャ兼ファイルシステムとし
て機能する
• ストレージ機能を使用したホット・バックアップ可能
各ストレージ・ベンダーとのベスト・プラクティスを公開
http://www.oracle.com/technology/global/jp/products/database/asm/index.html
http://www.oracle.com/technology/products/database/asm/index.html
Oracle構造
ファイル構造
従来のディスク管理
ASMのディスク管理
表/索引
表/索引
表領域
表領域
データファイル
データファイル
ファイルシステム
ファイルシステム
論理ボリューム
論理ボリューム
ASM
アシスト
56
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
ストレージ機能でホット・バックアップ
ユーザー管理バックアップでI/O無停止バックアップ
BEGIN BACKUP
BEGIN BACKUP
ホットバックアップモード
スプリット / スナップショット
ホットバックアップモード
END BACKUP
バックアップ
バックアップ
データベース本体のファイルとは無
関係に、ミラーやスナップショットから
データファイルのバックアップを取得
END BACKUP
時間
時間
ファイルコピーコマンドでホットバックアップ
ストレージ機能でホットバックアップ
アシスト
57
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
バックアップ / リストアの単位
ストレージ機能が分割する単位を考える
• RMAN / ユーザー管理バックアップ
• ファイル単位でバックアップすることを暗黙的に想定
データベース
バックアップ
• ストレージ機能でのバックアップ
• ストレージ・ボリューム単位
• 再同期もストレージ・ボリューム単位
データベース
ミラー/スナップショット
アシスト
58
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
リカバリ不能になるケース
ストレージ機能で
コールド・バックアップ 時刻 A
(オンラインREDOかつ、ま
たはアーカイブREDO込み)
REDO (時刻 A)
REDO (時刻 A)
datafile 1 (時刻 A)
datafile 1 (時刻 A)
datafile 2 (時刻 A)
datafile 2 (時刻 A)
データベース稼動中
REDO (時刻 B)
時刻 B
datafile 1 (時刻 B)
datafile 1が破損
リストア (ミラー再同期)
REDOデータ消失
REDOが格納されているボリューム
時間
を上書きするとリカバリ不能に!
datafile 2 (時刻 B)
REDO (時刻 A)
REDO (時刻 A)
datafile 1 (時刻 A)
datafile 1 (時刻 A)
datafile 2 (時刻 A)
datafile 2 (時刻 A)
データベース
ミラー / スナップショット
アシスト
59
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
スプリット / スナップショットのグループを分ける
REDOを上書きリストアしない
制御ファイル
オンラインREDO
再同期すると、スプリット後
のアーカイブREDOを失う
アーカイブREDO
ファイルとして取り出す
再同期すると、正常ファイル
も上書きされる
⇒ リカバリが増える
データファイル
ファイルとして取り出すこと
も検討する
データベース
ミラー / スナップショット
アシスト
60
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
ストレージ機能を使用したバックアップ
• Oracleはホット・バックアップ・モードがあるため、I/O無停
止でバックアップすることも可能
• 更新トランザクションをブロックさせない無停止バックアップ
• Oracleはハイエンド・ストレージの機能を活かせるDBMS
• リストア / リカバリできるようにバックアップ設計を行うこと
• なんでもボリューム再同期が使用できるとは限らない
ASMとの組み合わせの、各ストレージ・ベンダーとのベスト・プラクティスを公開
http://www.oracle.com/technology/global/jp/products/database/asm/index.html
http://www.oracle.com/technology/products/database/asm/index.html
アシスト
61
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
バックアップのオフロード
Data Guard フィジカル・スタンバイ
プライマリ・データベースに影響を与えずにバックアップを取得する
Oracleクライアント
(アプリケーションサーバー)
SQL発行
SQL結果
RMAN
REDO転送
リカバリ
プライマリ・データベース
スタンバイ・データベース バックアップ
フィジカル・スタンバイからバックアップ取得可能
それをプライマリ・データベースにリストア可能
アシスト
62
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
Agenda
•
•
•
•
バックアップリカバリとは
バックアップ/リカバリ基礎知識
バックアップ運用Tips
Enterprise Manager を利用したバックアップ・リカバリ
Backup
Database
Database
アシスト
63
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
Enterprise Managerを使ったバックアップ・リカバリ
• バックアップ・リカバリのための事前設定
• アーカイブ・ログの設定
• バックアップの取得場所の設定
• バックアップ取得方法
• バックアップの保存期間の設定
• バックアップの実行例
• リカバリの実行例
済
Enterprise Managerで
簡単に操作!
アシスト
64
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
バックアップの取得
Enterprise Managerからのバックアップ取得
アシスト
65
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
バックアップの取得
カスタマイズ・バックアップのバックアップ設定画面
バックアップ・モード
オンラインorオフライン
オンラインバックアップはARCHIVE LOGモード
運用時のみ可能
アシスト
66
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
バックアップの取得
バックアップ取得場所の確認
バックアップ先
バックアップのタイミングで事前設定
アシスト
67
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
バックアップの取得
バックアップ・スケジュールの設定
スケジュール
1回のみのバックアップも
スケジューリング設定も可能
アシスト
68
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
バックアップの取得
バックアップ取得の確認画面
アシスト
69
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
バックアップの取得
バックアップ進捗状況の確認画面
進捗状況
バックアップがどこまで
進んでいるか、確認可能
アシスト
70
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
バックアップの取得
取得済バックアップの確認画面
取得済みバックアップ
バックアップファイルのステータス
不要なバックアップの削除
手動で取得したバックアップの登録
アシスト
71
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
データ・リカバリ・アドバイザ
復旧のアドバイスを提示
• 障害復旧
修復に要した時間
1. 障害の診断
2. 復旧手順の検討
3. 復旧操作
人間が考えている時間
障害解析に要した時間
リストア/リカバリの時間
総ダウンタイム
• データ・リカバリ・アドバイザ
• 障害の診断を行う
• 復旧手順を構成する
ダウンタイムを最小化
Oracle Database 11g Release 1 から
アシスト
72
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
データ・リカバリ・アドバイザ
復旧のアドバイスを提示
1.
データベースの障害リストを参照
RMAN> list failure;
2.
2. 意図せずにファイル
D:¥ORACLE¥ORADATA¥ORCL¥SYSTEM01.DBFの名
前の変更または移動が行われていた場合リストアします
障害に対するアドバイスを取得
RMAN> advise failure;
3.
1. 障害13595を解決するために、Oracleサポート・サ
ービスに連絡してください: データファイル4:
'D:¥ORACLE¥ORADATA¥ORCL¥USERS01.DBF'は破
損しています
修復スクリプト: d:¥oracle¥diag¥rdbms¥orcl
¥orcl¥hm¥reco_803716847.hm
修復スクリプトの内容:
restore database;
recover database;
alter database open;
自動修復の実行
RMAN> repair failure;
修復スクリプトを実行しています
・・・・
メディア・リカバリを開始しています
メディア・リカバリが完了しました。経過時間:
00:00:03
recoverが完了しました(完了時間: 08-12-19)
データベースがオープンしました。
障害の修復が完了しました
アシスト
73
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
データ・リカバリ・アドバイザ
Oracle Enterprise Managerからも使用可能
アシスト
74
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
障害の検知と復旧
障害の検知
データベースが停止した場合
起動時にエラーメッセージで通知
「リカバリの実行」ボタンからリカバリ
データベースが稼動中である場合
「サポート・ワークベンチ」画面に
障害情報が出力
アシスト
75
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
障害の検知と復旧
障害情報の詳細表示
障害の状況と影響が表示
障害にあったファイルの名前が表示
対応方法のアドバイスを得ることもできる
アシスト
76
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
障害の検知と復旧
リカバリ・アドバイザによる復旧アドバイス
アシスト
77
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
障害の検知と復旧
リカバリ完了画面の確認
・・・・
リカバリのログ
「リカバリ完了」メッセージを確認
アシスト
78
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
まとめ
• バックアップ・リカバリとは
<Insert Picture Here>
バックアップ:データのコピー
リカバリ:データの復旧
• バックアップ・リカバリ方法の整理
アーカイブログモード/ノーアーカイブログモード
オンライン/オフラインバックアップ
• バックアップ運用Tips
増分バックアップ:バックアップファイルサイズの削減
EMによるバックアップファイル管理
 Enterprise Managerを利用した
バックアップ・リカバリ実行例
アシスト
79
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
<Insert Picture Here>
お知らせ
アシスト
80
アシストのOracleビジネスのご紹介
Oracleのサポート
Oracleの実績
【Oracle受賞歴】
Oracle Award受賞
[DODAI] Platform Solution Award
24時間365日、約200名のOracle専属技術者に
よる全国サポート体制 (国内最大級)‫‏‬
【過去受賞歴】
パートナー別販売実績第1位
Excellent Partner受賞(9年連続 9回)
Best Partner賞
Support of The Year賞
Show case of the Year賞
Oracle Real Application Clusters部門
Best Area Performance of the Year賞
Oracle Database 11g Award賞
KUDOS for Oracle Support Partners賞
【ACSP認定】高レベルサポート認定企業
【Oracle販売実績】
年間売上
お取引き企業数
サポート契約継続率
過去3年のサポート切替実績
○ 信頼のフィールドサポート
約80億円(国内トップクラス)
8,000社以上(国内トップクラス)
90%以上
1,200件以上
【歴史】
1987年、アシストグループとして株式会社オラクルを設立し、国内で
最初にOracleのライセンス販売、サポートの提供をはじめました。
誠実にお客様の声に耳を傾け、真心を持ってお答えするという姿勢と、
万全のサポート体制でお客様の期待に答え続け、多くのお客様より厚く
ご支持を頂けております。
サポートセンターで解決できない問題は、Oracle専任技術
者が直接お客様のもとをお伺いし、解決にあたります。
過去3年(年間平均)の対応状況
サポート件数
約10,000件/年
フィールド対応件数
約400件/年
顧客満足度
約90%
○ マルチベンダー対応
アシストではすべてのOSで実機を用意し、構築スキルを蓄え、
検証環境を整えております。
アシスト
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
81
Oracle Database の分野で2賞受賞!
受賞内容
・ Oracle Excellence Award Specialized Partner of the Year:Special – Japan
・ Oracle Excellence Award Specialized Partner of the Year:Support – Japan
http://www.oracle.com/partners/ja/partner-with-oracle/market-and-sell/opn-awards/excellence-awardsja/index.html
http://www.ashisuto.co.jp/news/release/1196669_1675.html
アシスト
82
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
アシストの支援実績
技術支援サービスメニュー
豊富な支援実績
西日本支社のみで約25名のOracle専門部隊がお客さまの課題

導入作業
解決にあたり、年間100件を超える技術支援を実施しております。

バージョンアップ作業
さまざまな課題やご要望に対して、柔軟かつ高品質なサービスを

データベース移行
ご提供することが可能です。

Oracle データベース設計/実装

バックアップ/リカバリ運用設計

バックアップ/リカバリ検証

データベース診断

監視設計
技術支援の一例
A社(卸売業) RHEL/10g R2
B社(陸運業)
Win/10g R2
C社(電気・ガス業) AIX/10g R2
基幹系システム
再構築
業務系システム
再構築
基幹系システム
再構築
情報系システム
構築
Real Application Clusters、
バックアップ/リカバリ、データ移行
Oracle Fail Safe、データ移行、
バックアップ/リカバリ
Single、DB設計、チューニング

SQL チューニング
HA、バックアップ/リカバリ、教育
D社(電気機器) Win/11g R1
E社(証券業)
RHEL/9i R2
災対サイト構築
Data Guard、バックアップ/リカバリ

パーティショニング設計
Real Application Clusters、
バックアップ/リカバリ、
パーティション設計
Real Application Clusters(RAC )環境構築
HP-UX/10g R2
情報系システム
再構築

F社(情報・通信)

Data Guard 環境構築
基幹系システム
再構築
パーティション設計、
バックアップ/リカバリ

その他技術支援(オンサイト技術支援)

各種オンサイト教育
G社(電気機器) AIX/10g R2
アシスト
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
83
ご清聴ありがとうございました。
株式会社アシスト
アシスト
84
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
以上の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。
また、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことは
できません。以下の事項は、マテリアルやコード、機能を提供することをコミットメン
ト(確約)するものではないため、購買決定を行う際の判断材料になさらないで下さ
い。オラクル製品に関して記載されている機能の開発、リリースおよび時期につい
ては、弊社の裁量により決定されます。
Oracle、PeopleSoft、JD Edwards、及びSiebelは、米国オラクル・コーポレーション及びその子会社、関連会社の登
録商標です。その他の名称はそれぞれの会社の商標の可能性があります。
アシスト
Copyright© 2014, Oracle. & K.K.Ashisuto All rights reserved.
85