徹底比較!! Oracle & PostgreSQL 3

Oracleのファイル構造

Oracleのファイル構造

   図3はOracleのファイル構造をあらわしたものです。PostgreSQLと大きく違う点は、物理ファイルが対応する機能毎に最初から定義されている点でしょう。

   また、サーバ内のファイルシステム上のディレクトリ構造に沿ったサブ・ツリー構造によるPostgreSQLとは違い、ファイル位置が特定ディレクトリに固定されない点も大きな違いです。

Oracleのファイル構造

図3:Oracleのファイル構造


   Oracleのデータベースは役割の異なる複数のファイル群で構成されています。これら一連のファ イルを合わせてOracleでは「データベース」と呼びますがPostgreSQLでいう「データベース」とは意味合いが大きく違います。あえて言えば、 PostgreSQLの「データベース・クラスタ」がOracleの「データベース」に該当すると考えるとイメージは近いかもしれません。

   逆にPostgreSQLの「データベース」はOracleでは該当する概念がありません。表領域やスキーマに似た部分もありますが、少し違いま す。例えば、PostgreSQLではデータベースをまたいだ処理は実行できませんが、Oracleでは表領域、スキーマなどを超えた処理も可能です。


   各ファイルの詳細を下記します。

データ・ファイル
表領域を構成する物理ファイル。テーブルやインデックスなどのオブジェクトはこの中に格納されています。SYSTEM,SYSAUX,TEMP,UNDOは必須と考えてよいでしょう。

REDOログ・ファイル
トランザクション・ログを記録します。最低二つ以上必要で、循環して使用されます。

制御ファイル
データベースを構成する物理ファイルや、管理・構成情報を記録します。通常二つ以上指定します。
   OracleにはPostgreSQLにはない(現時点では。PostgreSQL 8.0では機能追加で採用される模様。)「表領域」という論理構造があります。 表領域は複数の物理ファイル(もしくは、rawデバイス)から構成される論理的なデータの格納位置を定義するもので、物理的な入れ物(データファイル)を予め割り当てておきます。 テーブルやインデックスを作成する場合は、格納位置として表領域を指定します。

   表領域に対して複数のデータファイルを配置でき、OS上のファイル位置が固定されていないので、複数のファイルを分散したデバイス上に配置でき、I/O負荷分散をファイル単位でも可能にしています。

 

 

この記事をシェアしてください

人気記事トップ10

人気記事ランキングをもっと見る