Oracle の複数のジオデータベース

Oracle データベース管理システム(DBMS)を使用する場合、複数のジオデータベースを格納する方法は 2 種類あります。Oracle のインスタンスを個別にインストールして、各インスタンス内にジオデータベースを作成する方法と、Oracle インスタンス内にマスタ ジオデータベースを作成し、同じインスタンスの他のユーザ スキーマ内に依存するジオデータベースも作成する方法が可能です。

最初のオプションでは、Oracle の複数インスタンスをインストールする必要があります。ArcSDE サービスを使用してジオデータベースに接続する場合は、ジオデータベースごとに 1 つのサービスが必要です。各ジオデータベースは個別に管理および更新されます。それぞれを個別にアンインストールしたり削除することもできます。

2 つ目のオプションでは、Oracle のインストールを 1 つ、ArcSDE のインストールを 1 つ、接続用の ArcSDE サービスを 1 つ使用します。データベース内に複数のユーザが存在し、それぞれのスキーマに格納されているジオデータベースをインストール、管理、アップグレードするための ArcSDE 管理者権限が各ユーザに付与されている必要があります。各ジオデータベースは個別に維持および更新されます。すべての登録データを削除した後にユーザ スキーマ内のジオデータベースを個別に削除することができますが、ユーザ スキーマ内に格納されているすべてのジオデータベースを削除せずにマスタ ジオデータベースを削除することはできません。

各オプションに関する情報は、以下のセクションで提供されています。

複数の Oracle データベースの複数のジオデータベース

複数の Oracle データベースで複数のジオデータベースを作成することができます。その場合には、1 つの Oracle データベースをセットアップする場合と同様に、各 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 データベース内にある SDE とユーザ スキーマ ジオデータベース

1 つの Oracle データベース内に複数のジオデータベースが必要になる例として、次のような状況が考えられます。

1 つの Oracle データベース内で複数のジオデータベースを使用する場合のルールは次のとおりです。

関連項目


3/6/2012