プライマリ・コンテンツに移動
Oracle® Database概要
11gリリース2 (11.2)
B56306-06
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

1 Oracle Databaseの概要

この章では、Oracle Databaseの概要について説明します。この章の内容は次のとおりです。

リレーショナル・データベースの概要

すべての組織には、その要件を満たすために格納および管理する必要のある情報があります。たとえば、会社では従業員の人事管理レコードを収集し、管理する必要があります。この情報は、必要とする人が使用できるようにする必要があります。情報システムとは、情報を格納および処理するための形式が定められたシステムです。

情報システムは、フォルダを収納した一連の段ボール箱とフォルダの格納および取出し方法に関するルールとすることもできます。ただし、今日のほとんどの企業はデータベースを使用して情報システムを自動化しています。データベースとは、1つの単位として取り扱われる編成されたデータの集合です。データベースは、データベース・アプリケーションで使用するための関連情報の収集、格納、および取出しを目的としています。

データベース管理システム(DBMS)

データベース管理システム(DBMS)とは、データの格納、編成および取得を制御するソフトウェアです。通常、DBMSの要素は次のとおりです。

  • カーネル・コード

    このコードでは、DBMS用のメモリーと記憶域を管理します。

  • メタデータのリポジトリ

    このリポジトリは、通常、データ・ディクショナリと呼ばれます。

  • 問合せ言語

    この言語を使用してデータにアクセスできます。

データベース・アプリケーションとは、データにアクセスして操作するためにデータベースと対話するソフトウェア・プログラムです。

第一世代のデータベース管理システムには次のタイプがありました。

  • 階層

    階層データベースは、データをツリー構造に編成したものです。ファイルシステムの構造と同様に、各親レコードが1つ以上の子レコードを持ちます。

  • ネットワーク

    ネットワーク・データベースは、レコードが1対多の関係ではなく多対多の関係を持つ点を除いて、階層データベースと同じです。

第一世代のデータベース管理システムでは、事前に定義された厳密な関係に基づいてデータが格納されていました。データ定義言語がなかったため、データ構造の変更は困難でした。また、これらのシステムには簡単な問合せ言語がなく、このことがアプリケーション開発の妨げになっていました。

リレーショナル・モデル

独創性に富んだ1970年の論文「A Relational Model of Data for Large Shared Data Banks」において、E. F. Codd氏は、数学的な集合理論に基づいてリレーショナル・モデルを定義しました。今日、最も普及しているデータベース・モデルはリレーショナル・モデルです。

リレーショナル・データベースとは、リレーショナル・モデルに準拠したデータベースです。リレーショナル・モデルには次の特徴があります。

  • 構造

    詳細に定義されたオブジェクトによって、データベースのデータの格納またはアクセスが行われます。

  • 操作

    明確に定義されたアクションによって、アプリケーションはデータベースのデータおよび構造を操作できます。

  • 整合性規則

    整合性規則は、データベースのデータおよび構造に対する操作を制御します。

リレーショナル・データベースでは、データは一連の単純なリレーションに格納されます。リレーションは一連のタプルです。タプルは、順不同の一連の属性値です。

は、行(タプル)と列(属性)の形式でのリレーションの2次元表現です。表の各行は同じ一連の列を持ちます。リレーショナル・データベースは、データをリレーション(表)に格納するデータベースです。たとえば、リレーショナル・データベースで会社の従業員に関する情報を従業員表、部門表、および給与表に格納できます。


関連項目:

Codd氏の論文の要約と論文は、http://dl.acm.org/citation.cfm?id=362685を参照してください。

リレーショナル・データベース管理システム(RDBMS)

リレーショナル・モデルは、リレーショナル・データベース管理システム(RDBMS)の基礎です。基本的に、RDBMSはデータをデータベース内に移動して格納し、格納したデータを取り出してアプリケーションで操作できるようにします。RDBMSでは、次のように操作のタイプが区別されます。

  • 論理演算

    この場合、アプリケーションは、必要な内容を指定します。たとえば、従業員の名前を要求したり、従業員レコードを表に追加します。

  • 物理演算

    この場合、RDBMSは、どのように実行すべきかを判断して演算を実行します。たとえば、アプリケーションが表に問合せを実行すると、データベースの索引を使用して要求した行が検索され、データがメモリーに読み込まれ、その他多くの手順が実行されてからユーザーに結果が戻されます。RDBMSがデータの格納と取得を行うため、物理演算はデータベース・アプリケーションに対して透過的です。

Oracle DatabaseはRDBMSです。ユーザー定義型、継承、ポリモフィズムなどのオブジェクト指向機能を実装したRDBMSは、オブジェクト・リレーショナル・データベース管理システム(ORDBMS)と呼ばれます。Oracle Databaseはリレーショナル・モデルを拡張したオブジェクト・リレーショナル・モデルであり、複雑なビジネス・モデルをリレーショナル・データベースに格納できます。

Oracle Databaseの歴史の概要

現行バージョンのOracle Databaseは、30年以上にわたる革新的な開発の成果です。Oracle Databaseの発展における重要事項は次のとおりです。

  • オラクル社の設立

    1977年、Larry Ellison、Bob Miner、およびEd Oatesはソフトウェア開発研究所でコンサルタント業を始め、Relational Software, Inc.(RSI)となりました。1983年、RSIはOracle Systems Corporationとなり、その後Oracle Corporationになりました。

  • 最初の市販RDBMS

    1979年にRSIは、SQLベースの最初の市販RDBMSとしてOracle V2(バージョン2)を発表しました。これはリレーショナル・データベースの歴史において画期的な出来事でした。

  • 移植性の高いOracle Databaseのバージョン

    1983年にリリースされたOracleバージョン3は、メインフレーム、ミニコンピュータ、およびPC上で動作する最初のリレーショナル・データベースでした。このデータベースはC言語で記述されており、複数のプラットフォームにデータベースを移植することが可能になりました。

  • 同時実行性制御、データ配分、およびスケーラビリティの拡張

    バージョン4では、マルチバージョンの読取り一貫性が導入されました。1985年にリリースされたバージョン5では、クライアント/サーバー・コンピューティングおよび分散データベース・システムがサポートされました。バージョン6では、ディスクI/O、行ロック、スケーラビリティ、バックアップおよびリカバリに対する拡張が行われました。また、バージョン6では、SQLを手続き型に拡張した独自のPL/SQL言語の最初のバージョンが導入されました。

  • PL/SQLストアド・プログラム・ユニット

    1992年にリリースされたOracle7では、PL/SQLストアド・プロシージャおよびトリガーが導入されました。

  • オブジェクトとパーティション化

    Oracle8は、オブジェクト・リレーショナル・データベースとして1997年にリリースされ、多数の新しいデータ型をサポートしています。さらに、Oracle8で大規模な表のパーティション化がサポートされました。

  • インターネット・コンピューティング

    1999年にリリースされたOracle8i Databaseには、インターネット・プロトコルのネイティブ・サポートおよびサーバー側でのJavaサポートが備えられていました。Oracle8iはインターネット・コンピューティング用に設計され、複数層環境へのデータベースのデプロイが可能になりました。

  • Oracle Real Application Clusters(Oracle RAC)

    2001年のOracle9i Databaseでは、Oracle RACが導入され、複数のインスタンスによる単一データベースへの同時アクセスが可能になりました。さらに、Oracle XML Database(Oracle XML DB)ではXMLの格納および問合せの機能が導入されました。

  • グリッド・コンピューティング

    2003年のOracle Database 10gでは、グリッド・コンピューティングが導入されました。このリリースでは、組織は低コストの商用サーバーに基づくグリッド・インフラストラクチャを構築することにより、コンピューティング資源を仮想化できるようになりました。これは、データベースの自己管理および自己チューニングを実現することを目標としていました。Oracle Automatic Storage Management(Oracle ASM)では、データベース・ストレージ管理を仮想化および簡素化することによって、この目標の実現を支援しました。

  • 管理性、診断性、および可用性

    2007年にリリースされたOracle Database 11gでは、管理者および開発者が変化するビジネス要件に迅速に適応できるようにする多数の新機能が導入されました。適応の鍵は、情報を統合し、できるかぎり自動化を採用することで、情報インフラストラクチャを簡素化することです。


関連項目:

Oracle Databaseの発展をまとめた記事は、http://www.oracle.com/technetwork/issue-archive/2007/07-jul/o4730-090772.htmlを参照してください。

スキーマ・オブジェクト

RDBMSの特性の1つは、物理データ記憶域が論理データ構造から独立していることです。Oracle Databaseにおいて、データベース・スキーマとは、論理データ構造またはスキーマ・オブジェクトの集合です。データベース・スキーマはデータベース・ユーザーによって所有され、そのユーザー名と同じ名前を持ちます。

スキーマ・オブジェクトは、ユーザーが作成する構造であり、データベース内のデータを直接参照します。データベースは多くのタイプのスキーマ・オブジェクトをサポートしますが、最も重要なのは表と索引です。

スキーマ・オブジェクトは、データベース・オブジェクトの1種です。プロファイルやロールなど、一部のデータベース・オブジェクトは、スキーマに常駐しません。

表は従業員などのエンティティを表します。表は、employeesなどの表名と、列の集合で定義されます。通常は、表を作成するとき、各に名前、データ型、および幅を指定します。

表は行の集合です。列は、表として記述されるエンティティの属性を識別し、は、エンティティのインスタンスを識別します。たとえば、従業員というエンティティの属性は、従業員IDや姓の列に対応します。行は特定の従業員を識別します。

オプションで表の各列に対して規則を指定できます。これらの規則は整合性制約と呼ばれます。一例としてNOT NULLの整合性制約があります。この制約では、列のすべての行に値が含まれている必要があります。

索引

索引は、表の1つ以上の列に対して作成可能なオプションのデータ構造です。索引によってデータ検索のパフォーマンスが向上する場合があります。1つの要求を処理するとき、データベースでは、要求された行を効率よく見つけるために使用可能な索引を使用します。索引は、アプリケーションが特定の行または行範囲を頻繁に問い合せる場合に便利です。

索引は、データから論理的にも物理的にも独立しています。したがって、索引を削除または作成しても、表または他の索引に影響はありません。索引を削除しても、すべてのアプリケーションは機能し続けます。


関連項目:

「索引の概要」

データ・アクセス

DBMSの一般的な要件は、業界で受け入れられているデータ・アクセス言語の標準に準拠することです。

Structured Query Language(SQL)

SQLは、Oracle DatabaseなどのRDBMSとのインタフェースを提供する集合ベースの宣言型言語です。処理の実行方法を記述するC言語のような手続き型言語とは対照的に、SQLは非手続き型であり、を実行するかを記述します。ユーザーは、求める結果(たとえば、現在の従業員の名前)を指定し、その結果をどのようにして導出するかは指定しません。SQLはリレーショナル・データベース用のANSI標準言語です。

Oracle Database内のデータの操作はすべて、SQL文を使用して実行されます。たとえば、SQLを使用して表を作成し、表内のデータを問い合せ、変更します。SQL文は非常に簡単な文ですが、強力なコンピュータ・プログラム、または命令と考えることができます。SQL文は、次のようなSQLテキストの文字列です。

SELECT first_name, last_name FROM employees;

SQL文を使用して次のタスクを実行できます。

  • データの問合せ

  • 表内の行の挿入、更新および削除

  • オブジェクトの作成、置換、変更および削除

  • データベースおよびそのオブジェクトへのアクセスの制御

  • データベースの整合性と一貫性の保証

SQLでは、前述のタスクを1つの一貫した言語に統合します。Oracle SQLは、ANSI標準の1つの実装です。Oracle SQLでは、標準SQLを拡張した数多くの機能がサポートされています。


関連項目:

第7章「SQL」

PL/SQLとJava

PL/SQLは、Oracle SQLに対する手続きを拡張します。PL/SQLはOracle Databaseに統合されており、Oracle DatabaseのすべてのSQL文、関数、およびデータ型を使用できます。PL/SQLを使用すると、SQLプログラムのフローの制御、変数の使用、およびエラー処理プロシージャの作成を行うことができます。

PL/SQLの主な利点は、アプリケーション・ロジックをデータベースそのものに格納できることです。PL/SQLプロシージャまたはファンクションは、一連のSQL文と他のPL/SQL構文で構成され、グループとしてまとめてデータベースに格納されるスキーマ・オブジェクトであり、特定の問題を解決したり、一連の関連タスクを実行するために1つの単位として実行されます。サーバー側プログラミングの主な利点は、組込み機能を任意の場所にデプロイできることです。

Oracle Databaseは、Javaで作成されたプログラム単位も格納できます。Javaストアド・プロシージャは、SQLにパブリッシュされ、一般的な用途向けにデータベースに格納されるJavaメソッドです。既存のPL/SQLプログラムをJavaから呼び出したり、JavaプログラムをPL/SQLから起動できます。

トランザクションの管理

Oracle Databaseはマルチユーザー・データベースとして設計されています。データベースは、複数のユーザーが互いのデータを破損することなく同時に作業できることを保証する必要があります。

トランザクション

RDBMSは、SQL文をグループ化して、すべての文がコミットされた(つまりデータベースに適用された)状態にするか、すべての文がロールバックされた(つまり取り消された)状態にできる必要があります。トランザクションは、1つ以上のSQL文を含むアトミックな論理作業単位です。

トランザクションが必要な例として、普通預金口座から当座預金口座への振替があります。振替は独立した次の操作で構成されます。

  1. 普通預金口座の減額

  2. 当座預金口座の増額

  3. トランザクション・ジャーナルへのトランザクションの記録

Oracle Databaseは、3つの操作すべてが1つの単位として成功したこと、または失敗したことを保証します。たとえば、ハードウェア障害によってトランザクション内の文の1つを実行できなかった場合は、その他の文をロールバックする必要があります。

トランザクションは、Oracle Databaseとファイルシステムとの明らかな違いを示す機能の1つです。複数のファイルを更新する不可分な操作を実行する場合、その途中でシステム障害が発生すると、ファイル間の整合性が失われます。対照的に、トランザクションは、Oracle Databaseを矛盾のない1つの状態から矛盾のない別の状態に移行します。トランザクションの基本的な原則は、100かゼロかであり、不可分の操作はその全体が成功するかその全体が失敗します。

データ同時実行性

マルチユーザーRDBMSの要件の1つに、同時実行性(同じデータに複数のユーザーが同時にアクセスすること)の制御があります。同時実行性が制御されていない場合、ユーザーがデータを不適切に変更し、データ整合性が損われることがあります。たとえば、あるユーザーが行を更新する一方で、別のユーザーがその行を同時に更新することがあります。

複数のユーザーが同じデータにアクセスした場合、同時実行性を管理する1つの方法は、ユーザーを待機させることです。ただし、DBMSの目標は待機時間をゼロまたはごくわずかまで減らすことです。データを変更するすべてのSQL文は、できるだけ干渉されない状態で処理する必要があります。破壊的な相互作用とは、不正確なデータの更新または基礎となるデータ構造の不正な変更を引き起こす相互作用であり、これを回避する必要があります。

Oracle Databaseは、ロックを使用してデータへの同時アクセスを制御します。ロックは、共有リソースにアクセスする複数のトランザクション間で、破壊的な相互作用が起きないようにするメカニズムです。ロックは、データ整合性を保証する場合に役立つ一方、データへの最大の同時アクセスを可能にします。

データ整合性

Oracle Databaseでは、各ユーザーに対して、ユーザー自身のトランザクションによる変更および他のユーザーのトランザクションのコミットによる変更を反映した、整合性のあるデータのビューが表示される必要があります。たとえば、データベースは、あるトランザクションが別の同時トランザクションによるコミットされていない変更に遭遇した場合に発生する内容を保証しない読取りを禁止する必要があります。

Oracle Databaseでは、文レベルの読取り一貫性を常に適用することにより、1つの問合せによって戻されたデータがコミット済であり、ある特定の時点で一貫していることを保証しています。トランザクション分離レベルに応じて、この時点は文またはトランザクションが開始されたときになります。この時点は、フラッシュバック問合せ機能で明示的に指定できます。

データベースは、トランザクションのすべての問合せに対して、トランザクション・レベルの読取り一貫性と呼ばれる読取り一貫性を実現することもできます。この場合、トランザクション内の各文には同じ時点(トランザクション開始時)のデータが表示されます。


関連項目:


Oracle Databaseアーキテクチャ

データベース・サーバーは、情報管理の鍵となります。一般的にサーバーでは、多数のユーザーが同時に同じデータへアクセスできるように、マルチユーザー環境において大量のデータが確実に管理されます。権限のないアクセスに対して保護機能を備えながら、障害のリカバリについても効率のよい解決方法を提供します。

データベースおよびインスタンス

Oracleデータベース・サーバーは、1つのデータベースと1つ以上のデータベース・インスタンス(通常は単にインスタンスと呼ばれる)で構成されます。インスタンスとデータベースは非常に密接に関連しているため、Oracleデータベースという用語が、インスタンスとデータベースの両方を示す場合があります。これらの用語の厳密な意味は次のとおりです。

  • データベース

    データベースは、ディスク上に配置された、データを格納する一連のファイルです。これらのファイルはデータベース・インスタンスとは別に存在できます。

  • データベース・インスタンス

    インスタンスは、データベース・ファイルを管理する一連のメモリー構造です。インスタンスは、システム・グローバル領域(SGA)と呼ばれる共有メモリー領域と、一連のバックグラウンド・プロセスで構成されます。インスタンスはデータベース・ファイルとは別に存在できます。

図1-1に、データベースとそのインスタンスを示します。インスタンスに対するそれぞれのユーザー接続に対して、クライアント・プロセスによって、アプリケーションが実行されます。各クライアント・プロセスは、独自のサーバー・プロセスに関連付けられています。サーバー・プールには、プログラム・グローバル領域(PGA)と呼ばれる独自のプライベート・セッション・メモリーがあります。

図1-1 Oracleインスタンスおよびデータベース

図1-1の説明が続きます
「図1-1 Oracleインスタンスおよびデータベース」の説明

データベースは、物理的な観点と論理的な観点の両方から検討できます。物理データとは、オペレーティング・システム・レベルで表示可能なデータです。たとえば、Linuxのlspsなどのオペレーティング・システム・ユーティリティは、データベース・ファイルおよびプロセスをリスト表示できます。表などの論理データは、データベースに対してのみ意味を持ちます。Oracle Database内の表はSQL文でリスト表示できますが、オペレーティング・システム・ユーティリティでは表示できません。

データベースには物理構造論理構造があります。物理構造と論理構造は分離されているので、論理記憶構造へのアクセスに影響を与えずに、データの物理記憶域を管理できます。たとえば、物理データベース・ファイルの名前を変更しても、このファイルにデータが格納されている表の名前は変更されません。

データベース記憶域構造

リレーショナル・データベースに不可欠なタスクはデータの格納です。この項では、Oracle Databaseで使用される物理および論理記憶域構造について簡単に説明します。

物理記憶域構造

物理データベース構造とは、データを格納するファイルです。SQLコマンドCREATE DATABASEを実行すると、次のファイルが作成されます。

  • データファイル

    すべてのOracleデータベースには、すべてのデータベース・データを含む1つ以上の物理データファイルがあります。表や索引などの論理データベース構造のデータは、データファイルに物理的に格納されます。

  • 制御ファイル

    すべてのOracleデータベースには、制御ファイルがあります。制御ファイルには、データベース名やデータベース・ファイルの名前と位置など、データベースの物理構造を指定したメタデータが含まれています。

  • オンラインREDOログ・ファイル

    すべてのOracle Databaseには、2つ以上のオンラインREDOログ・ファイルのセットからなるオンラインREDOログがあります。オンラインREDOログは、データに加えられた変更をすべて記録するREDOエントリ(REDOレコードとも呼ばれる)で構成されています。

Oracleデータベース・サーバーが機能するために重要なその他多くのファイルがあります。これらのファイルには、パラメータ・ファイルや診断ファイルがあります。バックアップ・ファイルとアーカイブREDOログ・ファイルは、バックアップおよびリカバリに重要なオフライン・ファイルです。

論理記憶域構造

この項では、論理記憶域構造について説明します。次の論理記憶域構造によって、Oracle Databaseのディスク領域の使用をきめ細かく制御できます。

  • データ・ブロック

    最少レベルとして、Oracleデータベースのデータはデータ・ブロックに格納されます。1つのデータ・ブロックは、ディスク上の特定のバイト数に対応します。

  • エクステント

    エクステントは、1回の割当てで取得される特定数の論理的に連続したデータ・ブロックで、特定タイプの情報の格納に使用されます。

  • セグメント

    セグメントは、ユーザー・オブジェクト(表や索引)、UNDOデータ、または一時データに割り当てられるエクステントの集合です。

  • 表領域

    データベースは、表領域と呼ばれる論理記憶域単位に分割されます。表領域はセグメントの論理コンテナです。各表領域には1つ以上のデータファイルが含まれます。

データベース・インスタンス構造

Oracleデータベースは、メモリー構造とプロセスを使用してデータベースの管理やアクセスを行います。すべてのメモリー構造は、RDBMSを構成するコンピュータのメイン・メモリー内に存在します。

アプリケーションがOracleデータベースに接続すると、データベース・インスタンスに接続されます。インスタンスは、SGAのみでなくその他のメモリー領域も割り当て、バックグラウンド・プロセスの他のプロセスも起動して、アプリケーションに対応します。

Oracle Databaseプロセス

プロセスは一連の処理を実行できるオペレーティング・システムのメカニズムです。オペレーティング・システムによっては、「ジョブ」、「タスク」または「スレッド」という用語を使用します。この説明の目的では、スレッドはプロセスと同等です。Oracleデータベース・インスタンスには次のタイプのプロセスがあります。

  • クライアント・プロセス

    これらのプロセスは、アプリケーション・プログラムまたはOracleツールのソフトウェア・コードを実行するために作成およびメンテナンスされます。ほとんどの環境ではクライアント・プロセス用に独立したコンピュータが使用されます。

  • バックグラウンド・プロセス

    これらのプロセスは、各クライアント・プロセスごとに実行されている複数のOracle Databaseプログラムが処理する機能を1つにまとめます。また、I/Oを非同期的に実行し、他のOracle Databaseプロセスを監視することにより、並列性を強化してパフォーマンスおよび信頼性を向上させます。

  • サーバー・プロセス

    これらのプロセスは、クライアント・プロセスと通信し、Oracle Databaseと対話してリクエストに対応します。

Oracleプロセスには、サーバー・プロセスとバックグラウンド・プロセスがあります。ほとんどの環境では、Oracleプロセスとクライアント・プロセスは別々のコンピュータ上で実行されます。

インスタンスのメモリー構造

Oracle Databaseでは、プログラム・コード用のメモリー、ユーザー間で共有されるデータ、接続している各ユーザーのプライベート・データ領域などのために、メモリー構造が作成および使用されます。次のメモリー構造がインスタンスに関連付けられています。

  • システム・グローバル領域(SGA)

    SGAは、共有メモリー構造のグループであり、1つのデータベース・インスタンスに関するデータと制御情報が含まれています。SGAコンポーネントの例として、キャッシュ・データ・ブロックや共有SQL領域があります。

  • プログラム・グローバル領域(PGA)

    PGAは、サーバー・プロセスまたはバックグラウンド・プロセス用のデータや制御情報を含むメモリー領域です。PGAにアクセスできるのはプロセスのみです。それぞれのサーバー・プロセスおよびバックグラウンド・プロセスには専用のPGAがあります。

アプリケーションおよびネットワークのアーキテクチャ

特定のコンピュータ・システムまたはネットワークを最大限に活用できるように、Oracle Databaseではデータベース・サーバーとクライアント・プログラムの間で処理を分割できます。RDBMSを実行しているコンピュータはデータベース・サーバーの処理を実行し、アプリケーションを実行しているコンピュータはデータの解釈と表示を行います。

アプリケーション・アーキテクチャ

アプリケーション・アーキテクチャは、データベース・アプリケーションがOracle Databaseに接続するコンピューティング環境を示します。データベースの最も一般的なアーキテクチャは、クライアント/サーバーと複数層の2種類です。

クライアント/サーバー・アーキテクチャでは、クライアント・アプリケーションは、データベース・サーバー上で実行される操作に関するリクエストを開始します。サーバーは、Oracle Databaseソフトウェアを実行し、同時実行の共有データ・アクセスに必要な機能を処理します。サーバーは、クライアントから発行されたリクエストを受け取って処理します。

従来の複数層アーキテクチャでは、1つ以上のアプリケーション・サーバーが操作の各部分を実行します。アプリケーション・サーバーには、アプリケーション・ロジックの大部分が含まれ、クライアントのデータ・アクセスを可能とし、多少の問合せ処理を実行することにより、データベースの負荷を軽減します。アプリケーション・サーバーは、クライアントと複数のデータベース間のインタフェースとして機能し、セキュリティ・レベルを高める役割を果します。

サービス指向アーキテクチャ(SOA)は、アプリケーション機能がサービスにカプセル化されている複数層アーキテクチャです。通常、SOAサービスはWebサービスとして実装されます。WebサービスはHTTP経由でアクセス可能なサービスであり、Webサービス記述言語(WSDL)やSOAPなどのXMLベースの規格に基づいています。

Oracle Databaseは、従来の複数層またはSOA環境においてWebサービス・プロバイダとして機能できます。


関連項目:


ネットワーク・アーキテクチャ

Oracle Net Servicesは、データベースとネットワークの通信プロトコルとの間のインタフェースであり、分散処理と分散データベースの実現を支援します。通信プロトコルにより、ネットワーク上でのデータの送受信方法が定義されます。Oracle Net Servicesは、TCP/IP、HTTP、FTPおよびWebDAVなど、主要なネットワーク・プロトコルによる通信をすべてサポートしています。

Oracle NetはOracle Net Servicesのコンポーネントであり、クライアント・アプリケーションからデータベース・サーバーへのネットワーク・セッションを確立して維持します。ネットワーク・セッションの確立後は、Oracle Netはクライアント・アプリケーションとデータベース・サーバーのためのデータ伝達手段として機能し、これらの間でメッセージを交換します。Oracle Netは、ネットワーク内の各コンピュータに配置されているのでこれらのジョブを実行できます。

Net Servicesの重要なコンポーネントにOracle Net Listener(リスナーと呼ばれる)があり、独立したプロセスとしてデータベース・サーバーまたはネットワークの別の場所で実行されます。クライアント・アプリケーションは、リスナーに接続要求を送信し、リスナーはデータベース・サーバーに対するこれらの要求のトラフィックを管理します。接続が確立されると、クライアントとデータベースは直接通信します。

クライアント要求を処理するようにOracle Databaseを構成する最も一般的な方法は、次のとおりです。

  • 専用サーバー・アーキテクチャ

    各クライアント・プロセスは、専用サーバー・プロセスに接続します。サーバー・プロセスは、クライアントのセッションの継続中、その他のどのクライアントとも共有されません。それぞれの新規セッションに専用サーバー・プロセスが割り当てられます。

  • 共有サーバー・アーキテクチャ

    データベースは複数のセッションに対して共有プロセスのプールを使用します。クライアント・プロセスはディスパッチャと通信し、ディスパッチャは、クライアントごとに専用のサーバー・プロセスがなくても多数のクライアントが同じデータベース・インスタンスに接続できるようにするプロセスです。


関連項目:

  • 「Oracleネットワーク・アーキテクチャの概要」

  • Oracle Netアーキテクチャの詳細は、『Oracle Database Net Services管理者ガイド』を参照してください。

  • データベースでのWebDAVの使用方法の詳細は、『Oracle XML DB開発者ガイド』を参照してください。


Oracle Databaseドキュメントのロードマップ

この項では、このマニュアルの使用方法およびOracle Databaseマニュアル・セット全体での位置付けを説明します。

新規ユーザーの場合、Oracle Databaseドキュメント・ライブラリは難しく感じられることがあります。175冊を超えるマニュアルが用意されているだけでなく、多くのマニュアルが数百ページの長さに渡ります。ただし、ユーザーが必要とする情報をできるだけ効率よく見つけられるように、マニュアルは特定のアクセス・パスを使用して設計されています。

マニュアル・セットは、初級、中級、および上級の3つの層またはグループに分かれています。初級グループ(『Oracle Database 2日でデータベース管理者』、『Oracle Database 2日で開発者ガイド』、またはこのマニュアル)のマニュアルから始め、中級グループのマニュアル(2日でシリーズ)に進み、最後に上級マニュアル(マニュアル・セットの残りのマニュアル)に進みます。

初級グループ

技術者でOracle Databaseの新規ユーザーである場合は、初級グループのマニュアルを1冊以上、最初から最後まで読むことから始めてください。このグループの各マニュアルは、2日で読めるように設計されています。初級グループには、このマニュアルに加えて次のマニュアルがあります。

  • 『Oracle Database 2日でデータベース管理者』

    このマニュアルは、日常のデータベース管理タスクの実行方法を説明したタスクベースのDBA用クイック・スタートです。基本的なトラブルシューティングやパフォーマンス監視アクティビティの実行方法など、データベースの稼働を維持するために必要な、一般的なすべての管理タスクを実行する方法について説明しています。

  • 『Oracle Database 2日で開発者ガイド』

    このマニュアルは、SQLおよびPL/SQLでOracle Databaseの基本機能を使用する方法について説明した、タスクベースのデータベース開発者用クイック・スタート・ガイドです。

初級グループのマニュアルは密接に関連しており、そのために相互参照が多くなっています。たとえば、『Oracle Database概要』は、概念に基づいてタスクを実行する方法を学ぶことができるように、2日でシリーズのマニュアルを頻繁に参照しています。2日でシリーズのマニュアルでは、タスクの概念的な説明について、『Oracle Database概要』を頻繁に参照しています。

中級グループ

初級グループの次のステップは、中級グループです。このグループのマニュアルは、初級グループの「2日で」シリーズのマニュアルに含まれる情報を前提とし、それと同じ「2日で」という言葉が先頭に付いています。これらのマニュアルでは、初級マニュアルよりも詳細にトピックを説明し、また、特に重要なトピックについて説明しています。表1-1に示すように、「2日で」シリーズのマニュアルは、DBA向けのマニュアルと開発者向けのマニュアルに分かれています。

表1-1 中級グループ: 2日でシリーズのガイド

データベース管理者 データベース開発者

『Oracle Database 2日でパフォーマンス・チューニング・ガイド』


『Oracle Database Application Express 2日で開発者ガイド』


『Oracle Database 2日でReal Application Clustersガイド』


『Oracle Database 2日でJava開発者ガイド』


『Oracle Database 2日でデータ・ウェアハウス・ガイド』


『Oracle Database 2日で.NET開発者ガイド』


『Oracle Database 2日でデータ・レプリケーションおよび統合ガイド』

『Oracle Database 2日でPHP開発者ガイド』


『Oracle Database 2日でセキュリティ・ガイド』



上級グループ

中級グループの次のステップは、上級グループです。これらのマニュアルは、特定のトピックについて、2日でシリーズのマニュアルよりも詳細な情報を必要とする専門家ユーザーを対象としています。上級グループの必須のリファレンス・マニュアルは次のとおりです。

  • 『Oracle Database SQL言語リファレンス』

    このマニュアルは、Oracle SQLに関する最も確実な情報ソースです。

  • 『Oracle Databaseリファレンス』

    このマニュアルは、初期化パラメータ、データ・ディクショナリ・ビュー、および動的パフォーマンス・ビューに関する最も確実な情報ソースです。

上級ガイドは数が多いため、この項にすべてを示すことはできません。表1-2に、熟練したDBAおよび開発者の多くが使用するガイドを示します。

表1-2 上級グループ

データベース管理者 データベース開発者

『Oracle Database管理者ガイド』


『Oracle Databaseアドバンスト・アプリケーション開発者ガイド』


『Oracle Databaseパフォーマンス・チューニング・ガイド』


『Oracle Database PL/SQL言語リファレンス』


『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』


『Oracle Database PL/SQLパッケージ・プロシージャおよびタイプ・リファレンス』


『Oracle Real Application Clusters管理およびデプロイメント・ガイド』



特定のユーザーが必要とする他の上級ガイドは、そのユーザーの担当業務の分野によって異なります。たとえば、セキュリティ担当者は通常、『Oracle Databaseセキュリティ・ガイド』を参照します。