(57)【要約】      （修正有）【課題】アクセスの有無に関わらない定期的なエラーチェックによるデータアクセス性能の低下を抑止する。【解決手段】情報処理装置は、記憶装置と、記憶装置に対するアクセスの負荷を取得する取得手段と、アクセスの負荷が所定の閾値以下の場合、記憶装置に対するエラーチェックを、データベース上のテーブルごとに監視の優先度が示す監視間隔で行う監視手段と、を備えることを特徴とする。また、データベースシステムのシャットダウン時にデータベースシステムの起動中にエラーチェックされなかったデータのエラーチェックを行う。【選択図】図１１
2017010425.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
記憶装置に対するアクセスの負荷を取得し、
前記アクセスの負荷が所定の閾値以下の場合、前記記憶装置に対するエラーチェックを行う、
ことを実行させることを特徴とする制御プログラム。
【請求項２】
前記記憶装置に対する監視の負荷を推定し、
前記アクセスの負荷に前記ディスク監視の負荷を加えた負荷が所定の閾値以下の場合、前記エラーチェックを行う、
請求項１に記載の制御プログラム。
【請求項３】
前記記憶装置内の複数の領域において、各領域に記憶されるデータの特性に応じて設定された優先度に基づいて、前記エラーチェックの対象となる領域を決定する、
請求項１または２に記載の制御プログラム。
【請求項４】
前記記憶装置を用いるデータベースシステムのシャットダウンの際に、該データベースシステムの稼働中にエラーチェックが行われなかった前記記憶装置の記憶領域に対してエラーチェックを行った後に、前記データベースシステムのシャットダウンを実行する、
請求項１〜３のいずれか１項に記載の制御プログラム。
【請求項５】
記憶装置と、
前記記憶装置に対するアクセスの負荷を取得する取得手段と、
前記アクセスの負荷が所定の閾値以下の場合、前記記憶装置に対するエラーチェックを行う監視手段と、
を備えることを特徴とする情報処理装置。
【請求項６】
コンピュータが、
記憶装置に対するアクセスの負荷を取得し、
前記アクセスの負荷が所定の閾値以下の場合、前記記憶装置に対するエラーチェックを行う、
ことを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御プログラム、情報処理装置および制御方法に関する。
【背景技術】
【０００２】
ディスクを監視する技術としてｃｈｅｃｋｓｕｍ機能が知られている。ｃｈｅｃｋｓｕｍ機能は、データ読み込みの際に、データ破損を検出するための機能である。データ読み込みの際、アクセスされたディスク領域は、例えば、ｃｈｅｃｋｓｕｍ機能によりデータの破損がないかエラーチェックされる。この場合、アクセスが発生したディスク領域については、エラーチェックがなされる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−３９４０号公報
【特許文献２】特開２０１０−１９１５９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、アクセスが発生しなかったディスク領域はエラーチェックされない。また、アクセスが発生しないディスク領域を監視対象とするために、例えば、アクセスの有無に関わらず定期的にエラーチェックをすると、エラーチェック自体に負荷が発生するため、エラーチェック時の負荷により、データアクセス性能が低下するおそれがある。
【０００５】
本発明の一側面では、エラーチェックによるデータアクセス性能の低下を抑止する制御プログラム、情報処理装置および制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の態様の一つは、情報処理装置によって例示される。情報処理装置は、記憶装置と、記憶装置に対するアクセスの負荷を取得する取得手段と、アクセスの負荷が所定の閾値以下の場合、記憶装置に対するエラーチェックを行う監視手段と、を備えることを特徴とする。
【発明の効果】
【０００７】
一側面では、エラーチェックによるデータアクセス性能の低下を抑止することができる。
【図面の簡単な説明】
【０００８】
【図１】ｃｈｅｃｋｓｕｍ機能によるディスク監視の例を示す図である。
【図２】空のファイルの設置によりディスク全体を監視する例を示す図である。
【図３】Ｉ／Ｏ負荷の変動の例を示す図である。
【図４】Ｉ／Ｏ負荷および監視による負荷の変動の例を示す図である。
【図５】情報処理装置のハードウェア構成の一例を示す図である。
【図６】情報処理装置の機能構成の一例を示す図である。
【図７】監視対象のディスクの例を示す図である。
【図８】監視優先度テーブルのデータ構造の一例を示す図である。
【図９】データ優先度テーブルのデータ構造の一例を示す図である。
【図１０】アクセス履歴テーブルのデータ構造の一例を示す図である。
【図１１】監視処理の具体例のフローチャートである。
【図１２】データベースシステムのシャットダウン時の監視処理の具体例のフローチャートである。
【図１３】エラー出力画面の一例を示す図である。
【発明を実施するための形態】
【０００９】
以下、図面に基づいて、本発明の実施の形態を説明する。以下の実施形態の構成は例示であり、本発明は実施形態の構成に限定されない。
【００１０】
＜比較例＞
図１および図２は、比較例におけるディスク監視の例を説明するための図である。図１は、ｃｈｅｃｋｓｕｍ機能によるディスク監視の例を示す図である。
【００１１】
図１において、メモリＣ１は、ディスクＣ２内のデータを参照する。ディスクＣ２は、ファイルａ１、ａ２およびａ３を含む。ファイルａ２およびａ３のデータは破損している。メモリＣ１がファイルａ１にアクセスすると、ファイルａ１は、ｃｈｅｃｋｓｕｍ機能によりエラーチェックされる。メモリＣ１がファイルａ２にアクセスすると、ファイルａ２は、ｃｈｅｃｋｓｕｍ機能によりエラーチェックされる。ファイルａ２のデータは破損しているため、異常が検出される。メモリＣ１はファイルａ３にはアクセスしないため、ファイルａ３のデータ破損は検出されない。
【００１２】
このように、ディスクＣ２内において、データが存在しアクセスされた領域が監視対象となる。したがって、データが存在しない領域およびデータは存在してもアクセスされない領域は監視対象とならない。ディスク全体を監視対象とするためには、データが存在しない領域に空のファイルを設置し、順番にエラーチェックをしていくことが考えられる。
【００１３】
図２は、空のファイルの設置によりディスク全体を監視する例を示す図である。図２において、メモリＣ１は、ディスクＣ２内のデータを参照する。ディスクＣ２は、ファイルａ１、ａ２およびａ３を含む。さらに、ディスクＣ２には、空のファイルｂ１、ｂ２およびｂ３が配置される。ファイルａ２およびａ３のデータは破損している。メモリＣ１は、図と同様に、ファイルａ１およびａ２にアクセスし、ファイルａ２の異常が検出される。
【００１４】
一方、監視プロセスＣ３は、メモリＣ１からのデータ参照とは別に、ｃｈｅｃｋｓｕｍ機能により、ファイルａ３、ｂ１、ｂ２およびｂ３を監視する。ファイルａ３のデータは破損しているため、異常が検出される。このように、データが存在しない領域に空のファイルを設置し、監視プロセスＣ３によって順番にエラーチェックしていくことで、ディスク全体が監視される。
【００１５】
しかしながら、データの有無、アクセスの有無、データの重要性に関係なく、順番にエラーチェックをすると、アクセス負荷の増大により、アクセス性能の低下を招くおそれがある。なお、アクセスの負荷は、以下、Ｉｎｐｕｔ／Ｏｕｔｐｕｔ（Ｉ／Ｏ）負荷とも称される。
【００１６】
＜実施形態＞
実施形態において、情報処理装置は、Ｉ／Ｏ負荷を考慮してディスクを監視する。具体的には、情報処理装置は、Ｉ／Ｏ負荷が所定の閾値より小さい場合に監視処理を実施する。さらに、情報処理装置は、ディスク監視に伴う負荷も考慮してディスクを監視する。また、情報処理装置は、データの優先度および重要度に基づき監視対象のデータを決定する。
【００１７】
実施形態では、Central Processing Unit（ＣＰＵ）負荷ではなく、Ｉ／Ｏ負荷を考慮
して監視処理が実施される。ＣＰＵ負荷を考慮しても、Ｉ／Ｏ負荷の増加に伴い、アクセス性能は、低下するおそれがあるためである。例えば、情報分析系の業務の場合、データへのアクセスが増加するため、アクセス性能はＩ／Ｏ負荷の影響を受ける。このため、監視処理は、Ｉ／Ｏ負荷を考慮して実施されることが望ましい。
【００１８】
また、データへのアクセスが増加した後、アクセスしたデータに対する処理を行う間、Ｉ／Ｏ負荷は下がることが予想される。データに対する処理は、通常、ＣＰＵのリソースを使い切ることはない。このため、監視処理は、Ｉ／Ｏ負荷が下がった状態で、余っているＣＰＵのリソースを利用して実施されればよい。さらに、データの格納先として複数のディスクがある場合、ディスクごとにＩ／Ｏ負荷を管理することができるため、より効率的に監視処理を実施することができる。
【００１９】
＜Ｉ／Ｏ負荷と監視の実施＞
図３および図４は、Ｉ／Ｏ負荷の変動を考慮して監視が実施されることを説明するための図である。
【００２０】
図３は、Ｉ／Ｏ負荷の変動の例を示す図である。図３において、横軸は時間、縦軸はＩ／Ｏ負荷を示す。閾値は、業務に影響を及ぼさない範囲で事前に定義される。計測したＩ／Ｏ負荷が閾値よりも低い場合、即ち、図３において、背景色が付された時間帯に、ディスクの監視が実施される。Ｉ／Ｏ負荷が閾値よりも高い場合には、ディスクの監視は実施されない。これにより、Ｉ／Ｏ負荷に余裕がある時間帯のリソースが有効に活用される。
【００２１】
図４は、Ｉ／Ｏ負荷および監視による負荷の変動の例を示す図である。図４（ｘ）は、図３と同様に、Ｉ／Ｏ負荷の変動の例を示す。図４（ｙ）は、監視によるＩ／Ｏ負荷の変動の例を示す。Ｉ／Ｏ負荷に、監視による負荷を加えると、全体の負荷は、閾値を超える場合がある。図４において、Ｉ／Ｏ負荷が閾値を超える前、およびＩ／Ｏ負荷が閾値以下となった後の背景色が濃い部分では、全体の負荷は、閾値を超えて業務に影響を与える可能性がある。そこで、Ｉ／Ｏ負荷だけでなく、監視による負荷も含めて閾値と比較することで、ディスク監視はより効率的に実施される。
【００２２】
＜ハードウェア構成＞
図５は、情報処理装置１０のハードウェア構成の一例を示す図である。情報処理装置１０は、プロセッサ１１、主記憶装置１２、補助記憶装置１３、入力装置１４、出力装置１５、ネットワークインタフェース１６を備える。また、これらはバス１７により互いに接続される。
【００２３】
プロセッサ１１は、補助記憶装置１３に保持されたＯＳや様々なコンピュータプログラムを主記憶装置１２にロードして実行することによって、様々な処理を実行する。ただし、コンピュータプログラムによる処理の一部がハードウェア回路により実行されてもよい。プロセッサ１１は、例えば、ＣＰＵや、Digital Signal Processor（ＤＳＰ）である。
【００２４】
主記憶装置１２は、プロセッサ１１に、補助記憶装置１３に格納されているプログラムをロードするための記憶領域、及びプログラムを実行するための作業領域を提供する。また、主記憶装置１２は、データを保持するためのバッファとして用いられる。主記憶装置１２は、例えば、Read Only Memory（ＲＯＭ）、Random Access Memory（ＲＡＭ）等の半導体メモリである。
【００２５】
補助記憶装置１３は、様々なプログラムや、各プログラムの実行に際してプロセッサ１１が使用するデータを格納する。補助記憶装置１３は、例えば、Erasable Programmable ROM（ＥＰＲＯＭ）、又はハードディスクドライブ（Hard Disk Drive、ＨＤＤ）等の不揮
発性のメモリである。補助記憶装置１３は、例えば、オペレーティングシステム（Operating System、ＯＳ）、制御プログラム、その他様々なアプリケーションプログラムを保持する。補助記憶装置１３は、「記憶装置」の一例である。
【００２６】
入力装置１４は、ユーザからの操作入力を受け付ける。例えば、入力装置１４は、タッチパッド、マウス、タッチパネル等のポインティングデバイス、キーボード、操作ボタン、遠隔操作機からの信号を受信する回路等である。出力装置１５は、例えば、情報処理装置１０によるディスク監視の結果を出力する。出力装置１５は、例えば、液晶ディスプレイ（Liquid Crystal Display、ＬＣＤ）である。
【００２７】
ネットワークインタフェース１６は、ネットワークとの情報の入出力を行うインタフェースである。ネットワークインタフェース１６は、有線のネットワーク、または無線のネットワークと接続する。ネットワークインタフェース１６は、例えば、Network Interface Card（ＮＩＣ）、無線Local Area Network（ＬＡＮ）カード等である。ネットワークインタフェース１６で受信されたデータ等は、プロセッサ１１に出力される。
【００２８】
例えば、情報処理装置１０では、プロセッサ１１が、補助記憶装置１３に保持される制御プログラムを主記憶装置１２にロードして実行する。なお、情報処理装置１０のハードウェア構成は一例であり、上記に限られず、実施の形態に応じて適宜構成要素の省略、置換または追加が可能である。
【００２９】
＜機能構成＞
図６から図１０は、情報処理装置１０の機能構成を説明するための図である。図６は、情報処理装置１０の機能構成の一例を示す図である。情報処理装置１０は、監視優先度テーブル１、データ優先度テーブル２、アクセス履歴テーブル３、Ｉ／Ｏ負荷テーブル４および監視負荷情報テーブル５を含む。
【００３０】
監視優先度テーブル１は、監視の優先度ごとに、監視の間隔を定義するテーブルである。監視優先度テーブル１は、ユーザにより定義される。データ優先度テーブル２は、監視対象の領域ごと、例えば、データベース上のテーブルごとに、ユーザ指定の優先度および秘匿状況を管理するテーブルである。アクセス履歴テーブル３は、監視対象の領域へのアクセス時刻を記録するテーブルである。
【００３１】
Ｉ／Ｏ負荷テーブル４は、現在のＩ／Ｏ負荷情報を管理するテーブルである。Ｉ／Ｏ負荷テーブル４は、情報処理装置１０のプロセッサ１１により取得される現在のＩ／Ｏ負荷を記憶する。監視負荷情報テーブル５は、ディスクの監視によって発生するＩ／Ｏ負荷情報を管理するテーブルである。監視によるＩ／Ｏ負荷は、例えば、ｃｈｅｃｋｓｕｍ機能による監視の実行前後におけるＩ／Ｏ負荷の差分から算出することができる。監視によるＩ／Ｏ負荷は、監視処理が実行されるたびに、監視負荷情報テーブル５に記録される。
【００３２】
図７は、監視対象のディスクの例を示す図である。監視対象のディスクは、情報処理装置１０内の補助記憶装置１３であるものとして説明される。ただし、監視対象のディスク１３は、情報処理装置１０に接続された外部のディスクであってもよい。図７において、監視対象のディスク１３は、データが存在する３つのファイルを含む。さらに、ディスク１３全体を監視対象とするため、空のファイルが３つ配置されている。
【００３３】
図８は、監視優先度テーブル１のデータ構造の一例を示す図である。監視優先度テーブル１は、監視の優先度ごとに、監視間隔を示す情報を記憶する。優先度は、データの優先度である。監視間隔は、データが監視される時間の間隔である。図８の例は、優先度が１０の監視間隔は１０分に１回、優先度が９の監視間隔は３０分に１回、優先度が０の監視
間隔は１日に１回であることを示す。
【００３４】
図９は、データ優先度テーブル２のデータ構造の一例を示す図である。データ優先度テーブル２は、ＴＢＬ  ＩＤごとに、優先度および秘匿を示す情報を記憶する。ＴＢＬ  ＩＤは、データベース上のテーブルを識別するＩＤである。
【００３５】
優先度は、監視優先度テーブル１に定義された優先度である。優先度は、テーブル作成時に、監視の重みづけに基づいて、ユーザにより指定される。優先度は、例えば、データベース上にテーブルを作成する際のStructured Query Language（ＳＱＬ）のパラメータ
として指定されてもよい。データ優先度テーブル２は、テーブル作成時に更新される。
【００３６】
秘匿は、テーブルの秘匿ポリシーが有効か無効かにより判断される。秘匿ポリシーは、テーブルが秘匿とされるか否かの定義であり、データの特性に応じて更新される。データ優先度テーブル２は、秘匿ポリシーの変更時に更新される。
【００３７】
図９の例において、ＴＢＬ  ＩＤが１００のテーブルは、優先度が８、秘匿有りであることが示される。また、ＴＢＬ  ＩＤが２００のテーブルは、優先度が５、秘匿無しであることが示される。
【００３８】
図１０は、アクセス履歴テーブル３のデータ構造の一例を示す図である。アクセス履歴テーブル３は、ＴＢＬ  ＩＤごとに、最終アクセス時刻を示す情報を記憶する。ＴＢＬ  ＩＤは、データベース上のテーブルを識別するＩＤである。最終アクセス時刻は、テーブルが最後にアクセスされた時刻である。各テーブルは、アクセス時にエラーチェックされるため、アクセス履歴テーブル３は、監視の履歴情報としても利用される。
【００３９】
図１０の例では、ＴＢＬ  ＩＤが１００のテーブルは、２０１４年１２月１６日１０時３０分に最後にアクセスされたことが示される。また、ＴＢＬ  ＩＤが２００のテーブルは、２０１４年１０月１０日１７時０５分に最後にアクセスされたことが示される。
【００４０】
＜処理の流れ＞
図１１は、監視処理の具体例のフローチャートである。監視処理は、例えば、データベースシステムの起動により開始される。
【００４１】
ＯＰ１０では、プロセッサ１１は、データの優先度およびアクセス履歴を考慮して、監視対象データを決定する。監視対象データは、例えば、データベース上のテーブルである。この場合、プロセッサ１１は、補助記憶装置１３内のテーブルが記憶された領域ごとにエラーチェックをする。ＯＰ１０の処理は、「データの優先度および重要度に基づいてエラーチェックの対象となるデータを決定する」処理の一例である。ＯＰ１０の処理は、ＯＰ１１からＯＰ１３の処理により例示される。
【００４２】
ＯＰ１１では、プロセッサ１１は、データ優先度テーブル２から各データの優先度を取得し、優先度順にデータを選択する。データの優先度は、例えば、データ優先度テーブル２の優先度の値が大きいほど高く、優先度の値が同じであれば秘匿無しの場合よりも秘匿有りの場合のほうが高いとしてもよい。処理がＯＰ１２に進む。
【００４３】
ＯＰ１２では、プロセッサ１１は、アクセス履歴テーブル３を参照し、ＯＰ１１で選択されたデータが、所定の時間、例えば１０分前より後にエラーチェックされたか否かを判定する。即ち、アクセス履歴テーブル３の最終アクセス時刻が、１０分前より後であるか否かを判定する。所定の時間前より後にエラーチェックされた場合には（ＯＰ１２：ＹＥＳ）、処理がＯＰ１１に戻る。プロセッサ１１は、ＯＰ１１で、次のデータを選択する。
所定の時間前より後にエラーチェックされていない場合には（ＯＰ１２：ＮＯ）、処理がＯＰ１３に進む。
【００４４】
ＯＰ１３では、プロセッサ１１は、選択中のデータを監視対象に決定する。なお、ＯＰ１１からＯＰ１３の処理は例示であり、プロセッサ１１は、様々な方法により監視対象データを決定してもよい。例えば、ＯＰ１１において、データの優先度に応じて各データを並べ替える場合、並べ替えのキーは、優先度、秘匿、監視間隔の順であってもよく、監視間隔、優先度、秘匿の順であってもよい。
【００４５】
さらに、監視優先度テーブル１に定義された監視間隔で、監視が実施されるように監視対象のデータを決定してもよい。例えば、優先度が１０のデータは１０分に１回、優先度が９のデータは３０分に１回エラーチェックが行われるようにしてもよい。処理がＯＰ１４に進む。
【００４６】
ＯＰ１４では、プロセッサ１１は、現在のＩ／Ｏ負荷および監視の負荷を取得する。現在のＩ／Ｏ負荷は、Ｉ／Ｏ負荷テーブル４から取得される。監視の負荷は、監視にかかるＩ／Ｏ負荷であり、監視負荷情報テーブル５に記録された監視負荷の平均値としてもよい。監視の負荷は、テーブルのデータのサイズに依存するため、一定ではない。したがって、監視の負荷は、直近の過去の監視にかかるＩ／Ｏ負荷としてもよい。処理がＯＰ１５に進む。ＯＰ１４は、「記憶装置に対するアクセスの負荷を取得する」処理、および「記憶装置に対する監視の負荷を推定する」処理の一例である。
【００４７】
ＯＰ１５では、プロセッサ１１は、現在のＩ／Ｏ負荷と監視の負荷の合計が、所定の閾値より小さいか否かを判定する。現在のＩ／Ｏ負荷と監視の負荷の合計が、所定の閾値より小さい場合には（ＯＰ１５：ＹＥＳ）、処理がＯＰ１７に進む。現在のＩ／Ｏ負荷と監視の負荷の合計が、所定の閾値以上の場合には（ＯＰ１５：ＮＯ）、処理がＯＰ１６に進む。ＯＰ１６では、プロセッサ１１は、６０秒間待機し、処理がＯＰ１５に戻る。
【００４８】
なお、ＯＰ１４およびＯＰ１５の処理において、監視の負荷を考慮しない場合は、ＯＰ１４では、プロセッサ１１は、監視の負荷を取得しなくてもよい。また、ＯＰ１５では、プロセッサ１１は、現在のＩ／Ｏ負荷が所定の閾値より小さいか否かを判定すればよい。
【００４９】
ＯＰ１７では、プロセッサ１１は、例えば、ｃｈｅｃｋｓｕｍ機能により、選択したデータのエラーチェックをする。エラーチェックは、ｃｈｅｃｋｓｕｍ機能に限られず、誤り検出ができれば、巡回冗長検査（Cyclic Redundancy Check、ＣＲＣ）等、他の方法で
されてもよい。エラーチェックをしたデータに破損がない場合には（ＯＰ１７：ＯＫ）、プロセッサ１１は、アクセス履歴テーブル３に対し、エラーチェックをしたテーブルの最終アクセス時刻を更新する。また、プロセッサ１１は、監視負荷情報テーブル５に対し、ＯＰ１７でのエラーチェックによるＩ／Ｏ負荷を記録する。処理がＯＰ１０に戻る。
【００５０】
一方、エラーチェックをしたデータの破損を検出した場合には（ＯＰ１７：ＮＧ）、処理がＯＰ１８に進む。なお、ＯＰ１５からＯＰ１７は、「アクセスの負荷が所定の閾値以下の場合、記憶装置に対するエラーチェックを行う」処理、および「アクセスの負荷にディスク監視の負荷を加えた負荷が所定の閾値以下の場合、エラーチェックを行う」処理の一例である。
【００５１】
ＯＰ１８では、プロセッサ１１は、出力装置１５にエラー情報を出力する。処理がＯＰ１０に戻る。図１１に示される監視処理は、データベースシステムがシャットダウンされるまで繰り返される。
【００５２】
図１２は、データベースシステムのシャットダウン時の監視処理の具体例のフローチャートである。図１２に示される処理は、例えば、ユーザによるデータベースシステムのシャットダウンの指示により開始される。
【００５３】
ＯＰ２０では、プロセッサ１１は、ｃｈｅｃｋｓｕｍ機能により、データベースシステムの起動中にエラーチェックされなかったデータのエラーチェックをする。起動中にエラーチェックされたか否かは、例えば、アクセス履歴テーブル３を参照し、所定の時間前より後に、エラーチェックされたか否かで判断してもよい。
【００５４】
エラーチェックをしたデータに破損がない場合には（ＯＰ２０：ＯＫ）、プロセッサ１１は、アクセス履歴テーブル３に対し、エラーチェックをしたテーブルの最終アクセス時刻を更新する。また、プロセッサ１１は、監視負荷情報テーブル５に対し、ＯＰ２０でのエラーチェックによるＩ／Ｏ負荷を記録する。処理が終了し、データベースシステムはシャットダウンされる。
【００５５】
一方、エラーチェックをしたデータの破損を検出した場合には（ＯＰ２０：ＮＧ）、処理がＯＰ２１に進む。ＯＰ２１では、プロセッサ１１は、出力装置１５にエラー情報を出力する。処理が終了し、データベースシステムはシャットダウンされる。
【００５６】
図１３は、エラー出力画面の一例を示す図である。エラー出力画面は、例えば、エラーチェックによりデータ破損が検出されたときに出力装置１５に表示される。図１３の例では、エラー出力画面は、データベースシステムおよびデータベースシステムの各機能の稼働状態を表示する。また、エラー出力画面のメッセージ欄は、「20150227 10:10:30 ディスクに異常が発生しました。」とのメッセージを表示する。
【００５７】
その他のエラー情報として、エラーが発生したテーブルの情報が出力されてもよい。さらに、エラーが発生したテーブルに対し、アクセスが制限されるように設定されてもよい。ユーザは、エラー出力画面に表示されるエラー情報に基づいて、データ破損に対処することができる。
【００５８】
＜実施形態の作用効果＞
実施形態では、情報処理装置１０は、現在のＩ／Ｏ負荷を取得し、Ｉ／Ｏ負荷が閾値以下の場合に、ディスク監視を実施し、監視対象のデータのエラーチェックをする。Ｉ／Ｏ負荷に余裕がある場合にディスク監視を実施することで、負荷の平準化が図られる。また、情報処理装置１０は、データベースシステムの起動中であっても、業務に影響を与えずに、ディスク監視を実施することができる。即ち、情報処理装置１０は、ディスク監視によるデータアクセス性能の低下を抑止することができる。
【００５９】
また、データベースシステムの構成が予め分かっている場合には、外部の監視ツールを利用することなくディスクを監視することができるため、監視ツールの導入および運用にかかるコストの削減が図られる。また、システム管理者によるディスク監視のための作業が不要であるため、ユーザは、データの優先度を定義することで、容易に情報処理装置１０を導入することができる。
【００６０】
Ｉ／Ｏ負荷はディスク監視によっても発生し、ディスク監視による負荷は、データのサイズに依存して変動する。情報処理装置１０は、現在のＩ／Ｏ負荷に加え、ディスク監視による負荷も考慮することで、Ｉ／Ｏ負荷全体が閾値を超えないようにすることができる。これにより、情報処理装置１０は、ディスク監視による負荷の変動の影響を受けることなく、データアクセス性能の低下を抑止することができる。
【００６１】
情報処理装置１０は、エラーチェックの対象となるデータを、データの優先度および重要度に基づいて決定する。優先度および重要度が他のデータよりも高いデータに対するエラーチェックを優先させることで、効率的にディスク監視を実施することができる。
【００６２】
情報処理装置１０は、データ破損を検出した場合、エラー情報を出力する。データが破損した場合、様々なリスクが発生しうる。例えば、業務が停止する、破損したデータに対する追加/削除等の操作が実行されない、破損したデータへのアクセスにより影響範囲が
拡大するといったリスクが考えられる。
【００６３】
情報処理装置１０は、エラー情報を出力し、業務が停止する可能性があることを通知することができる。ユーザは、エラー情報に基づいて、他のデータの退避や破損部のリカバリ等の対処を実施することで、データ破損により発生するリスクを事前に防止することができる。
【００６４】
＜記録媒体＞
コンピュータその他の機械、装置（以下、コンピュータ等）に上記いずれかの機能を実現させるプログラムをコンピュータ等が読み取り可能な記録媒体に記録することができる。そして、コンピュータ等に、この記録媒体のプログラムを読み込ませて実行させることにより、その機能を提供させることができる。
【００６５】
ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。このような記録媒体のうちコンピュータ等から取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ／Ｗ、ＤＶＤ、ブルーレイディスク、ＤＡＴ、８ｍｍテープ、フラッシュメモリなどのメモリカード等がある。また、コンピュータ等に固定された記録媒体としてハードディスクやＲＯＭ（リードオンリーメモリ）等がある。さらに、Solid State Drive（ＳＳＤ）はコンピュータ等から取り外し可能な記録媒体としても、コンピュータ等
に固定された記録媒体としても利用可能である。
【符号の説明】
【００６６】
１        監視優先度テーブル
２        データ優先度テーブル
３        アクセス履歴テーブル
４        Ｉ／Ｏ負荷テーブル
５        監視負荷情報テーブル
１０      情報処理装置
１１      プロセッサ
１２      主記憶装置
１３      補助記憶装置
１４      入力装置
１５      出力装置
１６      ネットワークインタフェース
１７      バス
【図１】
2017010425.tif 000003
【図２】
2017010425.tif 000004
【図３】
2017010425.tif 000005
【図４】
2017010425.tif 000006
【図５】
2017010425.tif 000007
【図６】
2017010425.tif 000008
【図７】
2017010425.tif 000009
【図８】
2017010425.tif 000010
【図９】
2017010425.tif 000011
【図１０】
2017010425.tif 000012
【図１１】
2017010425.tif 000013
【図１２】
2017010425.tif 000014
【図１３】
2017010425.tif 000015
【手続補正書】
【提出日】平成28年5月18日(2016.5.18)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータに、
監視対象の記憶装置のアクセス負荷を取得し、
前記アクセス負荷、および、前記記憶装置に対する監視に伴う監視アクセス負荷に基づき、前記記憶装置に対するエラーチェック要否を判定し、
前記エラーチェック要否の判定に応じて、エラーチェックを行う、
処理を実行させる制御プログラム。
【請求項２】
請求項１記載の制御プログラムであって、前記記憶装置内の複数の領域それぞれに記憶されたデータの特性に基づき、前記複数の領域から対象領域を決定し、
前記対象領域に対しエラーチェックを行う、
ことを特徴とする制御プログラム。
【請求項３】
請求項１または請求項２記載の制御プログラムであって、
前記記憶装置は特定のデータベースシステムに用いられており、前記特定のデータベースシステムのシャットダウン指示に応じて、前記データベースシステムがシャットダウンされるまでに、前記データベースシステムの稼働中にエラーチェックが行われなかった前記記憶装置内の領域に対するエラーチェックを行う、
ことを特徴とする制御プログラム。
【請求項４】
監視対象の記憶装置と、
前記記憶装置のアクセス負荷を取得する取得手段と、
前記アクセス負荷、および、前記記憶装置に対する監視に伴う監視アクセス負荷に基づき、前記記憶装置に対するエラーチェック要否を判定する監視手段と、
前記エラーチェック要否の判定に応じて、エラーチェックを行うエラーチェック手段と、
を備える情報処理装置。
【請求項５】
コンピュータが、
監視対象の記憶装置のアクセス負荷を取得し、
前記アクセス負荷、および、前記記憶装置に対する監視に伴う監視アクセス負荷に基づ
き、前記記憶装置に対するエラーチェック要否を判定し、
前記エラーチェック要否の判定に応じて、エラーチェックを行う、
制御方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００３
【補正方法】変更
【補正の内容】
【０００３】
【特許文献１】特開２００８−３９４０号公報
【特許文献２】特開２０１０−１９１５９４号公報
【特許文献３】国際公開第２０１５／０７５８０３号
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００６
【補正方法】変更
【補正の内容】
【０００６】
本発明の態様の一つは、情報処理装置によって例示される。情報処理装置は、監視対象の記憶装置と、記憶装置のアクセス負荷を取得する取得手段と、アクセス負荷、および、記憶装置に対する監視に伴う監視アクセス負荷に基づき、記憶装置に対するエラーチェック要否を判定する監視手段と、エラーチェック要否の判定に応じて、エラーチェックを行うエラーチェック手段と、を備える。