JP2004531005A - データベースへのアクセスを制御するための異なったデータベースサーバ間のデータベースのオーナーシップのパーティション化 - Google Patents
データベースへのアクセスを制御するための異なったデータベースサーバ間のデータベースのオーナーシップのパーティション化 Download PDFInfo
- Publication number
- JP2004531005A JP2004531005A JP2003509358A JP2003509358A JP2004531005A JP 2004531005 A JP2004531005 A JP 2004531005A JP 2003509358 A JP2003509358 A JP 2003509358A JP 2003509358 A JP2003509358 A JP 2003509358A JP 2004531005 A JP2004531005 A JP 2004531005A
- Authority
- JP
- Japan
- Prior art keywords
- ownership
- ownership group
- data
- database
- group
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2117—User registration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2145—Inheriting rights or properties, e.g., propagation of permissions or restrictions within a hierarchy
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2149—Restricted operating environment
Abstract
Description
【0001】
関連出願
本願は、発明者ジャンフランコ・プッツォル(Gianfranco Putzolu)の「ハイブリッドシェアードナッシング/シェアードディスクデータベースシステム(Hybrid Shared Nothing/Shared Disk Database System)」と称する1998年12月28日出願の先願の米国特許出願連続番号第09/222,577号、および、発明者ジャンフランコ・プッツォルの「データベースへのアクセスを制御するための異なったデータベースサーバ間のデータベースのオーナーシップのパーティション化(Partitioning Ownership of a Database Among Different Database Servers to Control Access to the Database)」と称する本願と同日出願の米国特許出願連続番号第09/896,373号に関する。
【0002】
発明の分野
この発明は、データベースシステムに関し、より特定的には、データベースへのアクセスを制御するための異なったデータベースサーバ間のデータベースのオーナーシップのパーティション化に関する。
【背景技術】
【0003】
発明の背景
多重処理コンピュータシステムとは、命令を互いに並列に実行することが可能である多数の処理ユニットを含むシステムである。並列処理能力を利用するために、タスクの異なった局面が異なった処理ユニットに割当てられる。タスクの異なった局面は、ここで作業グラニュルと称し、利用可能である処理ユニットの間で作業グラニュルを分配する役割を果たす処理をコーディネータプロセスと称する。
【0004】
多重処理コンピュータシステムは典型的には3つのカテゴリに分類される。すなわち、シェアードエブリシングシステム、シェアードディスクシステム、およびシェアードナッシングシステムである。作業のグラニュルを行なうプロセスに対する作業の分配に課される制約は、関わっている多重処理システムの種類に基づき変化する。
【発明の開示】
【発明が解決しようとする課題】
【0005】
シェアードエブリシングシステムにおいては、すべてのプロセッサにおけるプロセスは、システム内のすべてのダイナミックメモリ装置(以降総じて「メモリ」と称する)へ、およびすべてのスタティックメモリ装置(以降総じて「ディスク」と称する)へ、直接アクセスする。したがって、シェアードエブリシングシステムにおいては、どのように作業グラニュルが割当てられるかに関してはほとんど制約がない。しかしながら、シェアードエブリシング機能を提供するためにはさまざまなコンピュータコンポーネント間で高度な配線が必要となる。さらに、シェアードエブリシングアーキテクチャにはスケーラビリティ限界がある。
【0006】
シェアードディスクシステムにおいては、プロセッサおよびメモリはノードにグループ化される。シェアードディスクシステムにおける各ノードは、それ自体が多数のプロセッサおよび多数のメモリを含むシェアードエブリシングシステムを構成し得る。すべてのプロセッサにおけるプロセスはシステム内のすべてのディスクにアクセスし得るが、特定のノードに属するプロセッサのプロセスのみが、その特定のノード内のメモリに直接アクセスし得る。シェアードディスクシステムは一般的に、シェアードエブリシングシステムよりも少ない配線しか必要としない。しかしながら、シェアードディスクシステムは不平衡な作業負荷の条件に、より影響されやすい。たとえば、もしノードが大きな容量のダイナミックメモリを必要とする作業グラニュルに対して作業するプロセスを有している場合、そのノードに属するメモリはすべての要求されるデータを同時に記憶するのに十分大きくない可能性がある。したがって、利用可能であり使用されていない大容量のメモリが他のノードに残っていたとしても、プロセスはそのノードのローカルメモリとデータをスワップインおよびスワップアウトしなければならない。
【0007】
シェアードディスクシステムは、メモリ破損をもたらすソフトウェア障害のコンパートメント化を提供する。ノード間ロックマネージャによって用いられる制御ブロックが唯一の例外であり、これらは事実上すべてのノードにおいて反復される。
【0008】
シェアードナッシングシステムにおいては、すべてのプロセッサ、メモリおよびディスクがノードにグループ化される。シェアードディスクシステムにおけるシェアードナッシングシステムにおいては、各ノードはそれ自体がシェアードエブリシングシステムまたはシェアードディスクシステムを構成し得る。特定のノードで実行するプロセスのみがその特定のノード内のメモリおよびディスクへ直接アクセスし得る。多重処理システムの3つの一般的なタイプのうち、シェアードナッシングシステムが典型的には最も少ないシステムコンポーネント間の配線しか必要としない。しかしながら、シェアードナッシングシステムは不平衡な作業負荷の条件に最も影響されやすい。たとえば、特定の作業グラニュルの間にアクセスされるべきすべてのデータは、特定のノードのディスクに存在し得る。したがって、他のノードにおけるプロセスがアイドル状態であったとしても、作業グラニュルを行なうためにそのノードで実行するプロセスしか用いることができない。
【0009】
シェアードナッシングシステムは、メモリおよび/またはディスク破損をもたらすソフトウェア障害のコンパートメント化を提供する。唯一の例外は、異なったノードでデータサブセットの「オーナーシップ」を制御する制御ブロックである。オーナーシップは、シェアードディスクロック管理情報よりも修正されていない。よって、オーナーシップ技術はシェアードディスクロック管理技術よりも簡単で信頼性が高いが、なぜならばこれらは高い性能要件を有さないからである。
【0010】
多重処理システムで実行するデータベースは、典型的には2つのカテゴリに分類される。すなわち、シェアードディスクデータベースおよびシェアードナッシングデータベースである。シェアードディスクデータベースシステムにおいては、多数のデータベースサーバ(典型的には異なったノードで実行する)はデータベースの任意の部分において読出および書込が可能である。シェアードディスクアーキテクチャにおけるデータアクセスは、分散ロックマネージャを介して調整される。シェアードディスクデータベースは、シェアードナッシングおよびシェアードディスクコンピュータシステムの両方で実行し得る。シェアードディスクデータベースをシェアードナッシングコンピュータシステムで実行するためには、オペレーティングシステムにソフトウェアサポートを加えるか、または付加的なハードウェアを与えて、プロセスをリモートディスクに直接アクセスさせる。
【0011】
シェアードナッシングデータベースは、プロセスと同じノードに属するディスクにデータが含まれている場合にのみ、プロセスがデータに直接アクセスできると想定する。特定的には、データベースデータは利用可能なデータベースサーバ間でさらに分割される。各データベースサーバは、そのデータベースサーバによって所有されているデータの部分にのみ直接読出および書込が可能である。もし第1のサーバが第2のサーバによって所有されているデータへのアクセスを所望すれば、第1のデータベースサーバは第2のデータベースサーバにメッセージを送って、代理で第2のデータベースサーバにデータアクセスを行なわせなければならない。
【0012】
シェアードナッシングデータベースは、シェアードディスクおよびシェアードナッシング多重処理システムの両方で実行し得る。シェアードナッシングデータベースをシェアードディスクマシンで実行するためには、ソフトウェア機構を設けて論理的にデータベースをパーティション化し、かつ各パーティションのオーナーシップを特定のノードに割当てる。
【0013】
シェアードナッシングおよびシェアードディスクシステムは各々がその特定のアーキテクチャに関連する好ましい利点を有する。たとえば、シェアードナッシングデータベースは、データへの頻繁な書込アクセス(書込ホットスポット)がある場合により良い性能を提供する。シェアードディスクデータベースは、頻繁な読出アクセス(読出ホットスポット)がある場合により良い性能を提供する。また、上述のように、シェアードナッシングシステムはソフトウェア障害が存在する場合により良い障害封じ込めを提供する。
【0014】
上記を鑑みて、両方のタイプのデータベースアーキテクチャの性能利点を提供することができる単一のデータベースシステムを提供することが望ましい。しかしながら、典型的には、これらの2つのタイプのアーキテクチャは互いに対し排他的である。
【課題を解決するための手段】
【0015】
発明の要約
データベースまたはその一部がオーナーシップグループにパーティション化されるデータベースシステムが提供される。各オーナーシップグループは、オーナーシップグループのオーナーとして1つ以上のデータベースサーバを割当てられる。オーナーシップグループのオーナーとして割当てられるデータベースサーバは、オーナーシップグループに属するすべてのデータ項目のオーナーとして扱われる。すなわち、これらはオーナーシップグループ内のデータ項目への直接アクセスを許可される一方、他のデータベースサーバはそれらのデータ項目への直接アクセスを許可されない。
【0016】
この発明の一局面に従うと、データベースを記憶する1つ以上の永続的記憶装置と、複数のノードで実行する複数のデータベースサーバとを含むデータベースシステムが提供される。各ノードは、永続的記憶装置に直接アクセスする。データベースの少なくとも一部が複数のオーナーシップグループにパーティション化される。各オーナーシップグループは、オーナー組を割当てられる。オーナーシップグループのオーナー組のメンバーであるデータベースサーバで実行するプロセスのみが、オーナーシップグループ内のデータへの直接アクセスを許可される。
【0017】
各オーナーシップグループは、シェアードナッシングオーナーシップグループまたはシェアードディスクオーナーシップグループのいずれかとして指定される。各シェアードナッシングオーナーシップグループはデータベースサーバの中からオーナーを割当てられる。各シェアードナッシングオーナーシップグループのオーナーのみが、シェアードナッシングオーナーシップグループ内のデータへの直接アクセスを許可される。各データベースサーバは、シェアードディスクオーナーシップグループとして指定されるオーナーシップグループ内のデータへの直接アクセスを許可される。
【0018】
この発明を、限定のためではなく例示のために、同様の参照符号が同様の要素を指す添付の図面の図に示す。
【発明を実施するための最良の形態】
【0019】
好ましい実施例の詳細な説明
データベースへのアクセスを制御するための異なったデータベースサーバ間のデータベースのオーナーシップのパーティション化に対するアプローチを説明する。以下の説明において、説明のために、この発明の十分な理解をもたらすためにさまざまな特定の細部が記述される。しかしながら、当業者においてはこの発明をこれらの特定の細部なしに実行し得ることが明らかである。他の場合においては、この発明を不必要にわかりにくくすることを避けるために、周知の構造および装置はブロック図形式で示される。
【0020】
ハードウェア概要
図1は、この発明を実現し得る実施例のコンピュータシステム100を示すブロック図である。コンピュータシステム100は、情報を通信するためのバス102または他の通信機構と、バス102に結合されて情報を処理するプロセッサ104とを含む。コンピュータシステム100はまた、ランダムアクセスメモリ(RAM)または他のダイナミック記憶装置のようなメインメモリ106を含み、該メインメモリ106はバス102に結合されて、情報およびプロセッサ104によって実行されるべき命令を記憶する。メインメモリ106はまた、プロセッサ104によって実行されるべき命令の実行の間の一時的変数または他の中間情報を記憶するためにも用い得る。コンピュータシステム100はさらに、読出専用メモリ(ROM)108または他のスタティック記憶装置を含み、該読出専用メモリ(ROM)108はバス102に結合されて、静的情報およびプロセッサ104に対する命令を記憶する。磁気ディスクまたは光学ディスクのような記憶装置110が設けられるが、これはバス102に結合されて情報および命令を記憶する。
【0021】
コンピュータシステム100は、バス102を介して陰極線管(CRT)のようなディスプレイ112に結合されて、コンピュータユーザに情報を表示する。英数字キーおよび他のキーを含む入力装置114がバス102に結合されて、プロセッサ104に対して情報およびコマンド選択を通信する。他の種類のユーザ入力装置はマウス、トラックボール、またはカーソル方向キーのようなカーソル制御116であって、プロセッサ104に対して方向情報およびコマンド選択を通信し、かつディスプレイ112におけるカーソル移動を制御する。この入力装置は典型的には、装置が平面における位置を指定することを可能にする第1の軸(たとえばx)および第2の軸(たとえばy)の2軸における2自由度を有する。
【0022】
この発明は、ハイブリッドシェアードディスク/シェアードナッシングデータベースシステムを提供するためのコンピュータシステム100の使用に関する。この発明の一実施例に従うと、そのようなデータベースシステムは、メインメモリ106に含まれる1つ以上の命令の1つ以上のシーケンスを実行するプロセッサ104に応答して、コンピュータシステム100によって提供される。そのような命令は、記憶装置110のような別のコンピュータ読取可能な記録媒体からメインメモリ106に読出される。メインメモリ106に含まれる命令のシーケンスの実行は、プロセッサ104にここに記載されるプロセスステップを行なわせる。代替的な実施例においては、発明を実現するためにソフトウェア命令の代わりに、またはこれとともにハードワイヤード回路が用いられる。こうして、この発明の実施例はハードウェア回路およびソフトウェアのどのような特定の組合せにも限定されない。
【0023】
ここで用いられる「コンピュータ読取可能な記録媒体」という用語は、実行のためにプロセッサ104に命令を提供することに関わるどのような媒体をも指す。そのような媒体は、これらに限定されるものではないが、不揮発性媒体、揮発性媒体、および送信媒体を含む多くの形態をとり得る。不揮発性媒体はたとえば、記憶装置110のような光学または磁気ディスクを含む。揮発性媒体はメインメモリ106のようなダイナミックメモリを含む。送信媒体は、バス102を構成するワイヤを含む、同軸ケーブル、銅線および光ファイバを含む。送信媒体は、無線波および赤外線データ通信の間に生成されるもののような、音波または光波の形態をもとり得る。
【0024】
コンピュータ読取可能な記録媒体の一般的な形態は、たとえばフロッピー(R)ディスク、フレキシブルディスク、ハードディスク、磁気テープ、他のいかなる磁気媒体、CD−ROM、他のいかなる光学媒体、パンチカード、紙テープ、穴パターンを有する他のいかなる物理的媒体、RAM、PROM、およびEPROM、フラッシュ−EPROM、他のいかなるメモリチップまたはカートリッジ、以下に説明する搬送波、またはコンピュータが読出すことができる他のいかなる媒体をも含む。
【0025】
さまざまな形態のコンピュータ読取可能な記録媒体が、実行のためにプロセッサ104に1つ以上の命令の1つ以上のシーケンスを記録することに関わる。たとえば、命令は初期にはリモートコンピュータの磁気ディスクで記録され得る。リモートコンピュータは命令をそのダイナミックメモリにロードし、モデムを用いて電話線を介して命令を送信する。コンピュータシステム100にとってローカルであるモデムは、電話線上のデータを受けることができ、赤外線送信機を用いてデータを赤外線信号に変換する。赤外線検出器は赤外線信号で記録されるデータを受けることができ、適切な回路がデータをバス102に入れることができる。バス102は、データをメインメモリ106に記録し、ここからプロセッサ104が命令を検索して実行する。メインメモリ106によって受けられた命令は、プロセッサ104による実行の前または後に任意で記憶装置110に記憶される。
【0026】
コンピュータシステム100はまた、バス102に結合される通信インターフェイス118をも含む。通信インターフェイス118は、ローカルネットワーク122に結合されるネットワークリンク120に結合される2方向データ通信を提供する。たとえば、通信インターフェイス118は対応の種類の電話線にデータ通信接続を提供するための統合サービスデジタル網(ISDN)カードまたはモデムであり得る。別の例としては、通信インターフェイス118は互換性のあるLANに対するデータ通信接続を提供するためのローカルエリアネットワーク(LAN)カードであり得る。ワイヤレスリンクもまた実現され得る。そのような実現例のいずれにおいても、通信インターフェイス118はさまざまな種類の情報を表わすデジタルデータストリームを記録する電気的、電磁的または光信号を送受信する。
【0027】
ネットワークリンク120は典型的には、1つ以上のネットワークを介して他のデータ装置にデータ通信を提供する。たとえば、ネットワークリンク120は、ローカルネットワーク122を介する、ホストコンピュータ124へのまたはインターネットサービスプロバイダ(ISP)126によって動作されるデータ装置への接続を提供し得る。ISP126は、現在一般的に「インターネット」128と呼ばれるワールドワイドパケットデータ通信ネットワークを介するデータ通信サービスを提供する。ローカルネットワーク122およびインターネット128は両方とも、デジタルデータストリームを記録する電気的、電磁的または光信号を用いる。デジタルデータをコンピュータシステム100に送受信する、さまざまなネットワークを通る信号、および通信インターフェイス118を通るネットワーク120上の信号は、情報を伝送する搬送波の例示的な形態である。
【0028】
コンピュータシステム100は、ネットワーク、ネットワークリンク120および通信インターフェイス118を介してメッセージを送り、かつプログラムコードを含むデータを受けることができる。インターネットの例においては、サーバ130がインターネット128、ISP126、ローカルネットワーク122および通信インターフェイス118を介して、アプリケーションプログラムのための要求されたコードを送信し得る。この発明に従うと、そのようなダウンロードされるアプリケーションの1つは、ここに説明されるハイブリッドシェアードディスク/シェアードナッシングデータベースシステムを提供する。
【0029】
受信されるコードは、受信されるとプロセッサ104によって実行され、および/または後で実行するために記憶装置110に、または他の不揮発性記憶装置に記憶される。この態様で、コンピュータシステム100は搬送波の形態でアプリケーションコードを得ることができる。
【0030】
ここに説明される、データベースへのアクセスを制御するための異なったデータベースサーバ間のデータベースのオーナーシップのパーティション化に対するアプローチは、すべてのノードからすべてのディスクに対するシェアードディスクアクセスが提供されるコンピュータシステム、すなわち厳密なシェアードディスクアクセスに対して用い得るシステムで実現されるが、この発明の一局面に従うと、いくつかの「シェアードナッシング」ディスクデータに対するアクセスは、ソフトウェアによって規制される。
【0031】
オーナーシップグループ
この発明の実施例に従うと、データベース(またはその一部)がオーナーシップグループにパーティション化される。各オーナーシップグループは、オーナーシップグループのオーナーとして1つ以上のデータベースサーバを割当てられる。オーナーシップグループのオーナーとして割当てられるデータベースサーバは、オーナーシップグループに属するすべてのデータ項目のオーナーとして扱われる。すなわち、これらはオーナーシップグループ内のデータ項目への直接アクセスを許可される一方、他のデータベースサーバはこれらのデータ項目への直接アクセスを許可されない。
【0032】
一実施例に従うと、ともに頻繁にアクセスされるデータ項目は、同じオーナーシップグループにグループ化され、こうしてこれらが同じデータベースサーバによって所有されることを確実にする。オーナーシップグループは、関連するデータ項目のグループを不可分な単位(atomic unit)として扱うことにより、関連するデータ項目のグループに対する動作を可能にする。たとえば、オーナーシップグループのオーナーシップを第1のデータベースサーバから第2のデータベースサーバに転送することにより、オーナーシップグループ内のすべてのデータ項目のオーナーシップを第1のデータベースサーバから第2のデータベースサーバへ転送することができる。
【0033】
ハイブリッドデータベースシステム
図2は、この発明の実施例に従ったハイブリッドデータベースシステムアーキテクチャを示すブロック図である。図2は3つのノード202、204および206を含み、その上には実行する3つのデータベースサーバ208、210、および212がそれぞれ存在する。データベースサーバ208、210および212はそれぞれバッファキャッシュ220、222および224と関連づけられる。各ノード202、204および206は、データベースサーバ208、210および212が2つのディスク214および216上に存在するデータベース250内のデータに直接アクセスできるようにするシステムバス218に接続される。
【0034】
ディスク214および216に含まれるデータは、オーナーシップグループ230、232、234および236に論理的にパーティション化される。この発明の実施例に従うと、各オーナーシップグループは1つ以上のテーブルスペースを含む。テーブルスペースは1つ以上のデータファイルの集まりである。しかしながら、この発明はパーティション化のどのような特定の細分性にも限定されず、かつより大きなまたはより小さな範囲のオーナーシップグループで用いることが可能である。
【0035】
一実施例に従うと、各オーナーシップグループはシェアードディスクオーナーシップグループまたはシェアードナッシングオーナーシップグループとして指定される。シェアードナッシングオーナーシップグループとして指定された各オーナーシップグループは、そのオーナーとして利用可能なデータベースサーバの1つを割当てられる。図2に示すシステムにおいては、オーナーシップグループ230はサーバ210によって所有されるシェアードナッシングオーナーシップグループであり、オーナーシップグループ232はシェアードディスクオーナーシップグループであり、オーナーシップグループ234はサーバ212によって所有されるシェアードナッシングオーナーシップグループであり、オーナーシップグループ236はサーバ208によって所有されるシェアードナッシングオーナーシップグループである。
【0036】
オーナーシップグループ230はサーバ210によって所有されるシェアードナッシングオーナーシップグループであるため、サーバ210のみがオーナーシップグループ230内のデータ(D1)に直接アクセスすることを許可される。オーナーシップグループ230内のデータにアクセスすることを所望する他のどのサーバも、通常はサーバ210にメッセージ要求を送り、要求するサーバの代理としてサーバ210が所望のデータアクセスを行なうことを要求しなくてはならない。同様に、オーナーシップグループ234および236もまたシェアードナッシングオーナーシップグループであり、それぞれのオーナーによってのみ直接アクセスされ得る。
【0037】
オーナーシップグループ232はシェアードディスクオーナーシップグループであるため、どのようなデータベースサーバもその中に含まれるデータ組に直接アクセスすることが可能である。図2に示されるように、各データベースサーバはそのバッファキャッシュ内にこのデータ(D2)のコピーを含み得る。分散ロックマネージャはシェアードデータへのアクセスを調整するように用いられる。
【0038】
一実施例に従うと、データベースシステムは特定のオーナーシップグループをシェアードディスクからシェアードナッシングへ、およびその逆に、ダイナミックに変更するための機構を含む。たとえば、もし特定の組のシェアードナッシングデータが頻繁な読出アクセス(読出ホットスポット)の対象となっていれば、これが属するオーナーシップグループをシェアードナッシングからシェアードディスクに変換することにより、シェアードディスクに変換され得る。同様に、もし特定の組のシェアードディスクデータがしばしば書込アクセス(書込ホットスポット)の対象となっていれば、このデータを含むオーナーシップグループをシェアードナッシングオーナーシップに変更し、オーナーシップグループのオーナーシップをデータベースサーバに割当てることにより、このデータをシェアードナッシングデータに変換することが可能である。
【0039】
この発明の一局面に従うと、データベースシステムはまたシェアードナッシングオーナーシップグループのオーナーシップを1つのノードから別のノードに再割当てするための機構を含む。これは、負荷平衡を向上させるためにオペレータによって要求されるか、またはノードN1が障害を起こした後で、ノードN1によって所有されるシェアードナッシングオーナーシップグループのデータへのアクセスをサポートし続けるために自動的に生じ得る。
【0040】
オーナーシップ
上述のように、いくつかのオーナーシップグループがシェアードナッシングオーナーシップグループとして指定され、いくつかのオーナーシップグループがシェアードディスクオーナーシップグループとして指定される、データベースシステムが提供される。シェアードナッシングオーナーシップグループごとにオーナーが割当てられる。シェアードナッシングオーナーシップグループのオーナーシップは、そのオーナーシップグループ内のデータに対して作業が実行されることをデータベースサーバが要求する場合に、データベースサーバがオーナーシップグループのオーナーに要求を送ることができるように、すべてのデータベースサーバに対して通知される。
【0041】
この発明の一実施例に従うと、さまざまなオーナーシップグループについてのオーナーシップ情報が制御ファイル内で維持され、データベースにアクセスするすべてのデータベースサーバが制御ファイルにアクセスすることを許可される。各データベースサーバは、そのキャッシュ内に制御ファイルのコピーを記憶し得る。データベースサーバはキャッシュ内の制御ファイルのコピーにより、オーナーシップ情報をディスクから読出すことに関わるオーバーヘッドを常に引起こすことなく、オーナーシップグループのオーナーシップを判断し得る。
【0042】
図3は、シェアードディスクおよびシェアードナッシングオーナーシップグループの両方を採用するシステムにおいてデータを所望するデータベースサーバによって行なわれるステップを示すフローチャートである。ステップ300において、データベースサーバは所望のデータが属するオーナーシップグループを判断する。ステップ302において、データベースサーバは所望のデータを含むオーナーシップグループのオーナーを判断する。上述のように、ステップ302は制御ファイルにアクセスすることによって行なわれ、そのコピーはデータベースサーバに付随するキャッシュに記憶され得る。もしオーナーシップグループがシェアードディスクオーナーシップグループであれば、すべてのデータベースサーバがオーナーシップグループのオーナーであると考えられる。もしオーナーシップグループがシェアードナッシングオーナーシップグループであれば、特定のデータベースサーバがオーナーシップグループのオーナーとして制御ファイル内で特定される。
【0043】
ステップ304において、データベースサーバはこれが所望のデータを保持するオーナーシップグループのオーナーであるか否かを判断する。データベースサーバは、(1)オーナーシップグループはシェアードディスクオーナーシップグループである、または(2)オーナーシップグループはシェアードナッシングオーナーシップであって、かつデータベースサーバが制御ファイルにおいてシェアードナッシングオーナーシップグループのオーナーとして指定されている、のいずれかであれば、オーナーシップグループのオーナーである。もしデータベースサーバが、所望のデータを保持するオーナーシップグループのオーナーであれば、制御はステップ310に進み、ここでデータベースサーバは直接所望のデータを検索する。
【0044】
もしデータベースサーバがそのデータを保持するオーナーシップグループのオーナーでなければ、制御はステップ306に進む。ステップ306において、データベースサーバはオーナーシップグループのオーナーに対して、要求側の代理として所望のデータにアクセスするよう、要求を送る。ステップ308において、データベースサーバはオーナーシップグループのオーナーから所望のデータを受取る。
【0045】
オーナー組
代替的な実施例に従うと、オーナーシップグループは(1)1つのデータベースサーバのみによって所有される(シェアードナッシング)、または(2)すべてのデータベースサーバによって所有される(シェアードディスク)、のいずれかに限定されない。そうではなく、オーナーシップグループは代替的に、利用可能なデータベースサーバのどのような特定のサブセットによっても所有され得る。特定のオーナーシップグループを所有するデータベースサーバの組は、ここでオーナーシップグループに対するオーナー組と称する。こうして、シェアードナッシングオーナーシップグループは、そのオーナー組の中に1つのデータベースサーバのみを含むオーナーシップグループと等価である一方、シェアードディスクオーナーシップグループは、すべての利用可能なデータベースをそのオーナー組に含むオーナーシップグループと等価である。
【0046】
オーナー組がオーナーシップグループ内のデータに対して作業を行なうために用いられる場合、オーナーシップグループのオーナー組に属さないデータベースサーバは、オーナーシップグループのオーナー組に属するデータベースサーバの1つに対して要求を送る。要求に応答して、要求の受信側はオーナーシップグループ内のデータに直接アクセスし、要求された作業を行なう。オーナーシップグループ内の書込ホットスポットによって引起こされるコンテンションは、オーナーシップグループのオーナー組に属するデータベースサーバ間でのみ生じる。
【0047】
オーナーシップグループのオーナーシップの変更
上述のように、オーナーシップグループをシェアードナッシングからシェアードディスクに変更する、またはシェアードディスクからシェアードナッシングに変更することが望ましい可能性がある。そのような変更は、読出または書込ホットスポットの検出に応答して自動的に、または手動で(たとえばデータベース管理者によって発行されるコマンドに応答して)開始される。
【0048】
オーナーシップグループを一方のオーナー組(「ソースオーナー組」)から他方のもの(「デスティネーションオーナー組」)に遷移させるために、さまざまな技術が用いられる。図4は、発明の実施例に従ったオーナーシップグループのオーナー組を変更するために行なわれるステップを示すフローチャートである。
【0049】
図4を参照して、ステップ400において「変更禁止(disable change)」メッセージが利用可能なデータベースサーバのすべてに対して同報送信される。変更禁止メッセージは、オーナー組が変更される予定のオーナーシップグループ内のデータ(「遷移するオーナーシップグループ」)に対する順方向変更を中止するように、データベースサーバに命令する。順方向変更は、以前には存在しなかったバージョンを生成する変更である(すなわち、データ項目の新しい「現在の」バージョンを生成する)。これに対し、逆方向変更は、データ項目の以前に存在したバージョンの再生成をもたらす変更である。
【0050】
ステップ402において、データベースシステムの、オーナーシップグループのオーナー組を変更する役割を果たす部分(「オーナー変更機構」)は、遷移するオーナーシップグループに変更を行なったすべてのトランザクションが完遂するかまたはロールバックするまで待機する。
【0051】
ステップ400の前に遷移するオーナーシップグループ内のデータに対して、すべてではないがいくらかの更新を行なったトランザクションは、オーナーシップグループに対する順方向変更がもはや許可されないのでロールバックする。ステップ400は遷移するオーナーシップグループへの順方向変更のみを阻止するので、データベースサーバは遷移するオーナーシップグループに対して既に行なった変更をロールバックすることを妨げられない。
【0052】
不都合なことに、どのトランザクションがトランザクションオーナーシップグループを更新したかを判断するために相当の量のオーバーヘッドが要求され得る。したがって、データベースシステムが遷移するオーナーシップグループ内のデータを更新したトランザクションのトラッキングを試みない、この発明の実施例が提供される。しかしながら、この情報をトラッキングしないと、遷移するオーナーシップグループにおけるデータへのアクセスを許可され、かつステップ400以前に開始したトランザクションのいずれもが、遷移するオーナーシップグループにおけるデータに対する変更を行ない得たことが想定される。
【0053】
この想定に基づいて、ステップ402は、(1)遷移するオーナーシップグループにおけるデータにアクセスした可能性があり、かつ(2)ステップ400の前に開始した、トランザクションのすべてが完遂するかまたはロールバックするまで、待機するようオーナー変更機構に要求する。典型的には、遷移するオーナーシップグループのソースオーナー組に属するデータベースサーバ内で実行するトランザクションのみが、遷移するオーナーシップグループにおけるデータにアクセスした可能性がある。こうして、もし遷移するオーナーシップグループがシェアードディスクであれば、ステップ400以前に開始したすべてのデータサーバ内におけるすべてのトランザクションが完遂またはロールバックするまで、オーナー変更機構は待機しなければならない。もし遷移するオーナーシップグループがシェアードナッシングであれば、遷移するオーナーシップグループを所有するデータベースサーバにおけるすべてのトランザクションが完遂するかまたはロールバックするまで、オーナー変更機構は待機しなければならない。これは、他のノードにおいて生じ、かつ遷移するオーナーシップグループに対してローカルであるサブトランザクションを生成した可能性のあるユーザトランザクションを含むことに留意されたい。
【0054】
遷移するオーナーシップグループ内のデータを更新した可能性のあるすべてのトランザクションが完遂するかまたは打切られれば、制御はステップ404に進む。ステップ404において、オーナー変更機構は、制御ファイルを不可分な動作(atomic operation)において更新することにより、遷移するオーナーシップグループのオーナー組を変更する。たとえば、指定の変更は、遷移するオーナーシップグループをシェアードナッシングオーナーシップグループからシェアードディスクオーナーシップグループに、またはその逆に遷移させる。これに代えて、指定の変更は、オーナーシップグループタイプを変更することなく、単にシェアードナッシングオーナーシップグループを所有するデータベースサーバを変更し得る。
【0055】
制御ファイルが遷移するオーナーシップグループの新しいオーナー組を反映するよう変更されると、制御はステップ406に進む。ステップ406において、「リフレッシュキャッシュ」メッセージがすべての利用可能であるデータベースサーバに送られる。リフレッシュキャッシュメッセージを受取ると、各データベースサーバはそのキャッシュ内に含まれる制御ファイルのコピーを無効化する。したがって、データベースサーバは次いでオーナーシップグループのオーナーシップを判断するために制御ファイルを調べる必要がある場合に、それらは永続的記憶装置から制御ファイルの更新されたバージョンを検索する。こうして、これらは遷移するオーナーシップグループの新しいオーナー組を認識する。
【0056】
オーナーシップ変更に対する調整
特定の問合せが頻繁に用いられる予定の場合、問合せは典型的にはデータベース内に記憶される。ほとんどのデータベースシステムは、記憶された問合せが用いられるたびに実行プランを再計算するのではなく、記憶された問合せが最初にデータベースシステムに提出された時点で、記憶された問合せに対する実行プランを生成する。問合せの実行プランは、問合せによってアクセスされるデータを含むオーナーシップグループのオーナーシップを考慮に入れなければならない。たとえば、もし問合せが特定のデータベースサーバによって排他的に所有されるオーナーシップグループにおけるデータ項目に対する更新を特定すれば、問合せの実行プランはその特定のデータベースサーバに更新動作を転送することを含まなければならない。
【0057】
しかしながら、上述のように、オーナーシップグループのオーナーシップを変更するための機構が提供される。そのようなオーナーシップ変更は、特定の記憶される問合せに対する実行プランが生成された後に生じ得る。したがって実行プランは、あるデータベースサーバに対して、このデータベースサーバがもはや所有していないオーナーシップグループ内のデータに対する動作を行なうことを、要求し得る。この発明の一実施例に従うと、所有しないオーナーシップグループ内のデータに対して動作を行なうよう要求されたデータベースサーバは、動作を要求したプロセスに対して「オーナーシップエラー」メッセージを返す。オーナーシップエラーメッセージの受信に応答して、エラーを引き起こした問合せに対して新しい実行プランが生成される。新しい実行プランは、制御ファイルの現在のバージョンによって示されるように、オーナーシップグループの現在のオーナーシップを考慮に入れる。
【0058】
制御ファイル管理
上述のように、制御ファイルを更新するために不可分な操作が用いられて、オーナーシップグループの指定を変更する(ステップ404)。この動作が不可分であることを確実にするために、さまざまな機構を用い得る。たとえば、この発明の一実施例に従うと、制御ファイルは図5に示されるようにビットマップと一連のブロック対とを含む。ビットマップ512における各ビットは、ブロック対に対応する。
【0059】
所与の時点で、ブロック対における1つのブロックのみが現在のデータを含む。ブロック対に付随するビットの値は、対応のブロック対の2つのブロックのうちどちらが現在のデータを保持するかを示す。たとえば、ビット502は、ブロック506および508を含むブロック対504に付随する。ビット502の値(たとえば「0」)は、ブロック506がブロック対504内の現在のブロックであることを示す。ビット502の値は「1」に変更されて、ブロック508内のデータが現在のものであることを(かつ、したがってブロック506内のデータがもはや有効ではないことを)示し得る。
【0060】
ブロック対の現在のものではないブロックにおけるデータが無効であると考慮されることから、制御ファイルの有効内容を変更することなくデータは現在のものではないブロックに書込まれる。制御ファイルの内容は、ビットマップ512内のビットの値が変更された場合にのみ有効に変更される。こうして、不可分な変更への予備的なステップとして、ブロック対504内の現在のブロック506の内容は、メモリにロードされ、修正され、ブロック対504内の現在のものではないブロック508に記憶され得る。これらの予備的なステップが行なわれた後で、変更は、ブロック対504に対応するビットマップ512内のビット502の値を変更することにより不可分に行なわれる。
【0061】
これは、変更を不可分に行なうための技術の一例にすぎない。他の技術もまた可能である。こうして、この発明は不可分に変更を行なうためのどのような特定の技術にも限定されない。
【0062】
オーナーシップグループ間でのデータ項目の移動
テーブルスペースのようなデータ項目のオーナーシップを変更する1つの方法は、データ項目が属するオーナーシップグループのオーナー組を変更することである。データ項目のオーナーシップを変更するための第2の方法とは、データ項目を異なったオーナーシップグループに再割当てすることである。たとえば、テーブルスペースAをサーバAに割当てられたオーナーシップグループから取除き、これをサーバBに割当てられたオーナーシップグループに入れることにより、テーブルスペースAのオーナーをサーバAからサーバBに変更することができる。
【0063】
この発明の一実施例に従うと、オーナーシップグループのメンバーシップはデータベース内のデータ辞書に維持される。したがって、データ項目を第1のオーナーシップグループから第2のオーナーシップグループに移動するためには、第1および第2のオーナーシップグループの両方についてのメンバーシップ情報がデータ辞書内で更新されなければならない。どのオーナーシップグループにデータ項目が属するかを変更することに関わるさまざまなステップは、上述のオーナーシップグループのオーナー組を変更することと同様である。特定的には、転送されるテーブルスペース(遷移するテーブルスペース)へのアクセスはディスエーブルされる。するとオーナーシップ変更機構は、データ項目(またはそのコンポーネント)に対するロックを保持するすべてのトランザクションがロールバックまたは完遂するまで待機する。
【0064】
データ項目に対するロックを保持するすべてのトランザクションが完遂するかまたはロールバックすると、データ辞書が修正されて、データ項目の新しいオーナーシップグループを示す。次いで制御ファイルが修正されて、データ項目の移動先のオーナーシップグループのオーナー組が今やデータ項目のオーナー組であることを示す。この変更は、データ項目へターゲットオーナーがアクセスすることを不可分に可能にする。もしオーナーシップグループがオーナーシップ変更の途中であれば、制御ファイルは更新されてデータ項目が「移動遅延」状態にあることを示す。
【0065】
データ項目が属するオーナーシップグループの変更は、データ項目のオーナーを変更させるか、または変更させない。もしソースオーナーシップグループのオーナー組が遷移するオーナーシップグループのオーナー組と同じであれば、データ項目のオーナーはデータ項目がソースオーナーシップグループから遷移するオーナーシップグループに移動された場合にも変更しない。しかしながら、もしソースオーナーシップグループのオーナー組が遷移するオーナーシップグループのオーナー組と同じでなければ、データ項目のオーナーは、データ項目がソースオーナーシップグループから遷移するオーナーシップグループに移動された場合に変更する。
【0066】
特定のオーナーシップ変更条件
一実施例に従うと、(1)オーナーシップグループのオーナー組を変更する試みがなされるが、そのオーナーシップグループに属するデータ項目は異なったオーナーシップグループへの転送の途中である、および(2)データ項目を異なったオーナーシップグループに転送される試みがなされるが、デスティネーションオーナーシップグループはそのオーナー組を変更している途中である、という状況に対処するための技術が提供される。
【0067】
これらの条件を検出するために、この発明の実施例は、オーナーシップグループに属するデータ項目(たとえばテーブルスペース)ごとに1つ以上のステータスフラグを制御ファイル内において提供する。たとえば、フラグはデータ項目が属するオーナーシップグループが新しいオーナーを割当てるプロセスにあるかどうかを示すために用いることができる。同様に、フラグはデータ項目が異なったオーナーシップグループに転送されるプロセスにあるかどうかを示し得る。
【0068】
オーナーシップグループのオーナー組を変更するための試みがなされると、オーナーシップ変更機構はオーナーシップグループに属するデータ項目のステータスフラグを調べて、オーナーシップグループに属するいずれかのデータ項目が異なったオーナーシップグループに転送される途中であるかどうかを判断する。もしオーナーシップグループに属するいずれかのデータ項目が異なったオーナーシップグループへ転送される途中であると、オーナーシップグループのオーナー組を変更するための試みは打切られる。もしいずれのオーナーシップグループに属するデータ項目も異なったオーナーシップグループに転送される途中でなければ、オーナーシップグループに属するデータ項目のステータスフラグがセットされて、データ項目が属するオーナーシップグループのオーナーシップが遷移していることを示す。さまざまなデータベースサーバには、それらの制御ファイルのキャッシュしたバージョンを無効化するためのメッセージも送られる。これは、これらがステータスフラグの新しい値を参照することを確実にする。
【0069】
データ項目を異なったオーナーシップグループに転送する試みがなされる場合に、データ項目のステータスフラグがチェックされて、デスティネーションオーナーシップグループがそのオーナー組を変更されている最中であるかどうかを判断する。一実施例に従うと、このチェックはデータ項目の新しいオーナーシップグループを反映するようにデータ辞書を修正した後であるが、新しいオーナーシップグループのオーナーにデータ項目へのアクセスを与えるように制御ファイルを更新する前に行なわれる。もしデータ項目が属するオーナーシップグループがそのオーナー組を変更されている途中であれば、制御ファイルにおけるそのデータ項目に対するステータスフラグがセットされて「移動遅延」条件を示す。さらに、データベース広さ(database-wide)の「移動遅延」フラグがセットされて、データベースが移動遅延状態にあるいくらかのデータ項目を含むことを示す。
【0070】
遷移するオーナーシップグループのオーナーシップを転送する動作が完了すると、転送を行なうプロセスはステータスフラグを更新して、オーナーシップグループがオーナーシップ転送のプロセスにはもはやないことを示す。さらに、プロセスはこのオーナーシップグループのオーナーシップ転送の間にこのオーナーシップグループに移動したいかなるデータ項目の「移動遅延」フラグをもクリアする。
【0071】
障害回復
オーナーシップ変更の進行途中で、障害が起こり得る。障害は「プロセス不能(process death)」または「サーバ不能(server death)」の結果であり得る。プロセス不能は、オーナーシップ変更に関わる特定のプロセスに障害が起こった場合に生じる。サーバ不能は、すべてのデータベースサーバに障害が起こった場合に生じる。これらの両方の障害タイプが生じると、永続的記憶装置にまだ記憶されていなかったすべての変更は失われ得る。そのような障害の後では、データベースを矛盾のない状態に戻すことが必要である。
【0072】
この発明の一実施例に従うと、プロセス不能からの回復はステートオブジェクトを用いて行なわれる。ステートオブジェクトは、プロセスが属するデータベースサーバに付随するメモリ領域に割当てられるデータ構造である。動作を行なう前に、プロセスはステートオブジェクトを更新して、行なおうとしている動作を示す。もしプロセスが不能になれば、データベースサーバ内の別のプロセス(たとえば「プロセスモニタ」)がステートオブジェクトの方法(「クリーンアップルーチン」)を呼出してデータベースを矛盾のない状態に戻す。
【0073】
プロセス障害の後にクリーンアップのために行なわれる特定の動作は、不能になったプロセスが何の動作をしていたか、かつ不能になる前に不能になったプロセスがどれぐらい実行していたかに依存する。一実施例に従うと、オーナーシップグループのオーナーシップ変更の間のプロセス障害は以下のように扱われる。
【0074】
もしオーナーシップ変更を行なうプロセスが最後の制御ファイル変更を行なう前に不能になっていれば、オーナーシップグループのオーナーとしてオリジナルのオーナーが復元される。
【0075】
もしオーナーシップ変更を行なうプロセスが最終の制御ファイル変更を行なった後であるが、ステートオブジェクトを削除する前に不能になっていれば、新しいオーナーがオーナーとしてとどまり、ステートオブジェクトは削除される。
【0076】
1つのオーナーシップグループから別のものへデータ項目を転送する間に生じるプロセス障害は以下のように扱われる。
【0077】
もし転送を行なうプロセスがデータ辞書に対する変更を行なう前に不能になっていれば、データ項目のオリジナルのオーナーがデータ項目のオーナーとして復元される。
【0078】
もし転送を行なうプロセスが辞書に対する変更が行なわれた後であるが、最終的な制御ファイル変更の前に生じていれば、プロセスモニタは移動を完了させ、かつ制御ファイルに対する適切な変更を行なう。もしオーナーシップグループがオーナーシップ変更の途中であれば、データ項目は「移動遅延」とマークされる。
【0079】
もし転送を行なうプロセスが最終的な制御ファイル変更の後であるが、ステートオブジェクトが削除される前に不能になっていれば、プロセスモニタはステートオブジェクトを削除する。
【0080】
サーバ不能
データベースサーバが不能になっている間には、不能になったサーバによって排他的に所有されていたオーナーシップグループにおけるデータへのアクセスは提供されない。したがって、この発明の一実施例に従うと、サーバ不能とは自動的なオーナーシップ変更を引起こす事象であり、障害を起こしたサーバによって排他的に所有されるすべてのオーナーシップグループは新しいオーナーに割当てられる。
【0081】
サーバ障害の後でクリーンアップするために行なわれる特定の動作は、サーバが不能になる前にデータベースサーバが行なっていた動作が何であって、オーナーシップ転送動作がどの程度行なわれていたかに依存する。一実施例に従うと、オーナーシップグループのオーナーシップ変更の間のサーバ障害は以下のように扱われる。
【0082】
もしソースデータベースサーバが最終的な制御ファイル変更が行なわれる前に不能になっていれば、オーナーシップグループは別のスレッドに割当てられ、制御ファイルにおけるステータス情報は更新されてオーナーシップグループがもはや遷移していないことを示す。
【0083】
もしターゲットデータベースサーバが不能になれば、(1)遷移を行なうプロセスがそのインスタンスの不能を検出して遷移を打切るか、または(2)不能になったサーバの回復の間に、オーナーシップグループが不能になったサーバから別のサーバに再割当てされる。
【0084】
データ項目を1つのオーナーシップグループから別のオーナーシップグループに転送する間に生じるサーバ障害は以下のように扱われる。
【0085】
もしソースサーバが辞書変更の前に不能になっていれば、サーバの回復の間に、新しいオーナーがソースオーナーシップグループに割当てられ、データ項目の移動フラグがクリアされる。
【0086】
もしソースサーバが辞書変更の後であるが最終的な制御ファイル変更の前に不能になっていれば、ソースサーバの回復の間に、正しいオーナーをデータ項目に割当てるか、またはこれを移動遅延としてマークするかによって移動動作が完了される。
【0087】
もしターゲットサーバが不能になっており最終的な制御ファイル変更が行なわれていれば、データ項目は「移動遅延」としてマークされる。不能になったサーバの回復の間に、遷移するオーナーシップグループのオーナーシップは再割当てされ、移動遅延フラグはクリアされる。
【0088】
オーナーシップ変更の間のダウンタイムの削減
上述のように、図4に示されるステップはオーナーシップグループのオーナーシップを変更するための1つの技術を示す。この技術において、ステップ402はオーナーシップ変更機構が、遷移するオーナーシップグループに属するデータに対して変更を行なったすべてのトランザクションが完遂するかロールバックするまで待機することを要求する。この待機中には、遷移するオーナーシップグループ内のすべてのデータは利用不可能である。したがって、待機持続時間を最小限にすることが必要である。
【0089】
上述のように、遷移するオーナーシップグループに属するデータに対してどのトランザクションが実際に変更を行なったかをトラッキングすることは実際的ではない可能性がある。したがって、オーナーシップ変更機構は、遷移するオーナーシップグループのソースオーナー組に属するすべてのデータベースサーバで実行するすべてのトランザクションが完遂またはロールバックするまで待機する。オーナーシップ変更機構が待機しなければならないトランザクションの数のために、そのトランザクションの多くは遷移するオーナーシップグループからのデータに対して変更を行なってさえいないかもしれないが、遅延は顕著になり得る。
【0090】
代替的な実施例に従うと、オーナー間で遷移されるデータをこの遅延の間も利用可能にする機構が提供される。特定的には、すべてのデータベースサーバに対して変更禁止メッセージは送られない。そうではなく、すべてのデータベースサーバに対して「新しいオーナー」メッセージが送られて、オーナーシップグループのターゲットオーナー組を示す。新しいオーナーメッセージは、たとえば、制御ファイルを更新した後で、すべてのデータベースサーバにリフレッシュキャッシュメッセージを送ることにより同報送信して(1)ソースオーナー組、(2)ターゲットオーナー組、および(3)オーナーシップグループが遷移中であること、を示す。
【0091】
新しいオーナーメッセージをサーバが受取った後に、そのサーバによって開始されたすべてのトランザクションは、ターゲットオーナー組がオーナーシップグループを所有するかのように行なわれる。新しいオーナーメッセージをサーバが受取る前に、そのサーバにおいて開始されたすべてのトランザクションは、ソースオーナー組がオーナーシップグループを所有するかのように実行され続ける。こうして、待機期間の間に、遷移するオーナーシップグループのオーナーシップは、ソースオーナー組のメンバーとターゲットオーナー組のメンバーとの間で有効に共有される。言い換えると、遷移するオーナーシップグループのデータは一時的に2つのデータベースサーバの間で共有され、シェアードディスクロック機構はそのようなデータに対するアクセスのために一時的に起動される。
【0092】
新しいオーナーメッセージの同報送信の前に始まったソースオーナー組におけるすべてのトランザクションが完遂するかロールバックした場合に、制御ファイルは2回目に更新される。2回目の更新の間に、制御ファイルは更新されてターゲットオーナー組がオーナーシップグループに対する排他的なオーナー組であることを示し、オーナーシップグループがもはや遷移していないことを示す。
【0093】
上述の明細書において、この発明はその特定の実施例を参照して説明された。しかしながら、この発明の広い精神および範囲から離れることなく、さまざまな修正および変更をなし得ることが明らかとなる。したがって、明細書と図面とは、限定的な意味ではなく例示的な意味で捉えられるべきである。
【図面の簡単な説明】
【0094】
【図1】この発明の実施例を実現するコンピュータシステムのブロック図である。
【図2】この発明の実施例に従ったオーナーシップグループを用いる分散データベースシステムのブロック図である。
【図3】オーナーシップグループをサポートするシステムにおけるデータ項目に対する動作を行なうステップを示すフローチャートである。
【図4】この発明の実施例に従ったオーナーシップグループのオーナー組を変更するためのステップを示すフローチャートである。
【図5】この発明の実施例に従った不可分な変更を行なうための技術を示すブロック図である。
Claims (171)
- データベースシステムであって、
データベースを記憶する1つ以上の永続的記憶装置と、
複数のノードで実行する複数のデータベースサーバとを含み、
前記複数のノードの各ノードは、前記1つ以上の永続的記憶装置へ直接アクセスし、
前記データベースのうちの少なくとも一部は複数のオーナーシップグループにパーティション化され、
前記複数のオーナーシップグループの各オーナーシップグループはオーナー組を割当てられ、
オーナーシップグループの前記オーナー組のメンバーであるデータベースサーバで実行するプロセスのみが、前記オーナーシップグループ内のデータに直接アクセスすることを許可される、データベースシステム。 - 前記複数のオーナーシップグループの各オーナーシップグループは、シェアードナッシングオーナーシップグループまたはシェアードディスクオーナーシップグループのいずれかとして指定され、
各シェアードナッシングオーナーシップグループは前記複数のデータベースサーバの中からオーナーを割当てられ、
各シェアードナッシングオーナーシップグループのオーナーのみが前記シェアードナッシングオーナーシップグループ内のデータへ直接アクセスすることを許可され、
前記複数のデータベースサーバの各々は、シェアードディスクオーナーシップグループとして指定されたオーナーシップグループ内のデータへ直接アクセスすることを許可される、請求項1に記載のデータベースシステム。 - シェアードディスクオーナーシップグループの前記指定をシェアードナッシングオーナーシップグループに変更するための機構をさらに含む、請求項2に記載のデータベースシステム。
- 前記機構は、前記シェアードディスクオーナーシップグループは書込ホットスポットを含むという判断に応答して、前記シェアードディスクオーナーシップグループの前記指定をシェアードナッシングオーナーシップグループに自動的に変更するよう構成される、請求項3に記載のデータベースシステム。
- シェアードナッシングオーナーシップグループの前記指定をシェアードディスクオーナーシップグループに変更するための機構をさらに含む、請求項2に記載のデータベースシステム。
- 前記機構は、前記シェアードナッシングオーナーシップグループは読出ホットスポットを含むという判断に応答して、前記シェアードナッシングオーナーシップグループの前記指定をシェアードディスクオーナーシップグループに自動的に変更するよう構成される、請求項5に記載のデータベースシステム。
- 前記機構は、シェアードナッシングオーナーシップグループの前記指定をシェアードディスクオーナーシップグループに変更するようさらに構成される、請求項3に記載のデータベースシステム。
- 前記機構は、前記シェアードナッシングオーナーシップグループは読出ホットスポットを含むという判断に応答して、シェアードナッシングオーナーシップグループの前記指定をシェアードディスクオーナーシップグループに自動的に変更するよう構成される、請求項7に記載のデータベースシステム。
- シェアードディスクオーナーシップグループとして指定されたオーナーシップグループ内のデータへのアクセスを管理するが、シェアードナッシングオーナーシップグループとして指定されたオーナーシップグループ内のデータへのアクセスを管理しないよう構成される、分散ロックマネージャをさらに含む、請求項2に記載のデータベースシステム。
- 複数のノードで実行する複数のデータベースサーバへ直接アクセス可能である1つ以上の永続的記憶装置に記憶されるデータベースへのアクセスを管理するための方法であって、
前記データベースのうちの少なくとも一部を複数のオーナーシップグループにパーティション化するステップと、
前記複数のオーナーシップグループの各オーナーシップグループにオーナー組を割当てるステップと、
各オーナーシップグループの前記オーナー組に属するデータベースサーバで実行するプロセスのみに、前記オーナーシップグループ内のデータへ直接アクセスすることを許可するステップとを含む、方法。 - 前記複数のオーナーシップグループの各オーナーシップグループにオーナー組を割当てるステップは、
前記複数のオーナーシップグループの各オーナーシップグループを、シェアードナッシングオーナーシップグループまたはシェアードディスクオーナーシップグループのいずれかとして指定するステップと、
各シェアードナッシングオーナーシップグループに前記複数のデータベースサーバの中からオーナーを割当てるステップと、
各シェアードナッシングオーナーシップグループのオーナーにのみ、前記シェアードナッシングオーナーシップグループ内のデータへ直接アクセスすることを許可するステップと、
前記複数のデータベースサーバの各々に、シェアードディスクオーナーシップグループとして指定されたオーナーシップグループ内のデータへ直接アクセスすることを許可するステップとを含む、請求項10に記載の方法。 - シェアードディスクオーナーシップグループの前記指定をシェアードナッシングオーナーシップグループに変更するステップをさらに含む、請求項11に記載の方法。
- 前記シェアードディスクオーナーシップグループの前記指定をシェアードナッシングオーナーシップグループに変更するステップは、前記シェアードディスクオーナーシップグループは書込ホットスポットを含むという判断に応答して自動的に行なわれる、請求項12に記載の方法。
- シェアードナッシングオーナーシップグループの前記指定をシェアードディスクオーナーシップグループに変更するステップをさらに含む、請求項11に記載の方法。
- 前記シェアードナッシングオーナーシップグループの前記指定をシェアードディスクオーナーシップグループに変更するステップは、前記シェアードナッシングオーナーシップグループは読出ホットスポットを含むという判断に応答して自動的に行なわれる、請求項14に記載の方法。
- シェアードナッシングオーナーシップグループの前記指定をシェアードディスクオーナーシップグループに変更するステップをさらに含む、請求項12に記載の方法。
- 前記シェアードナッシングオーナーシップグループの前記指定をシェアードディスクオーナーシップグループに変更するステップは、前記シェアードナッシングオーナーシップグループは読出ホットスポットを含むという判断に応答して自動的に行なわれる、請求項16に記載の方法。
- シェアードナッシングオーナーシップグループとして指定されたオーナーシップグループ内のデータへのアクセスではなく、シェアードディスクオーナーシップグループとして指定されたオーナーシップグループ内のデータへのアクセスを管理するための、分散ロックマネージャを用いるステップをさらに含む、請求項11に記載の方法。
- 複数のノードで実行する複数のデータベースサーバに直接アクセス可能である1つ以上の永続的な記憶装置に記憶されるデータベースへのアクセスを管理するための命令を記録するコンピュータ読取可能な記録媒体であって、前記命令は、
前記データベースのうちの少なくとも一部を複数のオーナーシップグループにパーティション化するステップと、
前記複数のオーナーシップグループの各オーナーシップグループにオーナー組を割当てるステップと、
各オーナーシップグループの前記オーナー組に属するデータベースサーバにおいて実行するプロセスのみに前記オーナーシップグループ内のデータへ直接アクセスすることを許可するステップ、とを行なうための命令を含む、コンピュータ読取可能な記録媒体。 - 前記複数のオーナーシップグループの各オーナーシップグループにオーナー組を割当てるステップは、
前記複数のオーナーシップグループの各オーナーシップグループをシェアードナッシングオーナーシップグループまたはシェアードディスクオーナーシップグループのいずれかとして指定するステップと、
各シェアードナッシングオーナーシップグループに、前記複数のデータベースサーバの中からオーナーを割当てるステップと、
各シェアードナッシングオーナーシップグループのオーナーにのみ、前記シェアードナッシングオーナーシップグループ内のデータへ直接アクセスすることを許可するステップと、
前記複数のデータベースサーバの各々に、シェアードディスクオーナーシップグループとして指定されたオーナーシップグループ内のデータへ直接アクセスすることを許可するステップとを含む、請求項19に記載のコンピュータ読取可能な記録媒体。 - シェアードディスクオーナーシップグループの前記指定をシェアードナッシングオーナーシップグループに変更するステップを行なうための命令をさらに含む、請求項20に記載のコンピュータ読取可能な記録媒体。
- 前記シェアードディスクオーナーシップグループの前記指定をシェアードナッシングオーナーシップグループに変更するステップは、前記シェアードディスクオーナーシップグループは書込ホットスポットを含むという判断に応答して自動的に行なわれる、請求項21に記載のコンピュータ読取可能な記録媒体。
- シェアードナッシングオーナーシップグループの前記指定をシェアードディスクオーナーシップグループに変更するステップを行なうための命令をさらに含む、請求項20に記載のコンピュータ読取可能な記録媒体。
- 前記シェアードナッシングオーナーシップグループの前記指定をシェアードディスクオーナーシップグループに変更するステップは、前記シェアードナッシングオーナーシップグループは読出ホットスポットを含むという判断に応答して自動的に行なわれる、請求項23に記載のコンピュータ読取可能な記録媒体。
- シェアードナッシングオーナーシップグループの前記指定をシェアードディスクオーナーシップグループに変更するステップを行なうための命令をさらに含む、請求項21に記載のコンピュータ読取可能な記録媒体。
- 前記シェアードナッシングオーナーシップグループの前記指定をシェアードディスクオーナーシップグループに変更するステップは、前記シェアードナッシングオーナーシップグループは読出ホットスポットを含むという判断に応答して自動的に行なわれる、請求項25に記載のコンピュータ読取可能な記録媒体。
- シェアードナッシングオーナーシップグループとして指定されたオーナーシップグループ内のデータへのアクセスを除く、シェアードディスクオーナーシップグループとして指定されたオーナーシップグループ内のデータへのアクセスを管理するための分散ロックマネージャを用いるステップを行なうための命令をさらに含む、請求項20に記載のコンピュータ読取可能な記録媒体。
- システムであって、
データベースへ直接アクセスする複数のノードを含み、
前記データベースは、
前記複数のノードの各ノードが直接アクセスすることを許可される第1のデータの組と、
前記複数のノードのサブセットのみが直接アクセスすることを許可される第2のデータの組とを含み、
前記サブセットに属さないノードは、前記サブセットに属さないノードが前記第2のデータの組内のデータに関わる動作を行なうよう要求された場合に、前記サブセットに属するノードに要求を送るよう構成される、システム。 - 前記サブセットは単一のノードを有し、
前記第2のデータの組へのすべてのアクセスは前記単一のノードを介する、請求項28に記載のシステム。 - 前記サブセットは第1のサブセットであり、
前記データベースは、前記複数のノードの第2のサブセットのみが直接アクセスを許可される第3のデータの組を含み、
前記第1のサブセットは前記第2のサブセットとは異なる、請求項28に記載のシステム。 - 前記複数のノードのうちの少なくとも1つのノードが、前記第1のサブセットおよび前記第2のサブセットの両方に属する、請求項30に記載のシステム。
- 前記サブセットに属する前記ノードを変更するための機構をさらに含む、請求項28に記載のシステム。
- 前記サブセットに属するノードの障害に応答して、前記サブセットに属する前記ノードを自動的に変更するための機構をさらに含む、請求項28に記載のシステム。
- 前記データベースは複数のデータ項目を含み、
前記第1のデータの組は、前記複数のデータ項目のうちの1つ以上のデータ項目を含み、前記システムはさらに、
前記複数のデータ項目のどのデータ項目が前記第1のデータの組にあるかを変更するための機構をさらに含む、請求項28に記載のシステム。 - 前記データベースは複数のデータ項目を含み、
前記第2のデータの組は、前記複数のデータ項目のうちの1つ以上のデータ項目を含み、前記システムはさらに、
前記複数のデータ項目のどのデータ項目が前記第2のデータの組にあるかを変更するための機構をさらに含む、請求項28に記載のシステム。 - 前記第1のデータの組は第1のオーナーシップグループであり、前記第2のデータの組は第2のオーナーシップグループである、請求項28に記載のシステム。
- 前記サブセットはオーナー組である、請求項28に記載のシステム。
- データベースシステムであって、
データベースと、
複数のデータベースサーバとを含み、
前記複数のデータベースサーバの各データベースサーバは、前記データベースへ直接アクセスし、
前記データベースのうちの少なくとも一部が複数のオーナーシップグループにパーティション化され、
前記複数のオーナーシップグループのうちの少なくとも1つのオーナーシップグループがオーナー組を割当てられ、
オーナーシップグループの前記オーナー組のメンバーであるデータベースサーバで実行するプロセスは、前記オーナーシップグループ内のデータへ直接アクセスすることを許可される、データベースシステム。 - 前記複数のオーナーシップグループの各オーナーシップグループはオーナー組を割当てられる、請求項38に記載のデータベースシステム。
- オーナーシップグループの前記オーナー組のメンバーであるデータベースサーバで実行するプロセスのみが、前記オーナーシップグループ内のデータへ直接アクセスすることを許可される、請求項38に記載のデータベースシステム。
- 前記複数のオーナーシップグループのうちの少なくとも1つのオーナーシップグループは1つ以上のテーブルスペースを含む、請求項38に記載のデータベースシステム。
- 前記1つ以上のテーブルスペースのうちの少なくとも1つのテーブルスペースはデータファイルの集まりである、請求項41に記載のデータベースシステム。
- 前記複数のオーナーシップグループのうちの少なくとも1つのオーナーシップグループが、シェアードナッシングオーナーシップグループとして指定され、
少なくとも1つのシェアードナッシングオーナーシップグループが、前記複数のデータベースサーバの中からオーナーを割当てられ、
各シェアードナッシングオーナーシップグループのオーナーのみが、前記シェアードナッシングオーナーシップグループ内のデータに直接アクセスすることを許可される、請求項38に記載のデータベースシステム。 - 前記複数のオーナーシップグループのうちの少なくとも1つのオーナーシップグループがシェアードディスクオーナーシップグループとして指定され、
前記複数のデータベースサーバの各々が、シェアードディスクオーナーシップグループとして指定されたオーナーシップグループ内のデータへ直接アクセスすることを許可される、請求項38に記載のデータベースシステム。 - 前記複数のオーナーシップグループの各オーナーシップグループが、シェアードナッシングオーナーシップグループまたはシェアードディスクオーナーシップグループのいずれかとして指定され、
各シェアードナッシングオーナーシップグループは前記複数のデータベースサーバの中から単一のオーナーを割当てられる、請求項38に記載のデータベースシステム。 - 前記複数のオーナーシップグループのうちの少なくとも1つのオーナーシップグループが、複数のタイプのオーナーシップグループの特定のタイプのオーナーシップグループとして指定される、請求項38に記載のデータベースシステム。
- 指定された、前記特定のタイプのオーナーシップグループを変更するための機構をさらに含む、請求項46に記載のデータベースシステム。
- 前記複数のオーナーシップグループのうちの少なくとも1つのオーナーシップグループが、前記複数のタイプのオーナーシップグループの第1のタイプのオーナーシップグループとして指定され、
前記複数のオーナーシップグループのうちの少なくとも1つのオーナーシップグループが、前記複数のタイプのオーナーシップグループの第2のタイプのオーナーシップグループとして指定される、請求項46に記載のデータベースシステム。 - 前記第1のタイプのオーナーシップグループはシェアードナッシングオーナーシップグループであり、
前記第2のタイプのオーナーシップグループはシェアードディスクオーナーシップグループである、請求項48に記載のデータベースシステム。 - 前記複数のオーナーシップグループの各オーナーシップグループは、シェアードナッシングオーナーシップグループまたはシェアードディスクオーナーシップグループのいずれかとして指定される、請求項49に記載のデータベースシステム。
- 前記複数のタイプのオーナーシップグループのうちの少なくとも1つのタイプのオーナーシップグループに対して、前記複数のデータベースサーバの1つのデータベースサーバのみが、前記少なくとも1つのタイプのオーナーシップグループとして指定されたオーナーシップグループごとの前記オーナー組において許可される、請求項46に記載のデータベースシステム。
- 前記複数のタイプのオーナーシップグループのうちの少なくとも1つのタイプのオーナーシップグループに対して、前記複数のデータベースサーバの各データベースサーバが、前記少なくとも1つのタイプのオーナーシップグループとして指定されたオーナーシップグループごとの前記オーナー組の中に含まれる、請求項46に記載のデータベースシステム。
- 前記複数のタイプのオーナーシップグループのうちの少なくとも1つのタイプのオーナーシップグループに対して、少なくとも2つであって、かつ前記複数のデータベースサーバのすべてのデータベースサーバよりも少ない数のデータベースサーバが、前記少なくと
も1つのタイプのオーナーシップグループとして指定されたオーナーシップグループごとの前記オーナー組の中に含まれる、請求項46に記載のデータベースシステム。 - 前記複数のデータベースサーバの第1のデータベースサーバを含み、
前記第1のデータベースサーバは、特定のオーナー組に割当てられた特定のオーナーシップグループに含まれるデータを所望し、
もし前記第1のデータベースサーバが前記特定のオーナー組に含まれていれば、前記第1のデータベースサーバで実行するプロセスは前記データを直接検索し、
もし前記第1のデータベースサーバが前記特定のオーナー組に含まれていなければ、前記第1のデータベースサーバで実行する前記プロセスは、前記特定のオーナー組に含まれる前記複数のデータベースサーバの第2のデータベースサーバに要求して前記データを受取る、請求項38に記載のデータベースシステム。 - 前記特定のオーナーシップグループはシェアードディスクオーナーシップグループであり、前記特定のオーナー組は前記複数のデータベースサーバを含み、前記第1のデータベースサーバで実行する前記プロセスはデータを直接検索する、請求項54に記載のデータベースシステム。
- 前記特定のオーナーシップグループはシェアードナッシングオーナーシップグループであり、前記複数のデータベースサーバの前記第2のデータベースサーバは、前記特定のオーナー組内の唯一のデータベースサーバである、請求項54に記載のデータベースシステム。
- 前記特定のオーナーシップグループはシェアードナッシングオーナーシップグループであり、前記複数のデータベースサーバの前記第1のデータベースサーバは、前記特定のオーナー組内の唯一のデータベースサーバである、請求項54に記載のデータベースシステム。
- 前記複数のオーナーシップグループのうちの少なくとも1つのオーナーシップグループは、前記複数のデータベースサーバの中からオーナーを割当てられ、前記データベースシステムはさらに、
前記少なくとも1つのオーナーシップグループに対するオーナーを、前記複数のデータベースサーバの第1のデータベースサーバから、前記複数のデータベースサーバの第2のデータベースサーバに再割当てするための機構を含む、請求項38に記載のデータベースシステム。 - 前記少なくとも1つのオーナーシップグループはシェアードナッシングオーナーシップグループである、請求項58に記載のデータベースシステム。
- 前記機構は、要求に応答して前記少なくとも1つのオーナーシップグループに対する前記オーナーを再割当てするよう構成される、請求項58に記載のデータベースシステム。
- 前記機構は、前記第1のデータベースサーバの障害に応答して自動的に前記少なくとも1つのオーナーシップグループに対する前記オーナーを再割当てするよう構成される、請求項58に記載のデータベースシステム。
- 特定のオーナーシップグループを第1のオーナー組から第2のオーナー組に遷移させるための機構をさらに含み、前記機構は、
前記特定のオーナーシップグループ内のデータの新しいバージョンの生成を中止するよう前記複数のデータベースサーバに命令し、
前記第1のオーナー組を介して前記データにアクセスするすべてのトランザクションが完遂しているかまたは打切られている場合に、前記特定のオーナーシップグループのオーナーシップを示すデータを変更して、前記第2のオーナー組が前記特定のオーナーシップグループの前記オーナーであることを示すよう構成される、請求項38に記載のデータベースシステム。 - 前記機構が、前記特定のオーナーシップグループを前記第1のオーナー組から前記第2のオーナー組へ遷移させることの障害に応答して、前記機構はさらに、
前記障害は前記特定のオーナーシップグループのオーナーシップを示す前記データの変更前に生じたか否かを判断し、
もし前記障害が前記特定のオーナーシップグループのオーナーシップを示す前記データの変更前に生じていれば、前記第1のオーナー組を前記特定のオーナーシップグループのオーナーとして復元し、かつ、
もし前記障害が前記特定のオーナーシップグループのオーナーシップを示す前記データの変更後に生じていれば、前記第2のオーナー組を前記特定のオーナーシップグループのオーナーとして保持するよう構成される、請求項62に記載のデータベースシステム。 - 特定のオーナーシップグループを第1のオーナー組から第2のオーナー組に遷移させるための機構と、
前記データベース内に含まれる問合せとを含み、
前記問合せは前記第1のオーナー組を参照する実行プランと関連付けられ、前記特定のオーナーシップグループが前記機構によって前記第1のオーナー組から前記第2のオーナー組に遷移された後で、前記第2のオーナー組を参照する新しい実行プランが生成される、請求項38に記載のデータベースシステム。 - データ項目を第1のオーナーシップグループから第2のオーナーシップグループに再割当てするための機構をさらに含み、前記機構は、
前記複数のデータベースサーバによる前記データ項目へのアクセスをディスエーブルし、
前記データ項目にアクセスするすべてのトランザクションが完遂しているかまたは打切られている場合、前記データ項目がどのオーナーシップグループに属するかを示すデータを変更して、前記データ項目が前記第2のオーナーシップグループに属することを示すよう構成される、請求項38に記載のデータベースシステム。 - 前記機構はさらに、
第1のデータを変更して前記データ項目がどのオーナーシップグループに属するかを示すよう構成され、
前記第1のデータを変更する前に、第2のデータを変更して前記データ項目がどのオーナーシップグループに属するかを示すよう構成される、請求項65に記載のデータベースシステム。 - 前記第1のデータは制御ファイル内にあり、前記第2のデータはデータ辞書内にある、請求項66に記載のデータベースシステム。
- 前記機構が、前記データ項目を前記第1のオーナーシップグループから前記第2のオーナーシップグループに再割当てすることの障害に応答して、前記機構はさらに、
前記障害が前記第2のデータの変更前に生じたか否かを判断し、
もし前記障害が前記第2のデータの変更前に生じていれば、前記第1のオーナーシップグループに対して前記データ項目を復元し、かつ、
もし前記障害が前記第2のデータの変更後に生じていれば、前記第1のデータを変更することにより前記データ項目の前記第1のオーナーシップグループから前記第2のオーナーシップグループへの再割当てを完了させるよう構成される、請求項66に記載のデータベースシステム。 - 前記機構はさらに、前記第2のオーナーシップグループがオーナーシップ変更を受けているか否かを判断し、
もし前記第2のオーナーシップグループがオーナーシップ変更を受けていれば、前記データ項目を移動遅延としてマークするよう構成される、請求項65に記載のデータベースシステム。 - データ項目のオーナーシップを第1のオーナー組から第2のオーナー組に遷移させるためのシステムであって、
複数のデータベースサーバと、
前記データ項目を含むデータベースと、
前記データ項目へのアクセスを管理するための機構とを含み、
前記複数のデータベースサーバは、前記データ項目が前記第1のオーナー組から前記第2のオーナー組に遷移されていることを通知され、
前記機構は、前記複数のデータベースサーバが通知された後で、前記第1のオーナー組のメンバーおよび前記第2のオーナー組のメンバーに前記データ項目へ直接アクセスすることを許可するよう構成され、
前記第2のオーナー組が前記データ項目の排他的オーナーであることを示すデータが記憶され、
前記機構は、前記第1のオーナー組を介して前記データ項目にアクセスするすべてのトランザクションが完遂しているかまたは打切られていることを検出した後で、前記第2のオーナー組のメンバーにのみ前記データ項目への直接アクセスを許可するよう構成される、システム。 - 前記通知するステップの前に実行を開始したすべてのトランザクションが完遂しているかまたは打切られている場合に、前記第1のオーナー組を介して前記データ項目にアクセスするすべてのトランザクションは完遂しているかまたは打切られている、請求項70に記載のシステム。
- 前記複数のデータベースサーバは、前記複数のデータベースサーバに送られるリフレッシュキャッシュメッセージによって通知される、請求項70に記載のシステム。
- 前記複数のデータベースサーバが通知を受ける前に、前記第1のオーナー組および前記第2のオーナー組を識別し、かつ前記データ項目の前記オーナーが遷移していることを示すデータが記憶される、請求項70に記載のシステム。
- もし前記複数のデータベースサーバの特定のデータベースサーバが、前記データ項目が前記第1のオーナー組から前記第2のオーナー組に遷移されていることを通知される前にトランザクションを開始すれば、前記トランザクションは前記第1のオーナー組が前記データ項目の前記オーナーであるかのように処理され、
もし前記複数のデータベースサーバの前記特定のデータベースサーバが、前記データ項目が前記第1のオーナー組から前記第2のオーナー組に遷移されていることを通知された後で前記トランザクションを開始すれば、前記トランザクションは第2のオーナー組が前記データ項目の前記オーナーであるかのように処理される、請求項70に記載のシステム。 - 前記機構はシェアードディスクロック機構である、請求項70に記載のシステム。
- データベースへ直接アクセスする複数のノードによるデータベースへのアクセスを管理するための方法であって、
前記データベースのうちの少なくとも第1の部分を、前記複数のノードの各ノードが直接アクセスを許可される第1のデータの組にパーティション化するステップと、
前記データベースのうちの少なくとも第2の部分を、前記複数のノードのサブセットのみが直接アクセスを許可される第2のデータの組にパーティション化するステップとを含み、
前記サブセットに属さないノードは、前記サブセットに属さない前記ノードが前記第2のデータの組内のデータに関わる動作を行なうよう要求された場合に、前記サブセットに属するノードに要求を送るよう構成される、方法。 - 前記サブセットは単一のノードを有し、
前記第2のデータの組へのすべてのアクセスは前記単一のノードを介する、請求項76に記載の方法。 - 前記サブセットは第1のサブセットであり、前記方法は、
前記データベースのうちの少なくとも第3の部分を、前記複数のノードの第2のサブセットのみが直接アクセスを許可される第3のデータの組にパーティション化するステップをさらに含み、
前記第1のサブセットは前記第2のサブセットとは異なる、請求項76に記載の方法。 - 前記複数のノードのうちの少なくとも1つのノードは、前記第1のサブセットおよび前記第2のサブセットの両方に属する、請求項78に記載の方法。
- 前記サブセットに属する前記ノードを変更するステップをさらに含む、請求項76に記載の方法。
- 前記サブセットに属するノードの障害に応答して、前記サブセットに属する前記ノードを自動的に変更するステップをさらに含む、請求項76に記載の方法。
- 前記データベースは複数のデータ項目を含み、
前記第1のデータの組は、前記複数のデータ項目のうちの1つ以上のデータ項目を含み、前記方法はさらに、
前記複数のデータ項目のどのデータ項目が前記第1のデータの組にあるかを変更するステップをさらに含む、請求項76に記載の方法。 - 前記データベースは複数のデータ項目を含み、
前記第2のデータの組は、前記複数のデータ項目のうちの1つ以上のデータ項目を含み、前記方法はさらに、
前記複数のデータ項目のどのデータ項目が前記第2のデータの組にあるかを変更するステップを含む、請求項76に記載の方法。 - 前記第1のデータの組は第1のオーナーシップグループであり、前記第2のデータの組は第2のオーナーシップグループである、請求項76に記載の方法。
- 前記サブセットはオーナー組である、請求項76に記載の方法。
- 複数のデータベースサーバによって直接アクセス可能であるデータベースへのアクセスを管理するための方法であって、
前記データベースのうちの少なくとも一部を複数のオーナーシップグループにパーティション化するステップと、
前記複数のオーナーシップグループのうちの少なくとも1つのオーナーシップグループにオーナー組を割当てるステップと、
各オーナーシップグループの前記オーナー組に属するデータベースサーバで実行するプロセスに、各オーナーシップグループ内のデータへ直接アクセスすることを許可するステップとを含む、方法。 - 1つのオーナー組を、前記複数のオーナーシップグループの各オーナーシップグループに割当てるステップをさらに含む、請求項86に記載の方法。
- 特定のオーナーシップグループの前記オーナー組のメンバーであるデータベースサーバで実行するプロセスにのみ、前記特定のオーナーシップグループ内のデータに直接アクセスすることを許可するステップをさらに含む、請求項86に記載の方法。
- 前記複数のオーナーシップグループのうちの少なくとも1つのオーナーシップグループは1つ以上のテーブルスペースを含む、請求項86に記載の方法。
- 前記1つ以上のテーブルスペースのうちの少なくとも1つのテーブルスペースはデータファイルの集まりである、請求項89に記載の方法。
- 前記複数のオーナーシップグループのうちの少なくとも1つのオーナーシップグループを、シェアードナッシングオーナーシップグループとして指定するステップと、
少なくとも1つのシェアードナッシングオーナーシップグループに、前記複数のデータベースサーバの中からオーナーを割当てるステップと、
各シェアードナッシングオーナーシップグループの前記オーナーにのみ、前記シェアードナッシングオーナーシップグループ内のデータへ直接アクセスすることを許可するステップとを含む、請求項86に記載の方法。 - 前記複数のオーナーシップグループのうちの少なくとも1つのオーナーシップグループをシェアードディスクオーナーシップグループとして指定するステップと、
前記複数のデータベースサーバの各々に、シェアードディスクオーナーシップグループとして指定されたオーナーシップグループ内のデータへ直接アクセスすることを許可するステップとを含む、請求項86に記載の方法。 - 前記複数のオーナーシップグループの各オーナーシップグループを、シェアードナッシングオーナーシップグループまたはシェアードディスクオーナーシップグループのいずれかとして指定するステップと、
各シェアードナッシングオーナーシップグループに前記複数のデータベースサーバの中から単一のオーナーを割当てるステップとをさらに含む、請求項86に記載の方法。 - 前記複数のオーナーシップグループのうちの少なくとも1つのオーナーシップグループを、複数のタイプのオーナーシップグループの特定のタイプのオーナーシップグループとして指定するステップをさらに含む、請求項86に記載の方法。
- 指定されたオーナーシップグループの前記タイプを変更するステップをさらに含む、請求項94に記載の方法。
- 前記複数のオーナーシップグループのうちの少なくとも1つのオーナーシップグループを、前記複数のタイプのオーナーシップグループの第1のタイプのオーナーシップグループとして指定するステップと、
前記複数のオーナーシップグループのうちの少なくとも1つのオーナーシップグループを、前記複数のタイプのオーナーシップグループの第2のタイプのオーナーシップグループとして指定するステップとをさらに含む、請求項94に記載の方法。 - 前記第1のタイプのオーナーシップグループはシェアードナッシングオーナーシップグループであり、
前記第2のタイプのオーナーシップグループはシェアードディスクオーナーシップグループである、請求項96に記載の方法。 - 前記複数のオーナーシップグループの各オーナーシップグループを、シェアードナッシングオーナーシップグループまたはシェアードディスクオーナーシップグループのいずれかとして指定するステップをさらに含む、請求項97に記載の方法。
- 前記複数のタイプのオーナーシップグループのうちの少なくとも1つのタイプのオーナーシップグループに対して、前記複数のデータベースサーバの1つのデータベースサーバのみを、前記少なくとも1つのタイプのオーナーシップグループとして指定された各オーナーシップグループごとの前記オーナー組において許可するステップをさらに含む、請求項94に記載の方法。
- 前記複数のタイプのオーナーシップグループのうちの少なくとも1つのタイプのオーナーシップグループに対して、前記複数のデータベースサーバの各データベースサーバを、前記少なくとも1つのタイプのオーナーシップグループとして指定されたオーナーシップグループごとの前記オーナー組に含めるステップをさらに含む、請求項94に記載の方法。
- 前記複数のタイプのオーナーシップグループのうちの少なくとも1つのタイプのオーナーシップグループに対して、少なくとも2つであって、かつ前記複数のデータベースサーバのすべてのデータベースサーバよりも少ない数のデータベースサーバを、前記少なくとも1つのタイプのオーナーシップグループとして指定されたオーナーシップグループごとの前記オーナー組に含めるステップをさらに含む、請求項94に記載の方法。
- 前記複数のデータベースサーバの第1のデータベースサーバは、特定のオーナー組に割当てられた特定のオーナーシップグループに含まれるデータを所望し、
もし前記第1のデータベースサーバが前記特定のオーナー組に含まれていれば、前記第1のデータベースサーバで実行するプロセスは前記データを直接検索し、
もし前記第1のデータベースサーバが前記特定のオーナー組に含まれていなければ、前記第1のデータベースサーバで実行する前記プロセスは、前記特定のオーナー組に含まれる前記複数のデータベースサーバの第2のデータベースサーバに要求して前記データを受取る、請求項86に記載の方法。 - 前記特定のオーナーシップグループはシェアードディスクオーナーシップグループであり、前記特定のオーナー組は前記複数のデータベースサーバを含み、前記第1のデータベースサーバで実行する前記プロセスは前記データを直接検索する、請求項102に記載の方法。
- 前記特定のオーナーシップグループはシェアードナッシングオーナーシップグループであり、前記複数のデータベースサーバの前記第2のデータベースサーバは、前記特定のオーナー組内の唯一のデータベースサーバである、請求項102に記載の方法。
- 前記特定のオーナーシップグループはシェアードナッシングオーナーシップグループであり、前記複数のデータベースサーバの前記第1のデータベースサーバは、前記特定のオーナー組内の唯一のデータベースサーバである、請求項102に記載の方法。
- 前記複数のオーナーシップグループのうちの少なくとも1つのオーナーシップグループに、前記複数のデータベースサーバの中からオーナーを割当てるステップと、
前記少なくとも1つのオーナーシップグループに対する前記オーナーを、前記複数のデータベースサーバの第1のデータベースサーバから、前記複数のデータベースサーバの第2のデータベースサーバに再割当てするステップをさらに含む、請求項86に記載の方法。 - 前記少なくとも1つのオーナーシップグループはシェアードナッシングオーナーシップグループである、請求項106に記載の方法。
- 前記少なくとも1つのオーナーシップグループに対する前記オーナー組を再割当てする前記ステップは、要求に応答して行なわれる、請求項106に記載の方法。
- 前記少なくとも1つのオーナーシップグループに対する前記オーナー組を再割当てする前記ステップは、前記第1のデータベースサーバの障害に応答して自動的に行なわれる、請求項106に記載の方法。
- 特定のオーナーシップグループ内のデータの新しいバージョンの生成を中止するよう前記複数のデータベースサーバに命令するステップと、
第1のオーナー組を介して前記データにアクセスするすべてのトランザクションが完遂しているかまたは打切られている場合に、前記特定のオーナーシップグループのオーナーシップを示すデータを変更して、第2のオーナー組が前記特定のオーナーシップグループのオーナーであることを示すステップとを行なうことにより、
前記特定のオーナーシップグループを前記第1のオーナー組から前記第2のオーナー組に遷移させるステップをさらに含む、請求項86に記載の方法。 - 前記特定のオーナーシップグループを、前記第1のオーナー組から前記第2のオーナー組へ遷移させることにおける障害に応答して、
前記障害は前記特定のオーナーシップグループのオーナーシップを示す前記データの変更前に生じたか否かを判断するステップと、
もし前記障害が前記特定のオーナーシップグループのオーナーシップを示す前記データの変更前に生じていれば、前記第1のオーナー組を前記特定のオーナーシップグループのオーナーとして復元するステップと、
もし前記障害が前記特定のオーナーシップグループのオーナーシップを示す前記データの変更後に生じていれば、前記第2のオーナー組を前記特定のオーナーシップグループのオーナーとして保持するステップとを含む、請求項110に記載の方法。 - 問合せが前記データベース内に含まれ、前記問合せは第1のオーナー組を参照する実行プランと関連付けられ、前記方法はさらに、
特定のオーナーシップグループを前記第1のオーナー組から前記第2のオーナー組に遷移させるステップと、
前記特定のオーナーシップグループを前記第1のオーナー組から前記第2のオーナー組に遷移させた後で、前記第2のオーナー組を参照する新しい実行プランを生成するステップとを含む、請求項86に記載の方法。 - 前記複数のデータベースサーバによるデータ項目へのアクセスをディスエーブルするステップと、
前記データ項目にアクセスするすべてのトランザクションが完遂しているかまたは打切られている場合、前記データ項目がどのオーナーシップグループに属するかを示すデータを変更して、前記データ項目が第2のオーナーシップグループに属することを示すステップとを行なうことにより、
前記データ項目を前記第1のオーナーシップグループから前記第2のオーナーシップグループに再割当てするステップをさらに含む、請求項86に記載の方法。 - 第1のデータを変更して前記データ項目がどのオーナーシップグループに属するかを示すステップと、
前記第1のデータを変更する前に、第2のデータを変更して前記データ項目がどのオーナーシップグループに属するかを示すステップとをさらに含む、請求項113に記載の方法。 - 前記第1のデータは制御ファイル内にあり、前記第2のデータはデータ辞書内にある、請求項114に記載の方法。
- 前記データ項目を、前記第1のオーナーシップグループから前記第2のオーナーシップグループに再割当てすることの障害に応答して、
前記障害が前記第2のデータの変更前に生じた否かを判断するステップと、
もし前記障害が前記第2のデータの変更前に生じていれば、前記第1のオーナーシップグループに対して前記データ項目を復元するステップと、
もし前記障害が前記第2のデータの変更後に生じていれば、前記第1のデータを変更することにより前記データ項目の前記第1のオーナーシップグループから前記第2のオーナーシップグループへの前記再割当てを完了させるステップとをさらに含む、請求項114に記載の方法。 - 前記第2のオーナーシップグループがオーナーシップ変更を受けているか否かを判断するステップと、
もし前記第2のオーナーシップグループがオーナーシップ変更を受けていれば、前記データ項目を移動遅延としてマークするステップとをさらに含む、請求項113に記載の方法。 - データ項目のオーナーシップを第1のオーナー組から第2のオーナー組に遷移させるための方法であって、
複数のデータベースサーバに、前記データ項目が前記第1のオーナー組から前記第2のオーナー組に遷移されていることを通知するステップと、
前記複数のデータベースサーバに通知した後で、前記第1のオーナー組のメンバーおよび前記第2のオーナー組のメンバーに前記データ項目へ直接アクセスすることを許可するステップと、
前記第1のオーナー組を介して前記データ項目にアクセスするすべてのトランザクションがいつ完遂しているかまたは打切られているかを検出するステップと、
前記第1のオーナー組を介して前記データ項目にアクセスするすべてのトランザクションがいつ完遂しているかまたは打切られているかを検出した後で、
前記第2のオーナー組は前記データ項目の排他的なオーナーであることを示すデータを記憶するステップおよび
前記第2のオーナー組のメンバーにのみ前記データ項目へ直接アクセスすることを許可するステップを実行するステップ、とを含む、方法。 - 前記第1のオーナー組を介して前記データ項目にアクセスするすべてのトランザクションがいつ完遂しているかまたは打切られているかを検出する前記ステップは、
前記通知するステップの前に実行を開始したすべてのトランザクションがいつ完遂しているかまたは打切られているかを検出するステップを含む、請求項118に記載の方法。 - 前記データ項目が前記第1のオーナー組から前記第2のオーナー組に遷移していることを前記複数のデータベースサーバに通知する前記ステップは、
前記複数のデータベースサーバにリフレッシュキャッシュメッセージを送るステップを含む、請求項118に記載の方法。 - 前記複数のデータベースサーバに通知する前記ステップの前に、
前記第1のオーナー組および前記第2のオーナー組を識別し、かつ前記データ項目の前記オーナーが遷移していることを示すデータを記憶するステップを行なう、請求項118に記載の方法。 - 前記第1のオーナー組および前記第2のオーナー組のメンバーに前記データ項目へ直接アクセスすることを許可する前記ステップは、
もし前記複数のデータベースサーバの特定のデータベースサーバが、前記データ項目は前記第1のオーナー組から前記第2のオーナー組へ遷移されていることを通知される前にトランザクションを開始すれば、前記第1のオーナー組が前記データ項目の前記オーナーであるかのように前記トランザクションを処理するステップと、
もし前記複数のデータベースサーバの前記特定のデータベースサーバが、前記データ項目は前記第1のオーナー組から前記第2のオーナー組へ遷移されていることを通知された後で前記トランザクションを開始すれば、前記第2のオーナー組が前記データ項目の前記オーナーであるかのように前記トランザクションを処理するステップとを含む、請求項118に記載の方法。 - シェアードディスクロック機構は、
前記第1のオーナー組のメンバーおよび前記第2のオーナー組のメンバーに前記データ項目へ直接アクセスすることを許可するステップと、
前記第2のオーナー組のメンバーにのみ前記データ項目へ直接アクセスすることを許可するステップとを行なう、請求項118に記載の方法。 - データベースへ直接アクセスする複数のノードによる前記データベースへのアクセスを管理するための命令の1つ以上のシーケンスを記録するコンピュータ読取可能な記録媒体であって、1つ以上のプロセッサによる前記命令の1つ以上のシーケンスの実行は、前記1つ以上のプロセッサに、
前記データベースのうちの少なくとも第1の部分を、前記複数のノードの各ノードが直接アクセスを許可される第1のデータの組にパーティション化するステップと、
前記データベースのうちの少なくとも第2の部分を、前記複数のノードのサブセットのみが直接アクセスを許可される第2のデータの組にパーティション化するステップとを実行させ、
前記サブセットに属さないノードは、前記サブセットに属さない前記ノードが前記第2のデータの組内のデータに関わる動作を行なうよう要求された場合に、前記サブセットに属するノードに要求を送るよう構成される、コンピュータ読取可能な記録媒体。 - 前記サブセットは単一のノードを有し、
前記第2のデータの組へのすべてのアクセスは前記単一のノードを介する、請求項124に記載のコンピュータ読取可能な記録媒体。 - 前記サブセットは第1のサブセットであり、前記1つ以上のプロセッサによって実行さ
れた場合に前記1つ以上のプロセッサに、
前記データベースのうちの少なくとも第3の部分を、前記複数のノードの第2のサブセットのみが直接アクセスを許可される、第3のデータの組にパーティション化するステップを行なわせる命令をさらに含み、
前記第1のサブセットは前記第2のサブセットとは異なる、請求項124に記載のコンピュータ読取可能な記録媒体。 - 前記複数のノードのうちの少なくとも1つのノードは、前記第1のサブセットおよび前記第2のサブセットの両方に属する、請求項126に記載のコンピュータ読取可能な記録媒体。
- 前記1つ以上のプロセッサによって実行された場合に前記1つ以上のプロセッサに、
前記サブセットに属する前記ノードを変更するステップを実行させる命令をさらに含む、請求項124に記載のコンピュータ読取可能な記録媒体。 - 前記1つ以上のプロセッサによって実行された場合に前記1つ以上のプロセッサに、
前記サブセットに属するノードの障害に応答して、前記サブセットに属する前記ノードを自動的に変更するステップを実行させる命令をさらに含む、請求項124に記載のコンピュータ読取可能な記録媒体。 - 前記データベースは複数のデータ項目を含み、前記第1のデータの組は前記複数のデータ項目のうちの1つ以上のデータ項目を含み、前記1つ以上のプロセッサによって実行された場合に前記1つ以上のプロセッサに
前記複数のデータ項目のどのデータ項目が前記第1のデータの組にあるかを変更するステップを実行させる命令をさらに含む、請求項124に記載のコンピュータ読取可能な記録媒体。 - 前記データベースは複数のデータ項目を含み、前記第1のデータの組は前記複数のデータ項目のうちの1つ以上のデータ項目を含み、前記1つ以上のプロセッサによって実行された場合に前記1つ以上のプロセッサに
前記複数のデータ項目のどのデータ項目が前記第2のデータの組にあるかを変更するステップを実行させる命令をさらに含む、請求項124に記載のコンピュータ読取可能な記録媒体。 - 前記第1のデータの組は第1のオーナーシップグループであり、前記第2のデータの組は第2のオーナーシップグループである、請求項124に記載のコンピュータ読取可能な記録媒体。
- 前記サブセットはオーナー組である、請求項124に記載のコンピュータ読取可能な記録媒体。
- 複数のデータベースサーバによって直接アクセス可能であるデータベースへのアクセスを管理するための命令の1つ以上のシーケンスを記録するコンピュータ読取可能な記録媒体であって、前記1つ以上のプロセッサによる命令の前記1つ以上のシーケンスの実行は、前記1つ以上のプロセッサに、
前記データベースのうちの少なくとも一部を特定のオーナーシップグループにパーティション化するステップと、
前記複数のオーナーシップグループのうちの少なくとも1つのオーナーシップグループにオーナー組を割当てるステップと、
各オーナーシップグループの前記オーナー組に属するデータベースサーバで実行するプロセスに、各オーナーシップグループ内のデータへ直接アクセスすることを許可するステップとを行なわせる、コンピュータ読取可能な記録媒体。 - 前記1つ以上のプロセッサによって実行された場合に、前記1つ以上のプロセッサに、
前記複数のオーナーシップグループの各オーナーシップグループに1つのオーナー組を割当てるステップを行なわせる命令をさらに含む、請求項134に記載のコンピュータ読取可能な記録媒体。 - 前記1つ以上のプロセッサによって実行された場合に、前記1つ以上のプロセッサに
特定のオーナーシップグループの前記オーナー組のメンバーであるデータベースサーバで実行するプロセスにのみ、前記特定のオーナーシップグループ内のデータへ直接アクセスすることを許可するステップを行なわせる命令をさらに含む、請求項134に記載のコンピュータ読取可能な記録媒体。 - 前記複数のオーナーシップグループのうちの少なくとも1つのオーナーシップグループは1つ以上のテーブルスペースを含む、請求項134に記載のコンピュータ読取可能な記録媒体。
- 前記1つ以上のテーブルスペースのうちの少なくとも1つのテーブルスペースはデータファイルの集まりである、請求項137に記載のコンピュータ読取可能な記録媒体。
- 前記1つ以上のプロセッサによって実行された場合に、前記1つ以上のプロセッサに
前記複数のオーナーシップグループのうちの少なくとも1つのオーナーシップグループを、シェアードナッシングオーナーシップグループとして指定するステップと、
少なくとも1つのシェアードナッシングオーナーシップグループに、前記複数のデータベースサーバの中からオーナーを割当てるステップと、
各シェアードナッシングオーナーシップグループの前記オーナーにのみ、前記シェアードナッシングオーナーシップグループ内のデータへ直接アクセスすることを許可するステップとを行なわせる命令をさらに含む、請求項134に記載のコンピュータ読取可能な記録媒体。 - 前記1つ以上のプロセッサによって実行された場合に、前記1つ以上のプロセッサに、
前記複数のオーナーシップグループのうちの少なくとも1つのオーナーシップグループをシェアードディスクオーナーシップグループとして指定するステップと、
前記複数のデータベースサーバの各々に、シェアードディスクオーナーシップグループとして指定されたオーナーシップグループ内のデータへ直接アクセスすることを許可するステップとを行なわせる命令をさらに含む、請求項134に記載のコンピュータ読取可能な記録媒体。 - 前記1つ以上のプロセッサによって実行された場合に、前記1つ以上のプロセッサに、
前記複数のオーナーシップグループの各オーナーシップグループを、シェアードナッシングオーナーシップグループまたはシェアードディスクオーナーシップグループのいずれかとして指定するステップと、
各シェアードナッシングオーナーシップグループに前記複数のデータベースサーバの中から単一のオーナーを割当てるステップとを行なわせる命令をさらに含む、請求項134に記載のコンピュータ読取可能な記録媒体。 - 前記1つ以上のプロセッサによって実行された場合に、前記1つ以上のプロセッサに、
前記複数のオーナーシップグループのうちの少なくとも1つのオーナーシップグループを、複数のタイプのオーナーシップグループの特定のタイプのオーナーシップグループとして指定するステップを行なわせる命令をさらに含む、請求項134に記載のコンピュータ読取可能な記録媒体。 - 前記1つ以上のプロセッサによって実行された場合に、前記1つ以上のプロセッサに、
指定されたオーナーシップグループの前記タイプを変更するステップを行なわせる命令をさらに含む、請求項142に記載のコンピュータ読取可能な記録媒体。 - 前記1つ以上のプロセッサによって実行された場合に、前記1つ以上のプロセッサに、
前記複数のオーナーシップグループのうちの少なくとも1つのオーナーシップグループを、前記複数のタイプのオーナーシップグループの第1のタイプのオーナーシップグループとして指定するステップと、
前記複数のオーナーシップグループのうちの少なくとも1つのオーナーシップグループを、前記複数のタイプのオーナーシップグループの第2のタイプのオーナーシップグループとして指定するステップとを行なわせる命令をさらに含む、請求項142に記載のコンピュータ読取可能な記録媒体。 - 前記第1のタイプのオーナーシップグループはシェアードナッシングオーナーシップグループであり、
前記第2のタイプのオーナーシップグループはシェアードディスクオーナーシップグループである、請求項144に記載のコンピュータ読取可能な記録媒体。 - 前記1つ以上のプロセッサによって実行された場合、前記1つ以上のプロセッサに、
前記複数のオーナーシップグループの各オーナーシップグループを、シェアードナッシングオーナーシップグループまたはシェアードディスクオーナーシップグループのいずれかとして指定するステップを行なわせる命令をさらに含む、請求項145に記載のコンピュータ読取可能な記録媒体。 - 前記1つ以上のプロセッサによって実行された場合に、前記1つ以上のプロセッサに、
前記複数のタイプのオーナーシップグループのうちの少なくとも1つのタイプのオーナーシップグループに対して、前記複数のデータベースサーバの1つのデータベースサーバのみを、前記少なくとも1つのタイプのオーナーシップグループとして指定された各オーナーシップグループごとの前記オーナー組において許可するステップを行なわせる命令をさらに含む、請求項142に記載のコンピュータ読取可能な記録媒体。 - 前記1つ以上のプロセッサによって実行された場合に、前記1つ以上のプロセッサに、
前記複数のタイプのオーナーシップグループのうちの少なくとも1つのタイプのオーナーシップグループに対して、前記複数のデータベースサーバの各データベースサーバを、前記少なくとも1つのタイプのオーナーシップグループとして指定されたオーナーシップグループごとの前記オーナー組に含めるステップを行なわせる命令をさらに含む、請求項142に記載のコンピュータ読取可能な記録媒体。 - 前記1つ以上のプロセッサによって実行された場合に、前記1つ以上のプロセッサに、
前記複数のタイプのオーナーシップグループのうちの少なくとも1つのタイプのオーナーシップグループに対して、少なくとも2つであって、かつ前記複数のデータベースサーバのすべてのデータベースサーバよりも少ない数のデータベースサーバを、前記少なくとも1つのタイプのオーナーシップグループとして指定されたオーナーシップグループごとの前記オーナー組に含めるステップを行なわせる命令をさらに含む、請求項142に記載のコンピュータ読取可能な記録媒体。 - 前記複数のデータベースサーバの第1のデータベースサーバは、特定のオーナー組に割当てられた特定のオーナーシップグループに含まれるデータを所望し、
もし前記第1のデータベースサーバが前記特定のオーナー組に含まれていれば、前記第1のデータベースサーバで実行するプロセスは前記データを直接検索し、
もし前記第1のデータベースサーバが前記特定のオーナー組に含まれていなければ、前記第1のデータベースサーバで実行する前記プロセスは、前記特定のオーナー組に含まれる前記複数のデータベースサーバの第2のデータベースサーバに要求して前記データを受取る、請求項134に記載のコンピュータ読取可能な記録媒体。 - 前記特定のオーナーシップグループはシェアードディスクオーナーシップグループであり、前記特定のオーナー組は前記複数のデータベースサーバを含み、前記第1のデータベースサーバで実行する前記プロセスは前記データを直接検索する、請求項150に記載のコンピュータ読取可能な記録媒体。
- 前記特定のオーナーシップグループはシェアードナッシングオーナーシップグループであり、前記複数のデータベースサーバの前記第2のデータベースサーバは、前記特定のオーナー組内の唯一のデータベースサーバである、請求項150に記載のコンピュータ読取可能な記録媒体。
- 前記特定のオーナーシップグループはシェアードナッシングオーナーシップグループであり、前記複数のデータベースサーバの前記第1のデータベースサーバは、前記特定のオーナー組内の唯一のデータベースサーバである、請求項150に記載のコンピュータ読取可能な記録媒体。
- 前記1つ以上のプロセッサによって実行された場合に前記1つ以上のプロセッサに、
前記複数のオーナーシップグループのうちの少なくとも1つのオーナーシップグループに、前記複数のデータベースサーバの中からオーナーを割当てるステップと、
前記少なくとも1つのオーナーシップグループに対する前記オーナーを、前記複数のデータベースサーバの第1のデータベースサーバから、前記複数のデータベースサーバの第2のデータベースサーバに再割当てするステップとを行なわせる命令をさらに含む、請求項134に記載のコンピュータ読取可能な記録媒体。 - 前記少なくとも1つのオーナーシップグループはシェアードナッシングオーナーシップグループである、請求項154に記載のコンピュータ読取可能な記録媒体。
- 前記少なくとも1つのオーナーシップグループに対する前記オーナー組を再割当てする前記ステップは、要求に応答して行なわれる、請求項154に記載のコンピュータ読取可能な記録媒体。
- 前記少なくとも1つのオーナーシップグループに対する前記オーナー組を再割当てする前記ステップは、前記第1のデータベースサーバの障害に応答して自動的に行なわれる、請求項154に記載のコンピュータ読取可能な記録媒体。
- 前記1つ以上のプロセッサによって実行された場合に前記1つ以上のプロセッサに、
前記特定のオーナーシップグループ内のデータの新しいバージョンの生成を中止するよう前記複数のデータベースサーバに命令するステップと、
第1のオーナー組を介して前記データにアクセスするすべてのトランザクションが完遂しているかまたは打切られている場合に、前記特定のオーナーシップグループのオーナーシップを示すデータを変更して、第2のオーナー組が前記特定のオーナーシップグループの前記オーナーであることを示すステップとを行なうことにより、
前記特定のオーナーシップグループを前記第1のオーナー組から前記第2のオーナー組に遷移させるステップを行なわせる命令をさらに含む、請求項134に記載のコンピュータ読取可能な記録媒体。 - 前記1つ以上のプロセッサによって実行された場合に前記1つ以上のプロセッサに、
前記特定のオーナーシップグループを、前記第1のオーナー組から前記第2のオーナー組へ遷移させることにおける障害に応答して、
前記障害は前記特定のオーナーシップグループのオーナーシップを示す前記データの変更前に生じたか否かを判断するステップと、
もし前記障害が前記特定のオーナーシップグループのオーナーシップを示す前記データの変更前に生じていれば、前記第1のオーナー組を前記特定のオーナーシップグループのオーナーとして復元するステップと、
もし前記障害が前記特定のオーナーシップグループのオーナーシップを示す前記データの変更後に生じていれば、前記第2のオーナー組を前記特定のオーナーシップグループのオーナーとして保持するステップとを実行させる命令をさらに含む、請求項158に記載のコンピュータ読取可能な記録媒体。 - 問合せが前記データベース内に含まれ、前記問合せは第1のオーナー組を参照する実行プランと関連付けられ、前記1つ以上のプロセッサによって実行された場合に前記1つ以上のプロセッサに、
特定のオーナーシップグループを前記第1のオーナー組から前記第2のオーナー組に遷移させるステップと、
前記特定のオーナーシップグループを前記第1のオーナー組から前記第2のオーナー組に遷移させた後で、前記第2のオーナー組を参照する新しい実行プランを生成するステップとを行なわせる命令をさらに含む、請求項134に記載のコンピュータ読取可能な記録媒体。 - 前記1つ以上のプロセッサによって実行された場合に、前記1つ以上のプロセッサに、
前記複数のデータベースサーバによる前記データ項目へのアクセスをディスエーブルするステップと、
前記データ項目にアクセスするすべてのトランザクションが完遂しているかまたは打切られている場合、前記データ項目がどのオーナーシップグループに属するかを示すデータを変更して、前記データ項目が第2のオーナーシップグループに属することを示すステップとを行なうことにより、
前記データ項目を第1のオーナーシップグループから前記第2のオーナーシップグループに再割当てするステップを行なわせる命令をさらに含む、請求項134に記載のコンピュータ読取可能な記録媒体。 - 前記1つ以上のプロセッサによって実行された場合に、前記1つ以上のプロセッサに、
第1のデータを変更して前記データ項目がどのオーナーシップグループに属するかを示すステップと、
前記第1のデータを変更する前に、第2のデータを変更して前記データ項目がどのオーナーシップグループに属するかを示すステップとを行なわせる命令をさらに含む、請求項161に記載のコンピュータ読取可能な記録媒体。 - 前記第1のデータは制御ファイル内にあり、前記第2のデータはデータ辞書内にある、請求項162に記載のコンピュータ読取可能な記録媒体。
- 前記1つ以上のプロセッサによって実行された場合に前記1つ以上のプロセッサに
前記データ項目を、前記第1のオーナーシップグループから前記第2のオーナーシップグループに再割当てすることの障害に応答して、
前記障害が前記第2のデータの変更前に生じたか否かを判断するステップと、
もし前記障害が前記第2のデータの変更前に生じていれば、前記第1のオーナーシップグループに対して前記データ項目を復元するステップと、
もし前記障害が前記第2のデータの変更後に生じていれば、前記第1のデータを変更することにより前記データ項目の前記第1のオーナーシップグループから前記第2のオーナーシップグループへの前記再割当てを完了するステップとを行なわせる命令をさらに含む、請求項162に記載のコンピュータ読取可能な記録媒体。 - 前記1つ以上のプロセッサによって実行された場合に前記1つ以上のプロセッサに、
前記第2のオーナーシップグループがオーナーシップ変更を受けているか否かを判断するステップと、
もし前記第2のオーナーシップグループがオーナーシップ変更を受けていれば、前記データ項目を移動遅延としてマークするステップとを行なわせる命令をさらに含む、請求項161に記載のコンピュータ読取可能な記録媒体。 - データ項目のオーナーシップを第1のオーナー組から第2のオーナー組に遷移させるための命令の1つ以上のシーケンスを記録するコンピュータ読取可能な記録媒体であって、1つ以上のプロセッサによる命令の1つ以上のシーケンスの実行は、前記1つ以上のプロセッサに
複数のデータベースサーバに、前記データ項目が前記第1のオーナー組から前記第2のオーナー組に遷移されていることを通知するステップと、
前記複数のデータベースサーバに通知した後で、前記第1のオーナー組のメンバーおよび前記第2のオーナー組のメンバーに前記データ項目に直接アクセスすることを許可するステップと、
前記第1のオーナー組を介して前記データ項目にアクセスするすべてのトランザクションが完遂しているかまたは打切られている時を検出するステップと、
前記第1のオーナー組を介して前記データ項目にアクセスするすべてのトランザクションが完遂しているかまたは打切られている時を検出した後で、
前記第2のオーナー組は前記データ項目の排他的オーナーであることを示すデータを記憶するステップ、および、
前記オーナー組のメンバーにのみ前記データ項目へ直接アクセスすることを許可するステップを実行するステップ、とを行なわせる命令をさらに含む、コンピュータ読取可能な記録媒体。 - 前記第1のオーナー組を介して前記データ項目にアクセスするすべてのトランザクションが完遂しているかまたは打切られている時を検出するための前記命令は、1つ以上のプロセッサによって実行された場合に、前記1つ以上のプロセッサに、
前記通知するステップの前に実行を開始したすべてのトランザクションが完遂しているかまたは打切られている時を検出するステップを行なわせる命令をさらに含む、請求項166に記載のコンピュータ読取可能な記録媒体。 - 前記データ項目が前記第1のオーナー組から前記第2のオーナー組に遷移していることを前記複数のデータベースサーバに通知するための前記命令は、1つ以上のプロセッサによって実行された場合に、前記1つ以上のプロセッサに、
前記複数のデータベースサーバにリフレッシュキャッシュメッセージを送るステップを行なわせる命令をさらに含む、請求項166に記載のコンピュータ読取可能な記録媒体。 - 前記1つ以上のプロセッサによって実行された場合に、前記1つ以上のプロセッサに、
前記複数のデータベースサーバに通知する前に、前記第1のオーナー組および前記第2のオーナー組を識別し、かつ前記データ項目のオーナーが遷移していることを示すデータを記憶するステップを行なわせる命令をさらに含む、請求項166に記載のコンピュータ読取可能な記録媒体。 - 前記第1のオーナー組および前記第2のオーナー組のメンバーに前記データ項目へ直接アクセスすることを許可するための前記命令は、1つ以上のプロセッサによって実行された場合に前記1つ以上のプロセッサに
もし前記複数のデータベースサーバの特定のデータベースサーバが、前記データ項目が前記第1のオーナー組から前記第2のオーナー組へ遷移されていることを通知される前にトランザクションを開始すれば、前記第1のオーナー組が前記データ項目のオーナーであるかのように前記トランザクションを処理するステップと、
もし前記複数のデータベースサーバの前記特定のデータベースサーバが、前記データ項目が前記第1のオーナー組から前記第2のオーナー組へ遷移されていることを通知された後で前記トランザクションを開始すれば、前記第2のオーナー組が前記データ項目のオーナーであるかのように前記トランザクションを処理するステップとを行なわせる命令をさらに含む、請求項166に記載のコンピュータ読取可能な記録媒体。 - シェアードディスクロック機構は、
前記第1のオーナー組のメンバーおよび前記第2のオーナー組のメンバーに前記データ項目へ直接アクセスすることを許可するステップと、
前記第2のオーナー組のメンバーにのみ前記データ項目へ直接アクセスすることを許可するステップとを行なう、請求項166に記載のコンピュータ読取可能な記録媒体。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2001/020842 WO2003003252A1 (en) | 1998-02-12 | 2001-06-28 | Partitioning ownership of a database among different database servers to control access to the database |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007047852A Division JP4664931B2 (ja) | 2007-02-27 | 2007-02-27 | データベースへのアクセスを制御するための異なったデータベースサーバ間のデータベースのオーナーシップのパーティション化 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2004531005A true JP2004531005A (ja) | 2004-10-07 |
JP2004531005A5 JP2004531005A5 (ja) | 2006-01-05 |
JP4746838B2 JP4746838B2 (ja) | 2011-08-10 |
Family
ID=28038554
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003509358A Expired - Lifetime JP4746838B2 (ja) | 2001-06-28 | 2001-06-28 | データベースへのアクセスを制御するための異なったデータベースサーバ間のデータベースのオーナーシップのパーティション化 |
Country Status (6)
Country | Link |
---|---|
EP (3) | EP2562662B1 (ja) |
JP (1) | JP4746838B2 (ja) |
CN (1) | CN100517303C (ja) |
AU (1) | AU2001271680B2 (ja) |
CA (1) | CA2435388C (ja) |
HK (1) | HK1059971A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023033153A1 (ja) * | 2021-09-03 | 2023-03-09 | 株式会社Scalar | トランザクション処理システム及び方法 |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6850941B1 (en) | 2000-12-21 | 2005-02-01 | Vignette Corporation | Method and system for native-byte form handling |
US7120651B2 (en) | 2003-08-01 | 2006-10-10 | Oracle International Corporation | Maintaining a shared cache that has partitions allocated among multiple nodes and a data-to-partition mapping |
US7277897B2 (en) | 2003-08-01 | 2007-10-02 | Oracle International Corporation | Dynamic reassignment of data ownership |
CN100429622C (zh) * | 2003-08-01 | 2008-10-29 | 甲骨文国际公司 | 数据管理方法 |
US7139772B2 (en) | 2003-08-01 | 2006-11-21 | Oracle International Corporation | Ownership reassignment in a shared-nothing database system |
US8234517B2 (en) * | 2003-08-01 | 2012-07-31 | Oracle International Corporation | Parallel recovery by non-failed nodes |
US7814065B2 (en) | 2005-08-16 | 2010-10-12 | Oracle International Corporation | Affinity-based recovery/failover in a cluster environment |
US8510334B2 (en) | 2009-11-05 | 2013-08-13 | Oracle International Corporation | Lock manager on disk |
US8375056B2 (en) * | 2010-02-26 | 2013-02-12 | International Business Machines Corporation | Optimizing data cache when applying user-based security |
EP2633462B1 (en) * | 2010-10-27 | 2019-08-07 | Max-Planck-Gesellschaft zur Förderung der Wissenschaften e.V. | Protecting data integrity with storage leases |
US8924514B2 (en) | 2010-10-29 | 2014-12-30 | Htc Corporation | Method of performing service group owner transfer procedure in communication system |
WO2012139008A1 (en) * | 2011-04-08 | 2012-10-11 | Andrew Liebman | Systems, computer readable storage media, and computer implemented methods for project sharing |
US20140032595A1 (en) * | 2012-07-25 | 2014-01-30 | Netapp, Inc. | Contention-free multi-path data access in distributed compute systems |
US8838535B2 (en) * | 2012-10-05 | 2014-09-16 | Oracle International Corporation | Providing services across systems that manage distributed replicas |
KR101451280B1 (ko) * | 2012-10-16 | 2014-10-16 | 케이티하이텔 주식회사 | 분산형 데이터베이스 관리 시스템 및 방법 |
US9906410B2 (en) | 2014-09-29 | 2018-02-27 | Netapp, Inc. | Dynamic data access configuration |
CN107660293B (zh) * | 2015-04-20 | 2022-04-26 | 欧吉达克斯公司 | 物权电子凭证(edt)的分布式管理方法及其系统 |
CN105608190B (zh) * | 2015-12-23 | 2020-02-28 | 福建亿榕信息技术有限公司 | 协同数据处理方法和系统 |
CN105608185B (zh) * | 2015-12-23 | 2020-02-28 | 福建亿榕信息技术有限公司 | 预防数据灭失的方法和系统 |
US9619952B1 (en) * | 2016-02-16 | 2017-04-11 | Honeywell International Inc. | Systems and methods of preventing access to users of an access control system |
CN107783842B (zh) * | 2016-08-31 | 2021-09-03 | 阿里巴巴集团控股有限公司 | 一种分布式锁实现方法、设备及存储装置 |
CN106376034B (zh) * | 2016-10-19 | 2020-02-11 | 深圳市晟碟半导体有限公司 | 快速获取无线Mesh网络内设备的状态的方法和系统 |
US11640317B2 (en) * | 2019-03-11 | 2023-05-02 | Qualcomm Incorporated | Hardware co-ordination of resource management in distributed systems |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IL99923A0 (en) * | 1991-10-31 | 1992-08-18 | Ibm Israel | Method of operating a computer in a network |
US5625811A (en) * | 1994-10-31 | 1997-04-29 | International Business Machines Corporation | Method and system for database load balancing |
EP0842464B1 (en) * | 1995-07-21 | 2002-02-27 | Emc Corporation | Dynamic load balancing |
US5907849A (en) * | 1997-05-29 | 1999-05-25 | International Business Machines Corporation | Method and system for recovery in a partitioned shared nothing database system using virtual share disks |
US6594698B1 (en) * | 1998-09-25 | 2003-07-15 | Ncr Corporation | Protocol for dynamic binding of shared resources |
US6341340B1 (en) * | 1998-12-28 | 2002-01-22 | Oracle Corporation | Transitioning ownership of data items between ownership groups |
-
2001
- 2001-06-28 EP EP12179800.3A patent/EP2562662B1/en not_active Expired - Lifetime
- 2001-06-28 EP EP04028402A patent/EP1521184A3/en not_active Ceased
- 2001-06-28 JP JP2003509358A patent/JP4746838B2/ja not_active Expired - Lifetime
- 2001-06-28 CA CA002435388A patent/CA2435388C/en not_active Expired - Lifetime
- 2001-06-28 AU AU2001271680A patent/AU2001271680B2/en not_active Expired
- 2001-06-28 CN CNB018228445A patent/CN100517303C/zh not_active Expired - Lifetime
- 2001-06-28 EP EP01950713A patent/EP1399847B1/en not_active Expired - Lifetime
-
2004
- 2004-04-06 HK HK04102447.1A patent/HK1059971A1/xx not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023033153A1 (ja) * | 2021-09-03 | 2023-03-09 | 株式会社Scalar | トランザクション処理システム及び方法 |
Also Published As
Publication number | Publication date |
---|---|
EP2562662B1 (en) | 2019-08-21 |
CA2435388C (en) | 2008-12-09 |
CA2435388A1 (en) | 2003-01-09 |
EP1521184A3 (en) | 2006-02-22 |
EP1521184A2 (en) | 2005-04-06 |
JP4746838B2 (ja) | 2011-08-10 |
EP2562662A2 (en) | 2013-02-27 |
CN100517303C (zh) | 2009-07-22 |
EP2562662A3 (en) | 2015-03-18 |
HK1059971A1 (en) | 2004-07-23 |
CN1505788A (zh) | 2004-06-16 |
EP1399847A1 (en) | 2004-03-24 |
EP1399847B1 (en) | 2013-01-16 |
AU2001271680B2 (en) | 2007-04-26 |
EP1399847A4 (en) | 2005-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6711571B2 (en) | Partitioning ownership of a database among different database servers to control access to the database | |
US6341340B1 (en) | Transitioning ownership of data items between ownership groups | |
JP4746838B2 (ja) | データベースへのアクセスを制御するための異なったデータベースサーバ間のデータベースのオーナーシップのパーティション化 | |
US5920872A (en) | Resource management using resource domains | |
US6587921B2 (en) | Method and apparatus for cache synchronization in a clustered environment | |
EP1652082B1 (en) | Ownership reassignment in a shared-nothing database system | |
AU2001271680A1 (en) | Partitioning ownership of a database among different database servers to control access to the database | |
US7933882B2 (en) | Dynamic cluster database architecture | |
US6237001B1 (en) | Managing access to data in a distributed database environment | |
US7814065B2 (en) | Affinity-based recovery/failover in a cluster environment | |
US20100318584A1 (en) | Distributed Cache Availability During Garbage Collection | |
CN100565460C (zh) | 用于管理数据的方法 | |
JP2006508459A (ja) | nウェイ共用ストレージ・システムにおけるフラッシュ・コピーのためのハイパフォーマンス・ロック管理 | |
US20030236950A1 (en) | Distributed storage cache coherency system and method | |
JP4664931B2 (ja) | データベースへのアクセスを制御するための異なったデータベースサーバ間のデータベースのオーナーシップのパーティション化 | |
US6298419B1 (en) | Protocol for software distributed shared memory with memory scaling | |
US20040107176A1 (en) | Method and apparatus for providing storage control in a network of storage controllers | |
Rahm | Use of global extended memory for distributed transaction processing | |
WO2003003252A1 (en) | Partitioning ownership of a database among different database servers to control access to the database | |
JPH04130936A (ja) | ファイル同時アクセス制御方式 | |
JPH0683702A (ja) | データ転送及びデータ除去のための制御方法並びにコンピュータ・システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040722 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041001 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041124 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060829 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20061128 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20061205 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070227 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080325 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20080624 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20080701 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080925 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20081216 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090414 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20090427 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20090703 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110325 |
|
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: 20110516 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140520 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4746838 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |