LoginSignup
0
0

【Oracleデータベース】概念・アーキテクチャ

Last updated at Posted at 2024-04-30

Oracleデータベースの概念・アーキテクチャを理解するための個人メモ。

1. オブジェクトとスキーマ

オブジェクトとは

表、ビュー、インデックス、プロシージャ、ユーザーなど、Oracleデータベースの世界に登場する様々な種類のアイテム。

スキーマに所属するスキーマ・オブジェクトと、所属しない非スキーマ・オブジェクトに分類される。

  • スキーマ・オブジェクト の例
    image.png

  • 非スキーマ・オブジェクトの例
    image.png

【Oracle - オブジェクト一覧】

スキーマとは

ユーザーが所有するオブジェクトの論理集合。
各ユーザーが自分のオブジェクトを格納するために与えられるホームベースのようなイメージ。
image.png

ユーザーとは

非スキーマ・オブジェクトの一種。
image.png
1つのユーザーは1つのスキーマを所有する。
ユーザーを作成するときに同名のスキーマも作成され、ユーザーはそのスキーマの所有者となる。

ユーザーは、別ユーザーの所有スキーマにも、権限があればアクセスできる。

別ユーザーのスキーマにアクセスする例
SELECT * FROM スキーマ名.テーブル名;

2. 論理データ構造(表領域)

例えばあるテーブルにINSERTしたデータは、どれかしらの「表領域」の中の「データ・ブロック」に格納されている。

image.png
(引用元)

  • 表領域 1つの表領域に0~複数個のオブジェクトのデータを格納している。
    物理的には、1つ以上のデータファイルから成る。
    image.png

  • セグメント あるオブジェクトを構成するデータ全体を指す。
    物理的には、ある表領域を構成するデータファイルたちの中で1箇所にまとまっているわけではなく、欠片(エクステント)になって散らばっている。同一荷主の複数伝票てきな。

  • エクステント 複数の連続したデータ・ブロック。複数個口の荷物てきな。

  • データ・ブロック データを詰めた1つの段ボール箱てきな。

3. ソフトウェア構造

インスタンスとは

SGA(共有メモリ) + バックグラウンドプロセス を指す。
メモリ上に展開される構造。

  • バックグラウンドプロセスの一部
    image.png
select PID, PNAME, PROGRAM from V$PROCESS
where PNAME is not null

データベースとは

インスタンスの対義語としてのデータベース。
物理ファイルの集合。ストレージ。

  • 主要ファイル
    • データファイル どれかしらの表領域の情報を格納している。
    • REDOログファイル データが変更された時に即座にデータファイルの複数個所に直接書き込みにいくと時間がかかるので、代わりに一箇所にまとめようということで存在する変更履歴の情報。
    • 制御ファイル これがないとデータファイルやREDOログファイルの場所が分からない。
      image.png

サーバープロセスとは

バックグラウンドプロセスに対してフォアグラウンドプロセスとも呼ばれる。
1つのコネクションを1つのサーバープロセスが担当。(専用サーバープロセスの場合)

リスナープロセスとは

リモート接続の受付窓口。
クライアントからリクエストが来たらコネクションを確立し
サーバープロセスに引き渡す。

image.png

image.png

(引用元)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0