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テーブルにアクセスする)
ユーザーを削除するとスキーマも削除されます。
関連の記事