JP6907771B2 - データベース回復装置、データベース回復方法、及び、データベース回復プログラム - Google Patents
データベース回復装置、データベース回復方法、及び、データベース回復プログラム Download PDFInfo
- Publication number
- JP6907771B2 JP6907771B2 JP2017135109A JP2017135109A JP6907771B2 JP 6907771 B2 JP6907771 B2 JP 6907771B2 JP 2017135109 A JP2017135109 A JP 2017135109A JP 2017135109 A JP2017135109 A JP 2017135109A JP 6907771 B2 JP6907771 B2 JP 6907771B2
- Authority
- JP
- Japan
- Prior art keywords
- update
- database
- update request
- new column
- backup
- 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.)
- Active
Links
Images
Landscapes
- Retry When Errors Occur (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
<構成>
図1は、本実施の形態にかかるデータベース回復システム10の構成を示す図である。データベース回復システム10は、データベース回復装置3、並びに、当該装置に接続されたDB記憶装置5、AP装置4、サービス提供装置1、及び、入力装置2を包含する。
AP装置4の更新実行部41は、更新リクエストを受信して、リクエストされた更新を実行する。更新実行部41は、例えば、データベース管理システムを包含しており、当該更新を実現するためのSQL文等を生成して実行する。更新実行部41は、例えば、更新された列情報として、このSQL文を更新内容記録部34に出力する。
データベース回復システム10の動作を、図3乃至図5のフローチャートと、図6乃至図11の図を参照して説明する。以下の説明では、氏名列と住所列を保存するデータベースを(図6のデータベース)機能拡張して、新たに年齢列を追加する(図7のデータベース)例を取り上げる。
作業受付部31が、入力装置2から機能拡張指示を受け付けて、機能拡張部32に転送する。機能拡張指示は、データベースに新たな列を追加する指示であり、追加する列の名称、追加位置、データ属性等の追加列情報を含む。本例において追加列情報は、新たに追加する年齢列の情報を含む。
機能拡張部32は、DB記憶装置5内に格納されているデータベースのバックアップを取得して、作業記憶部33へ保存する。図6の例において、機能拡張部32は、氏名列と住所列を有するデータベースのバックアップを作業記憶部33へ保存する。なお、バックアップ取得前、この例のデータベースには、No.001の行が格納されている。
機能拡張部32は、DB記憶装置5内に格納されているデータベースに、新たな列を追加する。図7の例において、機能拡張部32は、データベースには年齢列を追加する。なお、この列をデータベースに追加する処理は、他の装置、例えばAP装置4に分担させても良い。
機能拡張部32は、追加列情報を更新内容記録部34に通知する。更新内容記録部34は、通知された追加列情報を記憶する。図7の例において、追加列情報は年齢列の情報を含む。
作業受付部31が、サービス提供装置1から更新リクエストを受け付けて、更新内容記録部34と更新実行部41へ転送する。この後、更新実行部41は、更新リクエストの内容に応じて、データベースを更新する。図7の例において、更新リクエスト2(図中では、単にリクエスト2と記載。以下同様)に応じてNo.001の行に年齢データが追加され、更新リクエスト3に応じて年齢データの無いNo.002がデータベースに追記されている。
更新リクエストを転送された更新内容記録部34が、更新実行部41から当該更新リクエストに応じた更新内容を受信する。図7の例において、更新実行部41は、更新内容として、更新リクエストに応じてデータベース管理システムに対して発行されたSQL文を更新内容記録部34に送信する。更新実行部41は、更新リクエスト2に応じてSQL文2を、更新リクエスト3に応じてSQL文3を送信する。
更新内容記録部34は、転送されてきた更新リクエストが、新たな列を更新するか否かを判断する。更新内容記録部34は、ステップA4で通知されて記憶している追加列情報が示す列と、ステップB3で受信した更新内容が示す列とが同一であれば、新たに追加した列に対する更新が有ると判断する。
更新内容記録部34は、更新リクエストを時系列に作業記憶部33に保存し、当該更新リクエストに関連付けて、判断結果を作業記憶部33に保存する。判断結果は、例えば、新たに追加した列の更新有を値1、無を値0のフラグで保存する。従って、更新内容記録部34は、図7の例において、更新リクエスト2に関連付けて値1、更新リクエスト3に関連付けて値0を保存する。図11は、図7の例において、更新内容記録部34が作業記憶部33に保存した更新リクエストとフラグを示す。図11の1行目に更新リクエスト2と値1のフラグが格納され、2行目に更新リクエスト3と値0のフラグが格納されている。
作業受付部31が、入力装置2から切り戻し指示を受け付けて、切り戻し実行部35に転送する。
切り戻し実行部35は、作業記憶部33内に保存されている新たな列が追加される前のデータベースのバックアップを取得して、DB記憶装置5内に再格納する。この、データベースのバックアップは、図4のステップA2で保存したものである。図8の例において、切り戻し実行部35は、氏名列と住所列を有するデータベースのバックアップを作業記憶部33へ保存している。この結果、データベースは、図6の状態に戻る。
ステップC4乃至C6では、切り戻し実行部35は、バックアップが保存されて以降にデータベースに発行された更新リクエストの中から、追加された新たな列を更新しない更新リクエストを選択して再実行する。
切り戻し実行部35は、読み込んだ更新リクエストの中から、追加された新たな列を更新しない更新リクエストを、判断結果に基づいて選択する。図9の例において、切り戻し実行部35は、読み込んだ更新リクエスト2と更新リクエスト3の中から、新たに追加された年齢列を更新しない更新リクエストを、フラグに基づいて選択する。すなわち、切り戻し実行部35は、値0のフラグの更新リクエストである、更新リクエスト3を選択する。
切り戻し実行部35は、選択した更新リクエストをAP装置4の更新実行部41へ送信する。更新実行部41は、送信された更新リクエストを実行する。図9の例において、切り戻し実行部35は、更新リクエスト3を、AP装置4の更新実行部41に送信する。更新実行部41は、更新リクエスト3からSQL文3を生成して実行する。
データベース回復装置3が、更新実行部41を備えていても良い。この場合、データベース回復システム10は、AP装置4を包含しなくても良い。さらに、データベース回復装置3が、DB記憶装置5を備えていても良い。
データベース回復装置3は、データベースのバックアップを複数世代保存し、切り戻しに際しては、指定された世代のバックアップで切り戻しを実行するようにしても良い。この場合、データベース回復装置3の動作は、以下のように変更される。
データベースに、新たな列を複数回追加することが許容され、追加されるたびに、図3の処理が繰り返される。この結果、機能拡張部32は、順次バックアップの世代を追加していく。さらに、機能拡張部32は、各世代のバックアップに関連付けて、バックアップ保存時刻、及び、追加列情報を作業記憶部33に保存しておく。
更新内容記録部34は、更新リクエスト、及び、判断結果を、世代に関係なく、時系列に作業記憶部33に保存しておく。
切り戻し指示は、切り戻し世代の指定情報を含み、切り戻し実行部35は、指定された世代のバックアップをDB記憶装置5に再格納する。さらに、切り戻し実行部35は、当該世代のバックアップが保存されて以降にデータベースに発行された更新リクエストの中から、指定された世代以降の世代で追加された、新たな列の何れも更新しない更新リクエストを選択して再実行する。
本実施の形態にかかるデータベース回復装置3は、新たな列が追加されたデータベースの切り戻しを容易に実行できる。その理由は、切り戻し実行部35が、新たな列の追加前に保存されたバックアップに対し、保存時以降にデータベースに発行された更新リクエストの中から、追加された新たな列を更新しない更新リクエストを選択して再実行するからである。
図12は、第二の実施の形態にかかるデータベース回復装置3の構成を示す図である。本実施の形態のデータベース回復装置3は、作業記憶手段37、および、切り戻し実行手段38を備える。
2 入力装置
3 データベース回復装置
4 AP装置
5 DB記憶装置
10 データベース回復システム
31 作業受付部
32 機能拡張部
33 作業記憶部
34 更新内容記録部
35 切り戻し実行部
37 作業記憶手段
38 切り戻し実行手段
41 更新実行部
60 コンピュータ装置
61 プロセッサ
62 外部記憶装置
63 主記憶部
64 バス
65 プログラム
Claims (10)
- DB記憶装置に格納されていて新たな列が追加されたデータベースの、前記新たな列が追加される前に保存されたバックアップ、及び、前記バックアップの保存時以降に実行された前記データベースの更新リクエストの時系列を保存する作業記憶手段と、
前記DB記憶装置に前記バックアップを再格納して、再格納後の前記データベースに対し、前記新たな列を更新しない前記更新リクエストを前記時系列から選択して、前記更新リクエストを実行する更新実行手段に出力する切り戻し実行手段と、を備えるデータベース回復装置。 - ユーザインターフェースを提供するサービス提供装置、及び、前記更新実行手段を備えるAP装置、及び、前記DB記憶装置に接続され、
前記サービス提供装置から入力された前記更新リクエストを受け付けて前記AP装置、及び、更新内容記録手段に送信する作業受付手段と、
前記更新リクエストを前記作業記憶手段に時系列に格納する前記更新内容記録手段と、をさらに備える請求項1のデータベース回復装置。 - 前記更新内容記録手段は、前記更新実行手段から前記更新リクエストの実行で更新された列情報を取得し、当該更新リクエストが前記新たな列に対して更新するか否かを判断して、判断結果を当該更新リクエストに関連付けて前記作業記憶手段に保存し、
前記切り戻し実行手段は、前記判断結果に基づいて、前記新たな列を更新しない前記更新リクエストを前記時系列から選択する、請求項2のデータベース回復装置。 - 前記新たな列を追加されると、前記DB記憶装置に格納されている前記新たな列を追加する前の前記データベースのバックアップを前記作業記憶手段に取得し、その後、前記DB記憶装置に格納されている前記データベースに前記新たな列を追加する機能拡張手段を、さらに備える請求項1乃至請求項3の何れか一項のデータベース回復装置。
- 前記切り戻し実行手段は、前記データベースに対し、前記時系列から前記新たな列に対して更新する前記更新リクエストを選択して、前記更新実行手段に出力する請求項1乃至請求項4の何れか一項のデータベース回復装置。
- 前記DB記憶装置と、前記更新実行手段と、をさらに備える請求項1のデータベース回復装置。
- DB記憶装置に格納されていて新たな列が追加されたデータベースの、前記新たな列が追加される前に保存されたバックアップ、及び、前記バックアップの保存時以降に実行された前記データベースの更新リクエストの時系列を保存し、
前記DB記憶装置に前記バックアップを再格納して、再格納後の前記データベースに対し、前記新たな列を更新しない前記更新リクエストを前記時系列から選択して、前記更新リクエストを実行する更新実行手段に出力する、データベース回復方法。 - 前記更新リクエストの実行で更新された列情報を前記更新実行手段から取得し、当該更新リクエストが前記新たな列に対して更新するか否かを判断して、判断結果を当該更新リクエストに関連付けて保存し、
前記判断結果に基づいて、前記新たな列を更新しない前記更新リクエストを前記時系列から選択する、請求項7のデータベース回復方法。 - DB記憶装置に格納されていて新たな列が追加されたデータベースの、前記新たな列が追加される前に保存されたバックアップ、及び、前記バックアップの保存時以降に実行された前記データベースの更新リクエストの時系列を保存し、
前記DB記憶装置に前記バックアップを再格納して、再格納後の前記データベースに対し、前記新たな列を更新しない前記更新リクエストを前記時系列から選択して、前記更新リクエストを実行する実行手段に出力する処理をコンピュータに実行させる、データベース回復プログラム。 - 前記更新リクエストの実行で更新された列情報を前記実行手段から取得し、当該更新リクエストが前記新たな列に対して更新するか否かを判断して、判断結果を当該更新リクエストに関連付けて保存し、
前記判断結果に基づいて、前記新たな列を更新しない前記更新リクエストを前記時系列から選択する処理をコンピュータに実行させる、請求項9のデータベース回復プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017135109A JP6907771B2 (ja) | 2017-07-11 | 2017-07-11 | データベース回復装置、データベース回復方法、及び、データベース回復プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017135109A JP6907771B2 (ja) | 2017-07-11 | 2017-07-11 | データベース回復装置、データベース回復方法、及び、データベース回復プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019016309A JP2019016309A (ja) | 2019-01-31 |
JP6907771B2 true JP6907771B2 (ja) | 2021-07-21 |
Family
ID=65359022
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017135109A Active JP6907771B2 (ja) | 2017-07-11 | 2017-07-11 | データベース回復装置、データベース回復方法、及び、データベース回復プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6907771B2 (ja) |
-
2017
- 2017-07-11 JP JP2017135109A patent/JP6907771B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2019016309A (ja) | 2019-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6930692B2 (ja) | ページ表示方法及びシステム | |
JP4839091B2 (ja) | データベース回復方法及び計算機システム | |
JP4483342B2 (ja) | システム復旧方法 | |
US20120246513A9 (en) | System-directed checkpointing implementation using a hypervisor layer | |
US20090240899A1 (en) | Storage device and method of controlling same | |
US20150058295A1 (en) | Data Persistence Processing Method and Apparatus, and Database System | |
US10379969B2 (en) | Ephemeral store-based auto-save for applications with a persistence layer | |
JP6189488B1 (ja) | データベース管理装置、データベース管理方法、およびデータベース管理プログラム | |
US20170083419A1 (en) | Data management method, node, and system for database cluster | |
CN107209683A (zh) | 备份映像恢复 | |
US9183038B2 (en) | Job management system that determines if master data has been updated, then re-executes a sub-job based on available executing computers and data sharing status | |
US10613923B2 (en) | Recovering log-structured filesystems from physical replicas | |
JP2006004031A (ja) | データ処理方法およびシステム並びにストレージ装置方法およびその処理プログラム | |
CN113254536A (zh) | 数据库事务处理方法、系统、电子设备及存储介质 | |
US20090249010A1 (en) | Apparatus and method for controlling copying | |
JP2017167811A (ja) | バックアップ制御装置、バックアップ制御方法及びプログラム | |
JP6907771B2 (ja) | データベース回復装置、データベース回復方法、及び、データベース回復プログラム | |
JP2012155634A (ja) | 情報処理プログラム、情報処理装置および情報処理方法 | |
US8775371B2 (en) | Synchronizing an auxiliary data system with a primary data system | |
US20110131181A1 (en) | Information processing device and computer readable storage medium storing program | |
JP6160688B2 (ja) | 情報処理装置、情報処理方法、及び情報処理プログラム | |
JP2020095322A (ja) | 分散ファイル装置、フェイルオーバ方法、プログラム及び記録媒体 | |
CN107797885B (zh) | 电子设备及其控制方法 | |
JP2016021110A (ja) | オブジェクトストレージシステムおよびその制御方法およびその制御プログラム | |
JP5703860B2 (ja) | フォールトトレラントシステム、メモリ制御方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200615 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210414 |
|
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: 20210601 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210614 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6907771 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |