データベーススペシャリスト(障害回復)

昨日は飲んでて手が回りませんでした。今日は気を取り直して。
障害回復です。データベースのファイルをコピーしてポンと戻す
ってなわけにはいかんみたいです。


1:障害の種類
トランザクション障害
トランザクションが異常終了する。ロールバックも含む。
・システム障害
DBMSの再起動が必要となる場合。
・メディア障害(ディスク障害)
データベースの物理的障害。

2:前進復帰後退復帰








3:ロギング
障害時にデータベースを復旧させるために必須
データベースを格納する記憶装置より高信頼性が
必要。
・ディスクのミラーリング
ログファイルの二重化
非同期遅延書き込み
データベースの更新性能を向上させるために非同期で
記憶装置に書き込みを行う







書出ログの種類
トランザクション開始ログレコード
更新前データログレコード=後退復帰
更新後データログレコード=前進復帰
コミットログレコード
ロールバックログレコード
トランザクション終了ログレコード
WAL(WriteAheadLog)プロトコル
ログ先行書
更新データ書出前に更新ログ書出
コミット時ログ強制書出
トランザクションがデータベースに対して行ったすべての更新ログを
コミット前に書き出す。
トランザクションの障害からの回復
障害が発生したトランザクションを後退復帰させる。
チェックポイントとシステム障害からの回復
チェックポイントである時点の更新状況リストを書出









・メディア障害からの回復
バックアップファイル復旧後にロールフォワードで復旧

フルバックアップと差分バックアップ
フルバックアップで全体をバックアップ、差分バックアップは
前回バックアップとの差分だけをバックアップする。
バックアップからの回復には
「フルバックアップ+すべての差分データ」が必要。

データベースを停止してバックアップするんならファイルコピーして
やればいいけどオンラインバックアップだとデータベースを動かしたまま
コピーする必要がある。当然前者の方が処理は早く終わるけど今や24h365日
稼働が当たり前のシステムなので負荷が重くてもオンラインバックアップせざるを
得ない。リストアも出来る限り短い時間でとなるとバックアップ設計も大変なものになる。

最近だとインメモリーデータベースも出てきたりしてるので同期方法とかも大変らしい。
まあ奥が深いところですな。


◆お約束メモ
http://thinkit.co.jp/free/article/0703/13/5/
http://www.powerdee.com/it/mysql/backupRecovery.html
http://mysqlweb.net/category/4026732-1.html
http://www.atmarkit.co.jp/fdb/index/subindex/ora_backup_subindex.html
http://jibun.atmarkit.co.jp/lskill01/rensai/sdba21/sdba01.html
http://sourceforge.jp/magazine/07/05/31/0155233

コメント

このブログの人気の投稿

GASでGoogleDriveのサブフォルダとファイル一覧を出力する

証券外務員1種勉強(計算式暗記用メモ)

マクロ経済学(IS-LM分析)