Oracle の複数のジオデータベース
Oracle データベース管理システム(DBMS)を使用する場合、複数のジオデータベースを格納する方法は 2 種類あります。Oracle のインスタンスを個別にインストールして、各インスタンス内にジオデータベースを作成する方法と、Oracle インスタンス内にマスタ ジオデータベースを作成し、同じインスタンスの他のユーザ スキーマに依存するジオデータベースも作成する方法が可能です。
第 1 の方法では、複数の Oracle インスタンスをインストールする必要があります。ArcSDE サービスを使用してジオデータベースに接続する場合は、ジオデータベースごとに 1 つのサービスが必要です。各ジオデータベースは個別に維持および更新されます。それぞれを個別にアンインストールしたり削除することもできます。
2 つめのオプションでは、Oracle のインストールを 1 つ、ArcSDE のインストールを 1 つ、接続用の ArcSDE サービスを 1 つ使用します。データベース内に複数のユーザが存在し、それぞれのスキーマに格納されているジオデータベースをインストール、管理、アップグレードするための ArcSDE 管理者権限が各ユーザに付与されている必要があります。各ジオデータベースは個別に維持および更新されます。すべての登録データを削除した後にユーザ スキーマ内のジオデータベースを個別に削除することができますが、ユーザ スキーマ内に格納されているすべてのジオデータベースを削除せずにマスタ ジオデータベースを削除することはできません。
各オプションに関する情報は、以下のセクションで提供されています。
複数の Oracle データベースの複数のジオデータベース
複数の Oracle データベースで複数のジオデータベースを作成することができます。その場合には、1 つの Oracle データベースをセットアップする場合と同様に、各 Oracle データベースをセットアップしてインストールします。
ジオデータベースごとにそれぞれダイレクト コネクションを作成する場合は、通常のダイレクト コネクションの設定以外に、追加の設定手順はありません。そのため、データベース認証を使用してデータベースに接続する場合、特定のデータベースのネット サービス名を指定する必要があります。
ArcSDE サービスを使用する場合は、接続ごとに一意の ArcSDE サービス名とポート番号が必要です。したがって、services ファイルに新しいサービスとポート番号を指定する新しいエントリを追加する必要があります。
1 つの Oracle データベースでの複数のジオデータベース
1 つの Oracle データベースに複数のジオデータベースを作成することができます。これを実行する場合は、sde ユーザ以外のスキーマにジオデータベースを作成します。このため、これらのジオデータベースはユーザ スキーマ ジオデータベースと呼ばれます。これらのジオデータベースには独自の ArcSDE およびジオデータベース システム テーブルが含まれています。
ジオデータベースはユーザ スキーマごとに 1 つだけ存在できます。ユーザ スキーマ内のジオデータベースは、sde ユーザのスキーマに格納されている 1 つのマスタ ジオデータベースと同時に実行されます。マスタ ジオデータベースは sde ユーザのスキーマに格納されているため、マスタ sde ジオデータベースと呼ばれます。
sde スキーマのジオデータベースは常にマスタ ジオデータベースであり、Oracle データベース内のその他すべてのジオデータベースを追跡するテーブル(SDE.INSTANCES)を含んでいます。sde スキーマには ST_Geometry タイプも含まれており、そのサブタイプと関数、それが使用するシステム テーブル(ST_SPATIAL_REFERENCES など)も含まれています。
sde マスタ ジオデータベースとユーザ スキーマ ジオデータベースは両方とも 1 つの Oracle データベースの下に作成され、1 つの ArcSDE サービスによってアクセス可能です。
1 つの Oracle データベース内に複数のジオデータベースが必要になる例として、次のような状況が考えられます。
- 組織内の小規模なグループ(部署、プロジェクト グループなど)がそれぞれ単独で作業する場合には、独自のデータが必要になります。この場合、グループごとにジオデータベースを持つことができます。
- 開発環境を運用環境と切り離す必要がある場合、テスト用の開発環境のユーザ スキーマにあるジオデータベースを使用できます。
- 別々のユーザ スキーマ ジオデータベースを作成することで、それぞれの提供する固有のアプリケーションに合わせて各ジオデータベースを調整できます。
- 特定のユーザのみがアクセスできる独立したユーザ スキーマ ジオデータベースに機密データを配置することで、機密情報を保護できます。
たとえば、独自のジオデータベース内で保護された軍事機密情報のデータベースを作成すると、他のインスタンスの所有者はそのデータを閲覧できません。
1 つの Oracle データベース内で複数のジオデータベースを使用する場合のルールは次のとおりです。
- ユーザが所有できるジオデータベースは 1 つだけです。
- ジオデータベースを作成したユーザが、その所有者になります。そのユーザは、そのジオデータベースのジオデータベース管理者ユーザであり、同じデータベース権限が必要です。
- ジオデータベースの所有者は、そのジオデータベース内のデータのみ所有できます。別ユーザのスキーマやマスタ sde ジオデータベース内にデータを所有することはできません。
- ユーザは 1 つのジオデータベース内のデータのみ所有できます。たとえば、ユーザ 1 はマスタ sde ジオデータベースまたはユーザ 2 のジオデータベース内のデータを所有できますが、両方にデータは所有できません。