keyword 9 インスタンス
インスタンスという言葉は、日本語だと「実現値」とか「実例」という意味になります。また、オブジェクト指向プログラミングなどでもこの用語が出てきます。しかし、データベース関連では意味が異なり、論理的なデータベース管理システムの単位を指します。また、データベース製品によっても若干取り扱われ方が異なります。
データベース上に格納されているデータはユーザー間で共有利用されることになりますが、データは物理的にはディスク上に格納されているため、検索したり更新したりする場合、その都度ディスクを読みに行くディスクI/Oがかかります。そのI/Oの時間を短縮するために、メモリ上に作業場所(キャッシュ)を確保し、作業場所で検索や修正ができるようにしてディスクI/Oを減らすようにしています。
また、RDBMSの各種プログラム(プロセス)も通常はディスクに格納されており、必要があればメモリに呼び出されて実行されるわけですが、プログラムを動作させたままの状態でメモリに常駐させておき、呼び出されると直ちに対応できる状態にしておく工夫がされています。
Oracleにおいてはこのメモリの作業場所の総称を「SGA(システムグローバル領域)」と呼び、常駐しているプログラム群を「バックグラウンドプロセス」と呼んでいます。そしてSGAとバックグラウンドプロセスを合わせたものを「インスタンス」と呼び、管理単位となっています(図20)。

Oracleでは、原則的に1つのインスタンスと1つのデータベースが対応します。インスタンスは業務の単位で構築することが多いようです。例えば、売上販売管理業務や人事管理業務などです。またマシンのメモリやディスク容量に余裕がある場合、1台のマシンに複数のインスタンスを動作させ、1台に複数のデータベースを構築する場合もあります。インスタンスには、名前や識別するためのIDが振られています。
