Oracle の複数のジオデータベース
Oracle データベース管理システム(DBMS)を使用する場合、複数のジオデータベースを格納する方法は 2 種類あります。Oracle のインスタンスを個別にインストールして、各インスタンス内にジオデータベースを作成する方法と、Oracle インスタンス内にマスタ ジオデータベースを作成し、同じインスタンスの他のユーザ スキーマ内に依存するジオデータベースも作成する方法が可能です。
最初のオプションでは、Oracle の複数インスタンスをインストールする必要があります。ArcSDE サービスを使用してジオデータベースに接続する場合は、ジオデータベースごとに 1 つのサービスが必要です。各ジオデータベースは個別に管理および更新されます。それぞれを個別にアンインストールしたり削除することもできます。
2 つ目のオプションでは、Oracle のインストールを 1 つ、ArcSDE のインストールを 1 つ、接続用の ArcSDE サービスを 1 つ使用します。データベース内に複数のユーザが存在し、それぞれのスキーマに格納されているジオデータベースをインストール、管理、アップグレードするための ArcSDE 管理者権限が各ユーザに付与されている必要があります。各ジオデータベースは個別に維持および更新されます。すべての登録データを削除した後にユーザ スキーマ内のジオデータベースを個別に削除することができますが、ユーザ スキーマ内に格納されているすべてのジオデータベースを削除せずにマスタ ジオデータベースを削除することはできません。
各オプションに関する情報は、以下のセクションで提供されています。
複数の Oracle データベースの複数のジオデータベース
複数の Oracle データベースで複数のジオデータベースを作成することができます。その場合には、1 つの Oracle データベースをセットアップする場合と同様に、各 Oracle データベースをセットアップしてインストールします。
ジオデータベースごとにそれぞれダイレクト コネクションを作成する場合は、通常のダイレクト コネクションの設定以外に、追加の設定手順はありません。そしてデータベース認証を使用してデータベースに接続する際、接続先のデータベースを指示するために、データベース パスワードの後にネット サービス名を指定する必要があります。たとえば、ネット サービス名が benedict2 であれば、次のようにパスワードを入力します。
mypassword@benedict2
リモートの Oracle データベースにダイレクト コネクションを確立してオペレーティング システム認証を使用する場合は、ArcCatalog の [サービス] フィールドでダイレクト コネクション構文に LOCAL 変数と値を追加するか、コマンド ラインで -s(サーバ)オプションを使用する必要があります。たとえば、ネット サービス benedict2 に対してオペレーティング システム認証を使用する場合は、次のように接続文字列とスラッシュに続いて「LOCAL=benedict2」を入力します。
sde:oracl10g:/;LOCAL=benedict2
ローカルの Oracle データベースにダイレクト コネクションを確立して OS 認証を使用する場合は、ダイレクト コネクション構文に ORACLE_SID 変数と値を追加します。
sde:oracle10g:/;ORACLE_SID=benedict2
Desktop アプリケーションからの接続手順については、「ArcGIS Desktop から Oracle のジオデータベースへのダイレクト コネクションの作成」をご参照ください。
ArcSDE サービスを使用する場合は、接続ごとに一意の ArcSDE サービス名とポート番号が必要です。したがって、services ファイルに新しいサービスとポート番号を指定する新しいエントリを追加する必要があります。また、追加作成するジオデータベースごとに dbinit.sde ファイルのコピーを作成する必要もあります。
複数の ArcSDE サービス インスタンスを作成する手順については、「1 台の Linux または UNIX サーバへの複数の ArcSDE サービスのセットアップ」または「1 台の Windows サーバへの複数の ArcSDE サービスのセットアップ」をご参照ください。
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 つだけです。
- ArcSDE に登録されたデータセットを参照できるのは、1 つのジオデータベースだけです。
- ジオデータベースを作成したユーザが、その所有者になります。そのユーザは、そのジオデータベースの ArcSDE 管理者ユーザです。