ユーザ スキーマ ジオデータベースの管理
SDE ユーザ以外のスキーマで格納されたジオデータベースは、SDE マスタ ジオデータベースに依存していながら、SDE マスタ ジオデータベースとは異なる管理が実行されます。このトピックでは、マスタ ジオデータベースとは異なる手順で行われる管理タスクの一部を説明します。
ジオデータベースを所有するユーザは、ArcSDE 管理者です。つまり、ジオデータベースが格納されているスキーマを所有するユーザは、SDE マスタ ジオデータベースの SDE ユーザに相当し、ユーザ スキーマ ジオデータベースの管理タスクを実行するユーザになります。
他のユーザ スキーマ ジオデータベースの情報については、「ユーザ スキーマ ジオデータベースへの接続」および「ユーザのスキーマからのジオデータベースの削除」をご参照ください。
ユーザ スキーマのジオデータベースの起動と停止
SDE スキーマ以外のスキーマに格納されたジオデータベースは、マスタ ジオデータベースに依存しています。マスタ ジオデータベースを起動または停止すると、関連するすべてのジオデータベースが自動的に起動または停止します。ユーザ スキーマのジオデータベースを単体で起動しようとすると、次のようなエラーになります。
init_DB DB_instance_open_as_dba: -93 DBMS error code: 1017 ORA-01017: invalid username/password; logon denied
サーバ上のジオデータベースの一覧表示
サーバ上で実行されているジオデータベースを確認するには、sdemon -o info コマンドで-I オプションを使用します。このオプションは、サーバ上に存在するさまざまなジオデータベースに関する情報を返します。
sdemon –o info –I instances Instance Created Id SDE Thu Oct 28 16:30:20 2004 0 MAP Mon Feb 27 11:18:04 2006 1
SQL を使用して INSTANCES システム テーブルを検索し、ユーザ スキーマ ジオデータベースに関する情報を取得できます。
sdemon コマンドの詳細については、『ArcSDE コマンド リファレンス』をご参照ください。
ユーザ スキーマに格納されたジオデータベースでのストアド プロシージャの作成
ジオデータベースはそれぞれ、ジオデータベースの作成時に ArcSDE 管理者のスキーマに自動的に作成されるストアド プロシージャ パッケージを独自に保持します。
また、SQL*Plus にスキーマ名を指定すれば、ジオデータベースに個別のパッケージを作成することができます。たとえば、Thor ユーザのスキーマに dbtune_util パッケージを作成するには、SQL プロンプトで次のコマンドを実行します。
@dbtune_util.sps THOR
ユーザ スキーマ ジオデータベースへのデータの読み込み
SDE ユーザ以外のユーザのスキーマに格納されたジオデータベースにデータを読み込む方法は、SDE マスタ ジオデータベースにデータを読み込む方法と同じで、ArcGIS Desktop(推奨方法)または ArcSDE コマンドを使用します。
ArcGIS Desktop から同じ Oracle データベースの 2 つのジオデータベースに同じユーザとして接続する場合、ジオデータベース間でデータセットのコピーおよび貼り付けを行った場合は失敗することに注意してください。これは、同じユーザのスキーマに格納されているためにデータセットが一意の完全修飾名を持たないためです。
テーブルを所有するスキーマが異なっている限り、別のジオデータベースに存在するテーブルと同じ名前のテーブルでも、ジオデータベースに読み込むことができます。
テーブルとレイヤの登録
ジオデータベースを所有するユーザには、他のジオデータベースに SQL または ArcSDE コマンドを使用してテーブルを作成することが許可されますが、そのテーブルを登録できるのは 1 つのジオデータベースに限られます。
テーブルがすでに別のスキーマに登録されている場合には、SE_TABLE_REGISTERED_OUTSIDE_SCHEMA エラーが返されます。
次に、SQL を使用して作成したテーブル mytable を ArcSDE に登録する例を説明します。
sdetable –o register –t mytable –i 2299:schemaname –u user –p passwd
この例では、sdelayer コマンドを使用してレイヤ mylayer を作成します。
sdelayer –o create –l mylayer,shape –i port:schemaname –u user -p passwd
sdetable および sdelayer コマンドの使用の詳細については、『ArcSDE コマンド リファレンス』をご参照ください。
ユーザ スキーマに格納されたジオデータベースのバックアップ
スキーマ ジオデータベースのすべてのテーブルがスキーマの所有者によって所有されていて(つまり、そのジオデータベースで他のユーザがデータを作成しておらず)、ジオデータベースの所有者が他のジオデータベースでデータを所有しておらず、ST_Geometry 格納タイプを使用しない場合には、ジオデータベースの所有者のスキーマでバックアップを実行することができます。
ほとんどの場合、Oracle システム全体のバックアップを実行することをお勧めします。ユーザのデータが同じ Oracle データベースの複数のジオデータベースに分散している場合、または ST_Geometry 格納タイプ(ArcGIS 9.3 以降では ArcSDE ジオデータベースのデフォルト格納タイプ)を使用している場合、Oracle システム全体のバックアップが必要です。それは、ユーザのスキーマのジオデータベースがデータベースの他のスキーマの情報に依存しているため、ジオデータベースを含む単一のスキーマのバックアップだけでは不十分だからです。データベースのバックアップの詳細については、Oracle のマニュアルをご参照ください。