:インスタンス:OSからみて、サービスやプロセス等で分けられる単位 :データベース:インスタンス内での管理単位(オブジェクトなどを格納する) :スキーマ:データベース内での名前空間 !!!Oracle http://otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/server.102/B19215-02/startup.htm *OS内に複数インスタンス *インスタンス≒データベース *各インスタンスに複数スキーマ(ユーザ) を持っている。 Oracle   |   ├インスタンス(≒データベース)   |    |   |    ├スキーマ(=ユーザ)   |    |  ├オブジェクト   |    |  ├オブジェクト   |    |   |    ├スキーマ(=ユーザ)   |    |  ├オブジェクト   |    |  ├オブジェクト   |    |   ├インスタンス(≒データベース)        |       (省略) !! Oracleインスタンスの概要 稼働中のすべてのOracleデータベースは、Oracleインスタンスに対応付けられます。データベース・サーバー上で(コンピュータの種類に関係なく)データベースを起動すると、Oracleによってシステム・グローバル領域(SGA)と呼ばれるメモリー領域が割り当てられ、1つ以上のOracleプロセスが開始されます。このSGAとOracleプロセスを組み合せて、Oracleインスタンスと呼びます。 oracle - インスタンス-データベース - スキーマ=ユーザ - 各オブジェクト //postgre - インスタンス-データベース ≒ スキーマ - 各オブジェクト !!共有サーバ接続と専用サーバ接続 http://jibun.atmarkit.co.jp/lskill01/rensai/sdba16/sdba01.html :専用サーバ接続:専用サーバ接続では、ユーザープロセスとサーバプロセスが1対1で対応付けられます。そのため、セッションに関する情報やカーソル情報、作業領域などを含むUGA(User Global Area)は、サーバプロセスが持つPGA(Program Global Area)に格納されます。セッションごとにサーバプロセスが必要となるため、多くのセッションが確立される環境では、サーバ側に多くのCPUとメモリリソースが必要となります。 :共有サーバ接続:共有サーバ接続では、サーバプロセスは複数のユーザープロセスからのSQL処理要求を受け止めることが可能です。共有サーバ構成では、最低1つのディスパッチャプロセスが起動し、ユーザープロセスとの接続を確立します。セッションが切断されるまでは同一のディスパッチャが使用され、ディスパッチャからサーバプロセスにSQL処理が渡されます。多くのセッションが確立されていても、SQL処理が少ない環境では少ないサーバプロセスで済むため、サーバ側で使用するCPUとメモリリソースが減少します。 !!!PostgreSQL http://www.postgresql.jp/document/pg632doc/postgres/book01.htm 公式には、インスタンスは1つ。 ただ、複数のインスタンス(プロセスというかサービス)を起動することができる。 http://d.hatena.ne.jp/aaabbb_200904/20090713/1247505917 *OS内に1つのインスタンス *インスタンス内に複数のデータベース *各データベースに複数のスキーマ *これらの概念とは別にユーザ を持っている。 PostgreSQL   |   ├インスタンス   |    |   |    ├データベース   |    |   |   |    |   ├スキーマ   |    |   |  ├オブジェクト   |    |   |  ├オブジェクト   |    |   ├スキーマ   |    |   |  ├オブジェクト   |    |   |  ├オブジェクト   |    |   |    ├データベース   |        |   |        ├スキーマ   |        |  ├オブジェクト   |        |  ├オブジェクト   |        |   |        ├スキーマ   |        |  ├オブジェクト   |        |  ├オブジェクト   |        ├インスタンス        |       (省略) {{category2 データベース}}