Oracleの基本用語

Oracleの基本用語です。

目次

用語 インスタンスとデータベース
表領域とデータファイル
ユーザとスキーマ
その他の用語

インスタンスとデータベース

インスタンスの役割

インスタンスは、メモリ領域(SGA)とプロセス(バックグラウンドプロセス)から構成され、データベースを管理します。

インスタンスは1台のサーバに複数作成できます。

 

データベース

データベースは、インスタンスの配下に1つあります。各種ファイルから成り立っています。
(SQLServerは1インスタンスに複数のデータベースの構成が可能です)

 

SGA(メモリ領域)

共有プール SQL文やPL/SQLや実行計画を保持します。
同じSQL文は再利用されます。バインド変数も共有プールで使用します。
データベース・バッファ・キャッシュ 高速化のためデータをキャッシュします。
REDOログバッファ コミット前の更新の履歴を保持します。コミット時にREDOログファイルに書き込みます。
ラージプール 汎用的に使用されます。

 

プロセス

DBWn
(データベースライター)
データファイルに書き込みます。
LGWR(ログライター) REDOログファイルに書き込みます。
CKPT
(チェックポイント)
データの整合性を見ます。
PMON
(プロセスモニター)
障害時にリソースを開放等します。
SMON
(システムモニター)
障害時にリカバリを実施します。
ARCn(アーカイバプロセス) ログスイッチ時にREDOログファイルをコピーします。

https://docs.oracle.com/cd/E16338_01/server.112/b56311/bgprocesses.htm

 

データベース

データファイル データを格納します。
REDOログファイル 変更情報を保持します。障害時の復旧はこのファイルを使用します。
制御ファイル データベースの情報を保持します。データベース名等。

 

リスナー(TNSLSNR)

ユーザプロセス(SQLPlus等)の接続を受けてインスタンスのプロセスに接続します。

インスタンスのプロセスとは別に独立していますが、インスタンスとひも付きます。

 

SID

SID(システム識別子)は、インスタンスにアクセスする識別子です。

SIDを確認するSQL

select instance_name from v$instance;

 

表領域とデータファイル

概念図

表領域は、論理(概念)で、データファイルは物理(ディスク)です。

表領域 論理です。複数のテーブルを作成できます。
セグメント エクステントの塊です。テーブルやインデックスにあたります。
エクステント 連続したブロックです。
ブロック 最小単位です。2K、4K、8K(デフォルト)、16、32Kのどれかを指定します。
サイズが大きいと一度で多くのデータを読み込めますが逆に不要なデータまで読み込んでしまう可能性もあります。
データファイル 物理です。

 

ユーザとスキーマ

ユーザを作成すると同じ名前のスキーマが自動で作成されます。

スキーマとは、あるユーザが持つテーブル等のオブジェクトの集合です。

データベースに接続すると、ログインしたユーザと同じ名前のスキーマに接続され、そのスキーマのすべての権限を持ちます。

ユーザAがユーザBのスキーマにアクセスする場合はユーザBから権限を付与してもらい、かつsql文でもテーブル名の前にユーザBのスキーマ名を指定します。

select * from dbuser1.syain; (dbuser1スキーマのsyainテーブルにアクセスする)

ユーザーを削除するとスキーマも削除されます。

 

その他の用語

オプティマイザ SQLの実行計画を作成します
実行計画 SQLで処理する順番
テーブルのアクセス順序やインデックスの使用やテーブルの結合方法を決める
CBO コストベース・オプティマイザ
統計情報等を元にコストを計算して実行計画を作成する
RBO ルールベース・オプティマイザ
Oracle 10g以降はサポート対象外
ハッシュ結合 テーブル結合処理のひとつ。
1.テーブルAの列からハッシュテーブルを作成する。
2.テーブルBの列からハッシュ値を算出してハッシュテーブルと比較して結合する
利点:結合条件が「一致する」の場合は速い
ソート処理が不要

関連の記事

Oracle SQL Plusを使用するサンプル

△上に戻る