JP2002530776A - 並行的なdbmsテーブル操作のための装置及び方法 - Google Patents

並行的なdbmsテーブル操作のための装置及び方法

Info

Publication number
JP2002530776A
JP2002530776A JP2000584387A JP2000584387A JP2002530776A JP 2002530776 A JP2002530776 A JP 2002530776A JP 2000584387 A JP2000584387 A JP 2000584387A JP 2000584387 A JP2000584387 A JP 2000584387A JP 2002530776 A JP2002530776 A JP 2002530776A
Authority
JP
Japan
Prior art keywords
tables
threads
database
data
computer
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.)
Pending
Application number
JP2000584387A
Other languages
English (en)
Inventor
ロシタ ミルザデー
Original Assignee
コンピュータ アソシエイツ シンク,インコーポレイテッド
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 コンピュータ アソシエイツ シンク,インコーポレイテッド filed Critical コンピュータ アソシエイツ シンク,インコーポレイテッド
Publication of JP2002530776A publication Critical patent/JP2002530776A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99938Concurrency, e.g. lock management in shared database
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation

Abstract

(57)【要約】 【課題】 データベース管理を高速化する方法及び装置を提供する。 【解決手段】 データベース・テーブルが、データベースを維持する別個の記憶装置(310)上に位置するいくつかのエクスポート・デイレクトリイ(320)に対応するいくつかのスレッド(400)によりアンロードされる。各スレッドはアンロード(420)するためにデータベース・テーブルに割当てられる。各データベース・テーブルからアンロードされたデータは対応するエクスポート・デイレクトリイ(320)に記憶される。データは、各テーブルからデータ・ブロックを読出し、そしてデータ・ログをエクスポート・デイレクトリイ(320)内に記憶することにより、各データベース・テーブルからアンロードされる。各スレッドは対称的複数(SMP)環境において別個の処理で処理される。処理は各データベース・テーブルがアンロードされるまで繰返される。データは、スレッド数に対応したある数の一時的テーブルを生成し、エクスポート・デイレクトリイ内に記憶された1組のデータを読出し、そして一時的テーブル内にデータを記憶することにより、データベース・テーブル内にロードされる。

Description

【発明の詳細な説明】
【0001】 発明の背景 発明の属する技術分野 本発明はデータベース・テーブルのアンロード及びロードする処理に関する。
本発明はより詳細には、データベース・テーブルがアンロード及びロードされる
速度を増加させるための並列処理技術の応用に関する。さらに本発明は、対称的
複数処理(SMP)環境におけるデータベースのアンロード及びロードに適用さ
れる並列処理技術に関する。
【0002】 背景の技術 現代のデータベース管理は、増加的により大きなデータ記憶を維持することが
要求されている。データベースの増加された大きさに加えて、現代のデータベー
ス内部の構造は増加的に複雑になっている。
【0003】 典型的に、データベースはテーブル形式でデータを維持する。各テーブルは関
係するデータの1つ又は複数の行を維持する。一例として、基本的なデータベー
スのテーブルは例えば、組織に属する個人の名前、社会保証番号、住所、及び電
話番号を有する複数の行を維持できる。
【0004】 データベースは、組織が新しいメンバーを追加する時、大きさが増加し、そし
てメンバーについて追加の情報が含まれる時、大きさと複雑さの両方が増大する
であろう。例えば、より大きな及びより複雑なデータベースは上記情報に加えて
、おそらく図形形式の、クラブのメンバーの住居を示す地図を含むことができる
。データベースはまた、勤務先住所及び勤務先の場所を示す追加の図形的な地図
を含むことにより大きさと複雑さを増加できる。
【0005】 データベース・テーブルは、データベースの他のテーブル又は行へのポインタ
ーを維持することにより複雑さを増すことができる。例えば、別のテーブルに維
持される同僚の組へのポインター、近接の組織メンバーへのポインター、又は追
加のメンバー・データが維持されるところのどんなメンバー項目へのポインター
である。
【0006】 通常のデータベース管理システム(DBMS)は、ブロックを割当てることに
より、データベース・テーブルを構築するための空間を与える。一旦、テーブル
が定義されると、DBMSは関係するデータの行を記憶するために必要なブロッ
クを割当てる。例えば、もし100,000行を含むテーブルが構築され、そし
てブロック当り100行が適合できるようにテーブルの行が定義されていると、
DBMSはテーブルを構築するために1,000ブロックを割当てるであろう。
【0007】 一般に、DBMSシステムは隣接したブロックの組内にブロックを割当てる。
割当てられたブロックの隣接する組は普通はエクステント(存続範囲)と呼ばれ
る。一般的に、エクステントの大きさは変化する。上記例を使用すると、DBM
Sは1,000ブロックの1つのエクステント、500ブロックの2つのエクス
テント、又はテーブルを構築するため必要な1,000ブロックを割当てるため
のエクステントの大きさのどんな他の組合せも使用できる。一旦、必要なブロッ
クが割当てられると、割当てられたブロックを利用してデータがテーブル内の行
内に記憶される。
【0008】 時間の経過につれて、追加のデータテーブルに追加され、そしてDBMSは必
要に応じて追加のブロックを割当てる。例えば、もしユーザがテーブルに250
行を追加すれば、上記パラメータを使用して、追加的な3ブロックが割当てられ
る必要がある。
【0009】 時間の経過につれて、データベース内の情報が削除されるであろう。この場合
、行の削除はテーブルから行を削除するためにSQLの使用を通じて生ずる。例
えば、ユーザはブロック1から50行を、ブロック20から40行を、そしてブ
ロック60から30行を削除できる。これが発生した時、それはテーブル内に存
在するデータを維持するのに必要なものよりも、より多くのブロックをテーブル
内に存在させる。
【0010】 これに加え、データベース内のデータは更新されるであろう。例えば、上記の
データベース・テーブルを使用して、作業要員として入れられていない組織メン
バーは、彼/彼女の名前、アドレス、社会保証番号及び電話番号を維持したテー
ブル内に割当てられた行を有するであろう。作業要員に入る際、行は勤務先住所
と関係情報を含むために更新されるであろう。しかし、もし、更新の結果して実
質的な量の情報が追加されると、元の行は更新された情報を維持するために十分
な割り当てられたデータのブロックを持たないであろう。
【0011】 行が更新されて、元の行が更新された情報の全てを保持するための十分な空間
を有しない時、行移動が生ずる。これが発生すると、行はより多くの空間を持つ
位置に移動し、そして元の行が存在したブロック内にポインタが置かれ、ポイン
タは動かされた(移動した)行の位置を示すために設定される。もし、テーブル
への顕著な更新が存在し、そして不十分な量の空間が元の行に割当てられていた
場合、大量の行移動が生ずる。
【0012】 しばしば、更新された行を保持するためにブロック内に不十分な空間しかない
。この場合、行は元の行が存在していた所から完全に異なるブロックへ移動され
、そしてポインタが元の行の位置に置かれて異なるブロック内の更新された行を
示す。
【0013】 行が移動する時は何時でも、断片化として知られているものを生ずる。断片化
は、ブロックを読むことに加えて、ポインタが読まれて、解釈されなければいけ
ないため、データベース情報の検索時間を非常に増加させる。行が別のブロック
に移動された時、少なくとも2つのブロック(ポインタを含むブロックと移動さ
れた/断片化された行を含むブロック)が行特有情報を検索するために読まれな
ければならない。データベース・テーブル内の他の構造的変化はまた、断片化を
生じ、そして関連した効率問題を使用ずる(例えば、行チエイニング)。
【0014】 時々、データベース・アドミニストレータ(DBA)は、テーブルの状態に関
する情報を提供するDBMSテーブルの解析を実行する。例えば、データベース
・アドミニストレータは、いくつのブロックが削除した行を保持しているかに関
して、効率性情報を確認するために、削除された行の数に関する情報を見るであ
ろう。別の例として、データベース・アドミニストレータはテーブルのどの位の
数が他のプロセスにより移動されたか又は断片化されたかを見るであろう。
【0015】 もし、多くの断片化が生じた場合、ブロック大きさ及び行空間はより効率的に
割り当てることができ、テーブル・データは効率的に検索されていないことを示
す。これが発生した時、データベース・アドミニストレータはテーブルを再構築
することを決意するであろう。
【0016】 テーブルを生成する時、DBAはブロック・フリー(PCTFREE)のパー
センテイジ(PCTFREE)又は使用されたブロックのパーセンテイジ(PC
TUSED)を設定することにより、データベース・テーブルの構造に関する決
定を行なう。DBMSが各ブロックを行又はテーブル情報で満たす時、それブロ
ック・フリーのパーセンテイジを少なくともパーセンテイジPCTFREEに等
しく保つ。
【0017】 DBAはデータベース・テーブルがどのようにして使用されるかに応じてPC
TFREE変数を設定する。例えば、もしテーブルが更新をしばしば有する時は
、どんな必要な行移動も同じブロック内で発生することを可能にするため十分な
空間を利用可能にするために、追加のPCTFREEが設定されるであろう。上
述したように、同じブロック内の行移動はテーブルを断片化しない。移動される
が断片化されない行は、単一のブロック読取りで検索できる。これに対し、移動
された行が断片化された時は、ブロックを読取り、ポインタを解釈し、そして第
2ブロック(又はそれよりも多く)を読み出す煩瑣な工程が生じる。従って、適
当なPCTFREE設定は、データベース・テーブルは修正されるけれど、DB
MS性能を維持することを可能にする。
【0018】 PCTUSEDは、DBAがDBMSテーブルの構造を制御することを可能に
する別のパラメータである。DBMSは、そのブロックのパーセンテイジがPC
TUSED以下に落ちていなければ、追加の行がブロック内に置かれることを防
ぐ。PCTUSEDは、もし更新があればブロックが使用されるけれども、それ
はブロック内で使用されたパーセンテイジがPCTUSED以下でなければ、新
しい行を挿入するために使用されないという意味において、PCTFREEとは
異なる。
【0019】 時間中、重いOLTP活動(挿入、更新及び削除)に関与するDBMSテーブ
ルは、行移動、断片化、行チエイニング等を経験する可能性が高い。さらに、さ
まざまなデータベース・テーブルは必ずしも最初に構築された時に適当な設定(
例えば、PCTFREE、PCTUSED)を有していないかもしれない。又は
、データベース・テーブルの必要性が変化して、テーブルの追加の移動、削除、
又は断片化を生ずるかもしれない。これはデータ検索性能及び空間使用の劣化を
生ずる。
【0020】 DBAはテーブルがデータを効率的に記憶しているかどうかを決定するための
解析を実行するであろう。この結果、1つ又は複数のDBMSテーブルはデータ
を記憶し検索するのに非効率的であると決定されるであろう。テーブルの再編成
化(再構築)はこの問題の解決である。最大性能を達成するために、テーブルは
再構築される必要がある(すなわち、データが二次的空間にアンロードされ、そ
してテーブルの新鮮なインスタンスが再構築される)。このプロセスは、断片化
された行はアンロードされ、断片化なく再構築されたテーブルに記憶されるので
、上述された好ましくない影響の多くを取り去る。
【0021】 構造的に健全なデータベースは、デイスク空間を有効に使用する。それはデー
タにアクセスするのに少ない時間を必要とし、通常のトランザクションに必要な
時間を減少し、ユーザへより良い応答時間を与える。オラクル及び他の現代のデ
ータベース・システムはデータ配置について効率的な論理を使用するけれど、時
間中の通常活動はデイスク上のデータの物理的な配置は、劣化を生じ空間要求が
増大する。これはテーブル走査、データベース・バックアップ、そして他の機能
に必要とされる過度の空間使用と多くの時間を生ずる。部分的に空のページと不
使用のエクステント空間は追加の空間使用に貢献する。また、非順序的行とエク
ステントのインターリービングは、もしそれらが定期的に解決されなければ重大
に性能を劣化する。
【0022】 データベースを効率的に維持する(生産性を増加する)ことを確保するための
1つの方法は、データベースのデータについて規則的に再編成化を実行すること
である。現在、DBMSテーブルを再編成化するための製品が入手可能である。
しかし、自動化された再編成化ツールでもっても、データベース・テーブルの再
編成化は実質的な利用の時間を必要とする。再編成化を実行するのに必要な時間
は、データベース・アクセスを必要とするお店の生産性又は収入に実質的な影響
を与える。例えば、いくつかの店は、データベースがオフラインの時、一時間に
おおよそ100,000ドルのコストを招く(例えば、1997年12月号のオ
ラクル・マガジン、「非停止店舗の再編成」を参照)。従って、再編成を実行す
る速度又は効率のどんな改良も利益と競争能力を増加させるであろう。
【0023】 発明の開示 本発明は、データベース・テーブルのアンロードとロードを支援する完全に並
列な操作を提供することの必要性を認識している。これはテーブルのアンロード
及びテーブルのロードの1つ又は両方のいずれかを実行するどんなデータベース
の動作の速度を増加する。
【0024】 従って、本発明の1つの目的は、並列データベース・テーブルのアンロードを
可能にする並列処理技術を提供することである。
【0025】 本発明の別の目的は、対称複数処理(SMP)環境での並列処理技術を使用し
たデータベース・テーブルのアンロード及びロードの方法を提供することである
【0026】 本発明のさらに別の目的は、データベース・テーブルの並列アンロード及びロ
ードのボトルネックを防ぐ方法を提供することである。
【0027】 本発明のさらに別の目的は、本発明の並列処理技術を使用することにより、デ
ータベースの再編成が実行される速度を実行することである。
【0028】 これら及びその他の目的は、データベース・テーブルの並列アンロードを実行
するための方法により達成される。この方法は、データベース・テーブルを処理
するための幾つかのスレッドを開始し、データベース・テーブルのそれぞれ1つ
を前記スレッドの対応するものに割当て、そして対応するスレッドのプロセスに
より各それぞれのデータベース・テーブルをアンロードするステップを含む。方
法は、テーブル・アンロード・プロセスが、データベース・テーブル・アンロー
ドの速度を実質的に改良するために、対称複数処理(SMP)環境を利用するこ
とを可能にする。
【0029】 本発明は、データベース・テーブル内にデータをロードするステップを含むテ
ーブル・データの並列ロードの方法を含む。この方法は、データベース・テーブ
ル内にデータをロードするためのXスレッドを決定し、X一時的テーブルを生成
し、各一時的テーブルはエクスポート・デイレクトリイ内に記憶された1組のデ
ータに対応し、各々の一時的テーブルをロードするためのSQL*LOADER
(商標)を開始し、そして対応するSQL*LOADER(商標)プロセスを経
由して対応するエクスポート・デイレクトリイ内に記憶されたデータと共に各一
時的テーブルをロードするステップを含む。
【0030】 本発明とその付随する効果のより完全な理解は、以下の添付図面を参照した詳
細説明から容易に得られる。本発明の実施の形態の詳細な説明 TS再編成における並行アンロード/ロード選択 本発明者は新規な並行アンロード/ロード方法を開発した。この方法は、テー
ブル空間再編成の速度を増加するためにプラチナTS再編成V2.1.0内に導
入されるアンロード/ロード選択に使用される。以前は、TS再編成でテーブル
空間を再編成する最高速の方法は、並列直接ロード選択と一緒に高速アンロード
を使用することである。
【0031】 図を参照すると、いくつかの図を通じて同じ又は対応する部分が同様な参照番
号で示されている。図1は高速アンロード/ロード処理を説明するフローチャー
トである。ステップ100において、単一高速アンロード処理が各テーブルをア
ンロードする。そして、ステップ100a..110nがテーブルをロードする
のに使用される並列直接ロードを説明する。
【0032】 図2は高速アンロード処理説明するフロー図である。ステップ200において
、高速アンロードがテーブル上で実行される。高速アンロードはテーブルからデ
ータを読取り記憶する。ステップ210において、データベース内の次のテーブ
ルがアンロードされるべきかを決定し、そして処理が各テーブルがアンロードさ
れるまで繰返される。
【0033】 図1及び2の処理により説明されるように、並列直接ロードにおいて、一時に
1つのテーブルのみについて処理し、アンロードについて単一処理を、そしてロ
ードについて複数SQL*LOADER(商標、オラクルのユーテイリイテイ)
を順次に処理することにより、テーブルはアンロードされる。例えば、多数のテ
ーブルを含んだテーブル空間をアンロードする時、TS再編成は次のテーブルを
処理することができる前に1つのテーブルが完全にアンロードされるのを待たな
ければならない。
【0034】 図3は、複数テーブルを並行的にアンロード(ステップ300)及びロード(
ステップ305)するために複数CPU装置をユーザが利用することを可能にす
る、本発明の並行アンロード/ロード選択を示す。テーブル空間が大きい及び小
さいテーブルの両方の組合せを含む時に、この方法は特に効率的である。そして
、TS再編成が1つの大きなテーブルをアンロート及びロードする間、それはま
たいくつかの小さいテーブルを同時的にアンロード及びロードすることができる
。本発明の原理は、複数の索引及び/又は制約条件を並行的に構築することに拡
張できる。
【0035】 本発明の並行的アンロード/ロード処理は、以下の特性を有する計算及びデー
タベース環境で最適に実行できる: (1)対称的複数処理(SMP)計算環境−適当な計算ハードウェアは複数の
CPUを含み、そして対称的複数処理環境を備えなければならない。ホスト装置
の対称的複数処理能力が高ければ高いほど、性能のポテンシャルはより高くなる
。複数プロセッサー計算機の1つの形式は、対称的複数プロセッサー計算機であ
る。SMP計算機は普通、2乃至16プロセッサーを有し、これらの全ては計算
機の単一メモリ源と共有された記憶装置を共有する。SMP能力は利用可能なプ
ロセッサの数に依存する。より多くのプロセッサを有すると、本発明はより多く
の質問とロードを並列に実行することを可能にする。
【0036】 (2)複数デイスクに横断したテータフアイル分割−再編成をアンロードする
ためのテーブル空間のデータフアイルは異なる物理的デイスク上に記憶されなけ
ればならない。この要件は本発明の並行的アンロード/ロード処理から完全な利
益を得るために必要とされる。
【0037】 (3)デイスク上の定義されたエクスポート・デイレクトリイ−並行的アンロ
ード/ロード選択のために使用されるスレッドの数は、エクスポート・デイレク
トリイの数に等しいか又はより少ない。これらのデイレクトリイは、別の物理的
デイスクに存在する時に最適に使用される。
【0038】 高SMP能力及び効率的並列動作でもってさえも、データ移動は物理記憶装置
の限定された帯域幅のため、ボトルネック又は不均一な速度減少を経験する。S
MPの少ない制限の1つは、物理デイスクが数多いCPUにより作られる同時的
読取り及び書込み要求を素早く処理できない時に発生する。
【0039】 割込みされるデータの別の源は、特に並列処理における、デイスク衝突である
。複数処理がデータベースにアクセスして変更しようと試みる時、デイスク・ヘ
ッドは一時に1つの処理の要求のみに応えることができ、他の操作を待たせる。
同じデイスクに同時にアクセスすることを試みる2つの処理のこの状況は、デイ
スク衝突と呼ばれる。デイスク衝突の結果はデータの詰り、又はボトルネックで
ある。
【0040】 並列処理はメモリとデイスクの間にデータを移動するために複数のCPUを使
用するため、数多くのCPUが待機又は割込み無しにデータを高速に移動できる
ように、定義された複数のデイスクを有することが重要である。
【0041】 ボトルネックを除去するための1つの方法は、複数のデイスクにデータを分割
することである。データの分割は、デイスクI/O帯域幅及びデイスク衝突の制
限的影響を減少するために、データを複数のデイスク・ドライブに横断してデー
タを物理的に分散する処理である。データ・エクスポートに対してより多くのデ
イスクを定義(分割)すると、I/Oボトルネックをより減少し、より高速の並
列操作が得られる。
【0042】 図4は、1つのエクスポート・デイスクを使用した並列処理を説明する。サー
バーの質問コーデイネータは質問を2つの分離した操作に分離するけれども、デ
イスク・ヘッドは一時に1つの走査の要求のみ対処でき、他の操作を待たせ、又
はボトルネックを生ずる。この例では、単一デイスクのI/O制限はサーバーの
並列処理特徴の目的を破る。この問題の解決は適当なデイスク割当てに依存する
【0043】 図5は、適当なデイスク割当て、及び複数のエクスポート・デイスク(分割さ
れたデータ)を使用した並列処理の実施の形態を説明する。並列処理は1つの処
理が他を待つというよりは同時的に実行される。 TS再編成において並行的スレッドわ使用する 本発明の並行的ロード/アンロード処理は、同時にアンロード/ロードされる
べきある数のテーブルを決定する定義されたある数のスレッドを使用する。換言
すれば、並行的スレッドの数は、TS再編成がアンロード及びロードのフェーズ
において開始する処理の数に等しい。これらの処理の各々は1つのテーブルに作
用する。
【0044】 定義されたスレッドの数はエクスポート・デイレクトリイの数により制限され
る。図6は、3つの別個のデイスク、310a、310b及び310cを有し、
各デイスクがデータフアイルを記憶し、そして各々がエクスポート・デイレクト
リイ320a、320b及び320cを有する、SMP計算環境を示す。この示
された環境において、並行的ロード/アンロードはテーブルをアンロードするた
めに3つのスレッド(エクスポート・デイレクトリイ当り1つ)を定義する。 並行的アンロード・フェーズ 図7は、本発明の並行的アンロード位相を示すフローチャートである。ステッ
プ400において、現在の計算環境で使用されるべきスレッドの数が決定される
。使用されるスレッドの数は、GUI又は他の入力装置を会してユーザより与え
られる。しかし、スレッドの数はまた別個のデイスク・ドライブに存在するエク
スポート・デイレクトリイの数に等しい最大値に制限される。例えば、TS再編
成は行き先タブ・プロパテイ・ページを使用して、テーブル空間再編成中(図8
を参照)に、アンロードされたデータ及び他のエクスポート・フアイルのための
位置を指定するエクスポート・デイレクトリイ・パスを入力し、変更し、又は削
除する。
【0045】 テーブル再編成のエクスポート・フェーズ中、再編成ユーテイリテイは、テー
ブル空間からテーブル・データとデータ記述言語(DDL)をアンロードし、そ
してそれを指定されたデイレクトリイにエクスポートする。エクスポートのため
のホスト・デイレクリイ・パスは再編成中のデータ及びアンロードされたDDL
のための位置を指定するデイレクリイ・パスである。
【0046】 行き先タブ・プロパテイ・ページは以下のことをするために使用される。 ・ホスト・エクスポート・デイレクトリイを追加する。 ・ホスト・エクスポート・デイレクトリイを削除する。 ・ホスト・エクスポート・デイレクリイを修正する。
【0047】 もしエクスポート・デイレクトリイ又はエクスポート・フアイル大きさ内の利
用可能な不十分な空間が、再編成ユーテイリテイがデータをアンローデイングし
ている時にulimitiに達すると、再編成ユーテイリテイは残りのデータを
次の指定されたエクスポート・デイレクトリイにエクスポートする。もし、他の
エクスポート・デイレクトリイが指定されていないと、TS再編成は再編成を実
行しない。
【0048】 これは大部分のUNIX(登録商標)プラットホームにおいて共通な2ギガバ
イト制限を取除く。圧縮されたフアイルは分割できないため、これは圧縮された
エクスポート方法(以下に説明する)には適用できない。
【0049】 ステップ410において、TS再編成は定義されたスレッドの数と同じ数の高
速アンロード処理を開始する。これは高速アンロード処理の第1組と呼ばれる。
【0050】 ステップ420において、テーブルが各プロセスに割当てられる。各高速アン
ロード処理は対応するスレッドにより実行され、そして割当てられたテーブルを
別個のエクスポート・デイレクトリイの1つにアンロードする(ステップ430
)。
【0051】 データがアンロードされるデイレクトリイを探すため、各スレッドは全てのエ
クスポート・デイレクトリイを検査し、そして生成されたエクスポート・フアイ
ルを収容できる最も小さい利用可能なデイレクトリイを選択する。このような方
法は、エクスポート・デイレクトリイに対して最適な適合を見つけ出すこととし
て、知られている。一旦、スレッドは最適なデイレクトリイを見付けると、それ
はそのデイレクトリイを要求し、そして次のスレッドは別を選択しなければなら
ない。
【0052】 他のアプリケーションが同じフアイル・システム上の空間を使用している場合
、スレッドはそのデータの全てをその選ばれた最適なデイレクトリイにロードし
ないかもしれない。もしこれが生ずると、再編成ユーテイリテイはエクスポート
・フアイルを複数のエクスポート・フアイルに分割し、そして別のエクスポート
・デイレクトリイ上に書き込むことを試みる。もし代替的なエクスポート・デイ
レクトリイが無ければ、又はデイスクが満杯であれば、スレッドは終了し、そし
て残りのスレッドの1つが残りのデータをアンロードする。
【0053】 ユーザは、ユーザのエクスポート・フアイルの大きさを、これらのフアイルの
ためにエクスポート・デイレクトリイ内に十分な空間を割当てるために、推定で
きる。エクスポート・フアイルの大きさを推定するために、使用されるべきスレ
ッドの数により、オブジェクトの現在の割当てを分割する。
【0054】 図9に示すように、再編成ユーテイリテイは並列質問タブ・プロパテイ・ペー
ジを使用して、フイールドをオブジェクトに対してどんな既存の並列パラメータ
と共に満たす。例えば、テーブルの並列パラメータは、もしそのテーブルが並列
パラメータを使用して最初に生成され又は修正されたならば、存在するであろう
。これらのパラメータは、テーブルのデータ記述言語(DDL)とデータ辞書内
に保持される。もしパラメータがオブジェクトに対して既に存在するならば、再
編成ユーテイリテイはデータ質問を自動的に分割し、そしてユーザは並列質問タ
ブ・プロパテイ・ページ内に値を指定する必要が無い。そうでなければ、再編成
ユーテイリテイは並列質問タブ・プロパテイ・ページ内に設定されたパラメータ
により質問を分割する。
【0055】 本発明の十分な効果のためには、エクスポート・デイレクトリイの数がスレッ
ドの数と等しいかより大きいことである。また、各エクスポート・デイレクトリ
イはデイスクI/Oボトルネックを回避するために別の物理デイスク上に存在す
べきである。上述したように、I/Oボトルネックは、もし2つ以上のエクスポ
ート・デイレクトリイが同じデイスク上に存在すると、2つ以上の処理が同時に
同じデイスクに書き込む(アンロードする)可能性のために、発生する可能性が
ある。スレッドの第1組の第1高速アンロード処理が終了する時、TS再編成は
処理の終了が成功したかどうかを検査し(ステップ440)、もしそうであるな
らば、ツギノテーブルをアンロードするための次の高速アンロード処理が開始さ
れる(ステップ470)。
【0056】 この方法において、各テーブルはそのそれぞれのスレッドにおいて実行された
処理によりアンロードされる。各スレッドは独立である。従って、もし1つのス
レッドが大きなテーブルに割当てられた処理を有するならば、他の処理は次のテ
ーブルについて処理を開始する前に終了のために大きな処理を待つ必要が無い。
【0057】 そうでなければ、もしテーブルのアンロード中に問題が発生すると、TS再編
成は処理が失敗した理由を、ジョブ・ログフアイル中の最終的な高速アンロード
のログフアイルと一緒に表示する(ステップ450)。問題が発生したテーブル
は、TS再編成の内部アンロード・プログラムを使用してアンロードできる。こ
のアンロード・プログラムは別個の処理として開始されない、従って、TS再編
成がテーブルの残りの並行的アンロードを続行できる前にそれは終了されなけれ
ばならない。
【0058】 一旦、全てのテーブルのアンロードが成功すると、アンロード処理が完了する
。アンロード/ロード操作の速度及び消費されたデイスク空間の量を表示するた
めに、性能メーター(推測、又は対話式)が設けられてよい。
【0059】 一旦、アンロード処理が完了すると、TS再編成は、テーブル空間の他のオブ
ジェクトのエクスポートであるテーブル再編成の次のステップを続ける(ステッ
プ485)。
【0060】 他のオブジェクトのエクスポートは、全ての索引、トリガー、制約条件、及び
主及び独特キー(テーブル及びクラスターを除いたすべて)を含んだテーブル空
間のDDLを記憶するためのフアイルの生成を含む。
【0061】 最終的に、TS再編成はアンロードされたテーブル上にドロップを実行し(ス
テップ490)、そして並行的なロード(ステップ495)を実行し、アンロー
ドされたデータを新鮮なテーブル空間にロードする。
【0062】 並列的ロード・フェーズ 全てのテーブル空間オブジェクトをドロップした後、TS再編成は再編成のロ
ード(インポート)フェーズを開始する。図10に並列的なロード・フェーズの
フローチャートが示されている。ステップ600において、TS再編成がデータ
を記憶するためのテーブルを生成することによりロード・フェーズを開始する。
TS再編成は指定されたスレッドの数と同じ数のテーブルを順次に生成する。ス
レッドの指定された数はアンロード・フェーズ中のスレッドの数と等しい。
【0063】 テーブルの1組が生成された後、TS再編成は各々対応するテーブルのデータ
をロードするために使用されるSQL*LOADER(商標)処理を同時に開始
する。開始された処理の数はスレッドの数に等しい。各SQL*LOADER(
商標)処理は、エクスポート・デイレクトリイからテーブル・データを読取り、
そしてそのデータを対応するテーブルへロードすることにより、1つの対応する
テーブルに対してデータをロードする(ステップ610)。
【0064】 再編成ユーテイリテイは、断片化を除去しそして記憶パラメータを最適化し、
エクスポート・フアイル内のDDLを使用することにより、オブジェクトを再生
成する。再生成ユーテイリテイは、データをオブジェクト内にロードして戻すた
め並列スレッド内の複数のCPUを調整し、再編成されたテーブル空間を生ずる
【0065】 これらの処理の1つが終了した後、TS再編成はデータがテーブル内に成功的
にロードされたかどうか、そして、挿入された行の数が正しいかどうかを検査す
る(ステップ620)。もしエラーがロード中に発生し又はSQL*LOADE
R(商標)により挿入された行の数が正しくなければ、TS再編成は、次のテー
ブルを続ける前にデータを順次にロードするために内部TS再編成ロード機能に
自動的に切換える(ステップ630)。もし、SQL*LOADER(商標)処
理にエラーが無ければ、又はエラー無しに内部ロードが終了した後、TS再編成
は次のテーブルを生成し(ステップ650)、そしてこのテーブルのデータをロ
ードするためにまた別のSQL*LOADER(商標)の処理を並行的に開始す
る(ステップ610を繰返す)。
【0066】 図11に示す並行的テーブル再編成のように、並行的直接ロードは複数CPU
を呼び起こし、各々がエクスポート・フアイルからのデータをオブジェクトのフ
アイルに同時にロードするための別個のSQL*LOADER(商標)セッショ
ン実行する。SQL*LOADER(商標)がこれらのデータフアイルを書く時
、再編成ユーテイリテイは最適方法を使用し、入力するデータを収容する十分な
空間を持つ分割デイレクトリを選択する。そして、再編成ユーテイリテイはデイ
レクトリイのその選択されたリスト内で最適方法を使用し続け、スレッドに対し
て入力データの全てを収容できる最小のデータフアイルを選択する。各スレッド
はそのデータをデータフアイル内のできる限り多くの自由空間にロードする。
【0067】 もし、ロード・フェーズ中に致命的なエラーが発生したならば、又は、もし再
編成化ジョブが取消されたか、又はどんな理由で殺されたならば、失敗したジョ
ブは回復を必要とするジョブとなる。図12に示すように、ジョブが失敗した後
(ステップ1105)、TS再編成は自動的に既に成功的に生成されそして失敗
(ステップ1110)の前にロードされたテーブルを全て飛び越えて、現存しな
いテーブル又は完全にロードされなかったテーブルのみを並行的にロードする(
ステップ1115)。
【0068】 図13に示すように、ロード・フェーズ中、TS再編成は最初に一次的名前の
下でテーブルを生成する(ステップ1300)。データが再ロードされた後、一
時的テーブルはテーブルの元の名前に名前を付け替えられる(ステップ1320
)。最後に、テーブル上の主な制約条件と索引が生成される(ステップ1330
)。これはTS再編成が失敗前に完全にインポートされなかったテーブルを認識
し、全ての一時的テーブルをドロップし、そしてこれらのテーブルのためのロー
ドを再開することを可能にする(図11、処理1115Aを参照)。
【0069】 並行的なアンロード/ロード選択を使用する時、TS再編成は自動的にオプシ
ョンを選択する。全てのテーブルが生成された後、全ての索引/制限条件を生成
する。全てのテーブルが成功的に生成され、そしてそれらのデータがテーブル内
に再ロードされた後に、このテーブル空間の索引及び制限条件が生成される。 TS再編成内の並列的索引生成 並行的索引生成は、再編成化中に索引生成の速度を増加するためにテーブル又
はテーブル空間の再編成化に使用できるオプションである。規則テーブル又はテ
ーブル空間再編成化において、テーブルが作成されそしてデータがテーブル内に
ロードされて戻された後に、索引は順順に生成される。
【0070】 テーブル空間再編成中、ユーザは並行的索引生成オプションを選択しても良い
。この場合、TS再編成は並行的に索引を生成する(順次索引生成がデフォルト
の行動)。これはTS再編成が全ての索引及び制限条件を1つのエクスポート・
フアイル内に集めることを可能にし、そしてテーブル空間の全てのテーブル(テ
ーブル再編成の場合)又は再編成すべきテーブル(テーブルの再編成の場合)が
生成された時、それはこれらの索引と制限条件を並行的に生成することを開始す
る。
【0071】 このオプションを選択した時、ユーザは、索引/制限条件フェーズ中に並行的
に開始するための処理の数として使用されるスレッドの数を指定しなければなら
ない。
【0072】 索引のための重要なフェーズが開始する時、TS再編成は指定されたスレッド
の数と同じ数の索引生成処理を開始する。スレッドの第1組の第1索引処理が終
了した時、次の索引生成処理が開始され、そしてその後の索引生成処理が全ての
索引及び制限条件が生成されるまで他のスレッドが完了する時に同様に開始され
る。
【0073】 もしエラーが1つの索引又は制限条件の生成時に発生すると、TS再編成はエ
ラーを記録し、失敗した索引のDDLをフアイル内に書き込む。そして、ユーザ
は問題を手動で編集しそして訂正する。
【0074】 本発明は、オラクル・データベースと一緒に実施されるものとして記載された
。しかし、説明された方法は他の既知のデータベース製品及びカスタム・データ
ベース設備にも等しく適用できる。例えば、オラクル・ユーテイリテイ、SQL
*LOADER(商標)の代りに、エクスポート・デイレクトリイに記憶された
テーブル・データを読出して、データを新鮮なテーブル空間にロードできる別の
プログラムも使用できる。
【0075】 本発明は、当業者には理解されるように、通常の汎用目的または専用化デジタ
ル・コンピュータ又は本発明の教示にしたがってプログラムされたマイクロプロ
セッサにより、容易に実現できる。
【0076】 当業者には理解されるように、適当なソフトウエア・コーデイングが本発明の
教示に基づいてプログラマにより容易にできる。本発明はまた、当業者には理解
されるように、アプリケーション専用集積回路を準備することにより、又はね通
常の部品の回路の適当なネットワークを相互接続することにより実現できる。
【0077】 本発明は、本発明の方法を実行するためコンピュータをプログラムするのに使
用できる命令をその上に又はその中に有する記憶媒体であるコンピュータ・プロ
グラム製品を含む。記憶媒体は、フロッピイ・デイスク、光デイスク、DVD、
CD−ROM、マイクロドライブ、光磁気デイスク、ROM、RAM、EPRO
M、EEPROM、DRAM、VRAM、フラッシュメモリ装置、磁気又は光カ
ード、ナノシステム(分子メモリICを含む)、又は命令及び/又はデータを含
むに適したどんな形式の媒体又は装置を限定的ではなく含む。
【0078】 コンピュータ読取り可能な媒体に記憶された本発明は、汎用/専用コンピュー
タ又はマイクロプロセッサのハードウエアを制御し、コンピュータ又はマイクロ
プロセッサが人間のユーザ又は本発明の結果を使用する他の機構と相互作用する
ことを可能にするためのソフトウェアを含む。このようなソフトウェアは、デバ
イス・ドライバ、オペーレテイング・システム、データベース・エンジン及び製
品、及びユーザ・アプリケーションを限定的ではなく含む。最終的に、このコン
ピュータ読取り可能媒体はさらに上述した本発明を実行するソフトウエアをさら
に含む。
【0079】 本発明の教示を実現するためのソフトウエア・モジュールに含まれる汎用/専
用コンピュータ又はマイクロプロセッサのプログラミングに含まれるのは、ユー
ザ入力検索、並列処理のためのスレッドの数の決定、スレッドの開始、データベ
ース・テーブルのアンロード、成功の決定、内部再編成処理の開始、データベー
ス・オブジェクトのエクスポート、アンロードされたデータの圧縮、本発明の処
理の監視、そしてテーブル・ロード・ユーテイリテイを使用した並行的ロード環
境の設定、そして、本発明の方法による結果の表示、記憶、又は通信を含む。
【0080】 明らかに、上述の教示に照らして、本発明の数多くの修正や変形が可能である
。したがって、特許請求の範囲の記載の中で、本発明は上記記載とは異なった態
様で実行できる。
【図面の簡単な説明】
【図1】データベース高速アンロード/ロード(PDL)手順を説明するフ
ローチャート。
【図2】非並行的データベース・アンロード手順の反復的性質を説明するフ
ローチャート。
【図3】本発明によるデータベース・テーブルの並行的ロード及びアンロー
ドのための高レベル・プロセスを説明するフローチャート。
【図4】単一エクスポート・ディスクについて実行される並列処理を説明す
る図。
【図5】本発明による複数エクスポート・デイスクを使用して実行される並
列処理を説明する図。
【図6】本発明によるデータベース・テーブル及びエクスポート・デイレク
トリイを維持する複数の記憶装置を示す図。
【図7】本発明によるエクスポート(アンロード)処理を説明するフローチ
ャート。
【図8】本発明による行き先タブ・プロパテイ・ページを説明する図。
【図9】本発明による並列質問タブ・ページを説明する図。
【図10】本発明による並列ロード・プロセスを説明するフローチャート。
【図11】本発明による並列エクスポート・フェーズと並列直接ロードを持
った並行テーブル再編成を説明する図。
【図12】本発明によるアンロード/ロード処理のためのフエイル・セーフ
/フォールト回復システムを説明するフローチャート。
【図13】本発明による高レベル・テーブル名及びロード処理を説明するフ
ローチャート。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,SD,SL,SZ,TZ,UG,ZW ),EA(AM,AZ,BY,KG,KZ,MD,RU, TJ,TM),AE,AL,AM,AT,AU,AZ, BA,BB,BG,BR,BY,CA,CH,CN,C R,CU,CZ,DE,DK,DM,EE,ES,FI ,GB,GD,GE,GH,GM,HR,HU,ID, IL,IN,IS,JP,KE,KG,KP,KR,K Z,LC,LK,LR,LS,LT,LU,LV,MA ,MD,MG,MK,MN,MW,MX,NO,NZ, PL,PT,RO,RU,SD,SE,SG,SI,S K,SL,TJ,TM,TR,TT,TZ,UA,UG ,UZ,VN,YU,ZA,ZW 【要約の続き】 テーブル内にデータを記憶することにより、データベー ス・テーブル内にロードされる。

Claims (34)

    【特許請求の範囲】
  1. 【請求項1】 データベース・テーブルをアンロードするための方法であっ
    て、 データベース・テーブルを処理するため、ある数のスレッドを開始し、 前記データベース・テーブルのそれぞれ1つを前記スレッドの対応する1つに
    割当て、 対応するスレッドの処理によりそれぞれの各データベース・テーブルをアンロ
    ードする、 各ステップを含む方法。
  2. 【請求項2】 前記開始するステップが、 ユーザによるある数Xのスレッドの入力を検索し、 前記データベース・テーブルを維持する別個の記憶装置上に位置する、ある数
    のエクスポート・デイレクトリイを識別し、 Xを識別されたエクスポート・デイレクトリイの数に制限し、 Xをスレッドの前記数として使用する、 各ステップを含む請求項1に記載の方法。
  3. 【請求項3】 前記記憶装置はデイスク・ドライブである請求項2に記載の
    方法。
  4. 【請求項4】 前記アンロードするステップが、 それぞれのデータベース・テーブルからデータのブロックを読出し、そしてエ
    クスポート・デイレクリイ中に読出されたデータ・ブロックを記憶する、各ステ
    ップを含む請求項1に記載の方法。
  5. 【請求項5】 前記アンロードするステップがさらに、 読出し及び記憶の前記ステップの完了の成功を決定し、 (1)もし前記成功の決定のステップが未完了を示しているならば、前記ス
    レッドの各々を停止し、 (2)テーブル上で内部TS再編成を実行する、 各ステップを含む請求項4に記載の方法。
  6. 【請求項6】 データベースのテーブルの各々がアンロードされるまで、割
    当て及びアンロードの前記ステップを繰返すステップを、 さらに含む請求項1に記載の方法。
  7. 【請求項7】 前記テーブルの各々に関係する他のオブジェクをエクスポー
    トし、 前記テーブルをドロップする、 各ステップをさらに含む請求項1に記載の方法。
  8. 【請求項8】 データベース・テーブル内にデータをロードする方法であっ
    て、 データをデータベース・テーブル内にロードするためのXスレッドを決定し、 X一時的テーブルを生成し、各一時的テーブルはエクスポート・デイレクトリ
    イ内に記憶された1組のデータに対応し、 一時的テーブルの各々をロードするため各スレッドと一緒にSQL*ローダー
    処理を開始し、 対応するSQL*ローダー処理を介して、対応するエクスポート・デイレクト
    リイ内に記憶されたデータと共に各一時的テーブルをロードする、 各ステップを含む方法。
  9. 【請求項9】 それぞれのデータベース・テーブルについてロードするステ
    ップの成功を決定し、 (1)もし前記成功の決定のステップが未完了を示しているならば、前記ス
    レッドの各々を停止し、 (2)テーブル上で内部TS再編成を実行する、 各ステップを含む請求項8に記載の方法。
  10. 【請求項10】 各テーブルがロードされるまで、生成、開始及びロードの
    ステップをさらに含む請求項8に記載の方法。
  11. 【請求項11】 ロードの前記ステップ中の欠陥を認識し、そして、 (1)不成功にロードされたテーブルを認識し、 (2)不成功にロードされたテーブル上に内部TS再編成を実行する、 各ステップを含む請求項8に記載の方法。
  12. 【請求項12】 前記決定するステップが、 ユーザによるある数のスレッド入力を検索し、 エクスポート・デイレクトリイの数を決定し、 検索されたスレッドの数及びエクスポート・デイレクトリイの数の少ない方の
    数に等しいスレッドの数を設定する、 各ステップを含む請求項8に記載の方法。
  13. 【請求項13】 コンピュータ命令をその上に記憶したコンピュータ読取り
    可能な媒体であって、コンピュータにロードされた時、コンピュータに、 データベース・テーブルを処理するためにある数のスレッドを開始し、 前記データベース・テーブルのそれぞれ1つを前記スレッドの対応する1つに
    割当て、 対応するスレッドの処理によりそれぞれの各データベース・テーブルをアンロ
    ードする、 各ステップを実行させるコンピュータ読取り可能な媒体。
  14. 【請求項14】 前記開始するステップが、 前記データベース・テーブルを維持する別個の記憶装置上に位置する、ある数
    Xのエクスポート・デイレクトリイを識別し、 Xをスレッドの前記数として使用する、 各ステップを含む請求項13に記載のコンピュータ読取り可能な媒体。
  15. 【請求項15】 前記記憶装置がデイスク・ドライブである、請求項14に
    記載のコンピュータ読取り可能な媒体。
  16. 【請求項16】 前記アンロードするステップが、 それぞれのデータベース・テーブルからデータのブロックを読出し、そしてエ
    クスポート・デイレクリイ中に読出されたデータ・ブロックを記憶する、各ステ
    ップを含む請求項13に記載のコンピュータ読取り可能な媒体。
  17. 【請求項17】 前記アンロードするステップがさらに、 読出し及び記憶の前記ステップの完了の成功を決定し、 (1)もし前記成功の決定のステップが未完了を示しているならば、前記ス
    レッドの各々を停止し、 (2)テーブル上で内部TS再編成を実行する、 各ステップを含む請求項16に記載のコンピュータ読取り可能な媒体。
  18. 【請求項18】 データベースのテーブルの各々がアンロードされるまで、
    割当て及びアンロードの前記ステップを繰返すステップを、 さらに含む請求項13に記載の方法。
  19. 【請求項19】 前記テーブルの各々に関係する他のオブジェクをエクスポ
    ートし、 前記テーブルをドロップする、 各ステップをさらに含む請求項13に記載の方法。
  20. 【請求項20】 コンピュータ命令をその上に記憶したコンピュータ読取り
    可能な媒体であって、コンピュータにロードされた時、コンピュータに、 データをデータベース・テーブル内にロードするためのXスレッドを決定し、 X一時的テーブルを生成し、各一時的テーブルはエクスポート・デイレクトリ
    イ内に記憶された1組のデータに対応し、 一時的テーブルの各々をロードするため各スレッドと一緒にSQL*ローダー
    処理を開始し、 対応するSQL*ローダー処理を介して、対応するエクスポート・デイレクト
    リイ内に記憶されたデータと共に各一時的テーブルをロードする、 各ステップを実行させるコンピュータ読取り可能な媒体。
  21. 【請求項21】 前記コンピュータ命令がその上に記憶されていて、コンピ
    ュータにロードされた時、コンピュータに、 それぞれのデータベース・テーブルについてロードするステップの成功を決定
    し、 もしロードの前記ステップが不成功ならば、 (1)もし前記成功を決定するステップが不成功を示すならば、前記スレッ
    ドの各々を停止し、 (2)テーブル上で内部TS再編成を実行する、 各ステップを実行させる請求項20に記載のコンピュータ読取り可能な媒体。
  22. 【請求項22】 前記コンピュータ命令がその上に記憶されていて、コンピ
    ュータにロードされた時、コンピュータに、各テーブルがロードされるまで、生
    成、開始及びロードの前記ステップの繰返しステップを実行させる請求項20に
    記載のコンピュータ読取り可能な媒体。
  23. 【請求項23】 前記コンピュータ命令がその上に記憶されていて、コンピ
    ュータにロードされた時、コンピュータにさらに、 ロードする前記ステップ中の故障を認識し、 (1)不成功にロードされたテーブルを認識し、 (2)不成功にロードされたテーブル上で内部TS再編成を実行する 各ステップを実行させる請求項20に記載のコンピュータ読取り可能な媒体。
  24. 【請求項24】 前記決定するステップが、 ユーザによるある数のスレッド入力を検索し、 エクスポート・デイレクトリイの数を決定し、 検索されたスレッドの数及びエクスポート・デイレクトリイの数の少ない方の
    数に等しいスレッドの数を設定する、 各ステップを含む請求項20に記載のコンピュータ読取り可能な媒体。
  25. 【請求項25】 システム中に維持されたデータベース・テーブルをアンロ
    ードする装置であって、 前記データベース・テーブルを処理するため、ある数のスレッドを開始する手
    段と、 前記データベース・テーブルのそれぞれ1つを前記スレッドの対応するものに
    割当てる手段と、 対応するスレッドの処理により、それぞれの各データベース・テーブルをアン
    ロードする手段と、 を含む装置。
  26. 【請求項26】 前記開始する手段が、開始するためにユーザからのある数
    のスレッドを検索するための手段をさらに含む請求項25に記載の装置。
  27. 【請求項27】 前記開始する手段が、開始されたスレッドの数を前記シス
    テムの別個の記憶装置上に位置するエクスポート・デイレクトリイのある数に制
    限するための手段を含む請求項25に記載の装置。
  28. 【請求項28】 前記アンロードする手段が、 それぞれのデータベース・テーブルからデータのブロックを読出し、そして対
    応するスレッドと関連したエクスポート・デイレクトリイ中に読出されたデータ
    ・ブロックを記憶する手段を、 含む請求項25に記載の装置。
  29. 【請求項29】 全ての前記データベース・テーブルがアンロードされるま
    で、それぞれのデータベース・テーブルを対応するスレッドに割当て、そして各
    それぞれのテーブルをアンロードすることを繰返す手段をさらに含む請求項25
    に記載の装置。
  30. 【請求項30】 データベース・テーブルをアンロードするための装置であ
    って、 前記データベース・テーブルを処理するため、ある数のスレッドを開始するよ
    うに構成された開始器と、 前記データベース・テーブルの各々を開始された前記スレッドの対応するもの
    に割当てるように構成された割当器と、 対応する各スレッド上に導入されたアンロード器であり、それぞれの各アンロ
    ード器はアンロード器の対応するスレッドに割当てられたデータベース・テーブ
    ルをアンロードするように構成されているアンロード器と、 を含む装置。
  31. 【請求項31】 前記開始器が、 ユーザから開始するためにある数のスレッドを検索するように構成されたユー
    ザ・インターフエイスと、 開始するためのスレッドの数を前記システムの別個の記憶装置上に位置するあ
    る数のエクスポート・デイレクトリイに限定するように構成された制限器と、 を含む請求項30に記載された装置。
  32. 【請求項32】 それぞれのアンロード器の各々が、 それぞれのアンロード器が設けられたのと同じスレッドに割当てられたテーブ
    ル内に維持されたデータ・ブロックを読出すように構成された読出し器と、 読み出されたデータ・ブロックを、それぞれのアンロード器が設けられている
    のと同じスレッドに対応したエクスポート・デイレクトリイ内に記憶するように
    構成された書込み器と、 を含む請求項30に記載された装置。
  33. 【請求項33】 前記割当て器が、データベース・テーブルを前記スレッド
    の各々に割当て、そして、前記スレッドの1つの完了時に、各データベース・テ
    ーブルが割当てられるまで、別の前記データベース・テーブルに完了されたスレ
    ッドを割当てる、請求項30に記載の装置。
  34. 【請求項34】 各データベース・テーブルがアンロードされた後、前記ス
    レッドの各々にロードされ、そして実行されるロード器をさらに含み、各ロード
    器は、 ロード器を実行するスレッドに対応したエキスポート・デイレクトリイ中に記
    憶されたデータ・ブロックを読出し、そしてデータ・ブロックを新鮮なテーブル
    空間に記憶するように構成されている、請求項32に記載された装置。
JP2000584387A 1998-11-25 1999-11-24 並行的なdbmsテーブル操作のための装置及び方法 Pending JP2002530776A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/200,254 US6477535B1 (en) 1998-11-25 1998-11-25 Method and apparatus for concurrent DBMS table operations
US09/200,254 1998-11-25
PCT/US1999/027835 WO2000031635A1 (en) 1998-11-25 1999-11-24 Method and apparatus for concurrent dbms table operations

Publications (1)

Publication Number Publication Date
JP2002530776A true JP2002530776A (ja) 2002-09-17

Family

ID=22740953

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000584387A Pending JP2002530776A (ja) 1998-11-25 1999-11-24 並行的なdbmsテーブル操作のための装置及び方法

Country Status (13)

Country Link
US (1) US6477535B1 (ja)
EP (1) EP1147469B1 (ja)
JP (1) JP2002530776A (ja)
KR (1) KR20010103705A (ja)
CN (1) CN1331817A (ja)
AT (1) ATE529807T1 (ja)
AU (1) AU770289B2 (ja)
BR (1) BR9915673A (ja)
CA (1) CA2352306A1 (ja)
HK (1) HK1043210A1 (ja)
IL (1) IL143281A0 (ja)
WO (1) WO2000031635A1 (ja)
ZA (1) ZA200104265B (ja)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7805423B1 (en) 1999-11-15 2010-09-28 Quest Software, Inc. System and method for quiescing select data modification operations against an object of a database during one or more structural operations
US6834290B1 (en) * 1999-11-15 2004-12-21 Quest Software, Inc. System and method for developing a cost-effective reorganization plan for data reorganization
US7065538B2 (en) * 2000-02-11 2006-06-20 Quest Software, Inc. System and method for reconciling transactions between a replication system and a recovered database
US20020129146A1 (en) 2001-02-06 2002-09-12 Eyal Aronoff Highly available database clusters that move client connections between hosts
US7231391B2 (en) * 2001-02-06 2007-06-12 Quest Software, Inc. Loosely coupled database clusters with client connection fail-over
US20040162836A1 (en) * 2001-02-06 2004-08-19 Eyal Aronoff System and method for altering database requests and database responses
US7882103B2 (en) * 2002-03-28 2011-02-01 Teradata Us, Inc. Using point-in-time views to provide varying levels of data freshness
US7130969B2 (en) * 2002-12-19 2006-10-31 Intel Corporation Hierarchical directories for cache coherency in a multiprocessor system
US7111128B2 (en) * 2002-12-19 2006-09-19 Intel Corporation Hierarchical virtual model of a cache hierarchy in a multiprocessor system
US7917646B2 (en) * 2002-12-19 2011-03-29 Intel Corporation Speculative distributed conflict resolution for a cache coherency protocol
US7269595B1 (en) * 2003-03-19 2007-09-11 Unisys Corporation Reducing database reorganization time
US20050010595A1 (en) * 2003-07-11 2005-01-13 International Business Machines Corporation System and method for automating an identification mechanism and type information configuration process for a real-time data feed to a database
US7925665B2 (en) * 2004-03-08 2011-04-12 Siebel Systems, Inc. Using query persistence for efficient subquery evaluation in federated databases
US7822929B2 (en) * 2004-04-27 2010-10-26 Intel Corporation Two-hop cache coherency protocol
US20050240734A1 (en) * 2004-04-27 2005-10-27 Batson Brannon J Cache coherence protocol
US20050262250A1 (en) * 2004-04-27 2005-11-24 Batson Brannon J Messaging protocol
US7395381B2 (en) * 2005-03-18 2008-07-01 Intel Corporation Method and an apparatus to reduce network utilization in a multiprocessor system
US7958513B2 (en) * 2005-11-17 2011-06-07 International Business Machines Corporation Method, system and program product for communicating among processes in a symmetric multi-processing cluster environment
US7814045B2 (en) * 2006-10-04 2010-10-12 Sap Ag Semantical partitioning of data
US7747578B2 (en) * 2007-03-09 2010-06-29 Microsoft Corporation Reducing database fragmentation
US7860833B1 (en) * 2007-11-28 2010-12-28 Teradata Us, Inc. Deriving session level statistics for temporary tables
US8135930B1 (en) 2008-07-14 2012-03-13 Vizioncore, Inc. Replication systems and methods for a virtual computing environment
US8060476B1 (en) 2008-07-14 2011-11-15 Quest Software, Inc. Backup systems and methods for a virtual computing environment
US8046550B2 (en) 2008-07-14 2011-10-25 Quest Software, Inc. Systems and methods for performing backup operations of virtual machine files
US8429649B1 (en) 2008-09-25 2013-04-23 Quest Software, Inc. Systems and methods for data management in a virtual computing environment
US8996468B1 (en) 2009-04-17 2015-03-31 Dell Software Inc. Block status mapping system for reducing virtual machine backup storage
US9778946B2 (en) 2009-08-07 2017-10-03 Dell Software Inc. Optimized copy of virtual machine storage files
CN101739447B (zh) * 2009-11-16 2012-11-28 金蝶软件(中国)有限公司 一种对临时表的管理方法及装置
US8453145B1 (en) 2010-05-06 2013-05-28 Quest Software, Inc. Systems and methods for instant provisioning of virtual machine files
US9569446B1 (en) 2010-06-08 2017-02-14 Dell Software Inc. Cataloging system for image-based backup
US9547562B1 (en) 2010-08-11 2017-01-17 Dell Software Inc. Boot restore system for rapidly restoring virtual machine backups
US8898114B1 (en) 2010-08-27 2014-11-25 Dell Software Inc. Multitier deduplication systems and methods
US9311375B1 (en) 2012-02-07 2016-04-12 Dell Software Inc. Systems and methods for compacting a virtual machine file
US9323812B2 (en) 2013-04-11 2016-04-26 Oracle International Corporation Hybrid bifurcation of intersection nodes
CN104700255B (zh) * 2013-12-06 2020-04-10 腾讯科技(北京)有限公司 多进程处理方法、装置和系统
US20150227586A1 (en) * 2014-02-07 2015-08-13 Futurewei Technologies, Inc. Methods and Systems for Dynamically Allocating Resources and Tasks Among Database Work Agents in an SMP Environment
CN104376082B (zh) * 2014-11-18 2019-06-18 中国建设银行股份有限公司 一种把数据源文件中的数据导入到数据库中的方法
US10095721B2 (en) * 2015-03-27 2018-10-09 International Business Machines Corporation Index building in response to data input
CN104793969B (zh) * 2015-03-27 2018-10-19 小米科技有限责任公司 应用程序卸载方法及装置
US10353885B2 (en) 2016-07-29 2019-07-16 International Business Machines Corporation Storing data records
CN107357885B (zh) * 2017-06-30 2020-11-20 北京奇虎科技有限公司 数据写入方法及装置、电子设备、计算机存储介质
CN108228893A (zh) * 2018-02-05 2018-06-29 广州中元软件有限公司 一种关系数据库数据持久化优化和排队方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5093782A (en) * 1987-12-14 1992-03-03 Texas Instruments Incorporated Real time event driven database management system
US5517641A (en) * 1992-05-27 1996-05-14 Cdb Software, Inc. Restartable method to reorganize DB2 tablespace records by determining new physical positions for the records prior to moving using a non sorting technic
US5437032A (en) * 1993-11-04 1995-07-25 International Business Machines Corporation Task scheduler for a miltiprocessor system
US5668993A (en) * 1994-02-28 1997-09-16 Teleflex Information Systems, Inc. Multithreaded batch processing system
US5687372A (en) * 1995-06-07 1997-11-11 Tandem Computers, Inc. Customer information control system and method in a loosely coupled parallel processing environment
US5754771A (en) * 1996-02-12 1998-05-19 Sybase, Inc. Maximum receive capacity specifying query processing client/server system replying up to the capacity and sending the remainder upon subsequent request
US5860070A (en) * 1996-05-31 1999-01-12 Oracle Corporation Method and apparatus of enforcing uniqueness of a key value for a row in a data table
US5884310A (en) * 1996-06-14 1999-03-16 Electronic Data Systems Corporation Distributed data integration method and system
US5761667A (en) * 1996-08-07 1998-06-02 Bmc Software, Inc. Method of optimizing database organization using sequential unload/load operations
US5694602A (en) * 1996-10-01 1997-12-02 The United States Of America As Represented By The Secretary Of The Air Force Weighted system and method for spatial allocation of a parallel load
US5873091A (en) * 1997-04-28 1999-02-16 International Business Machines Corporation System for data structure loading with concurrent statistical analysis
US6122640A (en) * 1998-09-22 2000-09-19 Platinum Technology Ip, Inc. Method and apparatus for reorganizing an active DBMS table

Also Published As

Publication number Publication date
BR9915673A (pt) 2002-01-02
WO2000031635A1 (en) 2000-06-02
ZA200104265B (en) 2002-05-24
US6477535B1 (en) 2002-11-05
IL143281A0 (en) 2002-04-21
AU1829700A (en) 2000-06-13
EP1147469A4 (en) 2003-06-18
AU770289B2 (en) 2004-02-19
CN1331817A (zh) 2002-01-16
ATE529807T1 (de) 2011-11-15
EP1147469B1 (en) 2011-10-19
EP1147469A1 (en) 2001-10-24
HK1043210A1 (zh) 2002-09-06
KR20010103705A (ko) 2001-11-23
CA2352306A1 (en) 2000-06-02

Similar Documents

Publication Publication Date Title
JP2002530776A (ja) 並行的なdbmsテーブル操作のための装置及び方法
US7613683B2 (en) System and method for retrieving information from a database
US7299243B2 (en) System and method for controlling free space distribution by key range within a database
US6519613B1 (en) Non-blocking drain method and apparatus for use in processing requests on a resource
US6026412A (en) Interaction between application of a log and maintenance of a table that maps record identifiers during online reorganization of a database
US8239343B2 (en) Database reorganization technique
US5745915A (en) System for parallel reading and processing of a file
US6460048B1 (en) Method, system, and program for managing file names during the reorganization of a database object
US20030093442A1 (en) Storage apparatus acquiring static information related to database management system
JP4214712B2 (ja) データベースのページ確保処理方法
JPH07262065A (ja) コミット済みデータの抽出をデータベース・システムから制御装置へオフロードするための方法
US11886401B2 (en) Database key compression
US6295539B1 (en) Dynamic determination of optimal process for enforcing constraints
US7200625B2 (en) System and method to enhance availability of a relational database
US7421446B1 (en) Allocation of storage for a database
CN115904802A (zh) 一种数据处理的方法及计算设备
US20050262118A1 (en) Uninterrupted database index reorganization/movement
US20120159066A1 (en) System and method for performing contiguous disk read on pseudo-contiguous data blocks within a database management system
CN117170942B (zh) 一种基于文件系统快照的数据库备份方法以及相关设备
JP2010061604A (ja) 整合性検証システム、検証方法およびプログラム
EP2104045A2 (en) Methods and apparatus for transferring content from a storage system
JPH0962696A (ja) データベース管理システム
JPH09305449A (ja) データベース管理システム
JPH08190501A (ja) データベースのデータ格納方法
JPH08147328A (ja) 文書検索方法及び装置