...

第6章 回復管理と高可用性

by user

on
Category: Documents
129

views

Report

Comments

Transcript

第6章 回復管理と高可用性
第6章 回復管理と高可用性
本書に含まれている情報は、正式なIBMのテストを受けていません。また、明記にしろ、暗黙的にしろ、なんらの保証もなしに配布されるものです。
この情報の使用またはこれらの技術の実施は、いずれも、使用先の責任において行われるべきものであり、それらを評価し、実際に使用する環境に統合する
使用先の判断に依存しています。それぞれの項目は、ある特定の状態において正確であることがIBMによって調べられていますが、他のところで同じまたは同
様の結果が得られる保証はありません。これらの技術を自身の環境に適用することを試みる使用先は、自己の責任において行う必要があります。
© Copyright IBM Japan Co., Ltd. 2011
内容
• 回復管理
• 高可用性
2
© 2011 IBM Corporation
内容 - 回復管理
• データベース・リカバリーの概要
• リストアとロールフォワード
• 回復に必要なもの
• リストアの種類
• ロギング設定
• リストア
• リダイレクト・リストア
• データベースのリビルド
• ロールフォワード
• バックアップ・リカバリーの計画
• DB2バックアップの対象とその方法
• バックアップの種類
•
•
•
•
オフライン・バックアップ
オンライン・バックアップ
表スペース・バックアップ
増分バックアップ
• バックアップ・オブジェクトの管理
• 回復履歴ファイル
• 回復オブジェクトの自動削除
• その他のバックアップ・リカバリー
• オンライン・スプリット・ミラー
• db2look
3
© 2011 IBM Corporation
ブランク・ページ
4
© 2011 IBM Corporation
データベースのリカバリーの概要 1/3
• 一般的なデータベース・サーバーの例
サーバーマシン
更新
ユーザー
ア プ リケ ー シ ョン
A→ B
メモ リー
ユ ー テ ィリテ ィー
管理
A→ B
5
デ ィス ク
© 2011 IBM Corporation
データベースのリカバリーの概要 2/3
• 典型的な障害の例
サーバーのダウン
サーバーのダウン
アプリケーションの異常終了
アプリケーションの異常終了
サーバーマシン
DB2の異常終了
DB2の異常終了
ユーティリティーの異常終了
ユーティリティーの異常終了
更新
ユーザー
ア プ リケ ー シ ョン
A→ B
更新処理内容の損失
メモリー上のデータの損失
メモ リー
ユ ー テ ィリテ ィー
管理
A→ B
ディスク上のデータの損失
論理エラー(データの不整合)
ユーザーによる誤操作
ユーザーによる誤操作
6
デ ィス ク
ディスク障害
ディスク障害
© 2011 IBM Corporation
データベースのリカバリーの概要 3/3
• データベースを正しい状態に保つ仕組み
障害の内容
アプリケーションの異常終了
ユーティリティーの異常終了
被害
更新処理内容
の損失
未コミットトランザクションを
取り消す
ロールバック
サーバーのダウン
DB2の異常終了
メモリー上のデータ
の損失
論理的回復
コミット済みトランザクション
をデータベースに反映させる
破損回復
ディスク障害
ユーザーによる誤操作
回復管理
7
ディスク上のデータ
の損失
論理エラー
(データの不整合)
整合性のあるデータベース
イメージで置き換える
トランザクションによる変更を
再度反映させる
物理的回復
バージョン回復
ロールフォワード回復
© 2011 IBM Corporation
DB2の物理的回復
バックアップ時点
まで回復
• バージョン回復
障害
BACKUP
DATABASE
RESTORE DATABASE
Backup file
バックアップ以降
のある時点
まで回復
• ロールフォワード回復
障害
BACKUP
DATABASE
RESTORE DATABASE
Backup file
ROLLFORWARD DATABASE
Log files
8
© 2011 IBM Corporation
ロールフォワード回復のためのロギング設定
その前に・・・
• ログ・ファイルとは
• 全てのデータベースへの更新内容(ログ・レコード)が発生順に記録される
ファイル
• ログ・レコードは更新されたデータより必ず先にディスクに書かれる(WRITE
LOG AHEAD)
• ロールバック、破損回復、ロールフォワード回復に使用
• ロールバック
• 未コミットの変更データを取り消す
• 破損回復
アクティブ・ログ
• コミットされた変更をディスクに反映する
• 未コミットの変更データを取り消す
• ロールフォワード
• ログに記録された変更を適用する
9
アーカイブ・ログ
© 2011 IBM Corporation
ロギング方式とログ・ファイルの状態
• 2種類のロギング方式・・・循環ロギングとアーカイブ・ロギング
アクティブ・ログ・ファイル
ファイルにこれ以上ログ・レコードが追加できない
(上書き再利用)
ファイルに含まれる処理内容が
すべてコミット済みかつ、全ての
変更データがディスクに書き出さ
れた
オンライン・アーカイブ・
ログ・ファイル
※ロギングの方式
ログパスから別の場所に
コピーされる
オフライン・アーカイブ・
ログ・ファイル
:循環ロギング
:アーカイブ・ロギング
:アーカイブ・ロギング(ログ・パスから別の場所にコピー)
10
© 2011 IBM Corporation
(参考)ログ・ファイルの動き
DB構成パラメーター
• 循環ロギング
Active
Active
0.log
Active
1.log
2.log
3.log Full !!
4.log Full !!
Full !!
LOGPRIMARY
LOGSECOND
LOGFILSIZ
LOGARCHMETH1
LOGARCHMETH2
3
2
1000
OFF
OFF
SQL0964C ログ・フル・エラー !!
• アーカイブ・ロギング
DB構成パラメーター
アーカイブ
DISK
11
0.log
3.log
1.log
2.log
LOGPRIMARY
LOGSECOND
LOGFILSIZ
LOGARCHMETH1
LOGARCHMETH2
3
2
1000
DISK:xxx
OFF
・・・
© 2011 IBM Corporation
ロールフォワード回復のためのロギング設定
• アーカイブ・ロギング方式を使用
• 設定パラメータ(データベース構成パラメーター)
• LOGARCHMETH1
• 例: update db cfg for SAMPLE using LOGARCHMETH1=DISK:/arclog
• アーカイブ先以下のディレクトリは自動的に作成される
• 例:/arclog/db2inst1/SAMPLE/NODE0000/C0000000
LOGARCHMETH1
データベース
DISK
アクティブ・
ログ
db2tapemgr
コマンド
TSM
ミラー・ログ
LOGARCHMETH2
テープ
VENDOR
アーカイブに失敗した場合
FAILARCHPATH
12
TSM:Tivoli Storage Manager
© 2011 IBM Corporation
バックアップ・リカバリーの計画
• バックアップ・リカバリの計画時には以下の要件を調査する
• いつバックアップを取得するか
• どこにバックアップを保存するか
• バックアップは何世代保存するか
• バックアップはどのくらいの頻度で取得するか
• どの時点まで回復しないといけないか
• 要件に応じてバックアップ・リカバリの方法が異なる
• それぞれ任意の組み合わせが可能
13
オフライン?
オンライン?
データベース単位?
表スペース単位?
フル?
増分(デルタ)?
© 2011 IBM Corporation
DB2 のバックアップの対象とその方法
zOS上の構成ファイル
サーバー
¾/etc/services, /var/ifor/nodelock, /var/db2/以下
インスタンス
zINSTHOME ・・・ インスタンス・オーナーのホームディレクトリ
¾ UNIXの場合・・・$HOME
¾ Windowsの場合・・・%DB2PATH%¥DB2
データベース
ファイル / ディレクトリ単位でのバックアップ
zデータベース・パス
カタログ表スペース
zカタログ表スペースのコンテナー
z一時表スペースのコンテナー
一時表スペース
ユーザー表スペース
zユーザー表スペースのコンテナー
BACKUPコマンドによるバックアップ
索引, トリガー, ビュー, etc
zLOGPATH/Snnnnnnn.LOG
¾LOGPATHはデータベース構成パラメーターで指定
ログ
14
DB2の機能によるアーカイブ
© 2011 IBM Corporation
バックアップ・リカバリーの計画
• どこにバックアップを保存するか?
• バックアップ・ファイルは、ディスク(ディレクトリ)、テープ装置、TSM
に出力先することができる
• 可能であればディスクに出力した方が障害発生の可能性が少ない
• その後テープなどに保管することを推奨
• リストア時には、バックアップ・ファイルを一旦テープからディスクにコピーする
必要があることに注意
• バックアップ・ファイルのサイズ
• DMSの場合、バックアップされる領域は、使用されているEXTENT
• 正確にサイズを見積もることは困難であるが、list tablespaces show detailコマン
ドの”最高水準点 (ページ)”を目安にして余裕を持たせる
• SMSの場合は、OSコマンドでファイルサイズを確認
• バックアップ・ファイルを圧縮することも可能
• 世代数を多く持つ環境で有効
• データにも依存するが、10~7分の1程度に圧縮される
15
© 2011 IBM Corporation
(参考)バックアップ・ファイル
• バックアップ・ファイル名と意味
• ファイル名
• DB別名.タイプ.インスタンス名.NODExxxx.CATxxxxx.時刻.順序番号
例)SAMPLE.0.moba.NODE0000.CATN0000.20040113030501.001
• タイプ
• 0 : データベース・バックアップ
• 3 : 表スペース・バックアップ
• 4 : LOADのコピー・ファイル
DB
TBSP1
LOAD
• バックアプ・ファイルの検査コマンド : db2ckbkp
• ディスクやテープ装置上にあるバックアップ・ファイルに対して、
•
•
•
16
バックアップ・ファイルがリストア可能かどうかを確認する
バックアップ・ファイルの情報を表示する
バックアップファイルの中にログが含まれているか確認
© 2011 IBM Corporation
(参考)db2ckbkp 実行例
• リストア可能検査の例
$ db2ckbkp SAMPLE.0.iwata.NODE0000.CATN0000.20050121114234.001
[1] Buffers processed: ########
Image Verification Complete - successful.
• バックアップ・ファイルのヘッダー情報を出力する例
$ db2ckbkp -h SAMPLE.0.moba.NODE0000.CATN0000.20041008013428.001
=====================
MEDIA HEADER REACHED:
=====================
Server Database Name
Server Database Alias
Client Database Alias
Timestamp
Database Partition Number
Instance
Sequence Number
Release ID
Database Seed
DB Comment's Codepage (Volume)
DB Comment (Volume)
DB Comment's Codepage (System)
DB Comment (System)
Authentication Value
Backup Mode
Includes Logs
Compression
・・・(略)・・・
17
------------------
SAMPLE
SAMPLE
SAMPLE
20041008013428
0
moba
1
A00
92DBF20F
0
0
255
1
1
0
オンライン・バックアップでINCLUDE LOGSオプションを
つけてたバックアップの場合
0:ログ・ファイル含まれてない
1:ログ・ファイル含まれている
バックアップが圧縮についてのフラグ
(0:圧縮していない 1:圧縮している)
© 2011 IBM Corporation
オフライン・バックアップ
• オフラインとは
• 他のアプリケーションがデータベースから切断されている状態
• オフライン・バックアップの特徴
• リカバリー手順が最も容易となる
• データベースに他のアプリケーションが接続していない状態でバックアップ
を取得する
• データベース全体の場合、ログファイルがなくてもリカバリー可能(バージョ
ン回復)
• 表スペース単位の場合、ロールフォワード処理が必要となる
• QUIESCE DATABASEコマンドを利用するとデータベースをオフライン状態
にできる
SQL20157
App
quiesce
App
SQL20157
18
BACKUP
オフライン・バックアップ取得
© 2011 IBM Corporation
オンライン・バックアップ
• バックアップをオンラインで取得可能
• バックアップ操作中に他のアプリケーションがそのデータベースに接続できる
• バックアップ取得の前提
• データベースがアーカイブ・ロギングであること
• 推奨
• バックアップ・イメージに最小限必要なログを含めること
• バックアップ中に発生したログは必ずrollforwardしなくてはいけない
バックアップ
取得完了
バックアップ
取得開始
更新処理
アクティブ・
ログ
Backup
19
アクティブ・
ログ
Backup
© 2011 IBM Corporation
表スペース・バックアップ
• 表スペース単位で回復可能
• 単独のディスク障害やアプリケーション・エラーから回復する場合に有効
• 個々の表スペースごとにバックアップ、リストア、ロールフォワードを行うことが
可能
• データベース単位のバックアップから、特定の表スペースのみをリストア、ロー
ルフォワードすることが可能
• ONLINEオプションでは、他の表スペースを使用中にもリストア、ロールフォワードが可能
• バックアップ取得の前提
• データベースがアーカイブロギングであること
TBSP1
• 考慮点
• データベース全体の回復には使用できない
• データベース内の整合性を保つための制限事項が多い
• 表スペースのリストア後は必ずロールフォワードが必要
• ロールフォワードをPoint in Time で完了するとバックアップ保留
20
© 2011 IBM Corporation
増分バックアップ
• 前回取得したバックアップから変更されたデータのみをバックアップする
• ページ単位で変更されたかどうかが判断される
• バックアップ取得の前提
• 「変更ページの追跡使用可能」であること
• データベース構成パラメーター trackmod = YES
• 増分バックアップの種類
• 増分(INCREMENTAL)
• 最後のフルバックアップから変更されたデータのバックアップ
• 差分(DELTA)
• 最後のフルバックアップまたはインクリメンタルバックアップから変更された
データのバックアップ
Sunday
Mon Tue
Full
Wed
Thu
Fri
Sat
Sunday
Full
増分 バックアップ
(Incremental)
21
Sunday
Full
Mon Tue
Wed
Thu
Fri
Sat
デルタ バックアップ(Delta)
Sunday
Full
© 2011 IBM Corporation
バックアップからの回復
• RECOVER DATABASEコマンド
• RESTOREとROLLFOWARDを自動的に実施
• 時間指定のロールフォワードも可能
• バックアップイメージを指定する必要がない
• 回復履歴ファイルから自動的に最適なバックアップを選択
• データベース全体のバックアップや増分バックアップからも可能
RECOVER
BACKUP
DATABASE
RESTORE
DATABASE
Backup file
ROLLFORWARD
DATABASE
Log files
22
© 2011 IBM Corporation
リストアの種類
• データベース全体のリストア
• リダイレクト・リストア
• バックアップ時とは異なる表スペース・コンテナーにリストアしたい場合
• データベースのリビルド
• 表スペースのバックアップからデータベースを回復
• ある表スペースのみのリストア
DB
Backup
• 増分バックアップからのリストア
delta
delta
同じRESTOREコマンドを使用する
種類ごとに指定するオプションが異なる
23
Backup
DB
TBSP1
© 2011 IBM Corporation
リストア
• バックアップ・イメージをリストアし、バックアップ取得時のデータベー
スを作成する
• RESTORE DATABASE コマンド
RESTORE DATABASE SAMPLE FROM /backup
障害
BACKUP
DATABASE
RESTORE DATABASE
Backup file
24
© 2011 IBM Corporation
リダイレクト・リストア
• リストア時に表スペース・コンテナーのレイアウトを変更
• コンテナの追加・変更・削除
• DMS表スペースのコンテナのFILE ⇔ DEVICEの変更が可能
• 変更スクリプトを生成すると、効率的に実施可能
• DMS表スペース ⇔ SMS表スペースの変更は不可能
• 異なるDB名としてリストアし、クローンDBの作成することも可能
オリジナルDB
クローンDB
DMS
DBPATH=/XXX
REDIRECT
RESTORE
LOGPATH=/XXX
SMS
25
DMS
DBPATH=/YYY
LOGPATH=/YYY
SMS
© 2011 IBM Corporation
データベースのリビルド
• 表スペースバックアップからのリカバリー
• 複数の表スペースバックアップから、データベース全体の復旧が可能
• どのバックアップファイルを使用するかは、DB2が自動的に判断可能
SYSACATSPACE
USERSP1
USERSP2
USERSP3
BK1 表スペース・バックアップ
表スペース・バックアップ
BK2
Time
表スペース・バックアップ
BK3
表スペース・バックアップ
BK4
2. 表スペースバックアップ間のログ
ファイルを適用して整合性を確保
Log files
Table
space BK1
backup
26
Crash
BK2
BK3
BK4
1. 4つの表スペース・バックアップを元に、
データベースを復旧
© 2011 IBM Corporation
ロールフォワード
• ログ・ファイルに記録されたトランザクションを適用することによって、
データベースを回復する
• ROLLFORWARD DATABASEコマンド
• 「ロールフォワード保留中」のデータベースに対して実行
• RESTORE DATABASE 完了後
WITHOUT ROLLING FORWARD オプションを指定する場合を除く
ROLLFORWARD DATABASE SAMPLE TO END OF LOGS AND COMPLETE
障害
BACKUP
DATABASE
RESTORE DATABASE
ROLLFORWARD DATABASE
Backup file
Log files
27
© 2011 IBM Corporation
どこまでロールフォワードするか
1.end of backup
オンライン
バックアップ
取得完了
オンライン
バックアップ
取得開始
2. point in time
アクティブ・
ログ
アクティブ・
ログ
アクティブ・
ログ
アクティブ・
ログ
Backup
3.end of logs
Backup
アーカイブ・
ログ
アーカイブ・
ログ
アーカイブ・
ログ
アーカイブ・
ログ
tape
28
© 2011 IBM Corporation
ロールフォワードにおけるログ・ファイルの準備
•
戻す時点に応じてログファイルの準備をする
1. End of Backup
バックアップ・ファイルに含まれている
•
2. Point in time
その時点までのログ
•
•
テープや別ディスクに退避されていれば準備する
3. End of logs
復旧直前までのログ
•
•
テープや別ディスクに退避されていれば準備する
通常運用時
ログパス
アーカイブパス
オフライン・アーカイブ・ログ
オンライン・アーカイブ・ログ
DB2 によるコピー(自動)
29
tape
テープ等に退避(手動)
© 2011 IBM Corporation
例:ロールフォワードに必要なログ (end of logs)
アクティブ・ログ・ディレクトリ
18.log
19.log
20.log
アーカイブ・ログ・ディレクトリ
テープ
15.log
16.log
17.log
10.log
11.log
12.log
13.log
14.log
手動
コピー
一時ディレクトリ(/logtmp)
自動
コピー
10.log 11.log
10.log 11.log
12.log
13.log
14.log
オンライン・バックアップ
10.log
11.log
DB
1. restore db … logtarget /logtmp
Backup
30
2. rollforward db …
overflow log path /logtmp …
to end of logs
© 2011 IBM Corporation
(参考)ロールフォワードとログの考慮点
アクティブ・ログ・ディレクトリ
18.log
19.log
20.log
アーカイブ・ログ・ディレクトリ
テープ
15.log
16.log
17.log
10.log
11.log
12.log
13.log
14.log
一時ディレクトリ(/logtmp)
自動
コピー
10.log
11.log
最低限バックアップ時点の
最低限バックアップ時点の
データベースまでは回復可能
データベースまでは回復可能
オンライン・バックアップ
10.log
11.log
DB
1. restore db … logtarget /logtmp
Backup
31
2. rollforward db …
overflow log path /logtmp …
to end of backup
© 2011 IBM Corporation
ブランク・ページ
32
© 2011 IBM Corporation
バックアップ・オブジェクトの管理
• 回復履歴ファイル
• 回復オブジェクトの自動削除
33
© 2011 IBM Corporation
回復履歴ファイル
• 目的
• データベース単位に作成され、リカバリーと管理のさまざまなイベントの記
録を行う
• 保存場所
• <データベース・ディレクトリ>/db2rhist.asc
• バックアップファイルとしても一つ存在 : db2rhist.bak
• 用途
• 必要なバックアップ・イメージを特定する
• データベースに対して実行された特定のユーティリティーの確認
• BACKUP、RESTORE、LOAD、
• DB2が内部的に使用するケース
• 確認方法
• LIST HISTORY コマンド
34
© 2011 IBM Corporation
回復履歴ファイルのメンテナンス
バックアップ保存期間を過ぎた情報は不要なため、
回復履歴ファイルから情報を削除し、ファイルの容量を節約
• 回復履歴ファイル内の情報を削除する方法
• 有効期限の設定(データベース構成パラメータ)
REC_HIS_RETENTN
• 何日前のバックアップまで保持するか?
NUM_DB_BACKUPS
• 何世代前のバックアップまで保持するか?
• 上記パラメータを満たすと“有効期限切れ”とマークされる
• 全データベースのバックアップが実施されると回復履歴ファイルから
必要なくなったデータが削除される
• 手動削除
• PRUNE HISTORY コマンド
35
© 2011 IBM Corporation
ブランク・ページ
36
© 2011 IBM Corporation
回復オブジェクトの自動削除
• 回復処理に不要となった回復オブジェクトをDB2が自動的に削除する
• AUTO_DEL_REC_OBJ=ON で制御(データベース構成パラメータ )
• 対象回復オブジェクト(物理ファイル)
• バックアップ・ファイル
• ロード・コピー・ファイル
• アーカイブ・ログファイル
• TSMへのバックアップ取得、自動保守バックアップ機能も対象となる
• 削除されるタイミング
• NUM_DB_BACKUPS と REC_HIS_RETENTN DB CFG に達していて、
以下のいずれかが実施されたタイミング
• 表スペースもしくは全データベースのバックアップが成功したタイミング
• and deleteオプションつきのprune historyコマンド
• DB2PRUNE_OPTION_DELETE つきの db2Prune API の発行
37
© 2011 IBM Corporation
ブランク・ページ
38
© 2011 IBM Corporation
その他のバックアップ・リカバリー
• オンライン・スプリット・ミラー
• db2lookによるDDL保存
39
© 2011 IBM Corporation
ブランク・ページ
40
© 2011 IBM Corporation
オンライン・スプリット・ミラー
• ストレージのコピー機能を使用したバックアップ
•
•
•
データベースのクローンを作成し、テスト環境や解析用データベースとして使用可能
障害に備えて、ウォーム・スタンバイのデータベースを作成することが可能
大規模DBにて、 DB2のBackup/Restoreユーティリティーよりも高速にバックアップ/リストアが可能
• Split mirrorとは、バックアップの目的や、データベースのクローンとして再利用可能な、独
立したデータベース・ディスク領域コピーのこと
• Split mirrorの作成はストレージ・デバイスのコピー機能を利用
• ストレージ・デバイスで利用可能なハードウェア・ベースの高速コピー機能を使用して、データベース
のコピー(Split mirror)を作成することが可能
• DS8000/6000/4000シリーズのFlashCopyなどを利用した、Diskボリュームコピー
DBサーバー
DB
41
ストレージ機能によって、
短時間でのコピー完了
Copy
バックアップ管理・サーバー
DB
Split mirror
© 2011 IBM Corporation
(参考)FlashCopyの概念図
DS6000/8000の場合
FlashCopy
実行
システムから見た論理Volume
コピー元
コピー先
コピー元
瞬時
コピー先
コピー元
コピー先
コピー元
コピー先
データ・コピー開始
対応するESS内のVolume
コピー元
コピー先
FlashCopy実行前
コピー元
コピー先
論理コピー:同期確立
この時点でユーザーは利用可能
物理データコピー
処理の実行終了
物理データはコピー未完了にもかかわらず、
システムからは既にコピー完了と見える
42
© 2011 IBM Corporation
FlashCopyを用いた自動バックアップ・リカバリ
• ACS機能を利用して自動的にFlashCopyによる回復管理が可能
• ACS:Advanced Copy Service (DB2 V9.5~)
• バックアップ
backup db <dbname> use snapshot
• リストア
restore db <dbname> use snapshot
DBサーバー
FlashCopy
BACKUP USE SNAPSHOT
RESTORE USE SNAPSHOT
43
© 2011 IBM Corporation
(参考)FlashCopyを用いた手動バックアップ・リカバリ
1. DB2のI/O停止
3. DB2のI/O再開
1. インスタンス停止
3. インスタンス起動
4. db2inidb
5/6. ロールフォーワード
home
home
2. FlashCopy論理コピー
4. FlashCopy物理コピー
LOG
LOG
LOG
LOG
LOG
LOG
DATA
DATA
DATA
DATA
DATA
DATA
正Volume
(Source)
副Volume
(Target)
‡バックアップ手順
1.正Volumeへの書き込みの停止
zset write suspend for database
2.ディスク・ボリュームの論理コピーの実行
3.正Volumeへの書き込みの再開
zset write resume for database
4.ディスク・ボリュームの物理データコピー
LOG
LOG
2. コピーバック
正Volume
(Source)
DATA
DATA
副Volume
(Target)
‡リストア手順
1.インスタンスの停止(db2stop)
2.ディスク・ボリュームのコピー・バック
3.インスタンスの起動(db2start)
4.データベースをロールフォワード保留状態にする
zdb2inidb データベース名 as mirror
5.必要なログファイルを準備する
6.ロールフォワードを実行する
zdb2 rollforward db sample to end of logs and stop
44
© 2011 IBM Corporation
db2look
• データベース内の定義情報や統計情報を抽出するツール
• データベース・オブジェクトの定義情報をバックアップしたい場合に
利用できる
• 構成パラメータ、レジストリ変数
• db2look -d DB -f
• 表・索引・ビュー等のデータベース・オブジェクトのDDL
• db2look -d DB -e
• バッファープール、表スペースのDDL
• db2look -d DB -l
• 権限情報
• db2look -d DB -xd
• モジュール・PL/SQLオブジェクト
• db2look -d DB –mod
• オプションは組み合わせることも可能
本番DB
DB object
UPDATE
db parameter
dbm parameter
db2set
テストDB
45
© 2011 IBM Corporation
ブランク・ページ
46
© 2011 IBM Corporation
内容 - 高可用性
• 高可用ソリューション
• 災害対策ソリューション
• DB2が提供する高可用性・災害対策ソリューション
• 高可用性ソリューション
• pureScale
• 災害対策ソリューション
• HADR
• Q Replication
47
© 2011 IBM Corporation
ブランク・ページ
48
© 2011 IBM Corporation
高可用性ソリューション
製品
HA構成
DB2 HADR,
Q Replication
DB2 pureScale
構成
1:1
49
対象
小・中規模OLTP
小・中規模OLTP
中・大規模OLTP
特徴
シェアード・ディスク
アクティブホットスタンバイ
シェアードデータ
© 2011 IBM Corporation
(参考)HA構成による高可用性ソリューション
方法
長所
短所
クラスター製品の使用
既存のシステムを活用できる
コールド・スタンバイである
複数のベンダーからソリューション
が提供されている
DB2が起動するまでアプリケー
ションが一時停止する
シェル・スクリプトを使用して統合
DB2
DB2
HACMP/PowerHA
DB2製品はそれぞれの
サーバーにインストール
データベース、表スペース・コンテナ、
ログなどは共有ディスクに配置し、
ノード障害時に引き継ぐ
表スペース
ログ
ログ
50
© 2011 IBM Corporation
災害対策ソリューション
z
バックアップ転送遠隔保管型
z
z
z
RPO(データロス)
BACKUPイメージ
遠隔地保管
データベース・コピー型
z
z
DB2 BACKUP+TSM
PPRC (Metro Mirror / Global
Mirror )
ログ・シッピング
ログ・シッピング型
PPRC GLOBAL
MIRROR(非同期)
新機能
z
HADR
z
z
同期・近同期・非同期
Q-REPLICATION
z
Q-REP
双方向・Peer to Peer
HADR
PPRC METRO
MIRROR(同期)
RTO:リカバリー時間
51
© 2011 IBM Corporation
(参考)一般的な災害対策システム
方法
長所
短所
データベース・バックアップの転送
低コスト
バックアップ時点から最新時点までのトラン
ザクションは回復不能
バックアップ時点までの回復が可能
データベース・バックアップの転送と
ログファイルのアーカイブ
低コスト
最後にアーカイブされたログまでの回復が
可能
最後にアーカイブされたログから最新時点
までのトランザクションは回復不能
リカバリー時間が長い(データベースのリス
トア+アーカイブ・ログのロールフォワード)
ログに記録されない処理は複製されない
ログ
ログ
52
ログ
ログ
© 2011 IBM Corporation
(参考)一般的な災害対策システム
方法
長所
短所
スタンバイ・データベースに対する
ログ・ファイル・シッピング
本番系に与える影響を最小化
最後のログ・ファイル内のトランザクションを
消失する可能性がある
スタンバイ・データベースはロールフォワー
ド保留状態のために使用できない
ログ
ログ
スタンバイはプライマリーと同一データベー
スである必要がある
ログ
ログ
ログに記録されない処理は複製されない
PPRCによるストレージ・レベルの
同期ミラーリング
トランザクションの消失がない
データベースに対する全ての変更を複
製することが可能
切り替え時間を最小化できる
スタンバイが地理的に離れている場合、同
期的なミラーリングがトランザクション・パ
フォーマンスに影響を与える
距離の制約がある
高コスト
Metro Mirror
Global Copy
53
© 2011 IBM Corporation
(参考)災害対策における目標設定指標
RTO : リカバリー時間目標 (時間)
• リカバリー時間目標とリカバリー・ポイント目標
障害発生時点
▼
時間の流れ
RPO
何時までの処理を
戻せるのか
RTO
何時になったら
正常状態に戻せるのか
RPO : リカバリー・ポイント目標
·
·
·
Recovery Point Objective
何時までの処理を戻すのか示す指標
障害発生時点からどの位前かを表記
RTO : リカバリー時間目標
·
·
·
54
RPO : リカバリー・ポイント目標 (時間)
RPOとRTOの関係
·
·
·
RTO > RPO
RPOが長くなると、RTOは対数的に増加
O戻しの処理時間が回復に必要な時間に、
累積加算されるため
RPOが短くなると、RTOも短くなる
Recovery Time Objective
何時になったら正常状態に戻せるのかを示す指標
障害発生してからどの位時間が経過したかを表記
© 2011 IBM Corporation
DB2が提供する高可用性・災害対策ソリューション
• 高可用性ソリューション
• DB2 pureScale
• 高可用性・災害対策ソリューション
• HADR
• Q Replication
55
© 2011 IBM Corporation
ブランク・ページ
56
© 2011 IBM Corporation
DB2 pureScale
「ノンストップ」、「スケーラビリティ」、「スピード」を追求した
新しいデータベース・インフラ技術
• ノンストップ
• リカバリー処理中の可用性を維持しながら、全体のリカリーを高速に行う
• データベース・ノードに障害が発生した際、リカバリーが完了するまで、障害ノードの
更新中(インフライト)のデータだけをロックする
• スケーラビリティ
• アプリケーションはクラスター環境を意識しない
• データブロックを一元管理(Coupling Facility ノード)
ノードの台数に関係なくノード間通信量を低減
行の更新がコミットされるときのみブロック・ロックを取得
(同時並行性が向上)
• スピード
• ノード間通信は直接メモリ間で行われる
57
© 2011 IBM Corporation
DB2 pureScale テクノロジー・オーバービュー
クライアントはどこにでも接続、
一つのデータベースとして利用
自動的なワークロードバランス
クライアント
シングル・データベース・ビュー
DB2エンジンはそれぞれのコンピューターで稼動
Member
Member
Member
–
データベースアクセスの一貫性を提供するように連携
–
2009年出荷時点はAIX 6.1 on p550 or p595限定
Member
統合されたクラスター・サービス(CS)
CS
CS
CS
CS
–
障害検知, 自動リカバリー, クラスター・ファイルシステム
–
Tivoli System Automation, GPFS
超高速ノード間通信
Cluster Interconnect
–
CS
Secondary
CS
Log
Log
Log
Shared Storage Access
Database
58
Log
Primary
RDMAノード間通信を最大限に活用 (Infiniband)
(Remote Direct Memory Access)
PowerHA pureScale (CF)
–
効率的なグローバル・ロッキングとバッファー管理
–
セカンダリーへの同期2重化により可用性を確保
データシェアリング・アーキテクチャー
–
データベースへの共有アクセス
–
GPFS (General Parallel File System)
© 2011 IBM Corporation
DB2 pureScale なぜ全面停止にならない?
CFの情報によりリカバリーブロックが全ノードから明確にわかるため、
正常ノードはまったく影響されることなく処理を継続
メンバー1がクラッシュ
Member 1
Member 2
Member 3
CF が更新中のブロックを
常に把握
CF
x
x
x
x x x
I/O 処理を継続
Central Lock
Manager
x
x
x
x
x
x
CFは、どのノードがダウンしたときにどのブロックにリカバリーが必要なのかを常に意識
59
© 2011 IBM Corporation
ブランク・ページ
60
© 2011 IBM Corporation
HADR(High Availability Disaster Recovery)
• データベース単位の高可用性を実現
• ログ転送を使用したデータベース複製
• プライマリーDBへの更新情報をスタンバイDBに転送し、再生
• 一つのプライマリーDBに対し、一つのスタンバイDBを構築(HADRペア)
• 3種類のモードを提供
• 同期(SYNC)
• 近似同期(NEARSYNC)
• 非同期(ASYNC)
• TAKEOVER HADRコマンドによる、高速な引継ぎが可能
• プライマリーに障害が発生した場合、TAKEOVER HADR ... BY FORCE
コマンドを使用(強制引継ぎ)
HADR
プライマリーDB
TCP/IP
replay
スタンバイDB
TAKEOVER
61
© 2011 IBM Corporation
HADR同期方法
1.
2.
3.
4.
5.
クライアントからの接続
1
4
DB2エンジン
3
バッファ
プール
2
ログ
バッファ
7
代替の接続
(Automatic Client Reroute)
プライマリ
5
バッファ
TCP層
TCP層
非同期
5
log writer
TCP/IP
6
6.
7.
データ更新処理を受け取る
ログ・バッファに書き込む
データ・バッファ上で更新処理
コミットを受け取る
ログ・バッファの内容をディスクに書き込むと同時に
TCPレイヤーにログ・ページを転送
(→7:非同期)
スタンバイのHADRバッファへ書き込む (→6:近同期)
ディスクに書き込む
(→6:同期)
完了通知をプライマリに返す
コミット終了をユーザーへ返す
スタンバイ
HADR
バッファ
近同期
log reader
log reader
ログ
ログ
DB2エンジン
バッファ
バッファ
プール
5
Replay
5
表
索引
ログ
ログ
表
索引
同期
62
© 2011 IBM Corporation
DB2 V9.7 FP1 よりアクティブ・スタンバイとして使用可能
• 読み取り専用アプリケーションからのアクセスに使用可能
• レポーティングや負荷分散のために有効活用できる
• HADRスタンバイの高可用性や災害対策のための役割を損ねること
なく、参照業務をスタンバイ側で実行
• HADRを停止せずにスタンバイ側データベースの参照が可能
• ただし、分離レベルURの参照のみ
Read-Only クライアント
Read/Writeクライアント
ログ
Primary
Standby
※ スタンバイ側のライセンスは、
フルライセンスが必要となります。
63
© 2011 IBM Corporation
ブランク・ページ
64
© 2011 IBM Corporation
Q Replication
• 表単位で高速に複製可能
•
•
•
•
ログから更新データを収集
WebSphere MQのキューを介して更新データを送信
非同期レプリケーション
双方向や1対多のレプリケーションが可能
ターゲット表
ソース
Qキャプチャー制御表
INSERT
UPDATE
DELETE
ターゲット
Qアプライ制御表
DB2ログ
ソース表
WebSphere MQ
WebSphere MQ
エージェント
エージェント
エージェント
ブラウザ
圧縮
Q APPLY
Q CAPTURE
送信キュー
65
受信キュー
© 2011 IBM Corporation
(参考)Q Replicationの用語
• 制御表
• レプリケーション定義情報が格納されている表
• どの表を複製するか、表のレイアウト、どのMQを使用するかなど
• Qキャプチャ
• ソース表に対する変更データをログから収集してMQのメッセージに変換し、
キューに送信する
• OracleのLogMinerを使用して、Oracleからレプリケーションすることも可能(ただし
単一方向のみサポート)
• WebSphere MQ
• ソースからターゲットへメッセージを送受信するキューイング機能を提供す
る製品
• Qアプライ
• MQメッセージからトランザクションを再構築してターゲット表を更新する
• 他社DBへのレプリケーションが可能(ただし単一方向のみサポート)
66
© 2011 IBM Corporation
災害対策時のQ Replication構成
• 双方向レプリケーションを実施
セカンダリー
DB
セカンダリーDB
プライマリー
DB
プライマリーDB
log
Q Apply
Q Capture
Q Capture
Q Apply
Read/
Write
アプリケーション(READ/WRITE)
67
log
Read/
Write
アプリケーション(READ/WRITE)
© 2011 IBM Corporation
(参考)Q Replicationのレプリケーション・タイプ
• データベースの表から表への非同期複製
レプリケーション・タイプ
単方向レプリケーション
SOURCE
TARGET
Peer to Peerレプリケーション
TABLE
双方向レプリケーション(Bidir)
SOURCE
TARGET
TABLE
TABLE
トリガーとソース表へ
レプリケーション用の
列を追加する必要がある
災害対策時の構成
68
© 2011 IBM Corporation
HADR vs Q Replication
比較のポイント
HADR
Q Replication
レプリケーション対象
データベース
表
スタンバイへのデータの伝搬方法
ログ操作が転送され、
ROLLFORWARDによりセカンダリー
DBに適用される
DB2のログからコミット済みトランザクション・
データがキャプチャーされ、ターゲット表に適
用される
同期レプリケーションの可能性
可能
不可
非同期レプリケーションの可能性
可能
可能
サポートされるOS
Linux、UNIX、Windows
Linux、UNIX、Windows、z/OS
スタンバイDBへ接続できるか
可能(DB2 V9.7 FP1より、URのみ)
可能
DDLをレプリケーションできるか
可能
不可
プライマリとスタンバイのシステム構成
HW、OS、DB2 UDBのバージョンは
プライマリと同じである必要がある
HW、OS、DB2 UDBのバージョンはソース・
データベースと同じである必要はない
パフォーマンスをモニターするツール
db2pd
制御表、レプリケーション・アラート・モニター
ネットワーク上のデータの圧縮/暗号化
不可
可能
DPFでの実装は可能か
不可
可能
双方向レプリケーション
不可
可能
2つ以上のサーバーへのレプリケーション
不可
可能
必要ソフトウェア
DB2 EE、WSE、ESE
DB2 ESE、Homogeneous Replication
Feature for DB2 ESE(WebSphere MQ)
69
© 2011 IBM Corporation
参考
• DB2 pureScale
• http://www-06.ibm.com/software/jp/data/db2/v9/purescale/
• DB2 HADR
• http://www-06.ibm.com/software/jp/data/db2/v9/advantage/hadr.html
• Q Replication
• http://publib.boulder.ibm.com/infocenter/db2luw/v9r7/topic/com.ibm.swg.im.iis.db.repl.intro.
doc/topics/iiyrcintrsqr0.html
70
© 2011 IBM Corporation
Let’s go to Lab5!!
71
© 2011 IBM Corporation
Fly UP