JP2006277179A - データベースチューニング装置及びデータベースチューニング方法並びにプログラム - Google Patents

データベースチューニング装置及びデータベースチューニング方法並びにプログラム Download PDF

Info

Publication number
JP2006277179A
JP2006277179A JP2005093673A JP2005093673A JP2006277179A JP 2006277179 A JP2006277179 A JP 2006277179A JP 2005093673 A JP2005093673 A JP 2005093673A JP 2005093673 A JP2005093673 A JP 2005093673A JP 2006277179 A JP2006277179 A JP 2006277179A
Authority
JP
Japan
Prior art keywords
component
sql statement
name
storage unit
session
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.)
Granted
Application number
JP2005093673A
Other languages
English (en)
Other versions
JP4810113B2 (ja
Inventor
Noboru Yokoi
昇 横井
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 JP2005093673A priority Critical patent/JP4810113B2/ja
Publication of JP2006277179A publication Critical patent/JP2006277179A/ja
Application granted granted Critical
Publication of JP4810113B2 publication Critical patent/JP4810113B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】 データベース(DB)アクセスに対するモニタリング、チューニングをサービス単位で行えるようにする。
【解決手段】 DBアクセス手段1は、利用者端末からサービス名を含む処理要求が入力されると、サービスを構成する各コンポーネントA,B,Cを順次実行し、実行中のコンポーネントに対する変更SQL文が上記サービス名に対応付けて格納部3に格納されている場合は、変更SQL文に従ってDBアクセスを行い、格納されていない場合は、コンポーネント中のSQL文に従ってDBアクセスを行う。また、その処理時間などを利用者端末とのセッションIDとサービス名によって特定される統計情報として格納部4に格納する。モニタリング/チューニング制御部2は、サービス名、コンポーネント名、変更SQL文を含むSQL変更指示が入力されると、それらを格納部3に格納する。
【選択図】 図1

Description

本発明は、データベースアクセスのチューニング技術に関し、特に、サービス単位でデータベースアクセスをモニタリングし、モニタリング結果に基づいてデータベースアクセスをチューニングするチューニング技術に関する。
従来からデータベースシステムにおいては、データベースアクセスをモニタリングし、モニタリング結果に基づいてデータベースアクセスをチューニングするということが行われている。
従来のこの種の技術としては、例えば、リレーショナルデータベースと、SQL(Structured Query Language)によるデータアクセスを可能にする実行部と、リレーショナルデータベースの動作状況を監視する監視部と、監視部による監視結果を統計情報として格納する統計情報部と、SQLを使用したプログラムのソースコードと、ソースコードを実行形式のプログラムに変換するコンパイラと、リレーショナルデータベースを定義するインデックスを含むスクリプトと、リレーショナルデータベースの動作を制御するパラメタと、上記統計情報部に格納された統計情報を評価データベースを用いて評価し、その評価結果に基づいて、上記ソースコード、スクリプト及びパラメタの内の少なくとも1つを改善のために書き換える評価部を備えたものが知られている(例えば、特許文献1参照)。
また、データベースアクセスに対するモニタリング技術として、SQL文単位でクライアントからデータベースサーバに問い合わせが届くまでの時間、データベースサーバにおける処理時間、ディスクI/O時間、データベースサーバからクライアントに結果が届くまでの時間をモニタリングする技術も従来から知られている(例えば、特許文献2参照)。
また、データベースに対するモニタリング,チューニング技術ではないが、サービス単位で処理時間を算出する技術も知られている(例えば、特許文献3参照)。
特開2002−366402号公報 特開2004−5085号公報 特開平6−243097号公報
上述したように、特許文献1,2に記載されている従来の技術は、SQL文単位(データベースアクセス単位)で、モニタリングやチューニングを行っているため、チューニング箇所の絞り込みに時間がかかるという問題点があると共に、チューニング作業が多くのサービスに悪影響を及ぼす可能性があるという問題があった。
例えば、高速処理が要求されないサービスでのみ用いられるSQL文があった場合、上記SQL文の処理に時間がかかったとしても、上記SQL文をチューニング(変更)する必要はない。しかし、SQL文単位でモニタリングを行っている場合は、管理者などが人手で、上記SQL文を用いているサービスとしてはどのようなサービスがあるのかを調べ、更に、そのサービスが高速処理を要求しているサービスなのか否かを調べなければ、上記SQL文に対してチューニングが必要であるか否かを判断できず、管理者などに多くの負担がかかってしまう。
また、上記の例とは反対に、高速処理が要求されているサービスでのみ用いられるSQL文があった場合、もし、上記SQL文の処理に時間がかかるようであれば、直ちに上記SQL文をチューニングすることが必要になる。しかし、この場合も、管理者などが人手で、チューニングが必要であるか否かを判断しなければならないため、迅速なチューニング作業を行うことが困難である。
また、例えば、高速処理が要求されているサービスxと、高速処理が要求されていないサービスyとの両方から利用されるSQL文があった場合、もし、上記SQL文の処理に時間がかかるようであれば、上記SQL文をチューニングすることが必要になる。しかし、この場合も、管理者などが人手でチューニングが必要であるか否かを判断しなければならないため、迅速なチューニング作業を行うことが困難である。また、上記SQL文のチューニング作業時に、高速処理が要求されているサービスxに対して何らかの悪影響(例えば、サービスxが利用できなくなる)を及ぼすのは仕方がないとしても、高速処理が要求されていないサービスyに対しても悪影響を及ぼす可能性があるという問題もある。
〔発明の目的〕
そこで、本発明の目的は、データベースアクセスに対するモニタリング及びチューニングをサービス単位で行えるようにすることにある。
本発明にかかる第1のデータベースチューニング装置は、
コンポーネント制御情報格納部と、
統計情報格納部と、
サービス名、コンポーネント名および変更後の変更SQL文を含むSQL文変更指示が入力されたとき、前記コンポーネント制御情報格納部に、前記サービス名およびコンポーネント名に関連付けて前記変更SQL文を格納するモニタリング/チューニング制御部と、
利用者端末からサービス名を含む処理要求が入力されたとき、前記サービス名によって特定されるサービスを構成する各コンポーネントを実行し、そのコンポーネントのコンポーネント名と前記サービス名とに対応付けて前記コンポーネント制御情報格納部に変更SQL文が格納されている場合は、前記変更SQL文に従ってデータベースアクセスを行うと共に、前記統計情報格納部に、前記利用者端末との間のセッションID及び前記サービス名によって特定される統計情報として前記変更SQL文、その処理時間および前記コンポーネント名を追加し、変更SQL文が格納されていない場合は、前記コンポーネント中のSQL文に従ってデータベースアクセスを行うと共に、前記統計情報格納部に、前記セッションID及び前記サービス名によって特定される統計情報として前記SQL文、その処理時間および前記コンポーネント名を追加するデータベースアクセス手段とを備えたことを特徴とする。
本発明にかかる第2のデータベースチューニング装置は、
コンポーネント制御情報格納部と、
統計情報格納部と、
サービス名、コンポーネント名および変更後の変更SQL文を含むSQL文変更指示が入力されたとき、前記コンポーネント制御情報格納部に、前記サービス名およびコンポーネント名に関連付けて前記変更SQL文を格納するモニタリング/チューニング制御部と、
利用者端末からサービス名を含む処理要求が入力されたとき、前記サービス名によって特定されるサービスを構成する各コンポーネントを実行し、そのコンポーネントに含まれるSQL文、前記コンポーネントのコンポーネント名、前記利用者端末とのセッションを特定するセッションIDおよび前記処理要求中のサービス名を含むデータベースアクセス要求を出力すると共に、前記セッションIDおよび前記サービス名からなるセッション情報を含んだ統計情報を前記統計情報格納部に格納するコンポーネント実行制御部と、
該コンポーネント実行制御部からデータベースアクセス要求が出力されたとき、前記データベースアクセス要求に含まれているSQL文に対する変更SQL文が前記コンポーネント制御情報格納部に格納されている場合は、前記変更SQL文に従ってデータベースアクセスを行うと共に、前記統計情報格納部に格納されている統計情報の内の、セッション情報が前記データベースアクセス要求中のセッションID及びサービス名と一致する統計情報に、前記変更SQL文、その処理時間および前記データベースアクセス要求に含まれているコンポーネント名を追加し、前記データベースアクセス要求に含まれているSQL文に対応する変更SQL文が前記コンポーネント制御情報格納部に格納されていない場合は、前記SQL文に従ってデータベースアクセスを行うと共に、前記統計情報格納部に格納されている統計情報の内の、セッション情報が前記データベースアクセス要求中のセッションID及びサービス名と一致する統計情報に、前記SQL文、その処理時間および前記データベースアクセス要求に含まれているコンポーネント名を追加するデータベースアクセス制御部とを備えたことを特徴とする。
本発明にかかる第3のデータベースチューニング装置は、
サービス名を含むサービス情報に対応付けて、前記サービス名によって特定されるサービスを構成する複数のコンポーネントそれぞれのコンポーネント情報であって、コンポーネントを特定するコンポーネント名を含むコンポーネント情報が格納されたコンポーネント制御情報格納部と、
サービス名、コンポーネント名および変更後の変更SQL文を含むSQL文変更指示に従って、前記コンポーネント制御情報格納部に格納されているコンポーネント情報の内の該当するコンポーネント情報に前記変更SQL文を追加するモニタリング/チューニング制御部と、
統計情報格納部と、
利用者端末からサービス名を含む処理要求が入力されたとき、前記コンポーネント制御情報格納部を参照して前記サービス名によって特定されるサービスを構成する各コンポーネントを実行し、そのコンポーネントに含まれるSQL文、前記コンポーネントのコンポーネント名、前記利用者端末とのセッションを特定するセッションIDおよび前記処理要求中のサービス名を含むデータベースアクセス要求を出力すると共に、前記セッションIDおよび前記サービス名からなるセッション情報を含んだ統計情報を前記統計情報格納部に格納するコンポーネント実行制御部と、
該コンポーネント実行制御部からデータベースアクセス要求が出力されたとき、前記コンポーネント制御情報格納部に格納されているコンポーネント情報の内の、前記データベースアクセス要求によって特定されるコンポーネント情報に変更SQL文が含まれている場合は、該変更SQL文に従ってデータベースアクセスを行うと共に、前記統計情報格納部に格納されている統計情報の内の、セッション情報が前記データベースアクセス要求中のセッションID及びサービス名と一致する統計情報に、前記変更SQL文、その処理時間および前記データベースアクセス要求中のコンポーネント名を追加し、変更SQL文が含まれていない場合は、前記データベースアクセス要求に含まれているSQL文に従ってデータベースアクセスを行うと共に、前記統計情報格納部に格納されている統計情報の内の、セッション情報が前記データベースアクセス要求中のセッションID及びサービス名と一致する統計情報に前記SQL文、その処理時間および前記データベースアクセス要求中のコンポーネント名を追加するデータベースアクセス制御部とを備えたことを特徴とする。
本発明にかかる第4のデータベースチューニング装置は、
コンポーネント制御情報格納部と、
統計情報格納部と、
サービス名、コンポーネント名および変更後の変更SQL文を含むSQL文変更指示が入力されたとき、前記コンポーネント制御情報格納部に、前記サービス名およびコンポーネント名に関連付けて前記変更SQL文を格納するモニタリング/チューニング制御部と、
利用者端末からサービス名を含む処理要求が入力されたとき、前記利用者端末とのセッションを特定するセッションIDと前記サービス名とからなるセッション情報を含んだ統計情報を前記統計情報格納部に格納する処理を行うと共に、前記サービス名によって特定されるサービスを構成する各コンポーネントを実行し、SQL文が変更されているコンポーネントについては、前記コンポーネント制御情報格納部に格納されている該当する変更SQL文、前記コンポーネントのコンポーネント名、前記利用者端末とのセッションを特定するセッションIDおよび前記処理要求中のサービス名を含むデータベースアクセス要求を出力し、SQL文が変更されていないコンポーネントについては、前記SQL文、前記コンポーネントのコンポーネント名、前記セッションIDおよび前記処理要求中のサービス名を含むデータベースアクセス要求を出力する処理を行うコンポーネント実行制御部と、
該コンポーネント実行制御部からデータベースアクセス要求が出力されたとき、該データベースアクセス要求に含まれているSQL文或いは変更SQL文に従ってデータベースアクセスを行うと共に、前記統計情報格納部に格納されている統計情報の内の、セッション情報が前記データベースアクセス要求中のセッションID及びサービス名と一致する統計情報に前記SQL文或いは変更SQL文、その処理時間および前記データベースアクセス要求中のコンポーネント名を追加するデータベースアクセス制御部とを備えたことを特徴とする。
本発明にかかる第5のデータベースチューニング装置は、
サービス名を含むサービス情報に対応付けて、前記サービス名によって特定されるサービスを構成する複数のコンポーネントそれぞれのコンポーネント情報であって、コンポーネントを特定するコンポーネント名を含むコンポーネント情報が格納されたコンポーネント制御情報格納部と、
サービス名、コンポーネント名および変更後の変更SQL文を含むSQL文変更指示に従って、前記コンポーネント制御情報格納部に格納されているコンポーネント情報の内の該当するコンポーネント情報に前記変更SQL文を追加するモニタリング/チューニング制御部と、
統計情報格納部と、
利用者端末からサービス名を含む処理要求が入力されたとき、前記利用者端末とのセッションを特定するセッションIDと前記サービス名とからなるセッション情報を含んだ統計情報を前記統計情報格納部に格納する処理を行うと共に、前記コンポーネント制御情報格納部を参照して前記サービス名によって特定されるサービスを構成する各コンポーネントを実行し、そのコンポーネントに対応するコンポーネント情報に変更SQL文が含まれている場合は、該変更SQL文、前記コンポーネントのコンポーネント名、前記セッションIDおよび前記処理要求中のサービス名を含むデータベースアクセス要求を出力し、前記コンポーネント情報に変更SQL文が含まれていない場合は、前記コンポーネントに含まれるSQL文、前記コンポーネントのコンポーネント名、前記セッションIDおよび前記処理要求中のサービス名を含むデータベースアクセス要求を出力するコンポーネント実行制御部と、
該コンポーネント実行制御部からデータベースアクセス要求が出力されたとき、該データベースアクセス要求に含まれているSQL文或いは変更SQL文に従ってデータベースアクセスを行うと共に、前記統計情報格納部に格納されている統計情報の内の、セッション情報が前記データベースアクセス要求中のセッションID及びサービス名と一致する統計情報に前記SQL文或いは変更SQL文と、その処理時間と、前記データベースアクセス要求中のコンポーネント名とを追加するデータベースアクセス制御部とを備えたことを特徴とする。
本発明にかかる第6のデータベースチューニング装置は、
コンポーネント制御情報格納部と、
統計情報格納部と、
サービス名、コンポーネント名および変更後の変更SQL文を含むSQL文変更指示が入力されたとき、前記コンポーネント制御情報格納部に、前記サービス名およびコンポーネント名に関連付けて前記変更SQL文を格納するモニタリング/チューニング制御部と、
利用者端末からサービス名を含む処理要求が入力されたとき、前記サービス名によって特定されるサービスを構成する各コンポーネントを実行し、そのコンポーネントに含まれるSQL文、前記コンポーネントのコンポーネント名、前記利用者端末とのセッションを特定するセッションIDおよび前記処理要求中のサービス名を含むデータベースアクセス要求を出力すると共に、前記セッションIDおよび前記サービス名からなるセッション情報を含んだ統計情報を前記統計情報格納部に格納するコンポーネント実行制御部と、
該コンポーネント実行制御部からデータベースアクセス要求が出力されたとき、前記データベースアクセス要求に含まれているSQL文に対する変更SQL文が前記コンポーネント制御情報格納部に格納されている場合は、前記変更SQL文に従ってデータベースアクセスを行い、前記データベースアクセス要求に含まれているSQL文に対応する変更SQL文が前記コンポーネント制御情報格納部に格納されていない場合は、前記SQL文に従ってデータベースアクセスを行うデータベースアクセス制御部とを備え、且つ、
且つ前記コンポーネント実行制御部で実行されているコンポーネントが、自コンポーネントに含まれているSQL文に対する変更SQL文が前記コンポーネント制御情報格納部に格納されている場合は、前記統計情報格納部に格納されている統計情報の内の、セッション情報が前記データベースアクセス要求中のセッションID及びサービス名と一致する統計情報に前記変更SQL文、その処理時間および自コンポーネントのコンポーネント名を追加し、自コンポーネントに含まれているSQL文に対する変更SQL文が前記コンポーネント制御情報格納部に格納されていない場合は、前記統計情報格納部に格納されている統計情報の内の、セッション情報が前記データベースアクセス要求中のセッションID及びサービス名と一致する統計情報に、前記SQL文、その処理時間および自コンポーネントのコンポーネント名を追加する構成を有することを特徴とする。
本発明にかかる第7のデータベースチューニング装置は、第3または第5のデータベースチューニング装置において、
前記コンポーネント制御情報格納部に格納されている各サービス情報が、そのサービス情報によって特定されるサービスの許容処理時間を示すサービス閾値を含み、
前記モニタリング/チューニング制御部が、前記統計情報格納部に格納されている統計情報と、前記コンポーネント制御情報格納部に格納されている各サービス毎のサービス閾値とに基づいて、処理時間が該当するサービス閾値を超えたサービスの発生を検出する構成を有することを特徴とする。
本発明にかかる第8のデータベースチューニング装置は、第7のデータベースチューニング装置において、
前記モニタリング/チューニング制御部が、処理時間が該当するサービス閾値を超えたサービスの発生を検出したとき、外部装置にそのことを通知するイベント処理部を備えたことを特徴とする
本発明にかかる第1のデータベースチューニング方法は、
モニタリング/チューニング制御部が、サービス名、コンポーネント名および変更後の変更SQL文を含むSQL文変更指示が入力されたとき、コンポーネント制御情報格納部に、前記サービス名およびコンポーネント名に関連付けて前記変更SQL文を格納し、
データベースアクセス手段が、利用者端末からサービス名を含む処理要求が入力されたとき、前記サービス名によって特定されるサービスを構成する各コンポーネントを実行し、そのコンポーネントのコンポーネント名と前記サービス名とに対応付けて前記コンポーネント制御情報格納部に変更SQL文が格納されている場合は、前記変更SQL文に従ってデータベースアクセスを行うと共に、前記統計情報格納部に、前記利用者端末との間のセッションID及び前記サービス名によって特定される統計情報として前記変更SQL文、その処理時間および前記コンポーネント名を追加し、変更SQL文が格納されていない場合は、前記コンポーネント中のSQL文に従ってデータベースアクセスを行うと共に、前記統計情報格納部に、前記セッションID及び前記サービス名によって特定される統計情報として前記SQL文、その処理時間および前記コンポーネント名を追加することを特徴とする。
本発明にかかる第2のデータベースチューニング方法は、
モニタリング/チューニング制御部が、サービス名、コンポーネント名および変更後の変更SQL文を含むSQL文変更指示が入力されたとき、コンポーネント制御情報格納部に、前記サービス名およびコンポーネント名に関連付けて前記変更SQL文を格納し、
コンポーネント実行制御部が、利用者端末からサービス名を含む処理要求が入力されたとき、前記サービス名によって特定されるサービスを構成する各コンポーネントを実行し、そのコンポーネントに含まれるSQL文、前記コンポーネントのコンポーネント名、前記利用者端末とのセッションを特定するセッションIDおよび前記処理要求中のサービス名を含むデータベースアクセス要求を出力すると共に、前記セッションIDおよび前記サービス名からなるセッション情報を含んだ統計情報を統計情報格納部に格納し、
データベースアクセス制御部が、前記コンポーネント実行制御部からデータベースアクセス要求が出力されたとき、前記データベースアクセス要求に含まれているSQL文に対する変更SQL文が前記コンポーネント制御情報格納部に格納されている場合は、前記変更SQL文に従ってデータベースアクセスを行うと共に、前記統計情報格納部に格納されている統計情報の内の、セッション情報が前記データベースアクセス要求中のセッションID及びサービス名と一致する統計情報に、前記変更SQL文、その処理時間および前記データベースアクセス要求に含まれているコンポーネント名を追加し、前記データベースアクセス要求に含まれているSQL文に対応する変更SQL文が前記コンポーネント制御情報格納部に格納されていない場合は、前記SQL文に従ってデータベースアクセスを行うと共に、前記統計情報格納部に格納されている統計情報の内の、セッション情報が前記データベースアクセス要求中のセッションID及びサービス名と一致する統計情報に、前記SQL文、その処理時間および前記データベースアクセス要求に含まれているコンポーネント名を追加することを特徴とする。
本発明にかかる第3のデータベースチューニング方法は、
モニタリング/チューニング制御部が、サービス名、コンポーネント名および変更後の変更SQL文を含むSQL文変更指示が入力されたとき、コンポーネント制御情報格納部に、前記サービス名およびコンポーネント名に関連付けて前記変更SQL文を格納し、
コンポーネント実行制御部が、利用者端末からサービス名を含む処理要求が入力されたとき、前記利用者端末とのセッションを特定するセッションIDと前記サービス名とからなるセッション情報を含んだ統計情報を統計情報格納部に格納する処理を行うと共に、前記サービス名によって特定されるサービスを構成する各コンポーネントを実行し、SQL文が変更されているコンポーネントについては、前記コンポーネント制御情報格納部に格納されている該当する変更SQL文、前記コンポーネントのコンポーネント名、前記利用者端末とのセッションを特定するセッションIDおよび前記処理要求中のサービス名を含むデータベースアクセス要求を出力し、SQL文が変更されていないコンポーネントについては、前記SQL文、前記コンポーネントのコンポーネント名、前記セッションIDおよび前記処理要求中のサービス名を含むデータベースアクセス要求を出力する処理を行い、
データベースアクセス制御部が、前記コンポーネント実行制御部からデータベースアクセス要求が出力されたとき、該データベースアクセス要求に含まれているSQL文或いは変更SQL文に従ってデータベースアクセスを行うと共に、前記統計情報格納部に格納されている統計情報の内の、セッション情報が前記データベースアクセス要求中のセッションID及びサービス名と一致する統計情報に前記SQL文或いは変更SQL文、その処理時間および前記データベースアクセス要求中のコンポーネント名を追加することを特徴とする。
本発明にかかる第1のプログラムは、
コンポーネント制御情報格納部と、統計情報格納部とを備えたコンピュータを、
サービス名、コンポーネント名および変更後の変更SQL文を含むSQL文変更指示が入力されたとき、前記コンポーネント制御情報格納部に、前記サービス名およびコンポーネント名に関連付けて前記変更SQL文を格納するモニタリング/チューニング制御部、
利用者端末からサービス名を含む処理要求が入力されたとき、前記サービス名によって特定されるサービスを構成する各コンポーネントを実行し、そのコンポーネントのコンポーネント名と前記サービス名とに対応付けて前記コンポーネント制御情報格納部に変更SQL文が格納されている場合は、前記変更SQL文に従ってデータベースアクセスを行うと共に、前記統計情報格納部に、前記利用者端末との間のセッションID及び前記サービス名によって特定される統計情報として前記変更SQL文、その処理時間および前記コンポーネント名を追加し、変更SQL文が格納されていない場合は、前記コンポーネント中のSQL文に従ってデータベースアクセスを行うと共に、前記統計情報格納部に、前記セッションID及び前記サービス名によって特定される統計情報として前記SQL文、その処理時間および前記コンポーネント名を追加するデータベースアクセス手段として機能させる。
本発明にかかる第2のプログラムは、
コンポーネント制御情報格納部と、統計情報格納部とを備えたコンピュータを、
サービス名、コンポーネント名および変更後の変更SQL文を含むSQL文変更指示が入力されたとき、前記コンポーネント制御情報格納部に、前記サービス名およびコンポーネント名に関連付けて前記変更SQL文を格納するモニタリング/チューニング制御部、
利用者端末からサービス名を含む処理要求が入力されたとき、前記サービス名によって特定されるサービスを構成する各コンポーネントを実行し、そのコンポーネントに含まれるSQL文、前記コンポーネントのコンポーネント名、前記利用者端末とのセッションを特定するセッションIDおよび前記処理要求中のサービス名を含むデータベースアクセス要求を出力すると共に、前記セッションIDおよび前記サービス名からなるセッション情報を含んだ統計情報を前記統計情報格納部に格納するコンポーネント実行制御部、
該コンポーネント実行制御部からデータベースアクセス要求が出力されたとき、前記データベースアクセス要求に含まれているSQL文に対する変更SQL文が前記コンポーネント制御情報格納部に格納されている場合は、前記変更SQL文に従ってデータベースアクセスを行うと共に、前記統計情報格納部に格納されている統計情報の内の、セッション情報が前記データベースアクセス要求中のセッションID及びサービス名と一致する統計情報に、前記変更SQL文、その処理時間および前記データベースアクセス要求に含まれているコンポーネント名を追加し、前記データベースアクセス要求に含まれているSQL文に対応する変更SQL文が前記コンポーネント制御情報格納部に格納されていない場合は、前記SQL文に従ってデータベースアクセスを行うと共に、前記統計情報格納部に格納されている統計情報の内の、セッション情報が前記データベースアクセス要求中のセッションID及びサービス名と一致する統計情報に、前記SQL文、その処理時間および前記データベースアクセス要求に含まれているコンポーネント名を追加するデータベースアクセス制御部として機能させる。
本発明にかかる第3のプログラムは、
コンポーネント制御情報格納部と、統計情報格納部とを備えたコンピュータを、
サービス名、コンポーネント名および変更後の変更SQL文を含むSQL文変更指示が入力されたとき、前記コンポーネント制御情報格納部に、前記サービス名およびコンポーネント名に関連付けて前記変更SQL文を格納するモニタリング/チューニング制御部、
利用者端末からサービス名を含む処理要求が入力されたとき、前記利用者端末とのセッションを特定するセッションIDと前記サービス名とからなるセッション情報を含んだ統計情報を前記統計情報格納部に格納する処理を行うと共に、前記サービス名によって特定されるサービスを構成する各コンポーネントを実行し、SQL文が変更されているコンポーネントについては、前記コンポーネント制御情報格納部に格納されている該当する変更SQL文、前記コンポーネントのコンポーネント名、前記利用者端末とのセッションを特定するセッションIDおよび前記処理要求中のサービス名を含むデータベースアクセス要求を出力し、SQL文が変更されていないコンポーネントについては、前記SQL文、前記コンポーネントのコンポーネント名、前記セッションIDおよび前記処理要求中のサービス名を含むデータベースアクセス要求を出力する処理を行うコンポーネント実行制御部、
該コンポーネント実行制御部からデータベースアクセス要求が出力されたとき、該データベースアクセス要求に含まれているSQL文或いは変更SQL文に従ってデータベースアクセスを行うと共に、前記統計情報格納部に格納されている統計情報の内の、セッション情報が前記データベースアクセス要求中のセッションID及びサービス名と一致する統計情報に前記SQL文或いは変更SQL文、その処理時間および前記データベースアクセス要求中のコンポーネント名を追加するデータベースアクセス制御部として機能させる。
〔作用〕
図1に示すように、データベースアクセス手段1は、利用者端末からサービス名を含む処理要求が入力されると、上記サービス名によって特定されるサービスを構成する各コンポーネントA,B,Cを順次実行し、実行中のコンポーネント(例えば、コンポーネントA)のコンポーネント名と上記サービス名とに対応付けてコンポーネント制御情報格納部3に変更SQL文が格納されている場合は、変更SQL文に従ってデータベースアクセスを行うと共に、利用者端末とのセッションを特定するセッションID及び上記サービス名によって特定される統計情報として上記変更SQL文、その処理時間およびコンポーネントAのコンポーネント名を統計情報格納部4の統計情報に追加する。これに対して、変更SQL文が格納されていない場合は、コンポーネントA中のSQL文「SQL−1」に従ってデータベースアクセスを行うと共に、統計情報格納部4に、上記セッションID及び上記サービス名によって特定される統計情報としてSQL文「SQL−1」、その処理時間およびコンポーネントAのコンポーネント名を追加する。
このように、統計情報格納部4には、サービス単位で、そのサービスを構成する各コンポーネント中のSQL文の処理時間を含む統計情報が格納されるので、チューニング箇所を容易に絞り込むことが可能になる。例えば、或るサービスの統計情報中に、処理時間がかかるSQL文が存在した場合、上記或るサービスが高速処理が要求されているサービスであるか否かを調べるだけで良いので、上記SQL文をチューニングすることが必要であるか否かを容易に判断することが可能になる。
管理者などは、統計情報格納部4に格納されている統計情報に基づいて、或るサービスαで用いられる或るコンポーネント(例えば、コンポーネントB)中のSQL文をチューニング(変更)することが必要であると判断した場合、上記サービスαのサービス名と、コンポーネントBのコンポーネント名と、変更後のSQL文(変更SQL文)を含んだSQL文変更指示を入力する。これにより、モニタリング/チューニング制御部2が、コンポーネント制御情報格納部3に、サービスαのサービス名およびコンポーネントBのコンポーネント名に関連付けて上記変更SQL文を格納する。これにより、サービスαにおいてコンポーネントBを用いる場合には、コンポーネントB中のSQL文「SQL−2」ではなく、コンポーネント制御情報格納部3中の該当する変更SQL文が使用される。即ち、サービス単位で、チューニングを行うことが可能になる。
本発明は、サービス単位でデータベースアクセスに対するモニタリングを行うことができるので、チューニング箇所の絞り込みを容易に行うことが可能になり、更に、サービス単位でチューニングを行うことができるので、チューニング作業が及ぼす影響を最小限に抑えることができる。
サービス単位でデータベースアクセスに対するモニタリングを行うことができる理由は、利用者端末からサービス名を含む処理要求が入力されたとき、利用者端末とのセッションを特定するセッションIDおよび上記サービス名からなるセッション情報を含んだ統計情報を統計情報格納部に格納する処理を行うと共に、上記サービス名のサービスを構成するコンポーネントを実行する毎に、上記コンポーネントのSQL文或いは変更SQL文と、処理時間と、コンポーネント名とを統計情報に追加するデータベースアクセス手段を備えているからである。
また、サービス単位でチューニングを行うことができる理由は、サービス名、コンポーネント名および変更後の変更SQL文を含むSQL文変更指示が入力されたとき、コンポーネント制御情報格納部に、前記サービス名およびコンポーネント名に関連付けて前記変更SQL文を格納するモニタリング/チューニング制御部を備えると共に、コンポーネントの実行時に、そのコンポーネントのコンポーネント名と実行要求されたサービスのサービス名とに対応付けて変更SQL文が格納されている場合は、変更SQL文に従ってデータベースアクセスを行うデータベースアクセス手段を備えているからである。
次に本発明の実施の形態について図面を参照して詳細に説明する。
〔第1の実施の形態〕
図2を参照すると、本発明にかかるデータベースチューニング装置の第1の実施の形態は、コンポーネント実行制御部11と、データベース(DB)アクセス制御部12と、リレーショナルデータベース管理システム(RDBMS;Relational Database Management System)13と、モニタリング/チューニング制御部14と、イベント処理部15と、コンポーネント情報登録部16と、コンポーネント制御情報格納部17と、統計情報格納部18と、リレーショナルデータベース(RDB)19と、表示部20とから構成されている。
コンポーネント制御情報格納部17には、システムが提供している各サービス毎に、そのサービスを構成しているコンポーネントに関する情報が登録されている。図3にコンポーネント制御情報格納部17の内容例を示す。図3を参照すると、コンポーネント制御情報格納部17には、サービス情報31と、サービス情報31によって特定されるサービスを構成する3個のコンポーネントに関するコンポーネント情報32〜34とが登録されている。
サービス情報31は、サービス名αと、サービス閾値Thαと、変更フラグ“1”とを含んでいる。サービス閾値は、サービス名αで特定されるサービスが要求された場合の許容処理時間(サービスの処理要求を受けてからその処理が完了するまでの許容時間)を示す。変更フラグは、下位階層のコンポーネント情報に、変更SQL文を含むものが存在するか否かを表示する。なお、本実施の形態では、変更SQL文が存在する場合は、変更フラグを“1”とし、変更SQL文が存在しない場合は、変更フラグを“0”とする。
コンポーネント情報32,33,34は、それぞれコンポーネント名a,b,cと、コンポーネント閾値Tha,Thb,Thcとを含んでいる。更に、コンポーネント情報33は、変更SQL文「SQL−2'」を含んでいる。コンポーネント閾値は、そのコンポーネントに関連するSQL文の許容処理時間を示す。また、変更SQL文は、そのコンポーネント内のSQL文の代わりに使用するSQL文を示す。
コンポーネント情報登録部16は、管理者の指示に従って、コンポーネント制御情報格納部17に図3に示すような情報31〜34を格納する機能を有する。
コンポーネント実行制御部11は、図示を省略した利用者端末からサービス名を含む処理要求が入力されたとき、コンポーネント制御情報格納部17を参照して上記サービス名によって特定されるサービスを構成する各コンポーネントを実行し、そのコンポーネントに含まれるSQL文、そのコンポーネントのコンポーネント名、利用者端末とのセッションを特定するセッションIDおよび処理要求中のサービス名を含むデータベースアクセス要求をデータベースアクセス制御部12に対して出力する機能や、上記セッションIDおよび上記サービス名からなるセッション情報を含んだ統計情報を統計情報格納部18に格納するする機能を有する。
データベースアクセス制御部12は、次のような機能を有する。
・コンポーネント実行制御部11からデータベースアクセス要求が出力されたとき、コンポーネント制御情報格納部17に格納されているコンポーネント情報の内の、上記データベースアクセス要求によって特定されるコンポーネント情報に変更SQL文が含まれているか否かを調べる機能。
・変更SQL文が含まれている場合には、変更SQL文に従ってデータベースアクセスを行うと共に、統計情報格納部18に格納されている統計情報の内の、セッション情報がデータベースアクセス要求中のセッションID及びサービス名と一致する統計情報に、変更SQL文、その処理時間およびデータベースアクセス要求中のコンポーネント名を追加する機能。
・変更SQL文が含まれていない場合には、上記データベースアクセス要求に含まれているSQL文に従ってデータベースアクセスを行うと共に、統計情報格納部18に格納されている統計情報の内の、セッション情報が上記データベースアクセス要求中のセッションID及びサービス名と一致する統計情報に上記SQL文、その処理時間およびデータベースアクセス要求中のコンポーネント名を追加する機能。
統計情報格納部18には、利用者端末から入力された処理要求に従って実行した一連のサービス処理毎に、処理時間などを含む統計情報が登録される。図4に統計情報格納部18の内容例を示す。図4を参照すると、統計情報格納部18には、セッション情報41と、3個のコンポーネント情報42とが登録されている。
セッション情報41は、利用者端末から入力された処理要求に従って実行したサービス処理を識別するための情報であり、上記利用者端末とのセッションを特定するセッションIDと、要求されたサービス名と、サービス処理の要した処理時間とを含んでいる。なお、このセッション情報41は、コンポーネント実行制御部11によって登録されるものである。
コンポーネント情報42〜44は、その上位階層のセッション情報41によって示されるサービス処理を実行する際に使用されたコンポーネントに関する情報であり、コンポーネント名と、SQL文と、その処理時間とを含んでいる。これらの情報は、データベースアクセス制御部12によって登録される。
モニタリング/チューニング制御部14は、次のような機能を有する。
・管理者などによって、サービス名、コンポーネント名および変更後の変更SQL文を含むSQL文変更指示が入力されたとき、データベースアクセス制御部12を利用して、コンポーネント制御情報格納部17に格納されているコンポーネント情報の内の、該当するコンポーネント情報に変更SQL文を追加する機能を有する。例えば、サービス名α、コンポーネント名b、変更SQL文SQL−2'を含むSQL文変更指示が入力された場合には、図3に示すようにコンポーネント情報33に変更SQL文SQL−2'を追加する。
・統計情報格納部18に格納されている統計情報と、コンポーネント制御情報格納部17に格納されている各サービス毎のサービス閾値とに基づいて、処理時間が該当するサービス閾値を超えたサービスが発生したと判断した場合、上記サービスに関連する統計情報を表示部20に表示する機能。
・管理者からの指示に従って、統計情報格納部18に蓄積された統計情報を基に、サービス単位にデータベースアクセスに要した処理時間や全体に対する割合などを求め、それらを表示部20に表示する機能。
・管理者が指定したサービスについて、SQL文変更前の統計情報(例えば、SQL文変更前の統計情報の内の最新のもの)とSQL文変更後の統計情報(例えば、SQL文変更後の統計情報の内の最新のもの)を統計情報格納部18から検索し、両者を表示部20に表示する機能。その際、両者の処理時間の差分を求め、この差分も合わせて表示する機能。
イベント処理部15は、モニタリング/チューニング制御部14によって処理時間がサービス閾値を超えたサービスが発生したと判断された場合、外部装置(例えば、保守員や管理者が携帯している携帯電話機や、ポケットベルなど)に、そのことを通知する機能を有する。
なお、コンポーネント実行制御部11,データベースアクセス制御部12,リレーショナルデータベース管理システム13,モニタリング/チューニング制御部14,イベント処理部15,コンポーネント情報登録部16は、コンピュータによって実現可能なものであり、コンピュータによって実現する場合は、例えば、次のようにする。コンピュータを、コンポーネント実行制御部11,データベースアクセス制御部12,リレーショナルデータベース管理システム13,モニタリング/チューニング制御部14,イベント処理部15,コンポーネント情報登録部16として機能させるためのプログラムを記録したディスク,半導体メモリ,その他の記録媒体を用意し、コンピュータに上記プログラムを読み取らせる。コンピュータは、読み取ったプログラムに従って自身の動作を制御することにより、自コンピュータ上に、コンポーネント実行制御部11,データベースアクセス制御部12,リレーショナルデータベース管理システム13,モニタリング/チューニング制御部14,イベント処理部15,コンポーネント情報登録部16を実現する。
〔第1の実施の形態の動作の説明〕
次に、本実施の形態の動作について詳細に説明する。
利用者は、サービスを利用する場合、利用したいサービスのサービス名を含む処理要求を、自身の利用者端末からコンポーネント実行制御部11へ送信する。
コンポーネント実行制御部11は、サービス名を含む処理要求を受け付けると、図5のフローチャートに示すように、上記サービス名と、要求元の利用者端末とのセッションを特定するセッションIDとを含むセッション情報を統計情報格納部18に登録する(ステップS51)。今、例えば、処理要求がサービス名αを含み、セッションIDが「ID1」であったとすると、図4に示すようなセッション情報41が統計情報格納部18に格納される。但し、この時点では、処理時間Tαは含まれていない。
次いで、コンポーネント実行制御部11は、処理要求中のサービス名αをキーにしてコンポーネント制御情報格納部17を検索し、該当するサービス情報を検索する(ステップS52)。今、コンポーネント制御情報格納部17の内容が図3に示すものであるとすると、コンポーネント実行制御部11は、サービス情報31を検索することになる。
その後、コンポーネント実行制御部11は、ステップS52で検索したサービス情報31の下位階層に存在するコンポーネント32〜34の内の、第1番目のコンポーネント情報に注目する(ステップS53,S54)。この例の場合、第1番目のコンポーネント情報としてコンポーネント情報32が存在するので(ステップS55がYES)、コンポーネント実行制御部11は、コンポーネント情報32に含まれているコンポーネント名aによって特定されるコンポーネントAを実行し、コンポーネントAに含まれているSQL文「SQL−1」と、コンポーネントaと、セッションID「ID1」と、サービス名αとを含むデータベースアクセス要求を、データベースアクセス制御部12に対して発行する(ステップS56,S57)。
データベースアクセス制御部12は、コンポーネント実行制御部11からのデータベースアクセス要求を受け付けると、図6のフローチャートに示すように、それに含まれているサービス名αとコンポーネント名aとをキーにしてコンポーネント制御情報格納部17から該当するコンポーネント情報を検索する(ステップS61)。コンポーネント制御情報格納部17の内容が、図3に示すものである場合、サービス名αを含んでいるサービス情報31の下位階層に存在する、コンポーネント名aを有するコンポーネント情報32が検索される。
その後、データベースアクセス制御部12は、検索したコンポーネント情報32に変更SQL文が含まれているか否かを判断する(ステップS62)。この例の場合、コンポーネント32には、変更SQL文が含まれていないので(ステップS62がNO)、データベースアクセス制御部12は、データベースアクセス要求に含まれているSQL文「SQL−1」に従って、リレーショナルデータベース管理システム13に対して実行要求を行い、実行結果を取得するとそれをコンポーネント実行制御部11に返す(ステップS63)。その後、データベースアクセス制御部12は、セッションID「ID1」およびサービス名「α」をキーにして統計情報格納部18からセッション情報41を検索し、その下位階層に、コンポーネント名aと、SQL文「SQL−1」と、その処理時間Taとを含むコンポーネント情報42を追加する(ステップS65)。
一方、コンポーネント実行制御部11は、データベースアクセス制御部12から実行結果が返されると、次のコンポーネント情報33に注目する(図5のステップS58,S54)。その後、コンポーネント情報33中のコンポーネント名bによって特定されるコンポーネントBを実行し、それに含まれているSQL文「SQL−2」と、コンポーネント名bと、セッションID「ID1」と、サービス名αとを含むデータベースアクセス要求をデータベースアクセス制御部12に対して発行する(ステップS57)。
データベースアクセス制御部12は、上記データベースアクセス要求を受け付けると、それに含まれているサービス名αとコンポーネント名bとをキーにしてコンポーネント制御情報格納部17から該当するコンポーネント情報を検索する(図6のステップS61)。この例の場合、サービス名αを含んでいるサービス情報31の下位階層に存在する、コンポーネント名bを含んだコンポーネント情報33が検索される。
今回、検索したコンポーネント情報33には、変更SQL文「SQL−2'」が含まれているので(ステップS62がYES)、データベースアクセス制御部12は、変更SQL文「SQL−2'」に従って、リレーショナルデータベース管理システム13に対して実行要求を行い、実行結果を取得するとそれをコンポーネント実行制御部11に返す(ステップS64)。その後、データベースアクセス制御部12は、セッションID「ID1」およびサービス名「α」をキーにして統計情報格納部18からセッション情報41を検索し、その下位階層に、コンポーネント名bと、変更SQL文「SQL−2'」と、その処理時間Tbとを含むコンポーネント情報43を追加する(ステップS65)。
一方、コンポーネント実行制御部11は、データベースアクセス制御部12から実行結果が返却されると、第3番目のコンポーネント情報34によって特定されるコンポーネントCを実行し(図5のステップS58,S54,S56)、それに含まれているSQL文「SQL−3」と、コンポーネント名cと、セッションID「ID1」と、サービス名αとを含むデータベースアクセス要求をデータベースアクセス制御部12に対して発行する(ステップS57)。
これにより、データベースアクセス制御部12は、第1番目のデータベースアクセス要求を受け付けた場合と同様の処理を行い、実行結果をコンポーネント実行制御部11に返却すると共に、セッション情報41の下位階層に、コンポーネント名cと、SQL文「SQL−3」と、その処理時間Tcとを含むコンポーネント情報44を追加する(図6のステップS61,S62がNO,S63,S65)。
一方、コンポーネント実行制御部11は、データベースアクセス制御部12から実行結果が返却されると、未注目のコンポーネント情報が存在しないので(図5ステップS55がNO)、ステップS59の処理を行う。ステップS59では、先ず、利用者端末からの処理要求の受信時刻と現在時刻との差分を求めることにより、サービス処理に要した処理時間(Tαであったとする)を求め、その後、求めた処理時間Tαと、処理要求に含まれていたサービス名αと、利用者端末とのセッションを特定するセッションID「ID1」とを含む処理時間通知をデータベースアクセス制御部12へ送る。
データベースアクセス制御部12は、コンポーネント実行制御部11から上記処理時間通知が送られてくると、それに含まれているサービス名αおよびセッションID「ID1」をキーにして統計情報格納部18から該当するセッション情報41を検索し、そのセッション情報41に図4に示すように処理時間Tαを追加する(図7のステップS71,S72)。その後、データベースアクセス制御部12は、モニタリング/チューニング制御部14に対して、上記サービス名αおよびセッションID「ID1」を通知する(ステップS73)。
これにより、モニタリング/チューニング制御部14は、図8のフローチャートに示すように、上記サービス名αおよびセッションID「ID1」をキーにして統計情報格納部18を検索し、該当するセッション情報41を検索する(ステップS81)。その後、モニタリング/チューニング制御部14は、セッション情報41に含まれている処理時間Tαが、サービス名αのサービスに対するサービス閾値Thαを超えているか否かを判断する(ステップS82)。なお、上記サービス閾値Thαは、コンポーネント制御情報格納部17に格納されているサービス情報の内の、サービス名αによって特定されるサービス情報31に含まれているので、サービス名αをキーにしてコンポーネント制御情報格納部17を検索することにより求めることができる。また、サービス閾値Thαを求める際、サービス情報31の下位階層に存在する各コンポーネント32〜34に含まれているコンポーネント閾値Tha,Thb,Thcも求めておく。
そして、処理時間Tαがサービス閾値Thαを超えていない場合(ステップS82がNO)は、モニタリング/チューニング制御部14は、その処理を終了する。
これに対して、処理時間Tαがサービス閾値Thαを超えている場合(ステップS82がYES)は、セッション情報41の下位階層のコンポーネント情報42〜44の中から、それに含まれている処理時間Ta,Tb,Tcが、対応するコンポーネント閾値Tha,Thb,Thcを超えているものを探し出す(ステップS83)。次いで、モニタリング/チューニング制御部14は、ステップS81で検索したセッション情報41と、その下位階層に存在するコンポーネント情報42〜44とからなる統計情報を、表示部20に表示する(ステップS84)。その際、ステップS83で探し出したコンポーネント情報の表示形態を、他のコンポーネント情報の表示形態と異なる、特定の表示形態とする(例えば、探し出したコンポーネント情報の表示色を赤にし、他のコンポーネントの表示色を黒にする)。そして、最後に、イベント処理部15に対して、処理時間がサービス閾値を超えたサービスが発生したことを通知し(ステップS85)、その処理を終了する。イベント処理部15は、上記通知を受けると、保守員や管理者が携帯している携帯電話機や、ポケットベルなどに、そのことを通知する。
管理者は、処理時間がサービス閾値を超えたサービスの統計情報が表示部20に表示されると、表示形態が赤になっているコンポーネント情報中のSQL文をチューニングした変更SQL文を作成する。今、例えば、図9に示すように、表示部20に、セッション情報41と、コンポーネント情報42〜44とからなる、サービス名αのサービスについての統計情報が表示され、コンポーネント情報43の表示色が赤になっていたとすると、管理者は、コンポーネント情報43に含まれているSQL文「SQL−2'」をチューニングした変更SQL文「SQL−2''」を作成することになる。
その後、管理者は、作成した変更SQL文「SQL−2''」と、サービス名αと、コンポーネント名bとを含むSQL文変更指示をモニタリング/チューニング制御部14に出力する。これにより、モニタリング/チューニング制御部14は、データベースアクセス制御部12を利用して、上記SQL文変更指示中のサービス名α及びコンポーネント名bによって特定される、コンポーネント制御情報格納部17に格納されているコンポーネント情報33中の変更SQL文「SQL−2'」を「SQL−2''」に置き換える。なお、この例では、コンポーネント情報33に変更SQL文「SQL−2'」が含まれているので、それを変更SQL文「SQL−2''」に置き換える処理を行ったが、もし、コンポーネント情報33に変更SQL文「SQL−2'」が含まれていなかったら、コンポーネント情報33に変更SQL文「SQL−2''」を追加する処理を行う。
また、上記したSQL文変更指示は、変更SQL文「SQL−2''」の他に、サービス名αとコンポーネント名bとを含んでいるが、変更SQL文「SQL−2''」とコンポーネント名bとを含み、サービス名αは含んでいないSQL文変更指示が入力された場合は、モニタリング/チューニング制御部14は、コンポーネント制御情報格納部17に登録されている、コンポーネント名bを含む全てのコンポーネント情報を対象にして、変更SQL文「SQL−2'」の追加あるいは置き換え処理を行う。
〔第1の実施の形態の効果〕
本実施の形態は、サービス単位でデータベースアクセスに対するモニタリングを行うことができるので、チューニング箇所の絞り込みを容易に行うことが可能になり、更に、サービス単位でチューニングを行うことができるので、チューニング作業が及ぼす影響を最小限に抑えることができる。
サービス単位でデータベースアクセスに対するモニタリングを行うことができる理由は、利用者端末からサービス名を含む処理要求が入力されたとき、利用者端末とのセッションを特定するセッションIDおよび上記サービス名からなるセッション情報を含んだ統計情報を統計情報格納部18に格納する処理を行うと共に、上記サービス名のサービスを構成するコンポーネントを実行する毎に、上記コンポーネントのSQL文或いは変更SQL文と、処理時間と、コンポーネント名とを統計情報に追加するデータベースアクセス手段(コンポーネント実行制御部11及びデータベースアクセス制御部12から構成される)を備えているからである。
また、本実施の形態によれば、処理時間が該当するサービス閾値を超えたサービスの発生を容易に検出することが可能になる。その理由は、統計情報格納部18に格納されている統計情報と、コンポーネント制御情報格納部17に格納されている各サービス毎のサービス閾値とに基づいて、処理時間が該当するサービス閾値を超えたサービスの発生を検出するモニタリング/チューニング制御部14を備えているからである。
また、本実施の形態によれば、処理時間が該当するサービス閾値を超えたサービスが発生した場合、迅速に対応することが可能になる。その理由は、処理時間が該当するサービス閾値を超えたサービスが発生したとき、そのことを管理者の携帯電話機やポケットベルなどの外部装置に通知するイベント処理部15を備えているからである。
〔第2の実施の形態の構成〕
次に本発明の第2の実施の形態について説明する。本実施の形態は、コンポーネント実行制御部11に、図5のフローチャートに示す処理の代わりに、図10のフローチャートに示す処理を実行させ、データベースアクセス制御部12に、図6のフローチャートに示す処理の代わりに、図11のフローチャートに示す処理を実行させることにより実現される。なお、図10,図11において、図5,図6と同一処理を行うステップには、同一の番号を付してある。
〔第2の実施の形態の動作の説明〕
図10を参照すると、コンポーネント実行制御部11は、利用者端末からサービス名(例えば、サービス名α)を含む処理要求が送られてくると、第1の実施の形態で説明したステップS51〜S56の処理を行う。その後、ステップS57の代わりに、ステップS101〜S103の処理を行う。
ステップS101では、ステップS54で注目したコンポーネント情報に変更SQL文が含まれているか否かを判断する。
例えば、ステップS54において、図3に示したコンポーネント情報32に注目したとすると、ステップS101の判断結果がNOとなるので、コンポーネント実行制御部11は、処理要求に含まれているサービス名αと、要求元の利用者端末とのセッションを特定するセッションID(例えば、ID1)と、コンポーネント情報32に含まれているコンポーネント名aと、実行中のコンポーネントAに含まれているSQL文「SQL−1」とを含むデータベースアクセス要求をデータベースアクセス制御部12に対して発行する(ステップS102)。
データベースアクセス制御部12は、コンポーネント実行制御部11からSQL文「SQL−1」を含んだデータベースアクセス要求が送られてくると、図11のフローチャートに示すように、データベースアクセス要求に含まれているSQL文「SQL−1」に従って、リレーショナルデータベース管理システム13に対して実行要求を行い、実行結果を取得するとそれをコンポーネント実行制御部11に返す(ステップS111)。その後、データベースアクセス制御部12は、第1の実施の形態で説明したステップS65の処理を行う。
一方、コンポーネント実行制御部11は、データベースアクセス制御部12から実行結果が返却されると、次のコンポーネント情報33に注目し、該当するコンポーネントBを実行する(図10のステップS58,S54,S56)。その後、コンポーネント実行制御部11は、注目しているコンポーネント情報33に変更SQL文「SQL−2'」が含まれているので(ステップS101がYES)、サービス名αと、セッションID「ID1」と、コンポーネント情報33に含まれているコンポーネント名bと、変更SQL文「SQL−2'」とを含むデータベースアクセス要求をデータベースアクセス制御部12に対して発行する(ステップS103)。
データベースアクセス制御部12は、コンポーネント実行制御部11から変更SQL文「SQL−2'」を含んだデータベースアクセス要求が送られてくると、図11のフローチャートに示すように、データベースアクセス要求に含まれている変更SQL文「SQL−2'」に従って、リレーショナルデータベース管理システム13に対して実行要求を行い、実行結果を取得するとそれをコンポーネント実行制御部11に返す(ステップS111)。その後、データベースアクセス制御部12は、第1の実施の形態で説明したステップS65の処理を行う。
〔第2の実施の形態の効果〕
本実施の形態によれば、第1の実施の形態の効果に加え、データベースアクセス制御部12が行う検索処理の回数を少なくすることができるという効果を得ることができる。その理由は、第1の実施の形態では、データベースアクセス制御部12がコンポーネント制御情報格納部17を検索して変更SQL文があるか否かを判断し、判断結果に基づいて、SQL文に従った実行要求を行うのか、変更SQL文に従った実行要求を行うのかを切り分けているが(ステップS61〜S64)、本実施の形態では、コンポーネント実行制御部11が、変更SQL文が存在する場合には、変更SQL文を含んだデータベースアクセス要求をデータベースアクセス制御部12に発行し、存在しない場合は、実行しているコンポーネント中のSQL文を含んだデータベースアクセス要求をデータベースアクセス制御部12に対して発行するようにしているからである(ステップS101〜S103)。
〔第3の実施の形態の構成〕
次に、本発明にかかるデータベースチューニング装置の第3の実施の形態について説明する。図12は本実施の形態にかかるデータベースチューニング装置の構成例を示すブロック図であり、本実施の形態のデータベースチューニング装置と、図2に示した第1の実施の形態のデータベースチューニング装置との相違点は、コンポーネントA〜Cが統計情報の登録処理を行う統計情報登録部111A〜111Cを備えている点と、コンポーネント実行制御部11の代わりにコンポーネント実行制御部11aを備えている点と、データベースアクセス制御部12の代わりにデータベースアクセス制御部12aを備えている点である。
〔第3の実施の形態の動作〕
図13のフローチャートを参照すると、コンポーネント実行制御部11aは、利用者端末からサービス名(例えば、サービス名α)を含んだ処理要求が入力されると、第1の実施の形態で説明したステップS51〜S56の処理を行い、上記サービス名αのサービスを構成するコンポーネントの内の第1番目のコンポーネントを実行する。今、例えば、図12に示すコンポーネントA(コンポーネント名はaとする)を実行したとすると、コンポーネント実行制御部11aは、サービス名αと、利用者端末とのセッションを特定するセッションID(ID1とする)、コンポーネントA中のSQL文「SQL−1」と、コンポーネント名aとを含んだデータベースアクセス要求をデータベースアクセス制御部12に対して発行する(ステップS57)。
これにより、データベースアクセス制御部12aは、図14のフローチャートに示す処理を行い、実行結果をコンポーネント実行制御部11aに返却する。図14のフローチャートと、データベースアクセス制御部12の処理例を示した図6のフローチャートとの相違点は、ステップS65が削除されている点である。
コンポーネント実行制御部11a上で実行されているコンポーネントAの統計情報登録部111Aは、データベースアクセス制御部12aから実行結果が返却されると、図13のフローチャートに示すステップS131の処理を行う。ステップS131において、統計情報登録部111Aは、先ず、コンポーネント制御情報格納部17に登録されている自コンポーネント名aに関するコンポーネント情報32に変更SQL文が含まれているか否かを調べる。そして、変更SQL文が含まれていない場合は、自コンポーネントA中のSQL文「SQL−1」と、自コンポーネントAのコンポーネント名aと、その処理時間Taとを含むコンポーネント情報42を、セッション情報41の下位階層に追加する。これに対して、コンポーネント情報32に変更SQL文が含まれている場合は、上記変更SQL文と、自コンポーネントAのコンポーネント名aと、処理時間Taとを含むコンポーネント情報42を、セッション情報41の下位階層に追加する。以上が、ステップS131で行う処理である。
その後、コンポーネント実行制御部11aは、次のコンポーネント情報に注目し(ステップS58,S54)、前述した処理と同様の処理を行う。そして、未注目のコンポーネント情報がなくなると(ステップS55がNO)、その処理を終了する。
本実施の形態によれば、第1の実施の形態の効果に加え、データベースアクセス制御部12aの負荷を低減できるという効果を得ることができる。その理由は、各コンポーネントA〜Cに統計情報登録部111A〜111Cを設けたからである。
本発明は、データベースを利用したアプリケーション開発やシステム運用を行う分野で利用が可能である。
本発明の作用を説明するための図である。 本発明にかかるデータベースチューニング装置の第1の実施の形態の構成例を示すブロック図である。 コンポーネント制御情報格納部17の内容例を示す図である。 統計情報格納部18の内容例を示す図である。 コンポーネント実行制御部11の処理例を示すフローチャートである。 データベースアクセス要求が入力されたときの、データベースアクセス制御部12の処理例を示すフローチャートである。 処理時間通知が入力されたときのデータベースアクセス制御部12の処理例を示すフローチャートである。 モニタリング/チューニング制御部14の処理例を示すフローチャートである。 表示部20に表示された統計情報の一例を示す図である。 本発明の第2の実施の形態において、コンポーネント実行制御部11が行う処理例を示すフローチャートである。 本発明の第2の実施の形態において、データベースアクセス制御部12が行う処理例を示すフローチャートである。 本発明にかかるデータベースチューニング装置の第3の実施の形態の構成例を示すブロック図である。 コンポーネント実行制御部11aの処理例を示すフローチャートである。 データベースアクセス制御部12aの処理例を示すフローチャートである。
符号の説明
1…データベースアクセス手段
2…モニタリング/チューニング制御部
3…コンポーネント制御情報格納部
4…統計情報格納部
11,11a…コンポーネント実行制御部
12,12a…データベースアクセス制御部
13…リレーショナルデータベース管理システム(RDBMS)
14…モニタリング/チューニング制御部
15…イベント処理部
16…コンポーネント情報登録部
17…コンポーネント制御情報格納部
18…統計情報格納部
19…リレーショナルデータベース(RDB)
20…表示部
A〜C…コンポーネント

Claims (14)

  1. コンポーネント制御情報格納部と、
    統計情報格納部と、
    サービス名、コンポーネント名および変更後の変更SQL文を含むSQL文変更指示が入力されたとき、前記コンポーネント制御情報格納部に、前記サービス名およびコンポーネント名に関連付けて前記変更SQL文を格納するモニタリング/チューニング制御部と、
    利用者端末からサービス名を含む処理要求が入力されたとき、前記サービス名によって特定されるサービスを構成する各コンポーネントを実行し、そのコンポーネントのコンポーネント名と前記サービス名とに対応付けて前記コンポーネント制御情報格納部に変更SQL文が格納されている場合は、前記変更SQL文に従ってデータベースアクセスを行うと共に、前記統計情報格納部に、前記利用者端末との間のセッションID及び前記サービス名によって特定される統計情報として前記変更SQL文、その処理時間および前記コンポーネント名を追加し、変更SQL文が格納されていない場合は、前記コンポーネント中のSQL文に従ってデータベースアクセスを行うと共に、前記統計情報格納部に、前記セッションID及び前記サービス名によって特定される統計情報として前記SQL文、その処理時間および前記コンポーネント名を追加するデータベースアクセス手段とを備えたことを特徴とするデータベースチューニング装置。
  2. コンポーネント制御情報格納部と、
    統計情報格納部と、
    サービス名、コンポーネント名および変更後の変更SQL文を含むSQL文変更指示が入力されたとき、前記コンポーネント制御情報格納部に、前記サービス名およびコンポーネント名に関連付けて前記変更SQL文を格納するモニタリング/チューニング制御部と、
    利用者端末からサービス名を含む処理要求が入力されたとき、前記サービス名によって特定されるサービスを構成する各コンポーネントを実行し、そのコンポーネントに含まれるSQL文、前記コンポーネントのコンポーネント名、前記利用者端末とのセッションを特定するセッションIDおよび前記処理要求中のサービス名を含むデータベースアクセス要求を出力すると共に、前記セッションIDおよび前記サービス名からなるセッション情報を含んだ統計情報を前記統計情報格納部に格納するコンポーネント実行制御部と、
    該コンポーネント実行制御部からデータベースアクセス要求が出力されたとき、前記データベースアクセス要求に含まれているSQL文に対する変更SQL文が前記コンポーネント制御情報格納部に格納されている場合は、前記変更SQL文に従ってデータベースアクセスを行うと共に、前記統計情報格納部に格納されている統計情報の内の、セッション情報が前記データベースアクセス要求中のセッションID及びサービス名と一致する統計情報に、前記変更SQL文、その処理時間および前記データベースアクセス要求に含まれているコンポーネント名を追加し、前記データベースアクセス要求に含まれているSQL文に対応する変更SQL文が前記コンポーネント制御情報格納部に格納されていない場合は、前記SQL文に従ってデータベースアクセスを行うと共に、前記統計情報格納部に格納されている統計情報の内の、セッション情報が前記データベースアクセス要求中のセッションID及びサービス名と一致する統計情報に、前記SQL文、その処理時間および前記データベースアクセス要求に含まれているコンポーネント名を追加するデータベースアクセス制御部とを備えたことを特徴とするデータベースチューニング装置。
  3. サービス名を含むサービス情報に対応付けて、前記サービス名によって特定されるサービスを構成する複数のコンポーネントそれぞれのコンポーネント情報であって、コンポーネントを特定するコンポーネント名を含むコンポーネント情報が格納されたコンポーネント制御情報格納部と、
    サービス名、コンポーネント名および変更後の変更SQL文を含むSQL文変更指示に従って、前記コンポーネント制御情報格納部に格納されているコンポーネント情報の内の該当するコンポーネント情報に前記変更SQL文を追加するモニタリング/チューニング制御部と、
    統計情報格納部と、
    利用者端末からサービス名を含む処理要求が入力されたとき、前記コンポーネント制御情報格納部を参照して前記サービス名によって特定されるサービスを構成する各コンポーネントを実行し、そのコンポーネントに含まれるSQL文、前記コンポーネントのコンポーネント名、前記利用者端末とのセッションを特定するセッションIDおよび前記処理要求中のサービス名を含むデータベースアクセス要求を出力すると共に、前記セッションIDおよび前記サービス名からなるセッション情報を含んだ統計情報を前記統計情報格納部に格納するコンポーネント実行制御部と、
    該コンポーネント実行制御部からデータベースアクセス要求が出力されたとき、前記コンポーネント制御情報格納部に格納されているコンポーネント情報の内の、前記データベースアクセス要求によって特定されるコンポーネント情報に変更SQL文が含まれている場合は、該変更SQL文に従ってデータベースアクセスを行うと共に、前記統計情報格納部に格納されている統計情報の内の、セッション情報が前記データベースアクセス要求中のセッションID及びサービス名と一致する統計情報に、前記変更SQL文、その処理時間および前記データベースアクセス要求中のコンポーネント名を追加し、変更SQL文が含まれていない場合は、前記データベースアクセス要求に含まれているSQL文に従ってデータベースアクセスを行うと共に、前記統計情報格納部に格納されている統計情報の内の、セッション情報が前記データベースアクセス要求中のセッションID及びサービス名と一致する統計情報に前記SQL文、その処理時間および前記データベースアクセス要求中のコンポーネント名を追加するデータベースアクセス制御部とを備えたことを特徴とするデータベースチューニング装置。
  4. コンポーネント制御情報格納部と、
    統計情報格納部と、
    サービス名、コンポーネント名および変更後の変更SQL文を含むSQL文変更指示が入力されたとき、前記コンポーネント制御情報格納部に、前記サービス名およびコンポーネント名に関連付けて前記変更SQL文を格納するモニタリング/チューニング制御部と、
    利用者端末からサービス名を含む処理要求が入力されたとき、前記利用者端末とのセッションを特定するセッションIDと前記サービス名とからなるセッション情報を含んだ統計情報を前記統計情報格納部に格納する処理を行うと共に、前記サービス名によって特定されるサービスを構成する各コンポーネントを実行し、SQL文が変更されているコンポーネントについては、前記コンポーネント制御情報格納部に格納されている該当する変更SQL文、前記コンポーネントのコンポーネント名、前記利用者端末とのセッションを特定するセッションIDおよび前記処理要求中のサービス名を含むデータベースアクセス要求を出力し、SQL文が変更されていないコンポーネントについては、前記SQL文、前記コンポーネントのコンポーネント名、前記セッションIDおよび前記処理要求中のサービス名を含むデータベースアクセス要求を出力する処理を行うコンポーネント実行制御部と、
    該コンポーネント実行制御部からデータベースアクセス要求が出力されたとき、該データベースアクセス要求に含まれているSQL文或いは変更SQL文に従ってデータベースアクセスを行うと共に、前記統計情報格納部に格納されている統計情報の内の、セッション情報が前記データベースアクセス要求中のセッションID及びサービス名と一致する統計情報に前記SQL文或いは変更SQL文、その処理時間および前記データベースアクセス要求中のコンポーネント名を追加するデータベースアクセス制御部とを備えたことを特徴とするデータベースチューニング装置。
  5. サービス名を含むサービス情報に対応付けて、前記サービス名によって特定されるサービスを構成する複数のコンポーネントそれぞれのコンポーネント情報であって、コンポーネントを特定するコンポーネント名を含むコンポーネント情報が格納されたコンポーネント制御情報格納部と、
    サービス名、コンポーネント名および変更後の変更SQL文を含むSQL文変更指示に従って、前記コンポーネント制御情報格納部に格納されているコンポーネント情報の内の該当するコンポーネント情報に前記変更SQL文を追加するモニタリング/チューニング制御部と、
    統計情報格納部と、
    利用者端末からサービス名を含む処理要求が入力されたとき、前記利用者端末とのセッションを特定するセッションIDと前記サービス名とからなるセッション情報を含んだ統計情報を前記統計情報格納部に格納する処理を行うと共に、前記コンポーネント制御情報格納部を参照して前記サービス名によって特定されるサービスを構成する各コンポーネントを実行し、そのコンポーネントに対応するコンポーネント情報に変更SQL文が含まれている場合は、該変更SQL文、前記コンポーネントのコンポーネント名、前記セッションIDおよび前記処理要求中のサービス名を含むデータベースアクセス要求を出力し、前記コンポーネント情報に変更SQL文が含まれていない場合は、前記コンポーネントに含まれるSQL文、前記コンポーネントのコンポーネント名、前記セッションIDおよび前記処理要求中のサービス名を含むデータベースアクセス要求を出力するコンポーネント実行制御部と、
    該コンポーネント実行制御部からデータベースアクセス要求が出力されたとき、該データベースアクセス要求に含まれているSQL文或いは変更SQL文に従ってデータベースアクセスを行うと共に、前記統計情報格納部に格納されている統計情報の内の、セッション情報が前記データベースアクセス要求中のセッションID及びサービス名と一致する統計情報に前記SQL文或いは変更SQL文と、その処理時間と、前記データベースアクセス要求中のコンポーネント名とを追加するデータベースアクセス制御部とを備えたことを特徴とするデータベースチューニング装置。
  6. コンポーネント制御情報格納部と、
    統計情報格納部と、
    サービス名、コンポーネント名および変更後の変更SQL文を含むSQL文変更指示が入力されたとき、前記コンポーネント制御情報格納部に、前記サービス名およびコンポーネント名に関連付けて前記変更SQL文を格納するモニタリング/チューニング制御部と、
    利用者端末からサービス名を含む処理要求が入力されたとき、前記サービス名によって特定されるサービスを構成する各コンポーネントを実行し、そのコンポーネントに含まれるSQL文、前記コンポーネントのコンポーネント名、前記利用者端末とのセッションを特定するセッションIDおよび前記処理要求中のサービス名を含むデータベースアクセス要求を出力すると共に、前記セッションIDおよび前記サービス名からなるセッション情報を含んだ統計情報を前記統計情報格納部に格納するコンポーネント実行制御部と、
    該コンポーネント実行制御部からデータベースアクセス要求が出力されたとき、前記データベースアクセス要求に含まれているSQL文に対する変更SQL文が前記コンポーネント制御情報格納部に格納されている場合は、前記変更SQL文に従ってデータベースアクセスを行い、前記データベースアクセス要求に含まれているSQL文に対応する変更SQL文が前記コンポーネント制御情報格納部に格納されていない場合は、前記SQL文に従ってデータベースアクセスを行うデータベースアクセス制御部とを備え、且つ、
    前記コンポーネント実行制御部で実行されるコンポーネントが、自コンポーネントに含まれているSQL文に対する変更SQL文が前記コンポーネント制御情報格納部に格納されている場合は、前記統計情報格納部に格納されている統計情報の内の、セッション情報が前記データベースアクセス要求中のセッションID及びサービス名と一致する統計情報に前記変更SQL文、その処理時間および自コンポーネントのコンポーネント名を追加し、自コンポーネントに含まれているSQL文に対する変更SQL文が前記コンポーネント制御情報格納部に格納されていない場合は、前記統計情報格納部に格納されている統計情報の内の、セッション情報が前記データベースアクセス要求中のセッションID及びサービス名と一致する統計情報に、前記SQL文、その処理時間および自コンポーネントのコンポーネント名を追加する構成を有することを特徴とするデータベースチューニング装置。
  7. 請求項3または5記載のデータベースチューニング装置において、
    前記コンポーネント制御情報格納部に格納されている各サービス情報が、そのサービス情報によって特定されるサービスの許容処理時間を示すサービス閾値を含み、
    前記モニタリング/チューニング制御部が、前記統計情報格納部に格納されている統計情報と、前記コンポーネント制御情報格納部に格納されている各サービス毎のサービス閾値とに基づいて、処理時間が該当するサービス閾値を超えたサービスの発生を検出する構成を有することを特徴とするデータベースチューニング装置。
  8. 請求項7記載のデータベースチューニング装置において、
    前記モニタリング/チューニング制御部が、処理時間が該当するサービス閾値を超えたサービスの発生を検出したとき、外部装置にそのことを通知するイベント処理部を備えたことを特徴とするデータベースチューニング装置。
  9. モニタリング/チューニング制御部が、サービス名、コンポーネント名および変更後の変更SQL文を含むSQL文変更指示が入力されたとき、コンポーネント制御情報格納部に、前記サービス名およびコンポーネント名に関連付けて前記変更SQL文を格納し、
    データベースアクセス手段が、利用者端末からサービス名を含む処理要求が入力されたとき、前記サービス名によって特定されるサービスを構成する各コンポーネントを実行し、そのコンポーネントのコンポーネント名と前記サービス名とに対応付けて前記コンポーネント制御情報格納部に変更SQL文が格納されている場合は、前記変更SQL文に従ってデータベースアクセスを行うと共に、前記統計情報格納部に、前記利用者端末との間のセッションID及び前記サービス名によって特定される統計情報として前記変更SQL文、その処理時間および前記コンポーネント名を追加し、変更SQL文が格納されていない場合は、前記コンポーネント中のSQL文に従ってデータベースアクセスを行うと共に、前記統計情報格納部に、前記セッションID及び前記サービス名によって特定される統計情報として前記SQL文、その処理時間および前記コンポーネント名を追加することを特徴とするデータベースチューニング方法。
  10. モニタリング/チューニング制御部が、サービス名、コンポーネント名および変更後の変更SQL文を含むSQL文変更指示が入力されたとき、コンポーネント制御情報格納部に、前記サービス名およびコンポーネント名に関連付けて前記変更SQL文を格納し、
    コンポーネント実行制御部が、利用者端末からサービス名を含む処理要求が入力されたとき、前記サービス名によって特定されるサービスを構成する各コンポーネントを実行し、そのコンポーネントに含まれるSQL文、前記コンポーネントのコンポーネント名、前記利用者端末とのセッションを特定するセッションIDおよび前記処理要求中のサービス名を含むデータベースアクセス要求を出力すると共に、前記セッションIDおよび前記サービス名からなるセッション情報を含んだ統計情報を統計情報格納部に格納し、
    データベースアクセス制御部が、前記コンポーネント実行制御部からデータベースアクセス要求が出力されたとき、前記データベースアクセス要求に含まれているSQL文に対する変更SQL文が前記コンポーネント制御情報格納部に格納されている場合は、前記変更SQL文に従ってデータベースアクセスを行うと共に、前記統計情報格納部に格納されている統計情報の内の、セッション情報が前記データベースアクセス要求中のセッションID及びサービス名と一致する統計情報に、前記変更SQL文、その処理時間および前記データベースアクセス要求に含まれているコンポーネント名を追加し、前記データベースアクセス要求に含まれているSQL文に対応する変更SQL文が前記コンポーネント制御情報格納部に格納されていない場合は、前記SQL文に従ってデータベースアクセスを行うと共に、前記統計情報格納部に格納されている統計情報の内の、セッション情報が前記データベースアクセス要求中のセッションID及びサービス名と一致する統計情報に、前記SQL文、その処理時間および前記データベースアクセス要求に含まれているコンポーネント名を追加することを特徴とするデータベースチューニング方法。
  11. モニタリング/チューニング制御部が、サービス名、コンポーネント名および変更後の変更SQL文を含むSQL文変更指示が入力されたとき、コンポーネント制御情報格納部に、前記サービス名およびコンポーネント名に関連付けて前記変更SQL文を格納し、
    コンポーネント実行制御部が、利用者端末からサービス名を含む処理要求が入力されたとき、前記利用者端末とのセッションを特定するセッションIDと前記サービス名とからなるセッション情報を含んだ統計情報を統計情報格納部に格納する処理を行うと共に、前記サービス名によって特定されるサービスを構成する各コンポーネントを実行し、SQL文が変更されているコンポーネントについては、前記コンポーネント制御情報格納部に格納されている該当する変更SQL文、前記コンポーネントのコンポーネント名、前記利用者端末とのセッションを特定するセッションIDおよび前記処理要求中のサービス名を含むデータベースアクセス要求を出力し、SQL文が変更されていないコンポーネントについては、前記SQL文、前記コンポーネントのコンポーネント名、前記セッションIDおよび前記処理要求中のサービス名を含むデータベースアクセス要求を出力する処理を行い、
    データベースアクセス制御部が、前記コンポーネント実行制御部からデータベースアクセス要求が出力されたとき、該データベースアクセス要求に含まれているSQL文或いは変更SQL文に従ってデータベースアクセスを行うと共に、前記統計情報格納部に格納されている統計情報の内の、セッション情報が前記データベースアクセス要求中のセッションID及びサービス名と一致する統計情報に前記SQL文或いは変更SQL文、その処理時間および前記データベースアクセス要求中のコンポーネント名を追加することを特徴とするデータベースチューニング方法。
  12. コンポーネント制御情報格納部と、統計情報格納部とを備えたコンピュータを、
    サービス名、コンポーネント名および変更後の変更SQL文を含むSQL文変更指示が入力されたとき、前記コンポーネント制御情報格納部に、前記サービス名およびコンポーネント名に関連付けて前記変更SQL文を格納するモニタリング/チューニング制御部、
    利用者端末からサービス名を含む処理要求が入力されたとき、前記サービス名によって特定されるサービスを構成する各コンポーネントを実行し、そのコンポーネントのコンポーネント名と前記サービス名とに対応付けて前記コンポーネント制御情報格納部に変更SQL文が格納されている場合は、前記変更SQL文に従ってデータベースアクセスを行うと共に、前記統計情報格納部に、前記利用者端末との間のセッションID及び前記サービス名によって特定される統計情報として前記変更SQL文、その処理時間および前記コンポーネント名を追加し、変更SQL文が格納されていない場合は、前記コンポーネント中のSQL文に従ってデータベースアクセスを行うと共に、前記統計情報格納部に、前記セッションID及び前記サービス名によって特定される統計情報として前記SQL文、その処理時間および前記コンポーネント名を追加するデータベースアクセス手段として機能させるためのプログラム。
  13. コンポーネント制御情報格納部と、統計情報格納部とを備えたコンピュータを、
    サービス名、コンポーネント名および変更後の変更SQL文を含むSQL文変更指示が入力されたとき、前記コンポーネント制御情報格納部に、前記サービス名およびコンポーネント名に関連付けて前記変更SQL文を格納するモニタリング/チューニング制御部、
    利用者端末からサービス名を含む処理要求が入力されたとき、前記サービス名によって特定されるサービスを構成する各コンポーネントを実行し、そのコンポーネントに含まれるSQL文、前記コンポーネントのコンポーネント名、前記利用者端末とのセッションを特定するセッションIDおよび前記処理要求中のサービス名を含むデータベースアクセス要求を出力すると共に、前記セッションIDおよび前記サービス名からなるセッション情報を含んだ統計情報を前記統計情報格納部に格納するコンポーネント実行制御部、
    該コンポーネント実行制御部からデータベースアクセス要求が出力されたとき、前記データベースアクセス要求に含まれているSQL文に対する変更SQL文が前記コンポーネント制御情報格納部に格納されている場合は、前記変更SQL文に従ってデータベースアクセスを行うと共に、前記統計情報格納部に格納されている統計情報の内の、セッション情報が前記データベースアクセス要求中のセッションID及びサービス名と一致する統計情報に、前記変更SQL文、その処理時間および前記データベースアクセス要求に含まれているコンポーネント名を追加し、前記データベースアクセス要求に含まれているSQL文に対応する変更SQL文が前記コンポーネント制御情報格納部に格納されていない場合は、前記SQL文に従ってデータベースアクセスを行うと共に、前記統計情報格納部に格納されている統計情報の内の、セッション情報が前記データベースアクセス要求中のセッションID及びサービス名と一致する統計情報に、前記SQL文、その処理時間および前記データベースアクセス要求に含まれているコンポーネント名を追加するデータベースアクセス制御部として機能させるためのプログラム。
  14. コンポーネント制御情報格納部と、統計情報格納部とを備えたコンピュータを、
    サービス名、コンポーネント名および変更後の変更SQL文を含むSQL文変更指示が入力されたとき、前記コンポーネント制御情報格納部に、前記サービス名およびコンポーネント名に関連付けて前記変更SQL文を格納するモニタリング/チューニング制御部、
    利用者端末からサービス名を含む処理要求が入力されたとき、前記利用者端末とのセッションを特定するセッションIDと前記サービス名とからなるセッション情報を含んだ統計情報を前記統計情報格納部に格納する処理を行うと共に、前記サービス名によって特定されるサービスを構成する各コンポーネントを実行し、SQL文が変更されているコンポーネントについては、前記コンポーネント制御情報格納部に格納されている該当する変更SQL文、前記コンポーネントのコンポーネント名、前記利用者端末とのセッションを特定するセッションIDおよび前記処理要求中のサービス名を含むデータベースアクセス要求を出力し、SQL文が変更されていないコンポーネントについては、前記SQL文、前記コンポーネントのコンポーネント名、前記セッションIDおよび前記処理要求中のサービス名を含むデータベースアクセス要求を出力する処理を行うコンポーネント実行制御部、
    該コンポーネント実行制御部からデータベースアクセス要求が出力されたとき、該データベースアクセス要求に含まれているSQL文或いは変更SQL文に従ってデータベースアクセスを行うと共に、前記統計情報格納部に格納されている統計情報の内の、セッション情報が前記データベースアクセス要求中のセッションID及びサービス名と一致する統計情報に前記SQL文或いは変更SQL文、その処理時間および前記データベースアクセス要求中のコンポーネント名を追加するデータベースアクセス制御部として機能させるためのプログラム。
JP2005093673A 2005-03-29 2005-03-29 データベースチューニング装置及びデータベースチューニング方法並びにプログラム Expired - Fee Related JP4810113B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005093673A JP4810113B2 (ja) 2005-03-29 2005-03-29 データベースチューニング装置及びデータベースチューニング方法並びにプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005093673A JP4810113B2 (ja) 2005-03-29 2005-03-29 データベースチューニング装置及びデータベースチューニング方法並びにプログラム

Publications (2)

Publication Number Publication Date
JP2006277179A true JP2006277179A (ja) 2006-10-12
JP4810113B2 JP4810113B2 (ja) 2011-11-09

Family

ID=37211900

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005093673A Expired - Fee Related JP4810113B2 (ja) 2005-03-29 2005-03-29 データベースチューニング装置及びデータベースチューニング方法並びにプログラム

Country Status (1)

Country Link
JP (1) JP4810113B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010250450A (ja) * 2009-04-13 2010-11-04 Fujitsu Ltd データベース・メッセージ分析支援プログラム、方法及び装置
KR101006935B1 (ko) * 2009-03-11 2011-01-12 사단법인 보험개발원 통계 활용 시스템
JP2015036868A (ja) * 2013-08-12 2015-02-23 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation データベースを管理する装置、データベースの制御方法およびプログラム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101006935B1 (ko) * 2009-03-11 2011-01-12 사단법인 보험개발원 통계 활용 시스템
JP2010250450A (ja) * 2009-04-13 2010-11-04 Fujitsu Ltd データベース・メッセージ分析支援プログラム、方法及び装置
US8224834B2 (en) 2009-04-13 2012-07-17 Fujitsu Limited Database message analysis support technique
JP2015036868A (ja) * 2013-08-12 2015-02-23 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation データベースを管理する装置、データベースの制御方法およびプログラム
US11899668B2 (en) 2013-08-12 2024-02-13 International Business Machines Corporation Database management apparatus, database control method and program

Also Published As

Publication number Publication date
JP4810113B2 (ja) 2011-11-09

Similar Documents

Publication Publication Date Title
US11853303B1 (en) Data stream generation based on sourcetypes associated with messages
JP6538980B2 (ja) 異種混成ログストリームにおける自動化された異常検出サービス
US10942946B2 (en) Automatic triage model execution in machine data driven monitoring automation apparatus
US10942960B2 (en) Automatic triage model execution in machine data driven monitoring automation apparatus with visualization
US20190250965A1 (en) Automatic registration of empty pointers
US7251584B1 (en) Incremental detection and visualization of problem patterns and symptoms based monitored events
US7434208B2 (en) Graphical interface system monitor providing error notification message with modifiable indication of severity
US8065315B2 (en) Solution search for software support
US20130318496A1 (en) Detection of central-registry events influencing dynamic pointers and app feature dependencies
US11768776B1 (en) Evicting data associated with a data intake and query system from a local storage
US10911447B2 (en) Application error fingerprinting
JP6823265B2 (ja) 分析装置、分析システム、分析方法および分析プログラム
JP6885784B2 (ja) インシデント管理装置、インシデント管理方法およびコンピュータプログラム
US6795832B2 (en) Rule based compatibility module
WO2021072742A1 (en) Assessing an impact of an upgrade to computer software
US8606762B2 (en) Data quality administration framework
US10261998B2 (en) Search apparatus and search method
JP4810113B2 (ja) データベースチューニング装置及びデータベースチューニング方法並びにプログラム
US7051230B2 (en) Method and system for allowing customization of remote data collection in the event of a system error
US20050060282A1 (en) Patent family downloading system and method using selected downloading object
US20100185606A1 (en) Development document data management device, development document data management system, development document data management method, program therefor, and recording medium
JP2009134535A (ja) ソフトウェア開発支援装置、ソフトウェア開発支援方法及びソフトウェア開発支援プログラム
US7940895B2 (en) Methods and computer program products for tracking modifications in physical plant during maintenance of a communication network
JP2006268568A (ja) クレーム管理方法及びクレーム管理システム
JP2008052592A (ja) 事例管理装置、事例管理システム、コンピュータプログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090203

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20090525

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20090525

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090602

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110822

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140826

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees