JP5148607B2 - データベース管理における標準操作手順の自動化 - Google Patents

データベース管理における標準操作手順の自動化 Download PDF

Info

Publication number
JP5148607B2
JP5148607B2 JP2009518568A JP2009518568A JP5148607B2 JP 5148607 B2 JP5148607 B2 JP 5148607B2 JP 2009518568 A JP2009518568 A JP 2009518568A JP 2009518568 A JP2009518568 A JP 2009518568A JP 5148607 B2 JP5148607 B2 JP 5148607B2
Authority
JP
Japan
Prior art keywords
database
sop
environment
task
dba
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
JP2009518568A
Other languages
English (en)
Other versions
JP2009543226A (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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of JP2009543226A publication Critical patent/JP2009543226A/ja
Application granted granted Critical
Publication of JP5148607B2 publication Critical patent/JP5148607B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/217Database tuning

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Medical Treatment And Welfare Office Work (AREA)

Description

関連出願
本願は、2007年6月28日に出願した「STANDARD OPERATING PROCEDURE AUTOMATION IN DATABASE ADMINISTRATION」なる名称の米国特許出願番号第11/770,454号および2006年6月29日に出願した米国仮特許出願番号第60/806,226号の優先権を主張する。これら出願は、その全体を本願に参照として組み込むものとする。
本発明の実施形態は、概してデータベースアプリケーション管理に係り、より具体的には、データベース管理を自動化する標準操作手順の構築に係る。
金融管理システム、給与アプリケーション、顧客関連管理システム、および企業資源計画システムを含む多数の商用アプリケーションは、Oracle(登録商標)、DB2(登録商標)、MySQL(登録商標)、およびSQLサーバ(登録商標)などのデータベースアプリケーションの1以上を利用する。世界の企業は、これらのデータベースアプリケーションの運用および管理に年間数十億ドルも費やしている。データベース管理は、コンピュータ化されたデータベースを構築して、その整合性、回復性、セキュリティ、利用可能性、信頼性、スケーラビリティ、および性能を保証するプロセスである。データベース管理者(DBA)は、データベース管理システムのソフトウェアを利用して、データのオーガナイズ、格納、および取得を行う。DBAは、ユーザの要件を特定し、コンピュータデータベースをセットアップし、コンピュータデータベースシステムへの修正を試験し調整する。DBAはシステムセキュリティの設計および実装も行うことがあるので、しばしばセキュリティ対策の計画および調整も行う。取り扱いに注意を要するデータ量の生成が急速に進む昨今、データの整合性、バックアップシステム、およびデータベースセキュリティは、DBAの仕事のなかで益々重要な側面になってきている。これらの作業の幾らかはツールを利用してサポートされるようにもなっているが、作業の多くは依然として手動で行われている。
平均的なデータベース環境では、1名以上のDBAが従事しており、これらDBAによるデータベース監視およびメンテナンスをサポートする特定のソフトウェアツールおよびスクリプトが利用される。環境が大きくなると、DBAの人数、利用されるツールおよびスクリプトの数も増える。これらツールは、主にデータベースの監視サポート、および/または、グラフィカルユーザインタフェースを提供して、DBA自身がその下のコンピュータコマンドシンタックスを記憶する必要のないよう任意のタスクを行うのをサポートする。これは有用ではあるが、これら作業の大半は、DBAにより手動で決定、実行、および管理されねばならない。これは、これら作業が通常ユーザの要求、環境変更、変更制御要求、構成管理要求、リリース管理要求等により駆動されることに起因しており、これらの多くが、外部のユーザおよび他の管理者(システム管理者、ストレージ管理者、ネットワーク管理者、およびアプリケーションサポート人員)と通信するのに人的なDBA介入を必要とする。さらに、これらDBAはしばしば、地理的およびタイムゾーンの上で分断されている。このようなわけで、DBA間で仕事のやり方に差があり、仕事の手順に標準化がなされておらず、仕事の結果物も統一がとれていない。チームで動いている3人のDBAが、同じ作業を銘々の環境で取り組む際に、三者三様のアプローチおよび/または方法をとることが往々にして見られる。これにより、仕事の品質は顕著に異なり、製品の信頼性に変質をもたらす人的エラーが起こっている。
人的な相互作用を含む殆どのプロセスにありがちであるが、DBAのなかにも順位付けがある。しばしば高位と推定されるDBAは、低レベルの雑事およびデータベース養成に追われるのでビジネスユーザへの対応には十分な時間がとれず、データベース環境を構築および調整してビジネスに対応するほどビジネスの理解ができない。容量設計、物理的モデリング、アプリケーション/データベース最適化、オペレーティングシステム/データベース最適化、およびその他の能動的な性能管理領域は、純粋にDBAの時間制約により行われない。
DBAが仕事上利用するツールは多岐にわたる。前述したように、一般的にこれらツールは大きく2つのカテゴリに分類されうる。第1のカテゴリは、ツール監視および変更に関する。予め構築された基準に基づいて、これらツールは、特定のデータベースの性能を監視し、予め定義された閾値に合致する、またはそれを超えると、DBAに対して警告を発する。DBAは警告箇所にアクセスして、適宜データベース環境を直ぐに、または予め構築されたメンテナンスウィンドウ毎に変更することができる。データベースが修正を要する場合、第2のクラスのツールが導入される。この第2のクラスのツールは、この分野では、アドホックタスク実行ツールとして知られている。問題について警告を受けると、DBAは様々なアドホックタスク実行ツールを使用してデータベース操作を行う。不幸なことに、行われるべき修正またはこれら修正を行うプロセスについては標準化された方策がない。DBAがとりうるプロセスは、純粋に個々のDBAの経験および独創力に依存する。故に、2人のDBAに警告を発する監視ツールが特定する同じ問題が、2つの全く異なる、おそらくは互いに相容れない解決法を生じ、これにより広範なデータベース障害を引き起こす可能性もある。
DBAは典型的な情報技術組織で最も高価な資源の一つである。企業は通常、企業の最高位のDBAが定めたベストプラクティスに基づき各DBAが一定の作業水準を遵守するよう努力する。しかしこういったベストプラクティスは、定義した最高位のDBAの在職期間限りであり、下位のDBAがこれら標準を遵守する意向および/または能力を有するかにも左右される。DBAがいつ何時においてもデータベース環境の状態を把握し、データベースの動作のいかなるずれをも認識する能力は、特に下位のDBAにとって難しい。DBAへの対価も人員の流動的になるにつれて上がるので、一貫した信頼性の在るデータベース管理を行うのもまた難しい。企業は、DBAチーム全体の仕事を標準化し、可能な場合は自動化して、チームメンバを解放してより能動的なデータベース管理タスクに従事させることのできる手段を模索し続けている。
簡潔に述べると、本発明の実施形態はデータベース管理に関し、より具体的には、データベース管理者のベストプラクティスを標準操作手順(SOP)という形式で取得し、これらSOPを自動的に広範なタイプのデータベースに適用するシステムおよび方法に関する。本発明の一実施形態は、データベースの動作および状態を管理する複数のモジュールおよび/またはエンジンを含む。本発明の一実施形態によると、1つのモジュールは、高位のデータベース管理者が複数のSOPを作成し、その後アクセス可能なメモリ資源に格納する支援をする。本発明の別の実施形態においては、このメモリ資源は中央レポジトリであってよい。これらSOPは、様々なデータベース情報の状態に対処する手順を定義する。多くのSOPが特定のタイプのデータベース構造に特化しているが、中には多数の形式のデータベースと互換性を有するSOPもある。特定のタイプのデータベースと互換性があると特定された各SOPは、該データベースタイプについて構成されたSOPと互いに互換性を有する。これらSOPは自動的または手動で組み合わせられて、データベースに適用されることで、一貫性および信頼性のあるデータベースの動作を提供してよい。
本発明の別の側面は、データベース情報の状態およびデータベース環境ポリシーを監視するモジュールを含む。本発明は、データベースの状態を監視して、該状態についての情報を収集する能力を含む。この情報は、その後、中央レポジトリに戻されて、そこで、格納および/または分析されることで、データベースの状態を判断し、もしあれば誤差を特定し、1以上のSOPを実行して、データベース環境に関連付けられたある種のポリシーに準拠するようこの誤差を訂正する。本発明の別の側面によると、データベース情報の状態が、予め構築されたベースラインから予め定義された閾値または誤差に達する、またはそれを超えたときに、警告または通知を生成する。警告により、1以上のSOPを関連データベース(1または複数)で実行して自動応答をトリガする、および/またはデータベース管理者に提示することで手動の介入を促すことができる。
本発明の別の側面によると、システムは、データベース管理者または他の権限を持つユーザから、1以上のデータベースの特定の修正を行うことを目的とする1以上のSOPを特定するタスク要求を受信してよい。これらタスクは、データベースバックアップ、データベースリフレッシュまたはデータベースクローニング、データベース記憶構成調整、データベースメモリ資源スペースの管理、データベース合体、データベースパッチング、データベースアップグレード、データマイグレーション、データベースサーバマイグレーション、およびデータベースの再構築またはデフラグを含みうるが、それらに限られない。これらおよび他の課題に対処するSOPは、記憶資源から取得でき、適宜他の互換性のあるSOPとリンクされることで、特定のデータベースに所望の修正を行いうる。ひとたび選択および取得されると、SOPは、本発明の一側面によると、適切なデータベースに送られ、所望の修正を行うべく実行される。
本開示および以下の詳細な説明に記載した特徴および利点は、包括的ではなく、特に、当業者にとっては、図面、明細書、請求項を参照することで、多くの追加的な特徴および利点が明らかであろう。さらに、明細書で利用される用語は、主に読みやすさおよび便宜上の目的から選択されており、発明の主題の特定またはその外縁を示す目的はないことが多く、このような発明の主題の特定には請求項に拠ることが必要である。
以下の好適な実施形態についての記載を、添付図面とともに参照することで、本発明の上述の特徴および目的、他の特徴および目的、それを得る方法、且つ発明自身の理解が深まることであろう。
本発明の一実施形態が実装されるデータベース環境のハイレベルな説明図である。
本発明の一実施形態による、標準操作手順モジュールのシステムアーキテクチャのブロック図である。
本発明による、自動化された標準操作手順を用いるデータベース管理方法の一実施形態を示すフローチャートである(図3Bに続く)。 本発明による、自動化された標準操作手順を用いるデータベース管理方法の一実施形態を示すフローチャートである(図3Aからの続き)。
本発明による、受信されたタスク要求に応じて標準操作手順を用いるデータベース管理方法の一実施形態のフローチャートである(図4Bに続く)。 本発明による、受信されたタスク要求に応じて標準操作手順を用いるデータベース管理方法の一実施形態のフローチャートである(図4Aからの続き)。
図面は、本発明の実施形態を例示目的のみから記載している。当業者であれば、以下の説明から、本発明の原理の範囲内で、ここに例示した構造および方法に関する代替実施例を想到するであろう。
添付図面を参照しながら、本発明の特定の実施形態を以下で詳細に記載する。図面全体にわたり同様の部材については同様の参照番号を付して一貫性を保っている。以下では本発明をある程度詳しく説明および例示しているが、本開示が例示のみを目的としており、当業者であれば、本発明の精神および範囲から逸脱することなく、部材の組み合わせおよび配置についての幾多もの変更が可能であることを理解されたい。
図1は、本発明の一実施形態によるデータベース管理システムを示す。複数のデータベース120を含有するサーバ125と1以上のデータベース管理インタフェース130との間には、SOPモジュール100が介在しており、該SOPモジュール100は、本実施形態においては、データベース管理サーバ150に含有されている。1以上のメモリ資源160がデータベース管理サーバ150に通信可能に連結されることでSOPモジュール100と連通し、該メモリ資源160は、少なくとも複数のSOPおよびタスクレシピを含有している。
図2は、本発明による図1のSOPモジュール100の一実施形態を拡大して示す。本発明の本実施形態では、SOPモジュール100は、収集エンジン210および管理エンジン220を含む。収集エンジンは、とりわけ、各データベースから収集した状態情報について、データベース監視モジュール230、分析モジュール240、および報告モジュール245を含む。管理エンジン220は、SOP実装用に制御モジュール270を含み、且つ、スケジュールモジュール260およびSOP作成モジュール250を含む。各エンジン内の各モジュールは(つまり、収集エンジン210および管理エンジン220であるが)、共同してデータベース環境内の各データベースを管理する。
前述の通り、収集エンジン210は、監視モジュール230、分析モジュール240、および報告モジュール245を含む。各データベースは特有のプラットフォーム上で動作する(多くの場合、固有のオペレーティングシステム上)。しかし、各データベース環境は、割り当てられたデータベースの役割を実行する能力を反映する状態情報を保持している。この情報は、データベース自身に関するデータ、および、データベースが存在し、動作するオペレーティングシステムよびプラットフォームに関する情報を含む。本発明の一実施形態による監視モジュール230は、様々な状態情報を特定し、状態情報とそれに特有なデータベースとを関連付ける。ひとたび特定されると、監視モジュール230は、定期的に該データベースに関する状態情報、および該データベース環境で起こっている差分(delta)を収集する。監視モジュール230が収集する状態情報はメモリ資源160内に格納されて1以上の別個の情報レポジトリを形成する。当業者であれば、メモリ資源160が単一のメモリ媒体である必要がないことを理解しよう。メモリ資源160は、ストレージ・エリア・ネットワークなどの配信ネットワークを介して配信される多数の記憶媒体を含んでよく、または、一箇所に配置される記憶媒体の複数の専用容量内に在ってもよい。
収集エンジン210の別の側面は、収集されたデータベース状態情報を分析して、課された動作を実行するデータベースの状態および能力を確かめることである。分析モジュール240は、直線回帰、待ち行列、シミュレーション(公知の様々なシミュレーション技術を利用する)、ファジー論理等の複数の数理モデルを利用する。別個に、または一緒に利用されるこれら技術の各々は(データ分析技術分野の当業者には公知のその他のものも含めて)、データベースが最適に動作するかどうかを判断する分析モジュール240を手助けする。
本発明の一実施形態では、収集エンジン210は、監視モジュール230および分析モジュール240の生成物を介して、データベースが1以上の予め構築された基準に合致しないと認識した際に警告を生成する。警告はその後DBAインタフェース130を介してDBAに送信されてもよい、および/または自動応答を開始するトリガとなってよい。本発明の一実施形態では、収集エンジン210が発する警告は、タスク要求を自動的に生成して、警告の元になっている原因に対処させそれを直させる。このようにして、SOPモジュール100は、特定のSOPの所定のスクリプトを利用して所定の規則に基づいてデータベースの問題を特定して、直す自動手段を提供する。
本発明の別の側面は、収集された情報の警告の基となる側面、および、ひとたび条件が特定されたらとるべき対応するアクションを特定する、分析モジュール240により利用される複数の規則セットを含むことである。規則セットは、SOPおよびタスクレシピとともにメモリ資源160内に作成および格納されて、分析モジュール240によりアクセスされることで、データベースの問題の症状が特定される。特定された症状を診断して、問題解決のためにとるべきアクションプランを立てる。SOPでは、規則セットは、全てのデータベースに汎用されるよう作成されても、特定のデータベース環境に特化して作成されてもよい。SOPの規則は、適正な特権を持つDBAによる修正が可能である。
本発明の別の実施形態において、収集エンジン210は、ハードコード環境特性ではなくて、環境メタデータを自動収集してよい。実際、収集エンジン210は、データベース120が動作するオペレーティングシステムから、およびデータベースサーバ125上の他のアプリケーションから、情報を収集しうる。このようにして、収集エンジン210は、データベースが動作する環境を収集する。収集されたデータは、さらに分析される、および/または報告されてよい。例えば、DBクローン呼び出しシンタックスでは、ソースおよびターゲットサーバおよびデータベース名をパラメータとして渡す。ソースおよびターゲットデータベースに関する他の特性および環境属性(例えばデータベースサイズ、DBMSメーカ(Oracle(登録商標)、IBM DB2(登録商標)、MS SQL Server(登録商標)等)、ORACLE_HOME値、データファイル位置およびサイズ等のソフトウェアインストールディレクトリエリア)は、メモリ資源160から全てメンテナンスされた形で取得される。これら特性はメタデータと称される。自動収集およびレポジトリからのこれらメタデータの利用により、人的エラーが回避される。
報告モジュール245は、監視モジュール230および分析モジュール240と相互作用することで、データベース環境についての報告を準備、提示する。本発明の一実施形態によると、これは、データベース状態情報およびデータベースサーバ125についてのメタデータおよび他の情報を含みうる。さらに、本発明の別の実施形態では、報告モジュール245は、管理エンジン220とは独立して動作して、DBAに対して、データベース120の環境に関する情報を提供する。例えば、監視モジュール230は、データベースサーバ125についてのオペレーティングシステム情報の収集を促進し、DBAあるいは類似した人員に対して、データベースが動作している環境に関する報告をする。これら報告は、DBAに対して、幾らかの構成の形式に整えられて提供されてよく、これによりデータベース管理が促進される。
SOPモジュール100が管理する複数のデータベース120各々に関する既存の状態情報の収集および分析以上に、本発明は、SOPの現在進行中の、および過去の状態に関する情報をも収集する。本発明の一実施形態によると、管理エンジン220は、収集エンジン210に対して、SOPの特定のデータベースに対する発行についても伝達する。その後、収集エンジン210は、これら発行されたSOPの実行に関するデータを監視および収集しうる。さらに、監視モジュール230は、格納および後の分析目的で、要求されたタスクの実行に関するデータベース状態情報を、メモリ資源160宛てに送る。その後、分析モジュール240は、課されたSOPに関するデータベース状態情報の分析を行い、SOPが有効であるか判断することができる。報告モジュール245が生成するこのような分析結果を伝達する様々な形式の報告は、DBAインタフェース130を介してDBAに与えられてよい。データベースの実行に関する遵守監査情報も生成されて、報告モジュール245を介して報告されてよい。本発明の別の実施形態では、課されたSOPの実行を反映したデータベース状態情報の収集は、DBAインタフェースに対してリアルタイムに伝達され、そこで表示されてよい。このリアルタイムな特定のSOPの有効性に関する提示は、DBAに対する有用なフィードバックとなり、DBAによる追加的タスク要求の発行(またはキャンセル)についての決定を支援する。
収集エンジン210は、管理エンジン220と共同して、複数のデータベースを管理する。管理エンジン220の一側面は、SOP作成モジュール250である。本発明の一例示的実施形態によると、SOPは、SOP作成モジュールを利用して高位のDBAが作成し、メモリ資源160に格納される。メモリ資源160は、管理されるデータベースとは別個のデータレポジトリである。各データベース環境は、通常毎日更新される手順一式であり、各データベースを構成およびメンテナンスする。経験ある高位のDBAであれば分かるように、SOP作成モジュール250はこれら手順を捉え、メモリ資源160に格納する。本発明の一実施形態によると、テンプレートを利用して、様々なデータベース環境用および様々なタスク用に複数のSOPの作成の手助けをすることができる。様々なデータベースタイプおよび環境について様々な状況に対応できる複数のベストプラクティスSOPを、SOP作成モジュールにより作成および格納する。ひとたび作成および格納されると、メモリ資源160は、データベース管理知識のレポジトリとなる。経時的には、既存のSOPの修正により、多数のDBAの知識が組み合わせられて、効率的および一貫したデータベース管理ツールが得られる。本発明の別の側面によると、既存のSOPの修正ができるDBAは限られている。作成モジュール250にはセキュリティモジュール(不図示)が連結されて、既存のSOPへの編集アクセスを制限する。このようにしてSOPの品質がメンテナンス、制御されうる。
データベース環境は、Oracle(登録商標)、DB2(登録商標)、MySQL(登録商標)、およびSQLサーバ(登録商標)技術を利用して管理されるデータベースを含む。本発明の一実施形態によると、各SOPは、他のSOPと互換性を持つように作成される。このような構成において、SOPは互いにリンクされて、課された様々なタスクを遂行することができる。他の実施形態ではSOPを特定のデータベース環境に基づいて分類して、該環境への互換性を持たせる。これは、特定のデータベース環境で一般的に利用されるポリシーを含む。このようにして、SOPは、多数のデータベース環境用に多数のタスクに対応する。
本発明の一実施形態によるSOP作成モジュール250の別の側面は、タスクレシピの作成である。タスクレシピは、本発明の一実施形態において、各SOPおよび各タスクレシピの機能のユーザフレンドリな記述であり、1以上のSOPに関するメモリ資源160に格納される。SOPはSOPの実行結果が容易に伝わらない方式で記載されている場合が多い。これは、各SOPが、自身が実行されるデータベース環境を認知している必要があり、他のSOPと互いに互換性を持つ必要があるからである。このようなSOPの意義は、それを作成した高位のDBAには自明であろうが、下位または不慣れなDBAにとっては、このようなSOPの価値をあまりよく把握できない場合もある。タスクレシピをDBAによりDBAインタフェース130に表示および/または選択させることで、データベース管理を促進することができる。このようにして、タスクレシピは、様々な経験レベルの全てのDBAに対して、SOPの価値を容易に判読させ理解させる。
各タスクレシピは1以上のSOPに対応しており、各SOPは1以上のタスクレシピに関連付けられていてよい。以下に詳述するように、SOPは概してタスクベースのSOPまたは回復ベースのSOPに分類される。タスクベースのSOPは、ある種の反復性の、時間のかかる、および/または人的資源の多くかかる、データベース管理タスクがどのように、およびどのような状況で実行されるかを規定する。回復ベースのSOPは、特定された、または予期されるデータベースの問題を解決するよう設計される。これら問題は、データベース監視モジュール230および分析モジュール240により特定される。
管理エンジンは、スケジュールモジュール260および制御モジュール270も含む。スケジュールモジュール260は、タスク要求に基づいてメモリ資源160から特定のSOPを取得する際の管理をする。タスク要求は、幾らかの手段によりSOPモジュール100が受け取る。前述のように、収集エンジン210による警告の発令によって、該警告を解決する自動タスク応答が生成されうる。本発明の別の実施形態では、ユーザは手動でタスク要求を発行してよい。タスク要求は、データベースバックアップ、データベースリフレッシュ、データベースクローニング、データベースヘルスチェック実行、データベースメモリ資源スペース管理、データベース合体、分割されたデータベースセグメントの再構築、データベース最適化統計データ分析、データベースルート原因分析、データベースパッチング、データベースアップグレード、データベースマイグレーション、およびデータベースサーバマイグレーションを含みうるが、それらに限られない。当業者には公知である又は当業者であれば容易に想到できるであろうが、これら銘々、および他のデータベースタスクは、1以上のSOPにより遂行されてもよい。
本発明は、スケジュールモジュール260を介して、各タスク要求をタスクレシピと関連付け、その後、1以上の適切なSOPと関連付ける。例えば、下位のDBAが特定のデータベースのメモリ資源のスペースを管理しようとしたとする。この場合、下位のDBAは、DBAインタフェース130を用いて管理エンジン220のスケジュールモジュール260へタスク要求を伝送する。DBAがDBAインタフェース130を介して提供した情報に基づいて、スケジュールモジュール260は、発行されたタスク要求を満たすには、どのタスクレシピを行うべきかを決定する。場合によっては、単一のレシピが必要な場合もあるし、複数のレシピが関与する場合もありえる。
タスクレシピは各特定のデータベース環境に対して1以上のSOPを特定する。このように、データベースメモリ環境のタスク要求は、幾らかのタスクレシピと関連付けられる場合がある。各タスクレシピも、幾らかのSOPと関連付けられてよい。これらタスクレシピとSOPとは、幾らかの場合においては、特定の順序で実行される必要がある。スケジュールモジュール260はDBAの代わりにこのタスクを行う。ひとたびタスク要求が受け取られると、スケジュールモジュール260は、もし存在すれば、どのタスクレシピが関与しているかを特定し、対象データベース環境およびポリシーに基づいて、適切なSOPをメモリ資源160から取得する。スケジュールモジュール260は、適宜、SOP/タスクレシピを結びつけて、課された要求を達成してよい。本発明の代替的実施形態では、タスクレシピ自身がDBAインタフェース130を介してDBAに表示される。DBAは、リストのタスクレシピから、特定のデータベース環境について選択を行い、手動でリンクされたSOPのタスク要求を形成することもできる。
ひとたび適切なSOPが取得されると、スケジュールモジュール260は、データベースの利用可能性を確かめる。当業者であれば理解するように、幾らかのSOPの実行により、データベースの能力が影響されてその主要な機能が実施されることがある。このようにして、スケジュールモジュール260は、特定のデータベースに向けられているSOPを知っており、そのSOPがそのデータベースに対して持つ影響の度合いを知っているので、制御モジュール270とともに対象データベースへのSOPの実装をスケジュールする。ひとたびスケジュールされると、対象データベース上へのSOPの実行制御は、制御モジュール270が取り扱う。本発明の一実施形態では、スケジュールモジュール260は、1以上の特定の時間間隔におけるタスク要求の実行をスケジュールする。例えば、データベースメンテナンス要求は、データベースの待機期間中に実行されるものとしてスケジュールされうる。この代わりに、タスク要求を定期的に繰り返して、データベースを最適な状態にメンテナンスしてもよい。本発明の別の実施形態によると、スケジュールモジュール260は制御モジュール270に対して、例えば既知の最小動作影響時間などの特定のタイムウィンドウ内にデータベース上で実行されるべき1以上のSOPを提示してよい。このような場合、制御モジュール270は、確立された基準の範囲内であればSOPの実行を自由に管理できる。
本発明の別の実施形態によると、スケジュールモジュール260は、タスク要求間の動作衝突を管理することができる。複数のタスク要求が発行され、特定の環境内の1以上のデータベースを対象にする場合、SOPの実行に関して衝突が存在している場合がある。また、複数のデータベース上で複数のSOPを同時に実行する動作影響は受け入れられないものでありうる。データベース環境ポリシーに含まれる各データベース環境について予め構築された基準に基づいて、スケジュールモジュール260は、各SOPの実行に優先順位を設けて管理することができる。本発明の別の側面は、各タスク要求に対して優先度レベルを設けることである。この優先度レベルは、スケジュールモジュール260が実行順序の重要性、および、特定のデータベースの動作制約への影響を特定する助けとなる。例えば、データベース環境ポリシーに基づくと、適切なSOPの実行中にはデータベースから動作状態を取り除くのに高優先度のタスク要求で十分であり、データベースがスケジュールされたメンテナンスを行うまでの低活動期間中には、低優先度のタスクは待ち状態であってよい。
取得されたSOPのデータベース上の実行は、制御モジュール270により制御される。制御モジュール270は、モジュール上のSOPの実行を統括し、データベース管理サーバ150と各データベース120との間に必要な通信リンクを適宜構築する。ひとたびSOPが取得、スケジュールされると、制御モジュール270は該SOPを対象データベース120で実行する。さらに、また本発明の一実施形態において、制御モジュール270は、DBAインタフェース130を介して、DBAに対して、リアルタイムにデータベース上のSOP実行を監視させる。実行が継続しており、状態情報がDBAインタフェース130に中継して戻される間、DBAは課されたSOPの進捗状態および有効性について定性的評価を行ってよい。SOPは、さらに、手動でSOP実行に介入して(DBAが適切な特権を持っているという前提で)、適宜、SOPをリアルタイムに修正してよい。
本発明の別の側面によると、制御モジュール270は、生成された警告またはスケジュールされたメンテナンスに基づいて、自動的にSOPを実行する。タスク応答をDBAから受信する代わりに、制御モジュール270は分析モジュール240から生成された警告と対応するタスク要求とを受信する。ひとたび受信されると、制御モジュール270は、予め定められた基準に基づいて権限保持者として振る舞い、適切なSOPを自動的に実行する。このようにして、DBAの日々のメンテナンスおよび他のルーチン機能への関与を省くことができる。
SOP実行前、本発明の別の実施形態においては、管理エンジン220の制御モジュール270は、現在のユーザ(DBA)の資格をチェックして、特定のプラットフォームについてSOPを実行する権限を与えられているかを確かめる。基となるセキュリティ表には、ユーザ(DBA)がSOP、ドキュメント、または特定のデータベース用の対応する自動化ルーチンの閲覧、作成/修正が許される情報が掲載される。ユーザがSOPモジュール100でアクションの実行を望むとき(SOP閲覧、SOPの作成/編集、またはSOPの自動ルーチン化または実行)、ユーザのユーザネーム/パスワードをチェックする。これが正確な場合、特権を取得し、検証する。この人が該データベースについてSOPの読み書きの権限を有している場合、SOPおよび関連するオブジェクトの閲覧または修正を許される。権限が与えられている場合には、ユーザは、特定のデータベースのSOPを実行する、および/または該データベースのSOPを走らせる権限を許可されてよい。
DBAインタフェース130は、DBAのゲートウェイとして振る舞い、SOPモジュール100を作成、管理、およびSOPモジュール100と相互作用する。DBAインタフェース130は、報告モジュール245が生成するデータベース状態情報および他の関連データに関する報告をDBAに提示する手段として振舞うこともできる。本発明の一実施形態においては、DBAインタフェース130は、データベース管理サーバ150を介して複数のデータベース120と通信する機能を有するネットワークに連結されるパソコン、パーソナルデータアクセサリ(ハンドヘルドデバイス)または類似する装置であってよい。必須ではないが、本発明は、DBAインタフェース130およびデータベース管理サーバ150を含むパソコンまたはサーバが実行可能なプログラムモジュールなどの、コンピュータ実行可能な命令の一般的なコンテクストに記載されてよい。このようにして、SOPモジュール100に関連付けられる1以上のモジュールは、DBAインタフェース130にあってよく、DBAインタフェース130により実行されてよい。概して、プログラムモジュールは、特定のタスクを行うまたは特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含む。さらに、当業者であれば、本発明が、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースのまたはプログラム可能な家庭用電化製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ等を含む他のコンピュータシステム構成で実践されてよいことを理解する。本発明は、通信ネットワークを介してリンクされた遠隔処理デバイスによりタスクを実行する分散型コンピューティング環境でも実施されうる。分散型コンピューティング環境においては、プログラムモジュールはローカルメモリ記憶デバイスおよび遠隔メモリ記憶デバイスの両方に配置されつつ、同時にデータベース環境から切り離されていることができる。
本発明を実装する例示的なシステムは、DBAインタフェース130として振舞う従来のパソコンなどの携帯の汎用コンピューティングデバイスを含む。このようなコンピュータは、処理装置、システムメモリ、およびシステムメモリを含む様々なシステムコンポーネントを処理装置に連結するシステムバスを含む。システムバスは、任意の様々なバスアーキテクチャを利用するメモリバスまたはメモリコントローラ、周辺バス、およびローカルバスを含む幾多もの種類のバス構造のいずれであってもよい。システムメモリは、読み取り専用メモリ(ROM)およびランダムアクセスメモリ(RAM)を含む。DBAインタフェース130はさらに、ハードディスクへ読み書きを行うハードディスクドライブ、取り外し可能な磁気ディスクへ読み書きを行う磁気ディスクドライブ、およびCD−ROM、固体ドライブまたは他の光学媒体などの取り外し可能な光学ディスクに読み書きを行う光学ディスクドライブをさらに含んでよい。ハードディスクドライブ、磁気ディスクドライブ、および光学ディスクドライブは、ハードディスクドライブインタフェース、磁気ディスクドライブインタフェース、および光学ドライブインタフェースそれぞれによりシステムバスに接続される。ドライブおよび銘々関連付けられたコンピュータ読み取り可能な媒体は、コンピュータ読み取り可能な命令、データ構造、プログラムモジュール、および他のパソコン用データを不揮発に格納しうる。ここで記載した例示的な各実施形態はハードディスク、取り外し可能な磁気ディスクおよび取り外し可能な光学ディスクを利用するが、当業者であれば、磁気カセット、フラッシュメモリカード、固体ドライブ、デジタルビデオディスク、ベルヌーイカートリッジ、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)等のコンピュータアクセス可能でありデータ格納可能な他の種類のコンピュータ読み取り可能な媒体を例示的な動作環境内で利用してもよいことを理解する。
SOPモジュール100、収集エンジン210、および管理エンジン220のものを含む幾らものプログラムモジュールを、ハードディスク、磁気ディスク、光学ディスク、ROM、またはRAMに格納してよい。DBAはコマンドおよび情報を、キーボードおよびポインティングデバイス等の入力デバイスを介してDBAインタフェース130に入力してよい。他の入力デバイス(不図示)は、マイクロホン、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナ等を含みうる。これらおよびその他の入力デバイスはしばしば、システムバスに連結されたシリアルポートインタフェースを介して、処理装置に接続されるが、パラレルポート、ゲームポートまたはユニバーサルシリアルバス(USB)等の他のインタフェースにより接続されてもよい。モニタまたは他の種類の表示デバイスも、システムバスに、ビデオアダプタなどのインタフェースを介して接続される。モニタに加えて、DBAインタフェース130などのパソコンが通常、スピーカ、プリンタ、携帯電話機、および他のハンドヘルドデバイス等の他の周辺出力デバイスを含む。
DBAインタフェース130は、例えばデータベース管理サーバ150等の1以上の遠隔コンピュータへの論理結合を利用してネットワーク化された環境で動作してよい。データベース管理サーバ150、またはデータベース管理システム100に関連した任意の他の遠隔コンピュータは、別のパソコン、サーバ、ルータ、ネットワークPC、ピアデバイス、または他の共通ネットワークノードであってよく、通常パソコンに関連して上述されたエレメントの多くまたは全てを含む。DBAインタフェース130およびデータベース管理サーバ150はさらに、ローカルエリアネットワーク(LAN)および(必要であれば)ワイドエリアネットワーク(WAN)を介して通信することのできるよう、論理結合を含む。このようなネットワーク環境は、オフィス、企業規模のコンピュータネットワーク、イントラネットおよびインターネットでよく見られる。
LANネットワーク環境で利用される場合、DBAインタフェース130は、ネットワークインタフェースまたはアダプタを介してローカルネットワークに接続される。WANネットワーク環境で利用される場合、DBAインタフェース130は通常、モデム、またはインターネットなどのワイドエリアネットワークを介して通信を構築する他の手段を含む。モデムは、内部にあっても外部にあってもよく、シリアルポートインタフェースを介してシステムバスに接続される。ネットワーク環境においては、パソコンと比して図示されたプログラムモジュールまたはその部分は、遠隔メモリ記憶デバイスに格納されてよい。
前述のように、DBAインタフェース130はさらに、ネットワークゲートウェイとして機能してよい。ゲートウェイとして、DBAインタフェース130はさらに、通信リンクを利用して1以上のデバイスに直接連結されてよい。図1には示されていないが、DBAインタフェース130はさらに記憶デバイス(メモリ資源160など)に連結されてもよい。
当業者であれば、DBAインタフェース130が、複数のデータベース120、データベース管理サーバ150、またはメモリ資源160とは地理的に大きく離れた位置にあってもよいことを理解し、同様に、これらデバイス各々は互いにかなりの距離を隔てて配置されていてもよいことを理解しよう。例えば、データベース管理サーバ150がカリフォルニアにあって、DBAインタフェース130がテキサスにあり、1以上のデータベース120がニューヨークにあってもよい。
好適な実施形態においては、本発明はソフトウェアに実装される。本発明を具現化するソフトウェアプログラムコードは、通常(例えばDBAインタフェース130および/またはデータベース管理サーバ150の)マイクロプロセッサにより、CD−ROMドライブ、固体ドライブ、またはハードドライブなどの、ある種の長期記憶媒体からアクセスされる。全てのSOPはDBAインタフェース130内に、オープンな業界標準のスクリプト言語(Python、PerlまたはJavaScript等)でコード化される。
Korn Shell(ksh)も、殆どのUNIX(登録商標)およびLinux(登録商標)プラットフォーム上で利用可能なので利用することができ、kshの特定のフレーバもウィンドウ環境で利用可能である。この代わりに、バッチ(.batまたは.cmd)スクリプトまたはJavaScriptをウィンドウズ(登録商標)用に書き込むことができる。また、PerlまたはPythonを全てのデータベース環境に普遍的に利用することもできる。本発明は、DBAが理解し追従する単純なスクリプト言語で自動ルーチンを作成することができ、これにより自動ルーチンが、利用前に任意のSOPをカスタマイズしてよい。ある種のファイル位置などの機密データを埋め込む必要があるような任意のSOP自動化スクリプトは、C言語等のコンパイルされた言語で書き込まれて、このような情報が露呈すること(例えばスクリプトのような形で)を避けてよい。
ソフトウェアプログラミングコードは、ディスケット、ハードドライブ、フラッシュドライブ、またはCD/DVD−ROMなどの、様々な公知の媒体いずれかに具現化されることで、データ処理システムで利用されてよい。コードは、これら媒体に記憶されて配信されてよく、または、1つのコンピュータシステムのメモリまたは記憶装置から、ある種のネットワークを介して、他のコンピュータシステムへと配信され、他のコンピュータシステムで利用されてよい。または、プログラミングコードはメモリに具現化され、マイクロプロセッサによりアクセスされてもよい。ソフトウェアプログラミングコードをメモリ、有形媒体に具現化する技術および方法、および/またはソフトウェアコードをネットワーク経由で配信する技術および方法は、公知であるのでこれ以上記さない。
本発明のユーザ(例えばDBA)は、有線接続または無線接続を利用して自身のコンピュータをサーバに接続してよい。または、本発明は、ネットワーク接続を有さないスタンドアロンモードで利用されてもよい。有線接続とは、ケーブルおよび電話回線などの有形媒体を利用する接続であり、無線接続とは、衛星リンク、高周波、赤外線波等の媒体を利用する。これら様々な媒体では多くの接続技法を利用することができ、その中には、コンピュータのモデムを利用して電話回線における接続構築を行うもの、トークンリングまたはイサーネットなどのLANカードを利用するもの、セルラー方式モデムを利用して無線接続を構築するもの、等が含まれる。ユーザのコンピュータ(DBAインタフェース130)は、任意の種類のコンピュータプロセッサであってよく、これには、処理能力(およびデバイスがネットワーク接続された場合には通信能力)を有するラップトップ、ハンドヘルドまたは携帯コンピュータ、車両搭載デバイス、デスクトップコンピュータ、メインフレームコンピュータ等が含まれる。遠隔サーバも、同様に、処理能力および通信能力を有する任意の様々な種類のコンピュータのうちのいずれかであってよい。これら技術は当技術分野では公知であり、これらの利用を可能とするハードウェアデバイスおよびソフトウェアは容易に入手可能である。
ソフトウェアに実装される場合、本発明は、1以上のコンピュータソフトウェアプログラムとして実装されてよく、好適には、オブジェクト指向プログラミング言語を利用して実装されてよい。ソフトウェアインストールパッケージのこの側面を記述するのに利用されるモデルは、好適には、オブジェクト指向パラダイムのオブジェクト指向モデル化手法を利用して設計されてよい。好適な実施形態では、このモデルに基づいており、特定のインストールパッケージのインストール側面の記述用に作成されるオブジェクトは、構造マークアップ言語ドキュメント(XMLドキュメント等)、オブジェクトモデル表記法のオブジェクト記述子、または、オブジェクトREXXまたは類似する特徴を有するオブジェクトスクリプト言語のオブジェクト、を含む幾多もの方策を利用して特定されてよい。
本発明の一実装例はウェブ環境で実行されてよく、ウェブ環境では、ソフトウェアインストールパッケージは、HyperText Transfer Protocol(HTTP)等のプロトコルを利用して、ウェブサーバから、インターネットを介して接続された1以上の対象コンピュータにダウンロードされる。または、本発明の一実装例は、他の非ウェブネットワーク環境(インターネット、コーポレートイントラネットまたはエクストラネット、または任意の他のネットワークを利用する)で実行されてよく、非ウェブネットワーク環境では、ソフトウェアパッケージは、リモートメソッド呼び出し(RMI)またはコモンオブジェクトリクエストブローカアーキテクチャ(CORBA)などの技法を利用して配信され、インストールされる。環境の構成は、クライアント/サーバネットワーク、および多層環境を含む。または上述のように本発明を、スタンドアロン型の環境で利用することもでき、スタンドアロン型環境は、例えばネットワーク接続を介さずにローカルに利用可能なインストール媒体からインストールすることを望むインストーラにより実行される。さらに、推奨はできないがしばしば起こりうることであるが、特定のインストールを行うクライアントおよびサーバが、両方とも、同じ有形デバイスに在る場合があり、この場合には、ネットワーク接続が必要ではない。故に、潜在的に問い合わせが行われる対象システムは、本発明の一実装例が実装されるローカルデバイスでありうる。
前述のように、タスク要求は概してタスクベースの要求または回復ベースの要求に分類されうる。タスクベースのSOPまたは自動タスクは、ある種の反復性の、時間のかかる、および/または人的資源の多くかかるDBAタスクがどのように、およびどのような状況で実行されるかを規定するSOPである。タスクベースの要求は、データベースバックアップ、クローニング、データベースヘルスチェック、データベース合体、分割された或いは無効なデータベースセグメントの再構築、データプルーニングおよびデータメモリスペース割り当てを含むが、それらに限られない。
データベースのバックアップは、DBAの最もよく行われる、ルーチン的なタスクの1つである。本発明の一実施形態によると、SOPモジュール100は、適切なバックアップモードを開始し(例えば、Oracle RMAN、ホットバックアップスクリプト、コールドバックアップ、データエクスポート等)、バックアップSOPが開始できない、または実行中にハングアップした場合に、オンコールDBAを警告する。バックアップはさらに、バックアップログをパーズして、バックアップが成功したことを保証してよい。ディスクスペースが満杯である等の予め定められた条件によってバックアップが失敗した場合、この条件を制御モジュール270へ報告して、スペースを空けるべく後続の自動SOPがトリガされてよい。環境特有の前処理および後処理を追加して、SOPルーチンを実装前にさらにカスタマイズすることもできる。
データベースクローニングは、適切なバックアップで環境をリフレッシュして(前日の夜または特定の前の日付)、リフレッシュが成功したことを確かめ、適宜ファイルの名称を付け替え、ファイルを他の位置へ移動すること、等を含む。このSOPはさらに、ある環境/アプリケーション特有のリフレッシュ前後のタスクを実行するようカスタマイズされてもよい。
タスクベースのSOPはさらに、適正なコードモジュールおよびバージョンを抽出して、それを予め定められたリリースウィンドウ中に実行して、結果について報告することで、データベースをリリースすることを含む。実行が成功しなかった場合、後続のSOPを実行してリリースをロールバックすることができる。
回復アクションは、特定されたデータベースの問題を直すことに基づいて形成される。これらSOPは、問題の警告または手動のDBAアクションに呼応して自動でトリガされてよい。SOPが失敗すると、後続のSOPがトリガされる、または、最終手段としては、予め承認された誇大形式で人間のDBAに警告を発する。問題が起こる多くの場合、回復アクションSOPは、人間の介入なしに問題を解決する。問題の解決が回復アクションにより成功したか否かに関わらず、問題チケットを作成して、メモリ資源160内に後のアクセス用に保存、および/または、予め構成されたカスタマートラブルチケットシステムに再送する。この情報は関連するDBA人員に対して提供され、このような問題が起きたこと、何らかの解決への試みの結果、および問題および解決のタイムスタンプを伝達する。
監視モジュール230および分析モジュール240について前述したように、回復アクションは、ある種の監視されたイベントに呼応してトリガされてよい。これらイベントの各々が、1以上の規則セットで規定される。1つの規則セットは、1以上の個々の規則を含む。SOPおよびタスクレシピ同様、規則セットは、高位のDBAにより作成されて、メモリ資源160に格納される。
回復アクションは、データベースの開始または再開、ロックコンフリクトの解決、スペースおよびセグメントエラーの解決、および過度のユーザ応答時間あるいは過度のキューの解決を含むが、それらに限られない。
本発明の一実施形態によると、SOPは、データベースのダウンを発見した際にDBAがとるべき行動について定義することができる。例えば、一日または一週間のある時間にコールドバックアップが続行している影響でデータベースがダウンする場合がある(非稼動状態)。この場合課されたSOPは、サービスレベル協定に基づいて、データベースにアップ対ダウンが予期されるのはいつか、データベースでどのプロセスの開始が必要であるか(リスナー、名称/LDAPサーバ等)、および、これらプロセスの開始に続いて必要となるシーケンスを定義してよい。このような手順は、サイトによって、またはアプリケーションによって異なりうるので、SOP形式で文書化してそのサイトで稼動する全てのDBAにより遵守される必要がある。このようなSOPに基づいて、回復アクションによりデータベースおよび任意の関連プロセスの再開が試みられてよい。
同様に、本発明の他の実施形態において、回復アクションSOPを稼動させて、ロックコンフリクト(デッドロックまたはブロック化されたロック等)、スペース(スペースの欠如等)エラーよびセグメントエラーを解決する。回復タスクの別の側面は、過度の応答またはアクセス時間の解決である。ユーザ応答時間または処理キューが一定の閾値を超えた時点で、回復タスクを開始してこの問題を解決してよい。夜間のデータロードプロセスが、入力されるデータストリームにおける多すぎるデータエラーによりアボートすること(例えば、重複レコードまたは迷子になったレコード(orphaned record)によって)、または、夜間のデータロードプロセスが通常より長く稼動しているせいで、次のジョブウィンドウに入ってしまっていること(例えば、予めスケジュールされたバックアップにより、両方のジョブが遅く動いて始業時間帯にまでずれ込んだ等)が、回復タスクSOPにより解決されうるタイミングトラブルの例である。
本発明の一実施形態によると、アプリケーションプログラミングインタフェース(API)は、SOPモジュール100内で、または企業内の他のサードパーティアプリケーション(Kintana、AutoSys、cron等)により、標準APIシンタックスを介して呼び出されうる。例えば、SOP実行時に、SOPの名称は、(API名で)称され、呼び出しとともに適切なパラメータが渡される。呼び出すユーザネームが(UNIX(登録商標)およびウィンドウズ(登録商標)上のみにおいて)予め権限を与えられたオペレーティングシステム群の一部でない限り、任意のSOP API呼び出しは、有効なユーザネーム/パスワードを要求することができる。このような場合において、パスワードは期待できないが、確認および特権検証にはユーザネームは依然必要である。
図3および4は、データベース管理の例示的プロセスの実装方法を示す。以下の記載において、フローチャート図の各ブロック、および、フローチャート図のブロックの組み合わせは、コンピュータプログラム命令により実装されうる。これらコンピュータプログラム命令は、コンピュータまたは他のプログラム可能な装置上にロードされて機械を生成することで、コンピュータまたは他のプログラム可能な装置上で実行される命令が、フローチャートのブロック(1または複数)が示す機能を実装する手段を作成してよい。これらコンピュータプログラム命令は、コンピュータまたは他のプログラム可能な装置を特定の方法で機能させうるコンピュータ読み取り可能なメモリに格納されることで、コンピュータ読み取り可能なメモリに格納されている命令が、フローチャートブロック(1または複数)に示す機能を実装する命令手段を含む製品を生成してよい。コンピュータプログラム命令は、コンピュータまたは他のプログラム可能な装置上にロードされることで、一連の動作ステップをコンピュータで、または他のプログラム可能な装置上で行い、コンピュータまたは他のプログラム可能な装置上で実行される命令がフローチャートブロック(1または複数)に示す機能を実装するステップを提供する。
このようにして、フローチャート図のブロックは、示された機能およびステップの組み合わせを実行して示された機能を行う手段の組み合わせをサポートする。フローチャート図の各ブロック、およびフローチャート図のブロックの組み合わせが、示された機能またはステップを行う特定用途のハードウェアベースのコンピュータシステム、または特定用途のハードウェアおよびコンピュータ命令の組み合わせにより実装されうることも理解されよう。
図3Aおよび3Bは、自動化された標準操作手順を用いるデータベース管理方法の一実施形態を示すフローチャートである。プロセスは305から、1以上のSOPの作成310を行うことから始まる。各SOPに関連付けられうるのは、1以上のタスクレシピである。タスクレシピは、各SOPの機能のユーザフレンドリで自然な言語記述である。SOPのクリエータ、または幾らかの場合におけるエディタは、SOPが利用されうるデータベース環境、および該SOPと互換性のある、またはありうる他のSOPを特定する。ひとたび作成されると、各SOPおよび関連付けられたタスクレシピが320でメモリ資源に格納される。本発明の一実施形態によると、SOPレポジトリおよびとりわけタスクレシピレポジトリを収容するメモリ資源が、対象データベースおよびSOPモジュールから分離される。
本発明の一実施形態によると、SOPの作成および格納が続行しており、さらなるノウハウを得、および/または他のデータベース環境を考慮することで、新しい進化したSOPをレポジトリに追加する。このようにしてレポジトリにアクセスしてタスク要求またはタスク応答を作成するDBAは、ベストプラクティスを多数提供する複数のSOPからの選択を行えるようになる。
SOPレポジトリが成長するにつれ、SOPモジュール100の管理の下、各データベースの状態情報が325で監視される。各データベースからの状態情報は、330で定期的に収集され、メモリ資源160に格納される。この収集された状態情報は、本発明の一実施形態によると、本明細書で開示する様々な数理技術を利用して、DBAが構築する規則セットに基づいて分析される。各規則セットは、SOPモジュールからの応答をトリガするデータベース状態情報のパラメータまたは該情報の差分(delta)を決定する。状態情報の分析中に、警告を生成するか否かを決定する規則セットに基づいてクエリ340を配す。該クエリへの応答が否定的であった場合、収集エンジン210は監視を続けて、データベース状態情報を収集および分析する。
クエリ340への応答が肯定的であった場合、管理エンジン220は、警告発行という応答をする。規則セットの少なくとも1つに基づいて、管理エンジンの制御モジュール270およびスケジュールモジュール260は、350で、生成された警告に関連付けられた自動タスク応答があるか否か確かめる。応答が否定的であり、自動応答ができない場合、355でメッセージをDBAに送り、該DBAに対して、自動応答ができない状況が起こっている旨警告を発することで、プロセス395を終了する。
しかし、警告に関連付けられたタスク応答がある場合、360でタスクを管理エンジン220で開始して、問題に対処する。応答と関連付けられたSOPが、370でメモリ資源160から取得され、その後380で、対象データベース上で実行される。SOPの実行中またはそれに続いて、方法は、状態情報の収集および分析の監視に戻って、応答の有効性を確認する。応答が問題を軽減するのに有効であったという仮定のもとに、次の状態情報の収集および分析により、発行された警告が削除され、応答成功が示される。
図4Aおよび4Bは、受信されたタスク要求に応じて標準操作手順を用いるデータベース管理方法の別の実施形態を示すフローチャートである。前述の方法同様、DBAは310で複数のデータベース管理タスクに対処するSOPを作成する。作成されたSOP各々は、410で、1以上のタスクレシピと関連付けられ、1以上のSOP各々は他のSOPとリンクされてよい。SOPは本質的に普遍的であっても、特定のタイプのデータベース、プラットフォーム、または環境専用であってもよい。
ひとたび作成されると、SOPは320で、SOP/タスクレシピレポジトリを作成するメモリ資源160に格納される。メモリ資源160は、多数のDBAインタフェース130からアクセス可能なように構成され配置される(ネットワークされる)。このようにしてレポジトリは、DBAが継続的におよび効率的に複数のデータベース120を管理できるような集中型知識源として機能する。
本発明の一実施形態によると、DBAは、DBAインタフェース130を利用して、1以上のデータベース120に対してタスク要求を開始する。420でタスク要求を受信すると、SOPモジュール100は要求をパーズして、430で各部分を1以上のタスクレシピと関連付ける。その後、440で各タスクレシピとともに特定されたSOPが450でメモリ資源160から取得される。管理エンジン220は、その後、対象データベース環境ポリシーおよび要求されたタスクに基づいてSOPを優先してスケジュールすることができる。SOPは互いにリンクされる、および/またはSOPモジュール100/開始DBAにより別個に管理されうる。
ひとたび取得およびスケジュールされると、460で、SOPがデータベースで実行される。再度、収集エンジン210は470でデータベース状態情報を監視する。データベースに関する情報が、475で収集され、480で分析されて、実行されたSOPがタスク要求を満たすか否かを485で確認する。分析により、実行が成功して、タスク要求が満たされたことが明らかになると、495でプロセス終了する。
クエリ485により、スケジュールされたSOPの実行がタスク要求に対処しなかったことが明らかになると、メッセージを生成して、要求しているDBAに対して送信して、490で失敗を通知する。この後、495でプロセス終了する。本発明の別の実施形態においては、さらなるクエリを、プロセス終了495の前に介在させて、失敗したタスク要求の結果であるデータベースの状態情報が、自動タスク応答により対処可能な状況を示しているか否かを尋ねる。対処できるということであれば、自動タスク応答を生成、実行して、データベースを所望の構成中に配置する。
実際、DBAにより手動で要求され管理されるタスク要求は、自動タスク応答と協同してよい。当業者であれば理解するように、SOPモジュール100の監視、収集、および分析機能、および、DBAにより又はSOPモジュール自身により生成されるタスク要求にSOPモジュールが自動且つ手動で応答する能力は、多種多様なデータベースを管理するための非常にロバスト且つ柔軟な手段の働きを助ける。
本発明を、ある程度具体的に記載および図示してきたが、本開示は純粋に例示目的であり、当業者であれば本発明の精神および範囲を逸脱せずに具体的な部分の組み合わせ且つ配置について幾多もの変更例が可能であることを理解されたい。
同様に、モジュール、管理装置、機能、システム、エンジン、層、フィーチャ、属性、方法、および他の側面につけた特定の名称およびその部分は、必須または重要ではなく、本発明を実装する機構またはそのフィーチャは異なる名称、部分、および/または形式を有してよい。さらに当業者には明らかなように、モジュール、管理装置、機能、システム、エンジン、層、フィーチャ、属性、方法、および本発明の他の側面は、ソフトウェア、ハードウェア、ファームウェア、またはこれら3つの任意の組み合わせにより実装できる。もちろん、本発明の1つのコンポーネントがソフトウェアとして実装される場合、そのコンポーネントはスクリプト、スタンドアロン型プログラム、大きなプログラムの一部、複数の別個のスクリプト、および/または複数のプログラム、静的または動的にリンクされたライブラリ、カーネル搭載可能なモジュール、デバイスドライバとして、および/または、現在または未来のコンピュータプログラミング分野の当業者には公知の全て方法および任意の他の方法で実装されてよい。さらには、本発明を特定のプログラミング言語による実装に限定する意図はなく、また、特定のオペレーティングシステムまたは環境での実装に限定する意図もない。このように、本発明の開示は、以下の請求項に述べる本発明の範囲の例示を目的としており、限定的ではない。

Claims (17)

  1. コンピュータに実装され、データベース環境を管理する方法であって、
    前記データベース環境についての状態情報を監視する段階と、
    前記データベース環境についての状態情報を収集する段階と、
    収集された前記状態情報が、予め定められた規則セットと合致しているかを判断し、前記規則セットと合致した、収集された状態情報に応じて、応答タスク要求を自動的に開始する段階と、
    前記データベース環境について収集された状態情報に基づいて前記応答タスク要求を受信する段階と
    信した、前記応答タスク要求に基づいて複数のデータベース標準操作手順(SOP)のうち少なくとも1つを記憶媒体から取得する段階と、
    前記複数のSOPの各SOPに優先順位を設け、優先順位を設けられた複数のSOP及び/又はタスク要求間に存在する衝突に応じて、予め構築された基準に基づいて前記衝突を解決する段階と、
    前記データベース環境において、前記複数のSOPの少なくとも1つを実行する段階と、
    前記データベース環境についての前記複数のSOPの少なくとも1つの実行が、関連したタスク要求に対処するかどうかを判断する段階とを備え、
    それぞれの関連したSOPは、前記データベース環境の特定の状態に対処する手順又は前記データベース環境内の要求されたタスクを実行する手順の定義をし、データベースタイプに関連付けられており、
    SOPに関連付けられた各データベースタイプは、さらに、データベース環境ポリシーに関連付けられ、前記データベース環境ポリシーと互換性を有す、
    方法。
  2. 前記記憶媒体から取得する段階は、前記複数のSOPのうち少なくとも1つに対応する少なくとも1つのタスクレシピの取得を含む、請求項に記載の方法。
  3. 前記応答タスク要求は自動的に生成される、請求項に記載の方法。
  4. 前記少なくとも1つのSOPの実行に関するメタデータが、SOPの実行に先立って、及びSOPの実行中に、収集される、請求項1に記載の方法。
  5. 前記少なくとも1つのSOPは、前記応答タスク要求に基づいて少なくとも1つの別のSOPとリンクされる、請求項に記載の方法。
  6. SOPの作成および修正は、権限のあるデータベース管理者に限られる、請求項に記載の方法。
  7. 前記少なくとも1つのSOPは、データベースバックアップ、データベースクローニング、データベースヘルスチェック実行、データベースメモリ資源スペース管理、データベース合体、分割されたデータベースセグメントの再構築、データベースルート原因分析の実行、データベース最適化統計データ分析、データベースパッチング、データベースアップグレード、データマイグレーション、およびデータベースサーバマイグレーションからなるリストから選択されたデータベース管理タスクを行う、請求項に記載の方法。
  8. 収集された状態情報を分析することで、予め定義された規則セットに基づいて前記データベース環境が課された動作を行えないと判断する段階をさらに備える、請求項に記載の方法。
  9. 前記少なくとも1つのSOPは、前記データベース環境が課された動作を行えないことを修正する回復SOPである、請求項に記載の方法。
  10. 前記データベース環境が課された動作を行えないという判断に呼応して、警告を作成する段階を備える、請求項に記載の方法。
  11. 前記収集された状態情報を分析する段階は、ファジー論理、直線回帰、比率モデルまたは待ち行列、を含む数理モデルを利用する、請求項に記載の方法。
  12. 第1のSOPサブセットを第2のSOPサブセットにリンクさせて前記応答タスク要求を行う段階をさらに備える、請求項に記載の方法。
  13. 前記少なくとも1つのSOPは、前記データベース環境について予め定められた状態情報に基づいて、自動的に前記データベース環境上で実行される、請求項に記載の方法。
  14. データベース管理者は、リアルタイムに前記データベース環境における前記少なくとも1つのSOPの実行を監視でき、必要に応じて前記SOPの実行に手動で介入できる、請求項に記載の方法。
  15. 監視されたデータベース環境状態情報および前記データベース環境上のSOPの実行のオーディットトレイルを生成する段階をさらに備える、請求項に記載の方法。
  16. コンピュータにより実行可能な命令のプログラムであって、前記プログラムは、データベース環境管理用プログラムコードを複数含み、前記コンピュータ上で実行されたとき、請求項1から15のいずれかに記載の方法を前記コンピュータに実行させる、プログラム。
  17. データベース環境を管理するコンピュータシステムであって、
    前記コンピュータシステム上で実行されたとき、請求項1から15のいずれかに記載の方法をコンピュータシステムに実行させるソフトウェアを含む、コンピュータシステム。
JP2009518568A 2006-06-29 2007-06-29 データベース管理における標準操作手順の自動化 Expired - Fee Related JP5148607B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US80622606P 2006-06-29 2006-06-29
US60/806,226 2006-06-29
US11/770,454 2007-06-28
US11/770,454 US7571225B2 (en) 2006-06-29 2007-06-28 Standard operating procedure automation in database administration
PCT/US2007/072463 WO2008003077A2 (en) 2006-06-29 2007-06-29 Standard operating procedure automation in database administration

Publications (2)

Publication Number Publication Date
JP2009543226A JP2009543226A (ja) 2009-12-03
JP5148607B2 true JP5148607B2 (ja) 2013-02-20

Family

ID=38846574

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009518568A Expired - Fee Related JP5148607B2 (ja) 2006-06-29 2007-06-29 データベース管理における標準操作手順の自動化

Country Status (5)

Country Link
US (1) US7571225B2 (ja)
EP (1) EP2038760B1 (ja)
JP (1) JP5148607B2 (ja)
CA (1) CA2656101A1 (ja)
WO (1) WO2008003077A2 (ja)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7529827B2 (en) * 2006-06-29 2009-05-05 Stratavia Corporation Standard operating procedure automation in database administration
US7634508B2 (en) * 2007-03-29 2009-12-15 Microsoft Corporation Processing of duplicate records having master/child relationship with other records
US7882073B1 (en) * 2007-09-28 2011-02-01 Symantec Operating Corporation Backup agent for dynamically decomposing a database backup request to constituent files to facilitate backup restartability
US8883146B2 (en) 2007-11-30 2014-11-11 Abbvie Inc. Protein formulations and methods of making same
US8239369B2 (en) 2008-03-20 2012-08-07 DBSophic, Ltd. Method and apparatus for enhancing performance of database and environment thereof
US8095502B2 (en) * 2008-09-12 2012-01-10 International Business Machines Corporation Lightweight directory access protocol (LDAP) administrator task notification control
IL195956A0 (en) * 2008-12-15 2009-09-01 Hyperroll Israel Ltd Automatic data store architecture detection
US20110035349A1 (en) * 2009-08-07 2011-02-10 Raytheon Company Knowledge Management Environment
TWI603739B (zh) 2010-11-11 2017-11-01 艾伯維生物技術有限責任公司 具有增進高濃度之抗-TNFα抗體之液體調配物
US8656012B2 (en) * 2011-03-08 2014-02-18 Hitachi, Ltd. Management computer, storage system management method, and storage system
US10922331B2 (en) 2012-09-28 2021-02-16 Oracle International Corporation Cloning a pluggable database in read-write mode
US10635674B2 (en) 2012-09-28 2020-04-28 Oracle International Corporation Migrating a pluggable database between database server instances with minimal impact to performance
US9547675B2 (en) 2013-07-10 2017-01-17 Oracle International Corporation Database diagnostics interface system
US9909406B2 (en) 2014-05-16 2018-03-06 Baker Hughes, A Ge Company, Llc Automated delivery of wellbore construction services
US10936433B1 (en) * 2014-12-30 2021-03-02 Acronis International Gmbh Systems and methods for backup of computing systems
US10606578B2 (en) 2015-10-23 2020-03-31 Oracle International Corporation Provisioning of pluggable databases using a central repository
US10789131B2 (en) 2015-10-23 2020-09-29 Oracle International Corporation Transportable backups for pluggable database relocation
US10635658B2 (en) 2015-10-23 2020-04-28 Oracle International Corporation Asynchronous shared application upgrade
JP6523188B2 (ja) * 2016-02-18 2019-05-29 株式会社東芝 作業手順生成支援装置、作業手順生成支援方法、およびプログラム
US10607220B2 (en) * 2016-08-25 2020-03-31 Mastercard International Incorporated Systems and methods for consolidated message processing
US11727288B2 (en) 2016-10-05 2023-08-15 Kyndryl, Inc. Database-management system with artificially intelligent virtual database administration
US10482394B2 (en) 2017-06-13 2019-11-19 Google Llc Large-scale in-database machine learning with pure SQL
US11386058B2 (en) * 2017-09-29 2022-07-12 Oracle International Corporation Rule-based autonomous database cloud service framework
US11327932B2 (en) 2017-09-30 2022-05-10 Oracle International Corporation Autonomous multitenant database cloud service framework
CN112711239A (zh) * 2021-01-07 2021-04-27 苏州云智谷显示科技有限公司 一种电子sop的实现方法
US11983151B2 (en) 2021-05-28 2024-05-14 Oracle International Corporation Resilience based database placement in clustered environment
US11994963B2 (en) 2022-01-18 2024-05-28 Oracle International Corporation Dynamic hierarchical placement of consolidated and pluggable databases in autonomous environments
US11983197B2 (en) 2022-03-21 2024-05-14 Oracle International Corporation Declarative method of grouping, migrating and executing units of work for autonomous hierarchical database systems

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2843748B2 (ja) * 1993-10-28 1999-01-06 日本電気株式会社 排他制御方式
US6546545B1 (en) * 1998-03-05 2003-04-08 American Management Systems, Inc. Versioning in a rules based decision management system
US6356917B1 (en) * 1998-07-17 2002-03-12 Ncr Corporation Monitoring and raising alerts for database jobs
US6581066B1 (en) * 1999-11-29 2003-06-17 Xerox Corporation Technique enabling end users to create secure command-language-based services dynamically
JP2002108886A (ja) * 2000-09-28 2002-04-12 Yamatake Sangyo Systems Co Ltd データベース管理システム
US6738748B2 (en) * 2001-04-03 2004-05-18 Accenture Llp Performing predictive maintenance on equipment
US6996576B2 (en) * 2000-11-22 2006-02-07 Bmc Software, Inc. Database management system and method which automatically schedules and performs actions and monitors results
CA2394268A1 (en) * 2002-02-14 2003-08-14 Beyond Compliance Inc. A compliance management system
US20030177160A1 (en) * 2002-03-14 2003-09-18 Internationl Business Machines Corporation Predictive system for self-managed e-business infrastructures
JP2005530239A (ja) * 2002-06-18 2005-10-06 コンピュータ アソシエイツ シンク,インコーポレイテッド エンタプライズアセットを管理する方法及びシステム
JP4045991B2 (ja) * 2003-03-27 2008-02-13 株式会社日立製作所 ポリシールールの生成方法およびそれを用いたジョブ運用管理方法
US20040236757A1 (en) * 2003-05-20 2004-11-25 Caccavale Frank S. Method and apparatus providing centralized analysis of distributed system performance metrics
US7136868B2 (en) * 2003-06-06 2006-11-14 Microsoft Corporation Database object script generation method and system
US20050138606A1 (en) * 2003-12-17 2005-06-23 Sujit Basu System and method for code migration
US20060009991A1 (en) * 2004-05-25 2006-01-12 Jun-Jang Jeng Method and apparatus for using meta-rules to support dynamic rule-based business systems
US7440973B2 (en) * 2004-07-29 2008-10-21 Oracle International Corporation Systems, methods and software for automating database tasks
US20060149707A1 (en) * 2004-12-30 2006-07-06 Mitchell Mark A Multiple active database systems
US20060294255A1 (en) * 2005-06-24 2006-12-28 Zippy Technology Corp. Support system for standard operation procedure

Also Published As

Publication number Publication date
JP2009543226A (ja) 2009-12-03
WO2008003077A2 (en) 2008-01-03
US7571225B2 (en) 2009-08-04
US20080016123A1 (en) 2008-01-17
WO2008003077A3 (en) 2008-10-02
EP2038760A2 (en) 2009-03-25
CA2656101A1 (en) 2008-01-03
EP2038760A4 (en) 2011-10-05
EP2038760B1 (en) 2018-06-06

Similar Documents

Publication Publication Date Title
JP5148607B2 (ja) データベース管理における標準操作手順の自動化
US8738753B2 (en) Standard operating procedure automation in database administration
US7418489B2 (en) Method and apparatus for applying policies
US9678964B2 (en) Method, system, and computer program for monitoring performance of applications in a distributed environment
US8863224B2 (en) System and method of managing data protection resources
US9411969B2 (en) System and method of assessing data protection status of data protection resources
US11329869B2 (en) Self-monitoring
US20180081910A1 (en) Database Shutdown and Restart Stability Optimizer
US12039328B2 (en) Configuration items for supporting automations and efficacies thereof
Stanek Microsoft SQL Server 2012 Pocket Consultant
Alapati Using SQL* Plus and Oracle Enterprise Manager
Phelps et al. Oracle Applications DBA Field Guide
Walters et al. Automation and Monitoring
Hernandez et al. Oracle Enterprise Manager Concepts, 10g Release 1 (10.1) Part No. B12016-01 Copyright© 2003 Oracle. All rights reserved. Primary Author: Jacqueline Gosselin Contributing Authors: Phil Choi, Peter LaQuerre, Dennis Lee, Bert Rich
AppManager Evaluation Guide

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100625

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110623

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20110623

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20110623

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120612

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120907

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: 20121106

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121128

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20151207

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees