JP5534209B2 - データベースの共有メモリの状態を別環境に再現するシステム及び方法 - Google Patents

データベースの共有メモリの状態を別環境に再現するシステム及び方法 Download PDF

Info

Publication number
JP5534209B2
JP5534209B2 JP2010199049A JP2010199049A JP5534209B2 JP 5534209 B2 JP5534209 B2 JP 5534209B2 JP 2010199049 A JP2010199049 A JP 2010199049A JP 2010199049 A JP2010199049 A JP 2010199049A JP 5534209 B2 JP5534209 B2 JP 5534209B2
Authority
JP
Japan
Prior art keywords
shared memory
environment
journal file
memory
monitoring
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2010199049A
Other languages
English (en)
Other versions
JP2012058842A (ja
Inventor
隆志 橋詰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2010199049A priority Critical patent/JP5534209B2/ja
Publication of JP2012058842A publication Critical patent/JP2012058842A/ja
Application granted granted Critical
Publication of JP5534209B2 publication Critical patent/JP5534209B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明はデータベースの共有メモリの管理技術に関し、データベースの共有メモリの推移を記録し、別環境に同一の状態を再現する。
従来、データベース(以下「DB」と省略することがある。)では共有メモリ上の独自管理のヒープ領域にリソースの状況など各プロセス間で共有すべきデータを保持しているが、ヒープの状態や変更の推移を別の環境で再現することはできない。そのため、ユーザ環境で発生したヒープ上のメモリ障害を別の環境で同一の状態を再現させることは困難である。また、メモリ破壊が発生されてから、時間が経った後に破壊を検知するようなケースでは、メモリ破壊が発生した状況まで遡ることは困難である。
特開2005−149214号公報
障害発生時の調査には同一事象を再現させることが有効であるが、メモリが破壊されるような障害では障害発生時のメモリの状態により発生頻度が大きく変わり、同一の状況にするためには事象発生までのメモリの推移も考慮に入れる必要がある。しかし、メモリの推移も考慮して同一のメモリ状況を作り出すことは非常に困難であり、メモリ破壊が伴うメモリ障害の調査・解析のために膨大な工数をかける必要がある。
障害発生時のトレースとしてメモリダンプがファイルに出力されることがあるが、一般にメモリダンプファイルの解析は専門の知識が必要であり、メモリダンプを元に直接障害の再現を行うことは実用上の手段がなかった。
特許文献1には、特定のユーザの構成情報に特化して、ユーザ単位での環境再現を行うことが記載されている。しかし、特許文献1はユーザ単位での環境再現に限定されるものであり、複数ユーザが使用するデータベースサーバの共有メモリ上の情報という揮発性の情報について、障害発生時のデータベース全体の再現環境を作成するものではない。
本発明は、かかる実情に鑑み、共有メモリの状態や変更の推移を記録し、共有メモリと同一の状況を再現させる技術を提供しようとするものである。
本発明の一態様による共有メモリ環境再現システムは、ユーザ環境と再現環境を備える共有メモリ環境再現システムである。ユーザ環境は、第一の共有メモリと、第一の共有メモリの変更を定期的に監視し、変更内容を時刻情報と共にジャーナルファイルに記録する共有メモリ監視記録手段と、を備える。再現環境は、第二の共有メモリと、ジャーナルファイルに基づいて、第二の共有メモリへ変更内容を展開させて、第一の共有メモリの状態を第二の共有メモリ上で復元する共有メモリ展開手段と、を備える。
好適には、共有メモリ監視記録手段は、第一の共有メモリ上のヒープ領域の状態や変更の推移をジャーナルファイルに記録する。
さらに好適には、共有メモリ監視記録手段は、データベース起動直後の最初の走査では、第一の共有メモリ上のヒープ領域全体を、ジャーナルファイルに記録する。
また、ジャーナルファイルの各エントリは、時刻情報と、アドレスの情報と、変更サイズの情報と、変更後のメモリ内容の情報とを含むことが好ましい。
さらに好適には、共有メモリ展開手段は、ジャーナルファイルに記録された時刻情報を参照して、指定された任意の時刻における第一の共有メモリの状態を復元する。
本発明の一態様による共有メモリ環境再現方法は、第一の共有メモリと共有メモリ監視記録手段とを備えるユーザ環境と、第二の共有メモリと共有メモリ展開手段とを備える再現環境と、を含むシステムにおいて、第一の共有メモリの内容を第二の共有メモリ上に再現する方法である。共有メモリ監視記録手段が、第一の共有メモリの変更を定期的に監視し、変更内容を時刻情報と共にジャーナルファイルに記録し、共有メモリ展開手段が、ジャーナルファイルに基づいて、第二の共有メモリへ変更内容を展開させて、第一の共有メモリの状態を第二の共有メモリ上で復元する。
本発明によれば、共有メモリの状態や変更の推移を記録し、共有メモリと同一の状況を再現させることができるようになる。また、複数ユーザが使用するデータベースサーバの共有メモリ上の情報という揮発性の情報について、障害発生時のデータベース全体の再現環境を作成することができるようになる。これにより、ユーザ環境と同一の共有メモリの状態を再現させることでメモリ破壊を伴う障害の再現がしやすくなり、また時系列でのメモリ状態の変更を追うことができるという効果がある。
共有メモリ環境再現システム10の構成の一実施例を示すブロック図である。 共有メモリジャーナルファイル36の一例である。 共有メモリ監視記録手段35の処理モジュールを示すブロック図である。 共有メモリ監視記録手段35の処理の流れを示すフローチャートである。 アドレス・サイズ・チェックサム情報保持モジュールM104によって保持される情報の一例である。 共有メモリ展開手段65の処理モジュールを示すブロック図である。 共有メモリ展開手段65の処理の流れを示すフローチャートである。
以下、本発明の実施の形態について図面を参照しつつ詳細に説明する。
図1は、本発明による共有メモリ環境再現システム10の構成の一実施例を示すブロック図である。
同図に示すように、本発明の実施例では、共有メモリ環境再現システム10は、ユーザ環境1と再現環境4を含む。ユーザ環境1は、DBクライアント2と、データベースシステム3とを備え、再現環境4は、DBクライアント5と、データベースシステム6を含んで構成される。
ユーザ環境1上のデータベースシステム3は、DBクライアント2からDBアクセスの要求を受け付けるDBインスタンス31と、DB起動時の各種パラメータを記載する初期化パラメータファイル32と、DBリソース情報や高速アクセスのためのバッファ情報を保持するためにDBインスタンス31で使用される共有メモリ33と、DBインスタンス31によりデータの内容を恒久的に保持するDBファイル34と、定期的に共有メモリ33の内容を共有メモリジャーナルファイル36に記録する共有メモリ監視記録手段35を備えている。
再現環境4上のデータベースシステム6は、DBクライアント5からDBアクセスの要求を受け付けるDBインスタンス61と、DB起動時の各種パラメータを記載する初期化パラメータファイル62と、DBインスタンスで使用される共有メモリ63と、DBインスタンスによりデータの内容を恒久的に保持するDBファイル64と、ユーザ環境から転送された共有メモリジャーナルファイル66を共有メモリ63に反映する共有メモリ展開手段65を備えている。
ユーザ環境1上のDBクライアント2及びデータベースシステム3、並びに、再現環境4上のDBクライアント5及びデータベースシステム6のそれぞれは、各部の動作や処理を制御するための制御手段としてのプロセッサ、外部記憶装置やメモリ等、各種のデータを記録したり作業領域として用いられる記憶手段、入出力インタフェース、通信インタフェース及びこれらを結ぶバスを備える専用又は汎用のコンピュータを適用することができる。
次に、本実施例の動作について詳細に説明する。
ユーザ環境1と再現環境4共に、データベースは、初期化パラメータの構成情報を元に起動され、起動後、DBクライアント2、5はDBインスタンス31、61にDBアクセスを要求する。DBインスタンス31、61はリソース情報やDBファイル34、64のバッファなどを共有メモリ33、63に保持する。また、非同期にDBインスタンス31、61は共有メモリ33、63からバッファの情報をDBファイル34、64に反映する。
ユーザ環境1では、共有メモリ監視記録手段35により、ユーザ環境1でのデータベース起動時に共有メモリ33上のヒープの内容がオフセット(offset)値によるアドレス情報とメモリ内のデータの組で共有メモリジャーナルファイル36に出力される。それ以降はある一定期間毎に共有メモリ33を走査し、共有メモリに変更があった箇所のみ、オフセットと変更後の値を共有メモリジャーナルファイル36に追記していく。このとき共有メモリジャーナルファイル36にはその情報を追記した時刻情報を付与し、後に復元する際に指定した時刻まで復元できるようにする。図2は、このようにして作成される共有メモリジャーナルファイル36の一例である。
作成された共有メモリジャーナルファイル36はFTP(File Transfer Protocol)やファイル共有などで再現環境4に転送される。再現環境4では受信した共有メモリジャーナルファイル66を使用して、共有メモリ展開手段65により共有メモリ33の再現を共有メモリ63上に行う。このとき共有メモリ展開手段65により、共有メモリジャーナルファイル66は先頭から順に指定された時刻までの変更を記録したエントリまで読み込まれ、共有メモリ63のオフセットに対して変更後のデータを反映して、ユーザ環境1と同一状態への再現を行う。
次に、図3〜図5を参照して、共有メモリ監視記録手段35の具体的な処理内容について説明する。
図3は、共有メモリ監視記録手段35の処理モジュールを示すブロック図である。図4は、共有メモリ監視記録手段35の処理の流れを示すフローチャートである。共有メモリ監視記録手段35により、データベース起動直後の最初の共有メモリ走査では、共有メモリ33上のヒープ全体が共有メモリジャーナルファイル36に記録される(ステップC101)。
通常、データベースはOSのメモリ管理とは異なり独自のメモリ管理を行い、共有メモリ上のメモリをヒープやチャンクと呼ばれる単位で管理し、ヒープやチャンクのアドレスとサイズ情報を保持している。共有メモリ監視記録手段35において、アドレス・サイズ・チェックサム情報保持モジュールM104により、共有メモリ33のチャンクのアドレスの情報、サイズの情報、及びチャンクの内容のチェックサム情報が保持される(ステップC102)。なお、図5は、アドレス・サイズ・チェックサム情報保持モジュールM104によって保持される、共有メモリ33のチャンクのアドレスの情報、サイズの情報、及びチャンクの内容のチェックサム情報の一例である。
その後一定間隔で、共有メモリ読み取りモジュールM101により共有メモリ33を走査し(ステップC103)、アドレス・サイズ・チェックサム比較モジュールM102によりチャンクをチェックし、前回保持したアドレスの情報やサイズの情報、チャンクの内容のチェックサム情報が異なっているかチェックし(ステップC104)、異なっていた場合は共有メモリ33の内容が変更されたとみなしてジャーナル書出しモジュールM103により共有メモリジャーナルファイル36に変更後のメモリ内容が時刻、オフセット、及びサイズと共に記録され(C105)、アドレス・サイズ・チェックサム情報保持モジュールM104によりチェックサム情報が更新される(C106)。これを一定期間毎にDBが停止するまで実行する(C107)。
次に、図6と図7を参照して、ユーザ環境1で採取されたジャーナルファイルから再現環境4で共有メモリ63に展開する共有メモリ展開手段65の具体的な処理内容について説明する。
図6は共有メモリ展開手段65の処理モジュールを示すブロック図である。図7は共有メモリ展開手段65の処理の流れを示すフローチャートである。DB起動時、初期化パラメータ読み取りモジュールM204により初期化パラメータファイル62を読み取り、初期化パラメータとして時間指定でジャーナルからの共有メモリ再現が指定されているか確認する(C201)。共有メモリ再現が指定されている場合、共有メモリ展開手段65により、まず転送された共有メモリジャーナルファイル66に記録された共有メモリ33のヒープ全体の情報が再現環境4の共有メモリ63にコピーされる(ステップC202)。
次に、ジャーナルファイル読み取りモジュールM201により共有メモリジャーナルファイル66に記録されている次のエントリが読み込まれ(C203)、時刻情報チェックモジュールM202によりジャーナルに記録されている時刻がパラメータで指定された時刻以前であるか判定し(C204)、指定された時刻以前ならば共有メモリ書出しモジュールM203によりジャーナルに記録されているメモリ内容が共有メモリ63のオフセットが示すアドレスにコピーされる(C205)。この動作を共有メモリジャーナルファイル66の最後に到達するまで繰り返し(C206)、ユーザ環境1の共有メモリ33の状態を再現させる。
以上で説明したように、本実施形態によれば、データベースサーバの共有メモリ上のヒープ領域の情報という揮発性の情報を時系列でジャーナリングすることにより、障害発生時のデータベース全体の再現環境を作成できる。これにより、ユーザ環境と同一の共有メモリの状態を再現させることでメモリ破壊を伴う障害の再現がしやすくなる。また時系列でのメモリ状態の変更を追うことができるようになる。こうして、障害発生時の問題の調査・解析を実効的に行うことができるようになる。
なお、本発明は、上記した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において、他の様々な形で実施することができる。このため、上記実施形態はあらゆる点で単なる例示にすぎず、限定的に解釈されるものではない。例えば、上述の各処理ステップは処理内容に矛盾を生じない範囲で任意に順番を変更して又は並列に実行することができる。
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限
られない。
(付記1)ユーザ環境と再現環境を備える共有メモリ環境再現システムであり、前記ユーザ環境は、第一の共有メモリと、前記第一の共有メモリの変更を定期的に監視し、変更内容を時刻情報と共にジャーナルファイルに記録する共有メモリ監視記録手段と、を備え、前記再現環境は、第二の共有メモリと、前記ジャーナルファイルに基づいて、前記第二の共有メモリへ前記変更内容を展開させて、前記第一の共有メモリの状態を前記第二の共有メモリ上で復元する共有メモリ展開手段と、を備える共有メモリ環境再現システム。
(付記2)前記共有メモリ監視記録手段は、前記第一の共有メモリ上のヒープ領域の状態や変更の推移を前記ジャーナルファイルに記録することを特徴とする付記1に記載の共有メモリ環境再現システム。
(付記3)前記共有メモリ監視記録手段は、データベース起動直後の最初の走査では、前記第一の共有メモリ上の前記ヒープ領域全体を、前記ジャーナルファイルに記録することを特徴とする付記1又は2に記載の共有メモリ環境再現システム。
(付記4)前記ジャーナルファイルの各エントリは、時刻情報と、アドレスの情報と、変更サイズの情報と、変更後のメモリ内容の情報とを含むことを特徴とする付記1乃至3のいずれかに記載の共有メモリ環境再現システム。
(付記5)前記共有メモリ展開手段は、前記ジャーナルファイルに記録された前記時刻情報を参照して、指定された任意の時刻における第一の共有メモリの状態を復元することを特徴とする付記1乃至4のいずれかに記載の共有メモリ環境再現システム。
(付記6)第一の共有メモリと共有メモリ監視記録手段とを備えるユーザ環境と、第二の共有メモリと共有メモリ展開手段とを備える再現環境と、を含むシステムにおいて、前記第一の共有メモリの内容を前記第二の共有メモリ上に再現する方法であって、前記共有メモリ監視記録手段が、前記第一の共有メモリの変更を定期的に監視し、変更内容を時刻情報と共にジャーナルファイルに記録し、前記共有メモリ展開手段が、前記ジャーナルファイルに基づいて、前記第二の共有メモリへ前記変更内容を展開させて、前記第一の共有メモリの状態を前記第二の共有メモリ上で復元する、共有メモリ環境再現方法。
1……ユーザ環境、2……DBクライアント、3……データベースシステム、4……再現環境、5……DBクライアント、6……データベースシステム、10……共有メモリ環境再現システム、31……DBインスタンス、32……初期化パラメータファイル、33……共有メモリ、34……DBファイル、35……共有メモリ監視記録手段、36……共有メモリジャーナルファイル、61……DBインスタンス、62……初期化パラメータファイル、63……共有メモリ、64……DBファイル、65……共有メモリ展開手段、66……共有メモリジャーナルファイル

Claims (6)

  1. ユーザ環境と再現環境を備える共有メモリ環境再現システムであり、
    前記ユーザ環境は、
    第一の共有メモリと、
    前記第一の共有メモリの変更を定期的に監視し、変更内容を時刻情報と共にジャーナルファイルに記録する共有メモリ監視記録手段と、
    を備え、前記再現環境は、
    第二の共有メモリと、
    前記ジャーナルファイルに基づいて、前記第二の共有メモリへ前記変更内容を展開させて、前記第一の共有メモリの状態を前記第二の共有メモリ上で復元する共有メモリ展開手段と、
    を備える共有メモリ環境再現システム。
  2. 前記共有メモリ監視記録手段は、前記第一の共有メモリ上のヒープ領域の状態や変更の推移を前記ジャーナルファイルに記録することを特徴とする請求項1に記載の共有メモリ環境再現システム。
  3. 前記共有メモリ監視記録手段は、データベース起動直後の最初の走査では、前記第一の共有メモリ上の前記ヒープ領域全体を、前記ジャーナルファイルに記録することを特徴とする請求項1又は2に記載の共有メモリ環境再現システム。
  4. 前記ジャーナルファイルの各エントリは、時刻情報と、アドレスの情報と、変更サイズの情報と、変更後のメモリ内容の情報とを含むことを特徴とする請求項1乃至3のいずれかに記載の共有メモリ環境再現システム。
  5. 前記共有メモリ展開手段は、前記ジャーナルファイルに記録された前記時刻情報を参照して、指定された任意の時刻における第一の共有メモリの状態を復元することを特徴とする請求項1乃至4のいずれかに記載の共有メモリ環境再現システム。
  6. 第一の共有メモリと共有メモリ監視記録手段とを備えるユーザ環境と、第二の共有メモリと共有メモリ展開手段とを備える再現環境と、を含むシステムにおいて、前記第一の共有メモリの内容を前記第二の共有メモリ上に再現する方法であって、
    前記共有メモリ監視記録手段が、前記第一の共有メモリの変更を定期的に監視し、変更内容を時刻情報と共にジャーナルファイルに記録し、
    前記共有メモリ展開手段が、前記ジャーナルファイルに基づいて、前記第二の共有メモリへ前記変更内容を展開させて、前記第一の共有メモリの状態を前記第二の共有メモリ上で復元する、共有メモリ環境再現方法。
JP2010199049A 2010-09-06 2010-09-06 データベースの共有メモリの状態を別環境に再現するシステム及び方法 Expired - Fee Related JP5534209B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010199049A JP5534209B2 (ja) 2010-09-06 2010-09-06 データベースの共有メモリの状態を別環境に再現するシステム及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010199049A JP5534209B2 (ja) 2010-09-06 2010-09-06 データベースの共有メモリの状態を別環境に再現するシステム及び方法

Publications (2)

Publication Number Publication Date
JP2012058842A JP2012058842A (ja) 2012-03-22
JP5534209B2 true JP5534209B2 (ja) 2014-06-25

Family

ID=46055911

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010199049A Expired - Fee Related JP5534209B2 (ja) 2010-09-06 2010-09-06 データベースの共有メモリの状態を別環境に再現するシステム及び方法

Country Status (1)

Country Link
JP (1) JP5534209B2 (ja)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05173739A (ja) * 1991-12-24 1993-07-13 Toshiba Corp オペレーション操作画面再現装置
JPH0713805A (ja) * 1993-06-29 1995-01-17 Toshiba Corp 並列計算機及びプログラム実行再現方法
JP2735479B2 (ja) * 1993-12-29 1998-04-02 株式会社東芝 メモリ・スナップショット方法及びメモリ・スナップショット機能を持つ情報処理装置
JP2007226287A (ja) * 2006-02-21 2007-09-06 Yokogawa Electric Corp システム環境再現方法およびシステム環境修正方法
JP4897654B2 (ja) * 2007-12-05 2012-03-14 三菱電機株式会社 再現試験システム

Also Published As

Publication number Publication date
JP2012058842A (ja) 2012-03-22

Similar Documents

Publication Publication Date Title
US7890716B2 (en) Method of managing time-based differential snapshot
CN105094695B (zh) 一种存储方法和系统
KR20030017532A (ko) 데이터 기억 시스템 및 방법
US8538925B2 (en) System and method for backing up test data
US6941322B2 (en) Method for efficient recording and management of data changes to an object
CN102763088A (zh) 系统事件日志系统
US8010834B2 (en) Failure information monitoring apparatus and failure information monitoring method
CN102331956A (zh) 一种用户数据备份方法及装置
CN105608150A (zh) 一种业务数据的处理方法及系统
CN111966531B (zh) 数据快照方法、装置、计算机设备及存储介质
CN112463880A (zh) 一种区块链数据存储方法及相关装置
US7600151B2 (en) RAID capacity expansion interruption recovery handling method and system
JP5534209B2 (ja) データベースの共有メモリの状態を別環境に再現するシステム及び方法
CN102473133B (zh) 数据记录装置及音频系统
JP2013025655A (ja) ログファイル管理モジュールおよびログファイル管理方法
CN103678478A (zh) 信息处理装置、信息处理方法和程序
JP2010176512A (ja) ストレージ装置、ストレージ装置制御方法およびストレージ装置制御プログラム
CN105260132A (zh) 一种热加载磁盘过滤驱动的方法与设备
JP4838226B2 (ja) ネットワークロギング処理プログラム,情報処理システムおよびネットワークロギング情報自動退避方法
JP4336981B2 (ja) バックアップシステムおよび方法
CN101615148A (zh) 文件保护方法
CN113485874B (zh) 数据处理方法及分布式存储系统
US20230229678A1 (en) Information processing device, information processing method, storage medium on which an information processing program is stored, and vehicle
JP2016099925A (ja) 情報処理装置、ログ格納方法、及びコンピュータ・プログラム
JP5333639B2 (ja) ストレージ装置、ストレージ装置制御方法およびストレージ装置制御プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130815

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140320

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140402

R150 Certificate of patent or registration of utility model

Ref document number: 5534209

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140415

LAPS Cancellation because of no payment of annual fees