...

Online Split Mirror

by user

on
Category: Documents
246

views

Report

Comments

Transcript

Online Split Mirror
Online Split Mirror
<第1.02版 2005年 7月>
お断り:当資料は、DB2 Universal Database for Linux, UNIX and Windows V8.2(V8.1 + FixPak9) をベースに作成されています。
Copyright 2005, IBM Japan Systems Engineering Co.,Ltd.
Online Split Mirror
DB2 UDB運用管理
目次
1.Split Mirrorイメージを利用したOnlineバックアップ
FlashCopyを利用したBackup手順の例
(参考)AIX環境でのFlashCopyにおける考慮点
2.SET WRITE SUSPEND/RESUMEコマンド
3.db2inidbユーティリティー
db2inidb-SNAPSHOTdb2inidb-STANDBYdb2inidb-MIRROR-
4.WRITE SUSPEND時の状態
SUSPEND I/O時の制約
SUSPEND I/O時の異常終了後のクラッシュ・リカバリー
5.Split Mirrorイメージからのバックアップ
6.Split Mirrorシナリオ
Copyright 2005, IBM Japan Systems Engineering Co.,Ltd.
2
Online Split Mirror
DB2 UDB運用管理
Split Mirrorイメージを利用したOnlineバックアップ
„ ESS FlashCopyなどのハードウェア・ベースのデータ・バックアップ、
コピー機能を使用したDBバックアップ/リストア運用をサポート
z ESSの有料フューチャーである、FlashCopy、Peer-to-Peer Remote Copy(OORC)
を利用して、短時間でDiskのコピー・イメージを取得する
z Backupユーティリティーを使用するよりも高速にバックアップの取得が可能
FlashCopy (Local)
Peer-to-Peer Remote Copy
(PPRC:対等リモート・コピー)
機能
瞬時にデータのコピーを取得する機能
ディスク・ボリューム単位でコピー
AIXではhdisk単位
利点
バックアップ処理によるアプリケーション停止時間の大幅な削減
テスト・データの容易な作成
データの容易な複製(BIアプリケーションへの利用など)
起動
Webアプリケーション
(ESS specialistの初期画面から、Copy Servicesを起動)
Web I/F+ command
フィーチャー
有料フィーチャーが必要
Copyright 2005, IBM Japan Systems Engineering Co.,Ltd.
3
Online Split Mirror
DB2 UDB運用管理
解説:Split Mirrorイメージを利用したバックアップ
¾
¾
¾
¾
近年、24時間365日DB2を止めることができないようなサービス形態は増加の一途をたどっています。また負荷分散、デー
タ保護などのため、データベースを「ミラー化」する、という要件も多くなっています。さらにテラバイトを超えるよう
なDBのバックアップ/リストアをDB2提供のBACKUP DB/RESTORE DBで行うことが現実的でないようなケースも出てきていま
す。
DB2 UDB V7.1以前までは、DB2 UDBとしてESS FlashCopyや他のOS提供のコピーを使用したBackup/Recovery手順がサポート
されず、db2コマンドとしてのbackup/restore/rollforwardコマンドを使用せざる得ませんでした。
DB2のユーティリティーである、Backup/Restore DBは、ESS FlashCopyなどに比べるとDBバックアップ取得の処理は遅く、
またReadのみを許可し、Writeを許可しないモードがDB2から提供されていなかったため、OS提供のコピーを使用した
Backupを取得しようとする場合には、DBを停止しなければなりませんでした。
OnlineのDBからFlash Copyのようなハードウェア・ベースのデータ・バックアップ、コピー機能を使用して、Split
Mirrorイメージを取得するため、DB2 UDB V7.1のFixpak1からは、新しいコマンドが提供されました。
z Split
Mirrorイメージには、データベースを構成するすべてのコンテナーおよびディレクトリー (ボリューム・ディレクトリーを含む)
を含んでいることを確認してください。
¾
¾
¾
¾
Flash Copy、Peer-to-Peer Remote Copy(PPRC)は、それぞれ IBM TotalStorage Enterprise Storage Server(ESS)の提
供する有料フィーチャーである、ESSコピーサービスとして提供される機能です。また、 IBM TotalStorage DSファミリー
製品でもFlashコピーはサポートされています。
Flash Copyは、ESSのボリュームのポイント・イン・タイム・コピーの取得を可能にします。つまり、FlashCopyが実行され
るとその時点でのDISKのコピーを取得することができます。FlashCopyは数秒で完了する非常に速い処理で、FlashCopyの
完了後はOriginalとCOPYの両方を使用できます。
PPRCは、あるESSのひとつのLogical Unit(LUN)から2番目のESSにある別LUNへのリアルタイムのミラーリングを可能にす
る、同期プロトコルです。この2番目のESSは遠隔地に置くことができます。PPRCはアプリケーションから独立しています。
コピーはディスクサブシステム単位で行われるため、アプリケーションからはそのコピー機能の存在を意識することがあ
りません。
ESS FlashCopyのサイト
http://www.ibm.com/jp/storage/products/disk/ess/flash.html
Copyright 2005, IBM Japan Systems Engineering Co.,Ltd.
4
Online Split Mirror
DB2 UDB運用管理
Split Mirrorイメージ取得時のコマンド
„ OnlineのDBからFlashCopyなどのハードウェア・ベースのデータ・バックアップ、
コピー機能を使用してSplit Mirrorイメージを取得するためのコマンドが提供さ
れている
„ set write suspend for database
すべてのTablespaceとLogに対するDISK書き込みを禁止
SELECT/INSERT/UPDATE/DELETEとも、表スペースやLOGのDISKへの書き込みを発生し
ない限り実行可能
z 書き込み禁止状態になったDBからFlashCopyのような機能を使ってSplit Mirrorイ
メージを取得する
z
z
„ set write resume for database
z
z
Suspend write状態の解除
Split Mirrorイメージの取得完了後、直ちにこのコマンドで書き込み禁止状態を解
除する
„ db2inidbユーティリティー
z
取得されたデータベースのSplit Mirrorイメージの用途を決定する
¾
¾
¾
SNAPSHOT
STANDBY
MIRROR
Copyright 2005, IBM Japan Systems Engineering Co.,Ltd.
5
Online Split Mirror
DB2 UDB運用管理
FlashCopyを利用したBackup手順の例
„ 手順
z データベースへの書き込みをWAITさせる、Write Suspend状態にする
¾ DBのsuspend
– set write suspend for database 実行
z Split Mirrorイメージの取得
¾ FlashCopy実行(web I/F or CLI)
– Disk cache中のdataはFlashCopy実行時にdiskにdestageされる。
– FlashCopyの論理コピー実行(同期確立)でシステムからはコピー完了と見える
– CLI taskは、同期確立でpromptが戻る
z Write Suspend状態の解除
¾ DBのresume
– set write resume for database 実行
z 同期確立後、target側diskの認識
¾ cfgmgr/importvg/fsck/mount
¾ target側で業務開始
z FlashCopyの物理データコピー終了
z webから実行の場合は画面で確認可能
z 取得されたSplit Mirrorイメージの用途を決定
¾ db2inidbユーティリティーを使用
Copyright 2005, IBM Japan Systems Engineering Co.,Ltd.
6
Online Split Mirror
DB2 UDB運用管理
(参考)AIX環境でのFlashCopyにおける考慮点
„ DB2,またはAIXが書込みを停止できないファイル・システムについ
ては取得対象のコピー元として考慮が必要
z FlashCopyの論理コピー中に、ファイル・システムに書き込みが発生すると、ター
ゲット側のファイル・システムの整合性が失われる場合がある
z 考慮が必要な環境(注1)
¾
¾
¾
DBMS:DB2 UDB for AIX V7.1(FP2以降)、V7.2、V8.1、V8.2
OS:AIX V4、V5でJFSまたはJFS2を使用している環境
Storage:IBM TotalStorage ESS / DSファミリー FlashCopy機能 等
z 考慮が必要なデータ
¾ インスタンス・ホームディレクトリー
¾ SMS一時表スペース
¾ アーカイブログ・ディレクトリー
¾ DB2運用のためのWork領域、Diagpath等
z 理由
¾ DB2のSET WRITE SUSPENDコマンドで書込みを停止することができない
¾ ディスクへの同期書込みを行っていない(AIXのキャッシュから非同期に書き込まれる可
能性がある)
z 対応方法
¾ FlashCopyの対象外とする
¾ 可能であればFlashCopy前にunmountする
¾ SMS一時表スペースについては、DMS File/Raw いずれかで作成すれば回避可能 等
„ 詳細は、Technote(Reference #:1191417)参照
(注1)Storage,OSとの連携に関わる部分に関しては、製品の新しい機能により、当資料の情報が更新される可能性があることをご了承く
ださい。最新の状況をご確認いただくようお願いいたします。
Copyright 2005, IBM Japan Systems Engineering Co.,Ltd.
7
Online Split Mirror
DB2 UDB運用管理
解説:(参考)AIX環境でのFlashCopyにおける考慮点
¾
FlashCopyの論理コピー中にDB2,AIXからファイル・システムに書き込みが発生すると、ターゲット側のファイル・システ
ムの整合性が失われる場合があるため、DB2,またはAIXが書込みを停止できないファイル・システムについてはコピー元の
取得対象として考慮が必要です。
考慮が必要となる環境は以下の組合せになります。
z DBMS:DB2 UDB for AIX V7.1(FP2以降)、V7.2、V8.1、V8.2
z OS:AIX V4、V5でJFSまたはJFS2を使用している環境
z Storage:IBM TotalStorage ESS / DSファミリー FlashCopy機能 等
(※お断り)
Storage,OSとの連携に関わる部分に関しては、製品の新しい機能により、当資料の情報が更新される可能性があることを
ご了承ください。最新の状況をご確認いただくようお願いいたします。
¾
¾
FlashCopyの対象外とすべきデータは以下の通りです。
z インスタンス・ホームディレクトリー
(理由)
•
•
•
¾
DB2のSET WRITE SUSPENDコマンドで書き込みを停止することができない
ディスクへの同期書き込みを行っていないため、ディスクに書かれていないデータが、AIXのキャッシュ上に残る可能性がある
unmountするにはDB2の停止が必要
FlashCopyを実施する際に考慮が必要となるデータは以下の通りです。
z SMS一時表スペース
z アーカイブログ・ディレクトリー
z DB2運用のためのWork領域
z 構成パラメータで指定されたDiagpath
z DB2 Load Copyファイル
z DB2 Export先のファイル
z DB2 BACKUPコマンドで取得したバックアップイメージ 等
(理由)
•
•
DB2のSET WRITE SUSPENDコマンドで書き込みを停止することができないため (アーカイブログ、DIAGPATH、work領域など)
ディスクへの同期書き込みを行っていないため (SMS 一時表スペース、DB2 Load Copy/Export/Backupファイル)
Copyright 2005, IBM Japan Systems Engineering Co.,Ltd.
8
Online Split Mirror
DB2 UDB運用管理
解説:(参考)AIX環境でのFlashCopyにおける考慮点(続き)
¾
対応方法
z FlashCopyの対象外とする
z 可能であればFlashCopy前にunmountする
•
z
¾
インスタンス・ホームディレクトリーはunmountするということ、すなわちDB2の停止が必要となるため、基本的には対象外とする。
但し、インスタンスホーム下の重要なファイルについては、FlashCopy以外の方法でテープ装置等へのバックアップを行うことを推奨
します。
SMS一時表スペースについては、DMS File/Raw いずれかで作成すれば回避は可能。
なお、以下については、FlashCopyの対象とすることが可能です。
アクティブ・ログディレクトリー
Regular/Large表スペース(SMS/DMS)
システムカタログ表スペース(SMS/DMS)
一時表スペース(DMS)
ローカル・データベース・ディレクトリー
(理由)
• 上記ファイル・システムに関しては、DB2のSET WRITE SUSPENDコマンドで書き込みを停止することが可能です
• また、常にディスクへの同期書き込みを行っているため、ディスクに書かれていないデータが、AIXのキャッシュ上に残りません。
(考慮点)
• アクティブ・ログディレクトリー
¾SET WRITE SUSPENDコマンド実行時、Log Buffer内のログ・ページはディスクへForce Writeされるが、バッファープール内に
あるデータ・ページは、ディスクへForce Writeされない。
¾正Volumeから副Volumeにコピーバックし、db2inidb as mirrorコマンドによりリカバリーする際には、以下のいずれかの対応
が必要
1. アクティブログディレクトリーはコピーバックの対象としない(あらかじめ、他のFSとFlashCopyのタスクを分けておく)
2. プライマリー側のアクティブログを他の領域に退避させ、コピーバックを行う
• Regular/Large表スペース
¾SMS Regular/Large表スペースを使用している場合には、DB2 LOADコマンド実行中にFlashCopyを実行しないこと
z
z
z
z
z
¾
詳細は、World Wideで発行されているTechnote(Reference #:1191417)を参照
z 参照先リンク:http://www1.ibm.com/support/docview.wss?rs=71&context=SSEPGG&dc=DB520&q1=flashcopy&uid=swg21191417&loc=en_US&cs=utf
-8&lang=en
Copyright 2005, IBM Japan Systems Engineering Co.,Ltd.
9
Online Split Mirror
DB2 UDB運用管理
ブランク・ページです。
Copyright 2005, IBM Japan Systems Engineering Co.,Ltd.
10
Online Split Mirror
DB2 UDB運用管理
SET WRITE SUSPEND/RESUME コマンド
>>-SET--WRITE--+-SUSPEND-+--FOR--+-DATABASE-+------------------><
'-RESUME--'
'-DB-------'
„ set write suspend for database
z 全ての表スペースとログに対するDISKへの書き込みを禁止
z すべてのTablespaceとLogに対するDISK書き込みを禁止
¾ 書き込み禁止のリソースへの書き込み要求はWAIT状態になる
¾ バッファープールへの書き込み、ログバッファーへの書き込みは認める
z SELECT/INSERT/UPDATE/DELETEとも、表スペースやLOGのDISKへの書き
込みを発生しない限り実行可能
バッファープール、ログバッファーに空きがある限り、UPDATE/INSERT/DELETEの
実行可能
¾ 更新トランザクションのCOMMITは、ログバッファーのDISKフラッシュをするので
WAITになる
¾ 一時表スペースへの書き込みが必要なSELECTはWAITになる
¾
z 発行するとLog Buffer内のログは、DiskへForce Writeされる
¾ バッファープール内にあるページは、DiskへForce Writeされない
¾ 途中のログは、トランケートされる
z 書き込み禁止状態になったDBからFlashCopyのような機能を使ってSplit Mirror
イメージを取得する
¾
DBを停止する必要はなし
„ set write resume for database
z Suspend write状態を解除
Copyright 2005, IBM Japan Systems Engineering Co.,Ltd.
11
Online Split Mirror
DB2 UDB運用管理
解説:SET WRITE SUSPEND/RESUME コマンド
¾
¾
¾
¾
¾
SET WRITE SUSPENDを実行した同じ接続からSET WRITE RESUMEコマンドを発行することが推奨されています。
set write suspend for database
z すべてのTablespaceとLogに対するDISK書き込みを禁止します。DISK書き込み禁止の状態になっても、バッファー
プールやログバッファーといったメモリー上の領域への書き込みは禁止しません。
ですから、SELECT/INSERT/UPDATE/DELETEとも、DISKへの書き込みが発生しない限り実行可能です。
すなわち、バッファープール、ログバッファーに空きがある限り、UPDATE/INSERT/DELETEの実行は可能ですが、それ
らをCOMMITしようとした時点でWAIT状態になります。COMMITはログバッファーのフラッシュをするからです。
また、SELECTであっても書込み禁止のDISKへの書き込みを必要とする場合、WAIT状態になる可能性があります。
z 書き込み禁止されたリソースに書込み要求をしてWAITになる例:
– SELECT でもORDER BYをし、そのシステム一時表スペースへ書き込みをする場合
– そのSELECT自身がDirty Page(Bufferpool上にあるデータで変更があったページ)をdiskへ書き戻しを要求する
ような場合
z SET WRITE SUSPEND FOR DATABASEが発行されるとLog Buffer内のログはDiskへForce Writeされます。
z バッファープール内にあるページはDiskへForce Writeされません。
z set write suspendコマンドが実行された時点で、使用されていたアクティブ・ログ・ファイルは、トランケートさ
れます。
z バッファープール内のDirtyページに書かれた情報はSplit Mirroredイメージには書かれないことになりますが、ロ
グには反映されています。後ほどこのSplit Mirrorを使用するときにはCrashリカバリー(またはROLLFORWARD)を実
行することでログにある更新情報をSplit Mirrorイメージの方へ反映させることができます。
set write resume for database
z Suspend_write状態を解除します。
(DBが異常終了していない場合に)クラッシュ・リカバリーを実行せずにDB入力許可を再開。
SET WRITE SUSPENDコマンドを発行した接続がハングし、WRITE RESUMEを実行できなくなった場合には、RESTART DATABASE
コマンドにて、WRITE RESUMEを指定して実行すると、(DBが異常終了していない場合には)クラッシュ・リカバリーが実
行されずにDBが再始動します。(後述)
Copyright 2005, IBM Japan Systems Engineering Co.,Ltd.
12
Online Split Mirror
DB2 UDB運用管理
db2inidbユーティリティー
„ 取得されたSplit Mirrorイメージの用途を決定する
>>-db2inidb--database_alias--AS--+-SNAPSHOT-+------------------->
+-STANDBY--+
'-MIRROR---'
>--+----------------------------+------------------------------><
'-RELOCATE USING--configFile-'
z Snapshot
¾ Crashリカバリーが実行され, Write Suspend状態が解除
¾ Split Mirrorが取得された時点でCOMMITもROLLBACKもされていないトランザクション
はROLLBACKされる
¾ 循環ログを用いているDBからのSplit Mirrorには、このオプションのみ使用可能
z Standby
¾ Crashリカバリーは実行せず、DBをRollforward Pending状態にする。Write Suspend状
態は解除
¾ OriginalのDBで生成されたログファイルを使って随時ROLLFORWARDを実行
z Mirror
¾ Crashリカバリーは実行せず、DBをRollforward Pending状態にする。Write Suspend状
態は解除
¾ Split MirrorをあたかもDBのバックアップのように使用する際に指定
¾ Split MirrorをPrimaryDB上に戻してから db2inidb ... as mirror を実行
Copyright 2005, IBM Japan Systems Engineering Co.,Ltd.
13
Online Split Mirror
DB2 UDB運用管理
解説:db2inidbユーティリティー
¾
¾
¾
¾
¾
SET WRITE SUSPENDコマンドは、ログバッファーのフラッシュは行いますが、バッファープール上のDirtyページのフラッ
シュは行いません。ですから、取得したSplit Mirrorイメージは整合性の取れていない状態にあります。
db2inidbコマンドは、取得したSplit Mirrorイメージをどのような目的に使用するのかをDB2に知らせるために使用します。
スナップショット
z Crashリカバリーが実行され、Write Suspend状態が解除されます。新しいLOG CHAINが始まるため、元のデータベース
のいかなるログからもロールフォワードは実行できません。
– db2inidb <db_name> as snapshot
z db2inidbコマンドが完了した時点で、データベースはバックアップを含むすべての作業を行えるようになります。循
環ログ方式を用いている場合、SNAPSHOTのみ指定可能です。
スタンバイ
z データベースをロールフォワード保留状態にします。
– db2inidb <db_name> as standby
z スタンバイとミラーの両オプションではCrashリカバリーは実行されません。また、実行途中のトランザクションは未
解決のままになるため、データベースは不整合状態のままです。
z STANDBYオプションでdb2initdbコマンドが実行されたSplit Mirrorは、ROLLFORWARD保留状態のままセカンダリーDBに
おいておきます。Primaryで生成されたログファイルは随時SecondaryへROLLFORWARDを使って適用してゆきます。
Secondaryを使いたくなった時点でROLLFORWARD ...COMPLETEを実行すれば良いわけです。
ミラー
z ミラーコピーは元データベースに置きかえられ、データベースはロールフォワード保留状態になり、そしてWRITE
SUSPEND状態は解除されます。
– db2inidb <db_name> as mirror
z 分割されたDBイメージのログではなく、プライマリーDBのログを使ってROLLFORWARDを実行することが必要です。
Copyright 2005, IBM Japan Systems Engineering Co.,Ltd.
14
Online Split Mirror
DB2 UDB運用管理
db2inidb-SNAPSHOT„ 読み取り専用のセカンダリーDBに、アプリケーション用にある時点
のプライマリー DBのクローンを作成する
Data
Data
Active
Log
Active
Log
z Primaryからアーカイブログ
は転送しない
Archived
Log
DataBase
DataBase
Secondary
Primary
Q
SNAPSHOT手順
O
1.Primaryにてdb2 set write suspend for database
O
2.OS LevelでのPrimaryからSecondaryへCopyを実施
O
3.Primaryにてdb2 set write resume for database
O
4.Secondaryにてdb2start
O
5.Secondaryにてdb2inidb <DB> as snapshot ( =>Read/Write使用可能状態)
Copyright 2005, IBM Japan Systems Engineering Co.,Ltd.
15
Online Split Mirror
DB2 UDB運用管理
解説:db2inidb-SNAPSHOT¾
¾
¾
¾
¾
¾
db2inidb..as snapshotを実行すると、Split Mirrorイメージ取得時に未了であったトランザクションがロールバックされ、
Primaryデータベースからのいずれのログもクローン・データベース上で再生されないように、新規ログ・チェーン・シーケ
ンスを開始します
デフォルトでは、Primaryからコピーされたデータベースは、同じPrimaryのシステム上に存在させることはできません。
ミラーリングされたデータベースは、同じディレクトリー構造を持ち、 Primaryデータベースと同じインスタンス名を使用す
る Secondaryシステム上に置く必要があります。
また、データベースで使用するコンテナー(RAWデバイスなど)にインスタンスからアクセスできるように、権限の設定を同
じにしておく必要があります。
z もし、db2inidb .. as snapshotを実行した際に、例えば/dev/rxxxなどのデバイスの所有者を、インスタンス・ユー
ザーに変更していなかったことが原因で、RAWデバイス・コンテナーを持つ表スペースのみ、ROLLFORWARD保留状態に
なってしまった場合には、ROLLFORWARD DATABASEコマンドを、ROLLFORWARD保留状態の表スペースを全てリストしてから、
ONLINEオプション指定、to end of logs指定で実行することで、NORMAL状態に戻すことができます。
ミラーリングされたデータベースを Primaryデータベースと同じシステム上に存在させなければならない場合には、
db2relocatedbユーティリティー、または db2inidb コマンドの RELOCATE USING オプションを使用することができます。
これによってPrimaryのシステム上に異なるDB名、異なるインスタンス名、異なるログパスで、コピーされたデータベースを
置く事ができます。
O
O
O
O
O
O
O
1.Primaryにてdb2 set write suspend for database
2.OS LevelでのPrimaryからSecondaryへCopyを実施
3.Primaryにてdb2 set write resume for database
4.Primaryにてコピーを別の場所へ解凍
4.Primaryにてdb2relocatedbまたはdb2inidb snapshot .... RELOCATE USINGを使用
(db2relocatedbを実行時には、Primaryにてdb2inidb <DB> as snapshot)
=>Read/Write使用可能状態
Copyright 2005, IBM Japan Systems Engineering Co.,Ltd.
16
Online Split Mirror
DB2 UDB運用管理
解説:db2inidb-SNAPSHOT-(続き)
¾
db2inidb ... as SNAPSHOT RELOCATE USING の実行
$ cat relocate.cfg
DB_NAME=TEST1,TEST1
DB_PATH=/home/db2inst1,/work
INSTANCE=db2inst1,db2inst1
LOG_DIR=/home/db2inst1/db2inst1/NODE0000/SQL00003/SQLOGDIR/,/work/db2inst1/NODE0000/SQL00003/SQLOGDIR/
$ db2 list db directory
システム・データベース・ディレクトリー
ディレクトリー中の項目数 = 3
~ 中略 ~
データベース 2 項目:
データベース別名
データベース名
ローカル・データベース・ディレクトリー
データベース・リリース・レベル
コメント
ディレクトリー項目タイプ
カタログ・データベース・パーティション番号
代替サーバー・ホスト名
代替サーバーのポート番号
=
=
=
=
=
=
=
=
=
TEST1
TEST1
/home/db2inst1
a.00
間接
0
$ db2 connect to test1
データベース接続情報
データベース・サーバー
SQL 許可 ID
ローカル・データベース別名
= DB2/6000 8.2.0
= DB2INST1
= TEST1
Copyright 2005, IBM Japan Systems Engineering Co.,Ltd.
17
Online Split Mirror
DB2 UDB運用管理
解説:db2inidb-SNAPSHOT-(続き)
¾
db2inidb ... as SNAPSHOT RELOCATE USING の実行(続き)
$ db2inidb test1 as snapshot relocate using relocate.cfg
データベースを再配置しています...
ファイルおよび制御構造は正常に変更されました。
データベースは正常にカタログされました。
DBT1000I ツールは正常に完了しました。
データベースの再配置が成功しました。
DBT1036N データベース "TEST1" の再配置が成功した後、ディレクトリー・キャッシュのリフレッシュができません。 SQLCODE = "-1025"。
$ db2 terminate
DB20000I TERMINATE コマンドが正常に終了しました。
$ db2 list db directory
システム・データベース・ディレクトリー
ディレクトリー中の項目数 = 3
~ 中略 ~
データベース 2 項目:
データベース別名
データベース名
ローカル・データベース・ディレクトリー
データベース・リリース・レベル
コメント
ディレクトリー項目タイプ
カタログ・データベース・パーティション番号
代替サーバー・ホスト名
代替サーバーのポート番号
=
=
=
=
=
=
=
=
=
TEST1
TEST1
/work
a.00
間接
0
$ db2 connect to test1
データベース接続情報
データベース・サーバー
SQL 許可 ID
ローカル・データベース別名
Copyright 2005, IBM Japan Systems Engineering Co.,Ltd.
= DB2/6000 8.2.0
= DB2INST1
= TEST1
18
Online Split Mirror
DB2 UDB運用管理
db2inidb-STANDBY„ 常時プライマリーのデータベースからロールフォワード可能な
Standbyデータベースをセカンダリーに作成する
Data
Data
Active
Log
DataBase
DataBase
Q
を転送する
Secondary
Primary
手順
z Primaryからアーカイブログ
Archived
Log
Archived
Log
1.Primaryにてdb2 set write suspend for database
2.OS LevelでのPrimaryからSecondaryへCopyを実施
3.Primaryにてdb2 set write resume for database
4.Secondaryにてdb2start
5.SecondaryにてCopyされたActive LOG削除(COPYされていれば)
6.Secondaryにてdb2inidb <DB> as Standby( =>Rollforward Pending状態)
7.Primary側のUserExitにて書き出されたLog FileをSecondaryへ転送、Secondary側で
ROLLFORWARD実行(STOP/COMPLETEオプションは付けない) (以降、繰り返す)
8.もしPrimary側がDownしたらばRollforward with STOP/COMPLETEをSecodary側にて実施
O
O
O
O
O
O
O
O
Copyright 2005, IBM Japan Systems Engineering Co.,Ltd.
19
Online Split Mirror
DB2 UDB運用管理
解説:STANDBYの例
¾
Primary側にてUser ExitをON
z USEREXIT
#define
#define
#define
#define
#define
#define
#define
z db2
¾
Programを修正
ARCHIVE_PATH
RETRIEVE_PATH
AUDIT_ACTIVE
ERROR_ACTIVE
AUDIT_ERROR_PATH
AUDIT_ERROR_ATTR
BUFFER_SIZE
"/work/"
"/work/"
1
1
"/work/"
"a"
32
/* path must end with a slash
/* path must end with a slash
/* enable audit trail logging
/* enable error trail logging
/* path must end with a slash
/* append to text file
/* # of 4K pages for output buffer
*/
*/
*/
*/
*/
*/
*/
update db cfg for test2 using userexit on
Primary側で更新後、接続を解除 --->
z アクティブlogがクローズされArchived Log Path(/work/V8DB/NODE0000)へUSEREXITにてLOGが書き出される
$ db2 "import from test_source.ixf of ixf messages imp.msg create into test_source"
読み込まれた行数
スキップされた行数
挿入された行数
更新された行数
拒否された行数
コミットされた行数
=
=
=
=
=
=
5
0
5
0
0
5
$ db2 "select * from test_source"
ROW_NUMBER TEST_DATA DESCRIPTION
---------- --------- -------------------1
1 this is row1
1 レコードが選択されました。
$ db2 termiante
Copyright 2005, IBM Japan Systems Engineering Co.,Ltd.
20
Online Split Mirror
DB2 UDB運用管理
解説:STANDBYの例(続き)
¾
Primary側にてSET WRITE SUSPEND FOR DATABASE
$db2 set write suspend for database
DB20000I The SET WRITE command completed successfully.
¾
File転送+FTP(またはESSのFlashCopy)
z tar -cvf /tmp/db2v82.tar /work/db2v82
z Primary->Secondary FTP実施
¾
Primary側にてSET WRITE RESUME FOR DATABASE
z 通常にRead/Write可能
¾
Secondary側にてdb2stop
Secondary側の/sqllib/adm下へPrimaryと同じUSEREXITプログラムをCOPY(db2uext2)
Secondary側にて解凍
¾
Secondary側にてdb2start 後db2inidb
¾
¾
z tar
-xvf /tmp/db2v82.tar /work/db2v82
z db2start
z (前回のSNAPSHOT Test時のデータ,ログ消去の為、db2
z db2inidb test as standby
drop db testおよびcatalog db test on /workを実施しておく)
Copyright 2005, IBM Japan Systems Engineering Co.,Ltd.
21
Online Split Mirror
DB2 UDB運用管理
解説:STANDBYの例(続き)
¾
Secondary側でdb2inidbを実施後、接続TRY
$ db2inidb test as standby
DBT1000I ツールは正常に完了しました。
$ db2 rollforward db test query status
ロールフォワード状況
¾
入力データベース別名
状況を返したノードの数
= test
= 1
ノード番号
ロールフォワード状況
次に読み込むログ・ファイル
処理したログ・ファイル
最後にコミットしたトランザクション
=
=
=
=
=
0
DB ペンディング
S0000001.LOG
1970-01-01-00.00.00.000000
Primary側にて更新後、接続を切断する
$ db2 connect
データベース接続情報
データベース・サーバー
SQL 許可 ID
ローカル・データベース別名
= DB2/6000 8.2.0
= DB2V82
= TEST
$ db2 "update test_source set test_data=test_data+100"
DB20000I SQL コマンドが正常に終了しました。
$ db2 terminateDB20000I
TERMINATE コマンドが正常に終了しました。
$ ls /work/V8DB/NODE0000
S0000000.LOG S0000001.LOG
Copyright 2005, IBM Japan Systems Engineering Co.,Ltd.
22
Online Split Mirror
DB2 UDB運用管理
解説:STANDBYの例(続き)
¾
PrimaryからSecondaryへArchived LOG(S0000001.LOG)を転送後、SecondaryにおいてRollforwardを実施
$ db2 rollforward db test to end of logs
ロールフォワード状況
入力データベース別名
状況を返したノードの数
= test
= 1
ノード番号
ロールフォワード状況
次に読み込むログ・ファイル
処理したログ・ファイル
最後にコミットしたトランザクション
=
=
=
=
=
DB20000I
0
DB 作業中
S0000002.LOG
S0000001.LOG - S0000001.LOG
2004-12-25-11.48.14.000000
ROLLFORWARD コマンドが正常に終了しました。
$ db2 connect to test
SQL1117N ロールフォワード・ペンディングのために、データベース "TEST"の接続または活動化を行なうことはできません。
SQLSTATE=57019
¾
上記を繰り返し、常にSecondaryはRollforward Pending状態
¾
SecondaryDBでロールフォワード保留状態を解消し、アプリケーションからアクセス可能にするためには、ROLLFORWARD DB
<DBNAME>TO END OF LOGS AND COMPLETEを実行する。その時点で(適用したログの範囲で)完了していないトランザクショ
ンはROLLBACKとみなされる。
Copyright 2005, IBM Japan Systems Engineering Co.,Ltd.
23
Online Split Mirror
DB2 UDB運用管理
ブランク・ページです。
Copyright 2005, IBM Japan Systems Engineering Co.,Ltd.
24
Online Split Mirror
DB2 UDB運用管理
db2inidb-MIRROR„ セカンダリーへコピーされたSplit Mirrorからプライマリーへコピー
バックし、PrimaryDBのLOGからロールフォワード可能なデータ
ベースを作成する
Data
Data
z MirrorとしてCopy Backする前
に更新されてはいけない
Active
Log
Archived
Log
DataBase
DataBase
Secondary
Primary
手順
Q
O
O
O
O
O
O
O
O
1.Primaryにてdb2 set write suspend for database
2.OS LevelでのPrimaryからSecondaryへCopyを実施
3.Primaryにてdb2 set write resume for database
4.<Primaryにて通常運用後、 障害発生>
5.SecondaryからPrimaryへCOPY Back (Primary側のLogは退避させておく)
· SecondaryのLOGはCOPY Backしないが、DBディレクトリ下のlog control fileは含める
6.Primaryにてdb2start (db2inidb前にDBへのConnectまたはDBのActivateを行うとロールフォワー
ド・リカバリーで必要なログ・ファイルが消去されるので注意が必要です)
7.Primaryにてdb2inidb <DB> as Mirror( =>Rollforward Pending状態)
8.Primary側で既存のLOGを使用してRollforward + STOP/COMPLETEを実施
Copyright 2005, IBM Japan Systems Engineering Co.,Ltd.
25
Online Split Mirror
DB2 UDB運用管理
db2inidb-MIRROR- 使用上の注意
„ 初期化する前にスプリット・ミラー・データベースに接続すると、ロー
ルフォワード・リカバリーで必要なログ・ファイルが消去される
z その接続によって、データベースは、中断された時点にあった状態に戻る。
z 中断の時点でデータベースが整合とマーク付けされると、DB2 UDB はクラッシュ・リカ
バリーの必要はないと判断して、将来の利用のためにログ・ファイルを消去する。
z この後、ロールフォワードを実行すると、SQL4970N エラー・メッセージが戻される
¾
ロールフォワードが失敗する例
① 障害発生
② バックアップ・イメージとしてミラーリングされたDBをCopy Back
③ db2start
④ db2 connect to <database> (ログが消去される)
⑤ db2inidb as mirror
⑥ ROLLFORWARD ⇒ SQL4970N エラー(ログファイルが存在しない)
„ db2inidb <database> as mirror コマンド発行前に DBを活動化し
ないこと
z DBの活動化:db2 connect to <database> コマンド実行(または、activate dbコマン
ド)
z 不用意にクライアントから接続等がされない環境でリカバリー運用する必要がある
Copyright 2005, IBM Japan Systems Engineering Co.,Ltd.
26
Online Split Mirror
DB2 UDB運用管理
解説:Mirrorの例
¾
Primary DB側で表の内容を確認後、更新(接続は切断しない-->更新はActive Log上にある状態)
$ db2 connect to test
データベース接続情報
データベース・サーバー
SQL 許可 ID
ローカル・データベース別名
= DB2/6000 8.2.0
= DB2V82
= TEST
$ db2 get db cfg | grep LOGRETAIN
リカバリー用ログの保持使用可能
第 1 ログ・アーカイブ・メソッド
(LOGRETAIN) = RECOVERY
(LOGARCHMETH1) = LOGRETAIN
$ db2 "insert into t1 values (4,4,'Row 4')"
DB20000I SQL コマンドが正常に終了しました。
db2v82@raymond[/work/db2v82]$ db2 "select * from t1"
COL1
COL2
----------- ----------1
1
2
2
3
3
4
4
COL3
---------Row 1
Row 2
Row 3
Row 4
4 レコードが選択されました。
$ ls /data1/v8dblog/NODE0000/
S0000000.LOG S0000001.LOG S0000002.LOG
S0000003.LOG
Copyright 2005, IBM Japan Systems Engineering Co.,Ltd.
27
Online Split Mirror
DB2 UDB運用管理
解説:Mirrorの例(続き)
¾
Primary側にて接続があるにも関わらず、異常終了させる
別セッションにてdb2stop -killを実行
$ db2 list applications
許可 ID
アプリケーション アプリケーション・
アプリケーション ID
DB
名
ハンドル
名
-------- -------------- ---------- ------------------------------ -------- ----DB2V82
db2bp
51
*LOCAL.db2v82.041225121428
TEST
1
$ db2stop -kill
SQL1064N DB2STOP の処理が正常に終了しました。
SQL1042C 予期しないシステム・エラーが発生しました。
¾
SQLSTATE=58004
Secondary側からDB Copy Imageのみをコピーバックする(Secondary側のActive,Archived Logはコピーバックしない)
z ESS
¾
エージェントの
数
FlashCopyまたはtar+ftpの実施
Primary側でdb2start, db2inidbを実施(db2startで起動した後にdb2inidbを実行すること)
$ db2inidb test as mirror
DBT1032N インスタンスは、現在アクティブではありません。
$ db2start
SQL1063N DB2START の処理が正常に終了しました。
$ db2inidb test as mirror
DBT1000I ツールは正常に完了しました。
$ db2 connect to test
SQL1117N ロールフォワード・ペンディングのために、データベース "TEST"
の接続または活動化を行なうことはできません。 SQLSTATE=57019
Copyright 2005, IBM Japan Systems Engineering Co.,Ltd.
28
Online Split Mirror
DB2 UDB運用管理
解説:Mirrorの例(続き)
¾
Primary側でロールフォワード
$ db2 rollforward db test to end of logs and stop
ロールフォワード状況
入力データベース別名
状況を返したノードの数
= test
= 1
ノード番号
ロールフォワード状況
次に読み込むログ・ファイル
処理したログ・ファイル
最後にコミットしたトランザクション
=
=
=
=
=
DB20000I
0
非ペンディング
S0000001.LOG - S0000003.LOG
2004-12-25-12.25.35.000000
ROLLFORWARD コマンドが正常に終了しました。
$ db2 connect to test
データベース接続情報
データベース・サーバー
SQL 許可 ID
ローカル・データベース別名
= DB2/6000 8.2.0
= DB2V82
= TEST
db2v82@raymond[/work/db2v82/NODE0000/SQL00001/SQLOGDIR]$ db2 "select * from t1"
COL1
COL2
----------- ----------1
1
2
2
3
3
4
4
COL3
---------Row 1
Row 2
Row 3
Row 4
4 レコードが選択されました。
Copyright 2005, IBM Japan Systems Engineering Co.,Ltd.
29
Online Split Mirror
DB2 UDB運用管理
ブランク・ページです。
Copyright 2005, IBM Japan Systems Engineering Co.,Ltd.
30
Online Split Mirror
DB2 UDB運用管理
WRITE SUSPEND時の表スペース状態
„ WRITE SUSPEND時は、すべてのTABLESPACEが書き込み禁止
WRITE SUSPEND時
¾
¾
WRITE RESUME後
$ db2 set write suspend for database
DB20000I SET WRITE コマンドが正常に終了しました。
$ db2 set write resume for database
DB20000I SET WRITE コマンドが正常に終了しました。
$ db2 list tablespaces
$ db2 list tablespaces
現在のデータベースの表スペース
現在のデータベースの表スペース
表スペース ID
名前
タイプ
内容
状態
詳しい説明:
書き込み中断
=
=
=
=
=
0
SYSCATSPACE
システム管理スペース
任意のデータ
0x10000
表スペース ID
名前
タイプ
内容
状態
詳しい説明:
標準
=
=
=
=
=
0
SYSCATSPACE
システム管理スペース
任意のデータ
0x0000
表スペース ID
名前
タイプ
内容
状態
詳しい説明:
書き込み中断
=
=
=
=
=
1
TEMPSPACE1
システム管理スペース
システム一時データ
0x10000
表スペース ID
名前
タイプ
内容
状態
詳しい説明:
標準
=
=
=
=
=
1
TEMPSPACE1
システム管理スペース
システム一時データ
0x0000
表スペース ID
名前
タイプ
内容
状態
詳しい説明:
書き込み中断
=
=
=
=
=
2
USERSPACE1
システム管理スペース
任意のデータ
0x10000
表スペース ID
名前
タイプ
内容
状態
詳しい説明:
標準
=
=
=
=
=
2
USERSPACE1
システム管理スペース
任意のデータ
0x0000
Copyright 2005, IBM Japan Systems Engineering Co.,Ltd.
31
Online Split Mirror
DB2 UDB運用管理
解説:WRITE SUSPEND時の表スペース状態
¾
SET WRITE SUSPEND FOR DATABASE を実行すると、そのデータベースのすべての表スペースがwrite suspend状態(0x10000)
となって書き込み不能となります。
¾
db2diag.logの出力
(DB2 UDB V8.1 フォーマット)
SET WRITE SUSPENDコマンド実行
2003-08-25-10.03.52.441541 Instance:udbv81 Node:000
PID:29091(db2agent (TEST)) TID:1024 Appid:*LOCAL.udbv81.028DF5095741
buffer pool services sqlbSuspendWrite Probe:80 Database:TEST
ADM6075W The table space "SYSCATSPACE" (ID "0") has been placed in the
WRITE_SUSPEND state. All write I/O for this table space will be suspended
until a WRITE RESUME is issued.
2003-08-25-10.03.52.471226 Instance:udbv81 Node:000
PID:29091(db2agent (TEST)) TID:1024 Appid:*LOCAL.udbv81.028DF5095741
buffer pool services sqlbSuspendWrite Probe:80 Database:TEST
ADM6075W The table space "TEMPSPACE1" (ID "1") has been placed in the
WRITE_SUSPEND state. All write I/O for this table space will be suspended
until a WRITE RESUME is issued.
2003-08-25-10.03.52.473457 Instance:udbv81 Node:000
PID:29091(db2agent (TEST)) TID:1024 Appid:*LOCAL.udbv81.028DF5095741
buffer pool services sqlbSuspendWrite Probe:80 Database:TEST
ADM6075W The table space "USERSPACE1" (ID "2") has been placed in the
WRITE_SUSPEND state. All write I/O for this table space will be suspended
until a WRITE RESUME is issued.
Copyright 2005, IBM Japan Systems Engineering Co.,Ltd.
SET WRITE RESUMEコマンド実行
2003-08-25-10.05.19.981732 Instance:udbv81 Node:000
PID:29091(db2agent (TEST)) TID:1024 Appid:*LOCAL.udbv81.028DF5095741
buffer pool services sqlbUnsuspendWrite Probe:20 Database:TEST
ADM6076W The table space "SYSCATSPACE" (ID "0") which was previously in the
WRITE_SUSPEND state is no longer in that state. Write I/O has been resumed to
the table space.
2003-08-25-10.05.19.984154 Instance:udbv81 Node:000
PID:29091(db2agent (TEST)) TID:1024 Appid:*LOCAL.udbv81.028DF5095741
buffer pool services sqlbUnsuspendWrite Probe:20 Database:TEST
ADM6076W The table space "TEMPSPACE1" (ID "1") which was previously in the
WRITE_SUSPEND state is no longer in that state. Write I/O has been resumed to
the table space.
2003-08-25-10.05.19.985792 Instance:udbv81 Node:000
PID:29091(db2agent (TEST)) TID:1024 Appid:*LOCAL.udbv81.028DF5095741
buffer pool services sqlbUnsuspendWrite Probe:20 Database:TEST
ADM6076W The table space "USERSPACE1" (ID "2") which was previously in the
WRITE_SUSPEND state is no longer in that state. Write I/O has been resumed to
the table space.
32
Online Split Mirror
DB2 UDB運用管理
解説:WRITE SUSPEND時の表スペース状態(続き)
¾ db2diag.logの出力(続き)
(DB2 UDB V8.2 フォーマット)
SET WRITE SUSPENDコマンド実行
2004-12-25-21.45.31.700396+540 E62255C544
LEVEL: Warning
PID : 1663010
TID : 1
PROC : db2agent (TEST)
INSTANCE: db2v82
NODE : 000
DB : TEST
APPHDL : 0-11
APPID: *LOCAL.db2v82.041225124042
FUNCTION: DB2 UDB, buffer pool services, sqlbSuspendWrite, probe:80
MESSAGE : ADM6075W The table space "SYSCATSPACE" (ID "0") has been placed
in the WRITE_SUSPEND state. All write I/O for this table space will be
suspended until a WRITE RESUME is issued.
SET WRITE RESUMEコマンド実行
2004-12-25-21.47.03.410874+540 E64349C540
LEVEL: Warning
PID : 1663010
TID : 1
PROC : db2agent (TEST)
INSTANCE: db2v82
NODE : 000
DB : TEST
APPHDL : 0-11
APPID: *LOCAL.db2v82.041225124042
FUNCTION: DB2 UDB, buffer pool services, sqlbUnsuspendWrite, probe:20
MESSAGE : ADM6076W The table space "SYSCATSPACE" (ID "0") which was previously
in the WRITE_SUSPEND state is no longer in that state. Write I/O has
been resumed to the table space.
2004-12-25-21.45.31.701770+540 E62800C543
LEVEL: Warning
PID : 1663010
TID : 1
PROC : db2agent (TEST)
INSTANCE: db2v82
NODE : 000
DB : TEST
APPHDL : 0-11
APPID: *LOCAL.db2v82.041225124042
FUNCTION: DB2 UDB, buffer pool services, sqlbSuspendWrite, probe:80
MESSAGE : ADM6075W The table space "TEMPSPACE1" (ID "1") has been placed
in the WRITE_SUSPEND state. All write I/O for this table space will be
suspended until a WRITE RESUME is issued.
2004-12-25-21.47.03.411967+540 E64890C539
LEVEL: Warning
PID : 1663010
TID : 1
PROC : db2agent (TEST)
INSTANCE: db2v82
NODE : 000
DB : TEST
APPHDL : 0-11
APPID: *LOCAL.db2v82.041225124042
FUNCTION: DB2 UDB, buffer pool services, sqlbUnsuspendWrite, probe:20
MESSAGE : ADM6076W The table space "TEMPSPACE1" (ID "1") which was previously
in the WRITE_SUSPEND state is no longer in that state. Write I/O has
been resumed to the table space.
2004-12-25-21.45.31.702685+540 E63344C543
LEVEL: Warning
PID : 1663010
TID : 1
PROC : db2agent (TEST)
INSTANCE: db2v82
NODE : 000
DB : TEST
APPHDL : 0-11
APPID: *LOCAL.db2v82.041225124042
FUNCTION: DB2 UDB, buffer pool services, sqlbSuspendWrite, probe:80
MESSAGE : ADM6075W The table space "USERSPACE1" (ID "2") has been placed
in the WRITE_SUSPEND state. All write I/O for this table space will be
suspended until a WRITE RESUME is issued.
2004-12-25-21.47.03.412877+540 E65430C539
LEVEL: Warning
PID : 1663010
TID : 1
PROC : db2agent (TEST)
INSTANCE: db2v82
NODE : 000
DB : TEST
APPHDL : 0-11
APPID: *LOCAL.db2v82.041225124042
FUNCTION: DB2 UDB, buffer pool services, sqlbUnsuspendWrite, probe:20
MESSAGE : ADM6076W The table space "USERSPACE1" (ID "2") which was previously
in the WRITE_SUSPEND state is no longer in that state. Write I/O has
been resumed to the table space.
2004-12-25-21.46.13.535030+540 I63888C460
LEVEL: Severe
PID : 516334
TID : 1
PROC : db2agent (instance)
INSTANCE: db2v82
NODE : 000
DB : TEST
APPHDL : 0-16
APPID: *LOCAL.db2v82.041225124613
FUNCTION: DB2 UDB, database monitor, sqm___sqlmonssagnt, probe:1234
MESSAGE : Cannot obtain the requested snapshot as this database is in write
suspend mode. Skipping database TEST
Copyright 2005, IBM Japan Systems Engineering Co.,Ltd.
33
Online Split Mirror
DB2 UDB運用管理
ブランク・ページです。
Copyright 2005, IBM Japan Systems Engineering Co.,Ltd.
34
Online Split Mirror
DB2 UDB運用管理
SUSPEND I/O時の制約
„ SELECTでも待ちになるケース(タイムアウトしない)
バッファープール中Dirty PageをDISKへ書き戻す行為を引き起こすSELECT文
Log Bufferにあふれ、DISKへ書き込みを起こす更新(表にData Change Capture属性がある
場合にはLOG量が増加するので要注意、省略時のLogBuffer Size(4KB)=8)
O ソートをメモリー内で行なえず、システムテンポラリー領域へ書き込みを要求する
ORDER BY付きのSELECT文
O
O
„ その他の考慮点
O REORG/QUIESCE/ALTER TABLESPACE/CREATE TABLESPACEなどは実行不可
(待ち)
SUSPEND I/O中DB2STOPできない
==> db2stop
SQL1553N DB2 cannot be stopped because one or more databases are in WRITE
SUSPEND state.
O SUSPEND I/O中、BACKUPはTABLESPACEへラッチ要求がでるため待ちになる
O BACKUP/RESTORE実行中はSUSPEND I/Oができない
¾ SQL01550N The SET WRITE SUSPEND command failed. (Reason code = n).
O
–
–
–
–
1. Database is not activated.
2. Database is in backup in progress state.
3. Database is in restore in progress state.
4. Database is already in suspended state.
Copyright 2005, IBM Japan Systems Engineering Co.,Ltd.
35
Online Split Mirror
DB2 UDB運用管理
解説:SUSPEND I/O時の制約
¾
¾
¾
SELECTであってもWRITE SUSPEND状態のリソースへの書き込みが必要になる場合があるため、場合によってはWRITE SUSPEND
状態のDBで待ち状態になることがあります。以下のようなケースです。
z バッファープール中Dirty PageをDISKへ書き戻す行為を引き起こすSELECT文
z Log Bufferにあふれ、DISKへ書き込みを起こす更新(表にData Change Capture属性がある場合にはLOG量が増加するの
で要注意、省略時のLogBuffer Size=8KB)
z ソートをメモリー内で行なえず、システムテンポラリー領域へ書き込みを要求するORDER BY付きのSELECT文
なお、WRITE SUSPEND状態のものへ書き込みが発生したための待ちは、LOCK待ちと異なりタイムアウトしないので注意が必
要です。
その他の考慮点
z REORG/QUIESCE/ALTER TABLESPACE/CREATE TABLESPACEなどをWRITE SUSPEND状態のDBに対して発行すると、WRITE
RESUMEが発行されるまで待たされることになります。
z
SUSPEND I/O中DB2STOPはできません
z SUSPEND I/O中はBACKUPはTABLESPACEへラッチ要求がでるため待ちになります
z BACKUP/RESTORE実行中はSUSPEND I/Oができません。
Copyright 2005, IBM Japan Systems Engineering Co.,Ltd.
36
Online Split Mirror
DB2 UDB運用管理
解説:SELECTが待ちになる例
¾
バッファープールぺージの書き出しのためSELECTが待ちの例
z BUFFERPOOL SIZE 10ページ
z 表 PERF (C1 INT,C2 INT,C3 CHAR(50) CHAR(50))
z 索引なし
z 表は304Page 10000
$ db2 connect to test
バップァープールの初期化
STATUS:
Read/Write
データベース接続情報
データベース・サーバー
SQL 許可 ID
ローカル・データベース別名
$ db2 set write suspend for database
DB20000I SET WRITE コマンドが正常に終了しました。
= DB2/6000 8.2.0
= DB2V82
= TEST
バップァープール内のページがすべてDirty
STATUS:
Write_SUSPEND
$ db2 +c "update perf set c2=c2+1 where c1<305"
DB20000I SQL コマンドが正常に終了しました。
* where c1<305は10Page分の更新を意味する
$ db2 +c "select * from test_source"---->待ち
ページの書き出しができない
STATUS:
Write_SUSPEND
Copyright 2005, IBM Japan Systems Engineering Co.,Ltd.
37
Online Split Mirror
DB2 UDB運用管理
ブランク・ページです。
Copyright 2005, IBM Japan Systems Engineering Co.,Ltd.
38
Online Split Mirror
DB2 UDB運用管理
Suspend I/O時異常終了後のクラッシュ・リカバリー
„ RESTART DATABASEコマンドにV8.1 FP1から新しいオプション
WRITE RESUMEが追加
z WRITE SUSPEND状態のままDBがDownした場合に使用する
¾SUSPEND_WRITE状態を解消し、Crash Recoveryを走らせる
z WRITE SUSPENDを発行した接続がWAIT状態になった場合に使用する
¾SUSPEND_WRITE状態を解消し、Crash Recoveryを走らせない
WRITE SUSPEND状態でのDBダウン
RESTARTの実行
$ db2 set write suspend for database
DB20000I SET WRITE コマンドが正常に終了しました。
$ db2 restart db test
SQL1552N データベースが現在 WRITE SUSPEND
状態であるため、コマンドが失敗しました。
$ db2stop -kill
SQL1064N DB2STOP の処理が正常に終了しました。
SQL1042C 予期しないシステム・エラーが発生しました。 SQLSTATE=58004
$ db2start
SQL1063N DB2START の処理が正常に終了しました。
$ db2 restart db test write resume
DB20000I RESTART DATABASE コマンドが正常に終了しました。
$ db2 connect to test
データベース接続情報
$ db2 terminate
DB20000I TERMINATE コマンドが正常に終了しました。
データベース・サーバー
SQL 許可 ID
ローカル・データベース別名
$ db2 connect to test
SQL1552N データベースが現在 WRITE SUSPEND
状態であるため、コマンドが失敗しました。
Copyright 2005, IBM Japan Systems Engineering Co.,Ltd.
= DB2/6000 8.2.0
= DB2V82
= TEST
39
Online Split Mirror
DB2 UDB運用管理
解説:Suspend I/O時異常終了後のクラッシュ・リカバリー
¾
V8.1 FP1より、RESTART DATABASEコマンドに新しいオプション WRITE RESUMEが追加されました。
このオプションは、WRITE SUSPEND状態のままDBがDownした場合や、WRITE SUSPENDを発行した接続がWAIT状態になった場合
に使用します。
このオプションがWRITE SUSPENDのままDOWNしたDBのRESTARTで指定されると、SUSPEND_WRITE状態は解消され、Crash
Recoveryが走ります。
このオプションがWRITE SUSPENDを発行した接続がWAIT状態になった場合に使用されると、SUSPEND_WRITE状態は解消され、
Crash Recoveryは走りません。
当パラメータは、ミラーリングされたデータベースではなく、Primaryデータベースだけに適用が可能です。
¾
以下はWRITE RESUMEを指定しなかった場合のDB2DIAG.LOG出力です。
¾
¾
¾
¾
2004-12-25-22.32.05.278787+540 E104429C585
LEVEL: Severe
PID
: 1728620
TID : 1
PROC : db2agent (TEST)
INSTANCE: db2v82
NODE : 000
DB : TEST
APPHDL : 0-8
APPID: *LOCAL.db2v82.041225133205
FUNCTION: DB2 UDB, buffer pool services, sqlbStartPools, probe:22
MESSAGE : ADM6024C The database cannot be restarted because table spaces
cannot be brought ONLINE as a result of an outstanding WRITE SUSPEND.
To restart the database specify WRITE RESUME on the RESTART DATABASE
command.
2004-12-25-22.32.05.279399+540 I105015C421
LEVEL: Error
PID
: 1728620
TID : 1
PROC : db2agent (TEST)
INSTANCE: db2v82
NODE : 000
DB : TEST
APPHDL : 0-8
APPID: *LOCAL.db2v82.041225133205
FUNCTION: DB2 UDB, buffer pool services, sqlbStartPools, probe:22
RETCODE : ZRC=0x800200F3=-2147352333=SQLB_FAIL2_SUSPEND_WRITE_ON
"Restart failed"
Copyright 2005, IBM Japan Systems Engineering Co.,Ltd.
40
Online Split Mirror
DB2 UDB運用管理
スプリット・イメージからのバックアップ
„ スプリット・イメージからのバックアップの取得
z スプリット・イメージ(ROLLFORWARD保留状態のデータベース)に対し、DBのフ
ルバックアップ取得が可能
„ 一時表スペース以外がDMS表スペースでDBフルバックアップ可能
z V7.2 APAR IY21083 以降
„ db2inidb...standbyの実行後にのみDBのバックアップ取得可能
z 一度でもROLLFORWARDを実行してしまうと、COMPLETEまたはSTOPオプショ
ンでのROLLFORWARDを実行しない限り、BACKUPの取得はできない。
„ Onlineバックアップは不可
z スプリット・イメージはロールフォワード保留状態なので、そもそもONLINEは有り得
ない
Copyright 2005, IBM Japan Systems Engineering Co.,Ltd.
41
Online Split Mirror
DB2 UDB運用管理
解説:スプリット・イメージからのバックアップ
¾
¾
¾
¾
通常はROLLFORWARD保留状態のDBや表スペースのバックアップを取ることはできません。しかし、V7.2 APAR IY21083より、
Split Mirrorイメージがdb2inidbコマンドによってROLLFORWARD保留状態になっているものについては、DBのフルバックアッ
プが取得できるようになりました。
例えばRESTORE DBが完了してROLLFORWARD保留状態となっているDBのバックアップは取得できません。
db2inidbコマンドの実行後、PrimaryDBからのログをROLLFORWARD DBで適用した場合、STOPまたはCOMPLETEオプションを指定
しないと、DBはROLLFORWARD保留のままです。このようなDBからのBackupも取得できません。一度ROLLFORWARDを実行してし
まったSPLIT MIRRORイメージの場合には、STOP/COMPLETEオプションでROLLFORWARD保留状態を解除したあとでなければ
BACKUPの取得ができません。
Onlineバックアップは不可
z スプリット・イメージはロールフォワード保留状態なので、そもそもONLINEは有り得ない
¾
V8 update4マニュアルより抜粋
z Using
a Split Mirror as a Standby Database
If you have only DMS table spaces (database managed space), you can take a full database backup to offload the
overhead of taking a backup on the production database.
–
·
V7.2+FP10以降では、一時表スペースがSMS表スペース、カタログ表スペースがDMS表スペース、ユーザーデータ用表スペース
がDMS表スペースである場合、Split Mirrorイメージを解凍してdb2inidb ..as standby実行後のDBのフルバックアップが可
能です。
O APAR
IY21083:
– Abstract:
SPLIT MIRROR BACKUP TERMINATED - SMS TABLESPACE NOT ALLOWED.
ERROR DESCRIPTION:
split mirror backup in v7.1 fp3 returns a meesage indicating that
this feature does not work with sms tablespaces.
PROBLEM
The backup of a split mirror should not fail if the SMS tablespace is a TEMP.
First Fixed In:
DB2 Version 7 FixPak 4
Latest DB2 FixPak containing a fix for this APAR:
DB2 V7 Fixpak 10
Copyright 2005, IBM Japan Systems Engineering Co.,Ltd.
42
Online Split Mirror
DB2 UDB運用管理
解説:スプリット・イメージからのバックアップ
¾
バックアップ成功例 db2diag.logのメッセージ
(一時表スペースはSMS表スペースで作成し、カタログ表スペースとユーザーデータ用の表スペースをDMS表スペースで作成し、
db2inidb .. as standby発行後にDBのフルバックアップを取得した例)
【DB2 UDB V7.2 + FP10】
【DB2 UDB V8.1 + FP3】
2003-08-26-15.18.54.324550 Instance:udbv72 Node:000
PID:22479(db2agent (TEST2)) Appid:*LOCAL.udbv72.030826150006
database_utilities sqlubcka
Probe:0 Database:TEST2
2003-08-26-17.24.34.441314 Instance:v8ha Node:000
PID:24713(db2agent (TEST)) TID:1024
Appid:*LOCAL.v8ha.064846172434
data protection sqlpgint Probe:5110
Starting a full database backup.
Backup after split mirror.
2003-08-26-15.18.54.382090 Instance:udbv72
PID:22494(db2bm.22479.0) Appid:none
database_utilities sqlubbmcont
Probe:10
Node:000
Backing up tablespace SYSCATSPACE
2003-08-26-15.18.56.614486 Instance:udbv72
PID:22494(db2bm.22479.0) Appid:none
database_utilities sqlubbmcont
Probe:10
Starting a full database backup.
Node:000
2003-08-26-17.24.48.415359 Instance:v8ha Node:000
PID:24713(db2agent (TEST)) TID:1024
Appid:*LOCAL.v8ha.064846172434
database utilities sqlubcka Probe:130 Database:TEST
Backup Complete.
Backing up tablespace USERSPACE_DMS
2003-08-26-15.18.57.213958 Instance:udbv72
PID:22494(db2bm.22479.0) Appid:none
database_utilities sqlubbmcont
Probe:6
2003-08-26-17.24.34.512842 Instance:v8ha Node:000
PID:24713(db2agent (TEST)) TID:1024
Appid:*LOCAL.v8ha.064846172434
database utilities sqlubcka Probe:0 Database:TEST
Node:000
Finished tablespaces
2003-08-26-15.18.57.423929 Instance:udbv72 Node:000
PID:22479(db2agent (TEST2)) Appid:*LOCAL.udbv72.030826150006
database_utilities sqlubcka
Probe:0 Database:TEST2
Backup Complete.
Copyright 2005, IBM Japan Systems Engineering Co.,Ltd.
43
Online Split Mirror
DB2 UDB運用管理
解説:スプリット・イメージからのバックアップ(続き)
¾
バックアップ成功例 db2diag.logのメッセージ(続き)
(一時表スペースはSMS表スペースで作成し、カタログ表スペースとユーザーデータ用の表スペースをDMS表スペースで作成し、
db2inidb .. as standby発行後にDBのフルバックアップを取得した例)
【DB2 UDB V8.2】
2004-12-26-00.09.39.018956+540 I52640C361
LEVEL: Warning
PID
: 778352
TID : 1
PROC : db2agent (TEST2)
INSTANCE: db2v82
NODE : 000
DB
: TEST2
APPHDL : 0-10
APPID: *LOCAL.db2v82.041225150938
FUNCTION: DB2 UDB, data protection, sqlpgint, probe:5110
MESSAGE : Backup after split mirror.
2004-12-26-00.09.39.103086+540 I53002C380
LEVEL: Warning
PID
: 778352
TID : 1
PROC : db2agent (TEST2)
INSTANCE: db2v82
NODE : 000
DB
: TEST2
APPHDL : 0-10
APPID: *LOCAL.db2v82.041225150938
FUNCTION: DB2 UDB, database utilities, sqlubSetupJobControl, probe:2025
MESSAGE : Starting an offline db backup.
2004-12-26-00.10.00.985870+540 I53383C353
LEVEL: Warning
PID
: 778352
TID : 1
PROC : db2agent (TEST2)
INSTANCE: db2v82
NODE : 000
DB
: TEST2
APPHDL : 0-10
APPID: *LOCAL.db2v82.041225150938
FUNCTION: DB2 UDB, database utilities, sqlubcka, probe:130
MESSAGE : Backup Complete.
Copyright 2005, IBM Japan Systems Engineering Co.,Ltd.
44
Online Split Mirror
DB2 UDB運用管理
解説:スプリット・イメージからのバックアップ(続き)
¾
バックアップ失敗例のdb2diag.logのメッセージ
(一時表スペース、カタログ表スペースはSMS表スペースで作成し、ユーザーデータ用の表スペースをDMS表スペースで作成し、
db2inidb .. as standby発行後にDBのフルバックアップを取得した例)
【DB2 UDB V7.2 + FP10】
2003-08-26-16.04.05.361415 Instance:udbv72 Node:000
PID:22676(db2agent (TEST3)) Appid:*LOCAL.udbv72.030826160405
data_protection sqlpgint
Probe:410
Database:TEST3
2003-08-26-16.04.05.424013 Instance:udbv72 Node:000
PID:22676(db2agent (TEST3)) Appid:*LOCAL.udbv72.030826160405
database_utilities buildAppTblsp Probe:46 Database:TEST3
eefb ffff
Backup after split mirror.
2003-08-26-16.04.05.393995 Instance:udbv72 Node:000
PID:22676(db2agent (TEST3)) Appid:*LOCAL.udbv72.030826160405
buffer_pool_services sqlbStartPools Probe:0
Database:TEST3
Starting the database.
....
2003-08-26-16.04.05.436758 Instance:udbv72 Node:000
PID:22676(db2agent (TEST3)) Appid:*LOCAL.udbv72.030826160405
database_utilities sqlubcka
Probe:0 Database:TEST3
Backup terminated.
2003-08-26-16.04.05.410187 Instance:udbv72 Node:000
PID:22676(db2agent (TEST3)) Appid:*LOCAL.udbv72.030826160405
database_utilities sqlubcka
Probe:0 Database:TEST3
Starting a full database backup.
2003-08-26-16.04.05.415652 Instance:udbv72 Node:000
PID:22676(db2agent (TEST3)) Appid:*LOCAL.udbv72.030826160405
database_utilities buildAppTblsp Probe:37 Database:TEST3
Backing up of a split mirrored database containing SMS
Tablespaces is unsupported
2003-08-26-16.04.05.419842 Instance:udbv72 Node:000
PID:22676(db2agent (TEST3)) Appid:*LOCAL.udbv72.030826160405
database_utilities buildAppTblsp Probe:46 Database:TEST3
DiagData
eefb ffff
Copyright 2005, IBM Japan Systems Engineering Co.,Ltd.
45
Online Split Mirror
DB2 UDB運用管理
解説:スプリット・イメージからのバックアップ(続き)
¾
バックアップ失敗例のdb2diag.logのメッセージ(続き)
(一時表スペース、カタログ表スペースはSMS表スペースで作成し、ユーザーデータ用の表スペースをDMS表スペースで作成し、db2inidb .. as
standby発行後にDBのフルバックアップを取得した例)
【DB2 UDB V8.1 + FP3】
2003-08-26-17.39.16.292437 Instance:v8ha Node:000
PID:24894(db2agent (TEST_SMS)) TID:1024 Appid:*LOCAL.v8ha.064846173916
data protection sqlpgint Probe:5110
2003-08-26-17.39.16.384745 Instance:v8ha Node:000
PID:24894(db2agent (TEST_SMS)) TID:1024 Appid:*LOCAL.v8ha.064846173916
database utilities sqlubcka Probe:140 Database:TEST_SMS
Backup after split mirror.
Backup Terminated.
2003-08-26-17.39.16.362481 Instance:v8ha Node:000
PID:24894(db2agent (TEST_SMS)) TID:1024 Appid:*LOCAL.v8ha.064846173916
database utilities sqlubcka Probe:0 Database:TEST_SMS
Starting a full database backup.
2003-08-26-17.39.16.367512 Instance:v8ha Node:000
PID:24894(db2agent (TEST_SMS)) TID:1024 Appid:*LOCAL.v8ha.064846173916
database utilities buildAppTblS Probe:37 Database:TEST_SMS
Backing up of a split mirrored database containing SMS
Tablespaces is unsupported
2003-08-26-17.39.16.371672 Instance:v8ha Node:000
PID:24894(db2agent (TEST_SMS)) TID:1024 Appid:*LOCAL.v8ha.064846173916
database utilities buildAppTblS Probe:46 Database:TEST_SMS
DiagData
0x5079C828 : 0xFFFFFBEE
....
2003-08-26-17.39.16.377132 Instance:v8ha Node:000
PID:24894(db2agent (TEST_SMS)) TID:1024 Appid:*LOCAL.v8ha.064846173916
database utilities buildAppTblS Probe:46 Database:TEST_SMS
0x5079C828 : 0xFFFFFBEE
Copyright 2005, IBM Japan Systems Engineering Co.,Ltd.
....
46
Online Split Mirror
DB2 UDB運用管理
解説:スプリット・イメージからのバックアップ(続き)
¾
バックアップ失敗例のdb2diag.logのメッセージ(続き)
(一時表スペース、カタログ表スペースはSMS表スペースで作成し、ユーザーデータ用の表スペースをDMS表スペースで作成し、db2inidb .. as
standby発行後にDBのフルバックアップを取得した例)
【DB2 UDB V8.2】
2004-12-26-00.25.42.989313+540 I61933C367
LEVEL: Warning
PID
: 1577028
TID : 1
PROC : db2agent (TEST_SMS)
INSTANCE: db2v82
NODE : 000
DB
: TEST_SMS
APPHDL : 0-11
APPID: *LOCAL.db2v82.041225152542
FUNCTION: DB2 UDB, data protection, sqlpgint, probe:5110
MESSAGE : Backup after split mirror.
2004-12-26-00.25.43.273162+540 I62301C441
LEVEL: Error
PID
: 1577028
TID : 1
PROC : db2agent (TEST_SMS)
INSTANCE: db2v82
NODE : 000
DB
: TEST_SMS
APPHDL : 0-11
APPID: *LOCAL.db2v82.041225152542
FUNCTION: DB2 UDB, database utilities, sqlubBuildAppTbsp, probe:40
MESSAGE : Backing up of a split mirrored database containing SMS Tablespaces is
unsupported
2004-12-26-00.25.43.273608+540 I62743C446
LEVEL: Severe
PID
: 1577028
TID : 1
PROC : db2agent (TEST_SMS)
INSTANCE: db2v82
NODE : 000
DB
: TEST_SMS
APPHDL : 0-11
APPID: *LOCAL.db2v82.041225152542
FUNCTION: DB2 UDB, database utilities, sqlubBuildAppTbsp, probe:40
MESSAGE : DiagData
DATA #1 : Hexdump, 4 bytes
0x40991324 : FFFF FBEE
....
2004-12-26-00.25.43.273865+540 I63190C426
LEVEL: Error
PID
: 1577028
TID : 1
PROC : db2agent (TEST_SMS)
INSTANCE: db2v82
NODE : 000
DB
: TEST_SMS
APPHDL : 0-11
APPID: *LOCAL.db2v82.041225152542
FUNCTION: DB2 UDB, database utilities, sqlubBuildAppTbsp, probe:40
DATA #1 : Hexdump, 4 bytes
0x40991324 : FFFF FBEE
....
2004-12-26-00.25.43.324582+540 I63617C360
LEVEL: Severe
PID
: 1577028
TID : 1
PROC : db2agent (TEST_SMS)
INSTANCE: db2v82
NODE : 000
DB
: TEST_SMS
APPHDL : 0-11
APPID: *LOCAL.db2v82.041225152542
FUNCTION: DB2 UDB, database utilities, sqlubcka, probe:140
MESSAGE : Backup Terminated.
Copyright 2005, IBM Japan Systems Engineering Co.,Ltd.
47
Online Split Mirror
DB2 UDB運用管理
ブランク・ページです。
Copyright 2005, IBM Japan Systems Engineering Co.,Ltd.
48
Online Split Mirror
DB2 UDB運用管理
Split Mirrorシナリオ
Primary UDB
Secondary UDB
ESSクラスター1
ESSクラスター2
Data
PPRC
Data
FlashC
Data
FlashC
Data
LOG
PPRC
LOG
FlashC
LOG
FlashC
LOG
Volume Set A
Volume Set A:
Volume Set B:
Volume Set C:
Volume Set D:
Volume Set B
Volume Set C
ミラーからの
バックアップ
Volume Set D
Primaryデータベース
PPRCによって作成されたPrimaryデータベースのミラー
Volume Set Bのローカル・フラッシュコピー(StandByデータベース)
Volume Set Cのローカル・フラッシュコピー(バックアップデータベース)
Copyright 2005, IBM Japan Systems Engineering Co.,Ltd.
49
Online Split Mirror
DB2 UDB運用管理
解説:Split Mirrorシナリオ
¾
¾
¾
¾
¾
¾
¾
初期状態
z Primaryデータベース(Volume Set A)では通常の読み書きが行われています。アーカイブログは、PPRC接続により常に
Standby側(VolumeSetB)にミラーが取られるようにします。
SUSPEND WRITE
z PrimaryデータベースでSET WRITE SUSPENDを発行し、書き込み禁止状態にします。一度書き込み禁止状態になると、す
べての更新トランザクション、またはReadOnlyであっても一時表を必要とするようなトランザクションはすべて待ち状
態になります。
PPRCを用いた再同期化
z PPRCを用いて、Primaryデータベースとそのミラー(Volume Set B)の同期を取ります。PPRCは更新のあったDISK上のト
ラックをコピーします。
RESUME WRITE
z VolumeSetAとBの同期を取る処理が完了したら、直ちにSET WRITE RESUMEを実行し、書き込み禁止状態を解除します。
FlashCopy
z VolumeSet AとBの同期を取るPPRCの接続が完了したら、VolumeSetBからCへローカルフラッシュコピーを実行します。
z VolumeSetCに対しては、STANDBYモードのdb2inidbコマンドを実行し、ロールフォワード保留状態にしておきます。
LOGのPPRC接続再開
z フラッシュコピーの取得が完了したら、VolumeSetAとBの間のPPRC接続をRESYNCモードで再開し、Primaryデータベース
の側で生成された最新のログをセカンダリーサーバー側へ持ってきます。
z Primaryデータベースの側で生成されたログを随時StandbyデータベースへROLLFORWARDによって適用し、必要なときに
ROLLFORWARDをCOMPLETEオプションで実行して、こちらのDBをアプリケーションに開放することができます。
z このとき、VlumeSet BからCへFlashCopyを行う際には、ある一時点で整合性のある状態にしなければいけないため、
VlumeSet AからBへのPPRCは同期モード(非同期モードの際には同期モードに切り替えて)にて、一時点での整合点を
取った後、(PPRCの機能で)Suspend状態にします。それから、VlumeSet BからCへFlashCopyを行います。
これによって整合性の保たれたログをVolumeSet CのDBへROLLFORWARDして適用することができます。
ミラーの保管
z Standyデータベースを直ちにAvailableにした場合、その時点でもはやPrimaryDBで生成されたログを適用することがで
きなくなります。その場合、こちらの例のようにもう一つミラーを作ることで、StandbyDBがサービス開始した後も
Primaryで生成されるログを適用する先を確保できます。
z 安全のために必要であれば、作成されたSplit Mirrorのバックアップをテープなどのメディアに取ることもできます。
Copyright 2005, IBM Japan Systems Engineering Co.,Ltd.
50
Online Split Mirror
DB2 UDB運用管理
(参考)db2rfpenについて
„db2efpenコマンドの目的
z データベースをロールフォワード・ペンディング状態にするツール
z DB2を停止した状態で取得したバックアップから復元した際、ログをロー
ルフォワード適用する場合に利用する
¾
¾
db2inidbが使用できない場合の代替策
(例)DB2を停止してFlashCopyを取得した場合、アーカイブ・ロギング方式
においては、コピー後に記録されたログを適用するためにロールフォワード
ペンディング状態にする必要がある
„コマンド使用に際しての考慮点
z 一度ROLLFORWARD完了したDBに対して、このユーティリティーを使
用して再度ログをROLLFORWARD適用することはできない
z 当コマンドは正式サポートされているが、使用方法については、必要に
応じてDB2サポート部門等のサポートを受けて使用する
z 高可用性災害時リカバリー(HADR)を使用している環境では、データ
ベースは標準データベースにリセットされる
V8.2
Copyright 2005, IBM Japan Systems Engineering Co.,Ltd.
51
Online Split Mirror
DB2 UDB運用管理
解説:(参考)db2rfpenについて
¾
DB2を停止した状態(db2stop)でデータベース・ディレクトリごと取得されたバックアップから回復した場合に、ログをロー
ルフォワード適用する際に利用します。
¾
db2inidbが使用できない環境における代替策として、例えば、DB2を停止してFlashCopyを取得した場合、アーカイブ・ロギ
ング方式においてコピー後に記録されたログを適用するためにロールフォワードペンディング状態にします。
¾
db2rfpenは、データベースをロールフォワード・ペンディング状態にするユーティリティーですが、例えばログ・シッピン
グの運用において、一度ROLLFORWARD完了されたデータベースに対してこのユーティリティーを使用してロールフォワード・
ペンディング状態にし、再度ログをROLLFORWARD適用することはできません。
¾
V8.2においては、高可用性災害時リカバリー(HADR)を使用している場合は、データベースは標準データベースにリセット
されます。
¾
当コマンドは正式にサポートされたコマンドですが、正しい手順等、使用方法については、必要に応じてDB2サポート部門等
のサポートを受けることも検討してください。
Copyright 2005, IBM Japan Systems Engineering Co.,Ltd.
52
Fly UP