ORACLE データベースはデータの集合であり、1 つのユニットに処理されます。各 ORACLE データベースには、物理構造と論理構造があります。
データベースの物理構造は、データベースを構成するオペレーティング システム ファイルによって決まります。データベース ファイルは、データベース情報のための実際の物理ストレージを提供します。各 ORACLE データベースは、データ ファイル、ログ ファイル、制御ファイルの 3 種類のファイルで構成されています。
論理データベース構造は、ユーザーが関与するデータベース構造です。 ORACLE データベースの論理構造は、次の要素によって決定されます:
(1) 1 つ以上のテーブルスペース
(2) データベーススキーマオブジェクト
などの論理ストレージ構造。表スペースは、データベースの物理スペースがどのように使用されるか、スキーマ オブジェクトとそれらの間の関係がデータベースのリレーショナル設計を構成する制御に使用されます。
1. データベースの物理構造
ORACLE データベースは、データ ファイル、ログ ファイル、制御ファイルの 3 種類の物理ファイルで構成されます。データ ファイル
各 ORACLE データベースには 1 つ以上の物理データ ファイル (データ ファイル) があります。データベース データ ファイルには、すべてのデータベース データが含まれます。論理データベース構造のデータは、データベースのデータ ファイルにも物理的に保存されます。データ ファイルには次の特徴があります:
(1) データ ファイルは 1 つのデータベースにのみ関連付けられます
(2) データ ファイルが作成されると、サイズは変更できません
(3) テーブル スペースは 1 つ以上のデータ ファイルで構成されます
データファイル内 データは必要に応じて読み取られ、ORACLE の内部ストレージ領域に保存されます。たとえば、ユーザーがデータベースのテーブル内の一部のデータにアクセスしたい場合、要求された情報がデータベースのメモリ記憶領域にない場合、対応するデータ ファイルから読み取られてメモリに保存されます。新しいデータが変更および挿入された場合、データ ファイルをすぐに書き込む必要はありません。ディスク出力の総量を減らしてパフォーマンスを向上させるために、データはメモリに保存され、ORACLE バックグラウンド プロセス DBWR が対応するデータ ファイルにデータを書き込む方法を決定します。
2.ログ ファイル
各データベースには 2 つ以上のログ ファイル (REDO ログ ファイル) から構成されるログ ファイル グループがあり、各ログ ファイルはデータベース ログの収集に使用されます。
ログの主な機能はデータベースへの変更を記録することなので、データベースへのすべての変更はログに記録されます。ログ ファイルは主にデータベースを障害から保護するために使用されます。ログ ファイル自体の障害を防ぐために、ORACLE ではミラー化されたログ (ミラー REDO ログ) が許可されており、複数の同一のログ コピーを異なるディスクに保持できます。
ログ ファイル内の情報は、システム障害またはメディア障害からデータベースを回復する場合にのみ使用されます。
3.制御ファイル
各 ORACLE データベースには、データベースの物理構造を記録する制御ファイル (制御ファイル) が少なくとも 1 つあります。含まれる主な情報は次のとおりです。
(1) データベース名
(2) データベース データの名前と場所。ファイルとログ ファイル
(3) データベースの作成日
ORACLE データベースのインスタンスが起動されるたびに、その制御ファイルを使用してデータベースとログ ファイルが識別されます。これらのファイルは、データベース操作を続行するときに開く必要があります。データベースの物理構成が変更されると、ORACLE はデータベースの制御ファイルを自動的に変更します。
2.3.2 データベースの論理構造
データベースの論理構造には、テーブルスペース、セグメント、エクステント、ブロックが含まれます
1。テーブルスペース
データベースは 1 つ以上の論理ユニットに分割され、この論理ユニットはテーブルスペースと呼ばれます。表領域は、関連する論理構造をグループ化します。 DBA はテーブル スペースを使用して次のことを行うことができます:
(1) データベース データのディスク割り当てを制御する
(2) 決定されたスペース シェアをデータベース ユーザーに割り当てる
(3) 単一のテーブル スペースをオンラインまたはオフラインにしてデータの可用性を制御する
(4) 部分的なデータベースのバックアップまたはリカバリ操作を実行します
(5) パフォーマンスを向上させるために、デバイス間でデータ ストレージを割り当てます
データベース、テーブル スペース、およびデータ ファイルの関係を図 2.3-2 に示します。
各データベースは論理的に 1 つ以上のテーブルスペースに分割できます。各表スペースは 1 つ以上のデータ ファイルで構成され、表スペース内のすべての論理構造データが物理的に格納されます。 DBA は、新しい表スペースの作成、表スペースへのデータ ファイルの追加または削除、およびデフォルトのセグメント記憶場所の設定または変更を行うことができます。
各 ORACLE データベースには SYSTEM という名前のテーブルスペースが含まれており、データベースの作成時に自動的に作成されます。この表スペースには、データベース全体のデータ・ディクショナリ表が常に含まれます。最小のデータベースには SYSTEM テーブルスペースのみが必要な場合があります。このテーブルスペースは常にオンラインである必要があります。表およびストアドPL/SQLプログラム・ユニット(プロシージャ、ファンクション、パッケージおよびトリガー)のすべての格納データは、SYSTEM表領域に格納されます。
テーブルスペースにデータファイルを追加してテーブルスペースを拡張します。テーブルスペースのサイズは、テーブルスペースを構成するデータファイルのサイズの合計です。
DBA は、SYSTEM 表スペースを除く、ORACLE データベース内の他の表スペースをオンラインまたはオフラインにすることができます (オフライン表スペースにはアクティブなロールバック セグメントを含めることはできません)。テーブルスペースは通常オンラインであるため、テーブルスペースに含まれるデータをデータベース ユーザーが利用できます。表領域がオフラインの場合、そのデータは利用できません。次の状況では、DBA はオフラインにすることができます:
(1) データの一部を使用不可にし、残りの部分への通常のアクセスを許可します
(2) オフラインの表スペースのバックアップを実行します
(3) 変更またはアプリケーションを維持し、そのテーブルのセットを一時的に使用不可にします。
アクティブなロールバック セグメントを含むテーブル スペースはオフラインにできません。 テーブル スペースは、ロールバック セグメントが使用されていない場合にのみオフラインにできます。
オンラインかオフラインかにかかわらず、テーブルスペースのステータスをデータディクショナリに記録します。データベースを閉じたときに表領域がオフラインの場合、次回データベースがマウントされて再度開かれたときも、表領域はオフラインのままです。
特定のエラーが発生すると、テーブルスペースがオンラインからオフラインに自動的に変更されることがあります。複数のテーブルスペースを使用すると、さまざまな種類のデータが分離され、DBA がデータベースを管理しやすくなります。
ORACLE データベースのテーブルスペースは、1 つ以上の物理データファイルで構成されます。1 つのデータファイルは 1 つのテーブルスペースにのみ関連付けられます。
ORACLE は、セグメント、エリア、データ ブロックなどの論理データ構造を通じて、ディスク領域の使用をより詳細に制御できます。
2.セグメント
セグメント (SEGMENT) には、表スペース内の指定されたタイプの論理記憶構造が含まれており、領域のグループで構成されます。 ORACLE データベースには、データ セグメント、インデックス セグメント、ロールバック セグメント、一時セグメントなど、いくつかのタイプのセグメントがあります。
データセグメント: 非集計テーブルごとにデータセグメントがあり、テーブルのすべてのデータがこのセグメントに保存されます。各集計にはデータ セグメントがあり、集計内の各テーブルのデータはこのセグメントに格納されます。
インデックスセグメント: 各インデックスには、インデックスデータを保存するためのインデックスセグメントがあります。
ロールバック セグメント: DBA によって確立され、元に戻す情報を一時的に保存するために使用されます。この情報は、データベースの回復中に使用される読み取り一貫性のあるデータベース情報の生成と、コミットされていないトランザクションのロールバックに使用されます。
一時セグメント: SQL ステートメントに一時作業領域が必要な場合、ORACLE によって作成されます。ステートメントが実行されると、一時セグメント領域がシステムに返されます。
ORACLE は、ゾーン単位ですべてのセグメントにスペースを割り当てます。
3.エリア
エリア (EXTENT) は、データベースストレージスペース割り当ての論理単位であり、連続した ORACLE データブロックで構成されます。各セグメントは 1 つ以上の領域で構成されます。セグメント内のすべての領域が完全に使用されると、ORACLE はそのセグメントに新しい領域を割り当てます。
メンテナンスの目的で、データベース内の各セグメントには、セグメントの特性とセグメント内のエリアのディレクトリを説明するセグメント タイトル ブロックが含まれています。
4.データ ブロック
データ ブロックは、ORACLE がデータ ファイル内のストレージ領域を管理するために使用する単位であり、データベースによって使用される I/O の最小単位であり、そのサイズはオペレーティング システムの標準 I/O ブロック サイズとは異なる場合があります。 。
上記は ORACLE データベース モデルの概要です。その他の関連記事については、PHP 中国語 Web サイト (www.php.cn) に注目してください。