Oracle データベース管理システム (DBMS) を使用する場合、複数のジオデータベースを格納する方法は 2 種類あります。Oracle のインスタンスを個別にインストールして、各インスタンス内にジオデータベースを作成する方法と、Oracle インスタンス内にマスター ジオデータベースを作成し、同じインスタンスの他のユーザースキーマに依存するジオデータベースを作成する方法が可能です。
第 1 の方法では、複数の Oracle インスタンスをインストールする必要があります。各ジオデータベースは個別に維持および更新されます。それぞれを個別にアンインストールしたり削除することもできます。
2 番目のオプションでは、Oracle の 1 つのインストールを使用します。データベースに複数のユーザーが作成され、各ユーザーにはジオデータベース管理者権限を割り当てて、そのスキーマに格納されるジオデータベースのインストール、管理、アップグレードができるようにする必要があります。各ジオデータベースは個別に維持および更新されます。すべての登録データを削除した後にユーザースキーマ内のジオデータベースを個別に削除することができますが、ユーザースキーマ内に格納されているすべてのジオデータベースを削除してからでないと、マスター ジオデータベースを削除できません。
各オプションに関する情報は、以下のセクションで提供されています。
複数の Oracle データベースの複数のジオデータベース
複数の Oracle データベースを個別にインストールし、以下の図に示すように、それらにジオデータベースを作成できます。
各ジオデータベースには、ジオデータベース システム テーブルが格納される sde ユーザースキーマがあります。ユーザー データは、個々のユーザーのスキーマに格納されます。
1 つの Oracle データベースでの複数のジオデータベース
1 つの Oracle データベースに複数のジオデータベースを作成することができます。これを実行する場合は、sde ユーザー以外のスキーマにジオデータベースを作成します。このため、これらのジオデータベースはユーザースキーマ ジオデータベースと呼ばれます。これらのジオデータベースには独自のジオデータベース システム テーブルが含まれています。
ジオデータベースはユーザースキーマごとに 1 つだけ存在できます。ユーザースキーマ内のジオデータベースは、sde ユーザーのスキーマに格納されている 1 つのマスター ジオデータベースと同時に実行されます。マスター ジオデータベースは sde ユーザーのスキーマに格納されているため、マスター sde ジオデータベースと呼ばれます。
sde スキーマのジオデータベースは常にマスター ジオデータベースであり、Oracle データベース内のその他すべてのジオデータベースを追跡するテーブル (SDE.INSTANCES) を含んでいます。sde スキーマには ST_Geometry タイプ、そのサブタイプと関数、および ST_SPATIAL_REFERENCES などの使用されるシステム テーブルも格納されます。
sde マスター ジオデータベースとユーザースキーマ ジオデータベースは、下の図に示すように、1 つの Oracle データベースに作成されます。
1 つの Oracle データベース内に複数のジオデータベースが必要になる例として、次のような状況が考えられます。
- 組織内の小規模なグループ (部署、プロジェクト グループなど) がそれぞれ単独で作業する場合には、独自のデータが必要になります。この場合、グループごとにジオデータベースを持つことができます。ただし、スキーマ ジオデータベースの所有者のみがスキーマ ジオデータベースにデータセットを作成できるということに注意してください。
- 別々のユーザースキーマ ジオデータベースを作成することで、それぞれの提供する固有のアプリケーションに合わせて各ジオデータベースを調整できます。
- 特定のユーザーのみがアクセスできる独立したユーザースキーマ ジオデータベースに機密データを配置することで、機密情報を保護できます。
たとえば、独自のジオデータベース内で保護された軍事機密情報のデータベースを作成すると、他のインスタンスの所有者はそのデータを閲覧できません。
1 つの Oracle データベース内で複数のジオデータベースを使用する場合のルールは次のとおりです。
- ジオデータベースを作成したユーザーが、その所有者になります。そのユーザーは、そのジオデータベースのジオデータベース管理者であり、ジオデータベース管理者権限が必要です。特定のジオデータベース管理者権限については、「Oracle でのジオデータベースの権限」をご参照ください。
- ユーザーが所有できるジオデータベースは 1 つだけです。
- ユーザースキーマ ジオデータベースの所有者のみが、そのジオデータベース内のデータを所有できます。
- ユーザーがジオデータベースを所有する場合、マスター sde ジオデータベース内のデータは所有できません。
- ユーザーがマスター sde ジオデータベース内のデータを所有する場合、ユーザースキーマ ジオデータベースは所有できません。