Oracle でのジオデータベースに対するユーザ権限
Oracle データベースで実行する必要のある操作内容に基づいて、ユーザに特定の権限を割り当てる必要があります。一部の権限はロールに割り当てることができますが、その他の権限はユーザに直接割り当てる必要があります。
このトピックの最初のセクションでは、すべてのユーザに必要なパッケージの権限について説明します。この権限は、ジオデータベースの作成とアップグレードのために public ロールに付与する必要があります。ただし、この権限をジオデータベースの作成またはアップグレード後にすべての個別ユーザに付与することで public ロールから取り消すことができます。
2 つめのセクションでは、共通タイプのユーザ(データ参照者、データ編集者、データ作成者、ジオデータベース管理者)に最小限必要なデータベース権限について説明します。これらの権限は、最初のセクションに示した権限に追加で必要なものです。
3 つめのセクションは、ジオデータベースの作成またはアップグレードのためにジオデータベース管理者が必要とする権限を示しています。これらの権限も、最初のセクションに示した権限に追加で必要なものです。
最後のセクションは、Oracle のジオデータベースのユーザに一般的に割り当てられるオプションの権限を示しています。
ユーザ権限の管理には、Oracle の Enterprise Manager を使用できます。または、SQL ステートメントを使用して権限の追加と削除を行うこともできます。
パッケージの権限
次のパッケージには実行権限が必要です。
- dbms_lob
- dbms_lock
- dbms_pipe
- dbms_utility
- dbms_sql
- utl_raw
ジオデータベースを作成したりアップグレードするには、これらのパッケージに対する実行権限を public ロールに付与する必要があります。
GRANT EXECUTE ON dbms_pipe TO public;
GRANT EXECUTE ON dbms_lock TO public;
GRANT EXECUTE ON dbms_lob TO public;
GRANT EXECUTE ON dbms_utility TO public;
GRANT EXECUTE ON dbms_sql TO public;
GRANT EXECUTE ON utl_raw TO public;
Oracle では、dbms_utility、dbms_sql、utl_raw に対する実行権限がデフォルトで public ロールに付与されます。したがって、これらを public から明示的に削除する場合のみ、これらのパッケージの実行権限を付与する必要があります。
ジオデータベースの作成またはアップグレードが完了したら、public ロールから権限を削除し、ジオデータベースにログインする個々のユーザ(ジオデータベース管理者を含む)に権限を付与することで、これらのパッケージに対する権限を制限することができます。
ユーザ ロールを介して割り当てられた権限は Oracle パッケージの実行時には適用されないので、実行権限をロールに割り当ててから、そのロールをすべてのユーザに割り当てることで実行権限を付与することはできません。
実行権限を個々のユーザに付与したら、sde スキーマを再コンパイルします。
EXEC dbms_utility.compile_schema( 'SDE' );
最小限の権限
前のセクションで説明した権限以外に、次に示す種類のユーザには以下の権限が必要です。
ユーザのタイプ |
データベースの権限 |
データセットの権限 |
注意 |
---|---|---|---|
データ参照者 |
|
データベース オブジェクトの SELECT |
共有 ArcSDE ログ ファイル テーブルを使用するようにデータベースが設定されている場合(デフォルト)、次の権限が必要になります。詳細については、「Oracle 用 ArcSDE ログ ファイル テーブル設定オプション」をご参照ください。 |
データ編集者 |
|
他のユーザのデータセットの SELECT、INSERT、UPDATE、DELETE |
ジオデータベースが共有 ArcSDE ログ ファイル テーブルを使用する場合(デフォルト)、追加の権限が必要になる場合があります。詳細については、「Oracle 用 ArcSDE ログ ファイル テーブル設定オプション」をご参照ください。 ユーザがバージョン対応ビューを介してバージョン対応登録されたデータを編集する場合、ユーザには、バージョン対応ビューに対する SELECT、INSERT、UPDATE、DELETE の各権限も付与されている必要があります。ArcGIS の [権限] ダイアログ ボックスを使用して、バージョン対応登録されたフィーチャクラスに対する SELECT、INSERT、UPDATE、DELETE の各権限を付与すると、それらの権限は関連するバージョン対応ビューに対して自動的に付与されます。 |
データ作成者 |
|
||
ジオデータベース管理者 |
|
Oracle 10g リリース 2 から、セキュリティ強化のために ORACLE_HOME へのアクセス制限が強化されました。ジオデータベース管理者が上位の権限の付与を必要とせずに ORACLE_HOME のファイルにアクセスできるように、オペレーティング システムの SDE アカウントで、互換性のある Oracle クライアントをインストールします。UNIX または Linux では、SDE ユーザのシェルでクライアントの ORACLE_HOME を設定します。詳細については、「Knowledge Base 34824」をご参照ください。
ジオデータベースの作成またはアップグレードに必要な権限
次の表は、ArcSDE ジオデータベースを作成またはアップグレードするためにジオデータベース管理者に割り当てる必要のある権限を示しています。その権限または権限のグループが必要な理由も示してあります。以下の表の「目的」列、および前述のジオデータベース管理者に最低限必要な権限の表でも説明していますが、これらの権限の一部は作成またはアップグレードが完了した後に削除することができます。
最初の表は、SDE ユーザが SDE ユーザ スキーマ内にジオデータベースを作成するために必要な権限を示しています。これは、SDE マスタ ジオデータベースと呼ばれます。
2 番目の表は、SDE ユーザが SDE マスタ ジオデータベースをアップグレードするのに必要な権限を示しています。
3 番目の表は、SDE 以外のユーザが自身のスキーマ内にジオデータベースを作成するのに必要な権限を示しています。これらのジオデータベースは、ユーザ スキーマ ジオデータベースと呼ばれます。
4 番目の表は、SDE 以外のユーザがユーザ スキーマ ジオデータベースをアップグレードするのに必要な権限を示しています。
権限は、ジオデータベースの作成およびアップグレードにおける目的ごとにグループ化されています。
権限 |
目的 |
---|---|
|
Oracle に接続します。 |
|
ジオデータベース レポジトリの作成。 |
|
ID を生成するためのシーケンスを作成します。この権限は、ジオデータベースの作成後に削除できます。 |
|
ジオデータベース システム テーブル のコンテンツを維持するためのパッケージを作成します。 |
| ST_Geometry タイプのマップ メンバ関数を作成できます。この関数は、空間ユニオンまたは交差が実行されるたびに呼び出されます。 |
|
ST_Geometry および ST_Raster ユーザ定義データ タイプ、およびクエリ最適化に使用するタイプを作成します。システム ビュー GDB_Items_vw および GDB_ItemRelationships_vw を作成するには、CREATE VIEW が必要です。これらの権限は、ジオデータベースの作成後に削除できます。 |
|
ST_Geometry を含むテーブルを SQL を使用して削除、変更、名前変更した場合に、ST_GEOMETRY_COLUMNS および ST_GEOMETRY_INDEX テーブルを変更するために必要なデータベース イベント トリガを作成できるようにします。この権限は、ジオデータベースの作成後に削除できます。 |
権限 |
目的 |
---|---|
|
Oracle に接続します。 |
|
ジオデータベース リポジトリをアップグレードします。CREATE VIEW 権限は、アップグレード後に削除できます。 |
|
ジオデータベース システム テーブル のコンテンツを維持するためのパッケージをアップグレードします。 |
| ID を生成するためのシーケンスを更新します。この権限は、アップグレード後に削除できます。 |
| ST_Geometry タイプのマップ メンバ関数を更新します。この関数は、空間的な結合または交差が実行されるたびに呼び出されます。 |
|
ST_Geometry および ST_Raster ユーザ定義データ タイプ、およびクエリ最適化に使用するタイプを更新します。これらの権限は、アップグレード後に削除できます。 |
|
ジオデータベース コンテンツをアップグレードします。 |
|
ST_Geometry を含むテーブルを SQL を使用して削除、変更、名前変更した場合に、ST_GEOMETRY_COLUMNS および ST_GEOMETRY_INDEX テーブルを変更するために必要なデータベース イベント トリガを作成できるようにします。この権限は、アップグレード後に削除できます。 |
権限 | 目的 |
---|---|
| Oracle に接続します。 |
| ジオデータベース レポジトリの作成。 |
| ID を生成するためのシーケンスを作成します。この権限は、ジオデータベースの作成後に削除できます。 |
| ジオデータベース システム テーブル のコンテンツを維持するためのパッケージを作成します。 |
| クエリ最適化に使用するタイプを作成します。 |
権限 | 目的 |
---|---|
| Oracle に接続します。 |
| ジオデータベース リポジトリをアップグレードします。 |
| ID を生成するためのシーケンスを更新します。この権限は、アップグレード後に削除できます。 |
| ジオデータベース コンテンツをアップグレードします。 |
一般的なオプションの権限
多くの組織が、ジオデータベースの機能をさらに強化するために、Oracle の追加機能を利用しています。ジオデータベース管理者用の一般的なオプションの権限と権限の目的を、次の表に示します。権限は、目的別に分類してあります。
権限 |
目的 |
---|---|
|
SQL をトレースする SQL*Plus の AUTOTRACE 機能を有効にし、パフォーマンス チューニングやトラブルシューティングのためにセッション固有の初期化パラメータを変更できるようにします。PLUSTRACE ロールは、ORACLE_HOME/sqlplus/admin/plustrce.sql を実行して作成します。 |
|
ジオデータベース管理者に割り当てて、Oracle の監視と基本的な管理タスクを実行できるようにします。 これは、ジオデータベース管理者が Oracle DBA ではない組織で便利です。 |
|
これは、ジオデータベースをエンタープライズの他の非空間データベースと統合する際に役立ちます。 |
|
データベースがオンラインだがエンド ユーザはアクセスできない状態で、ジオデータベース管理者が管理を実行できます。 |
|
この権限をインストールおよびアップグレードを行うジオデータベース管理者に付与すると、データベースのジオデータベース管理者の表領域に、インストールまたはアップグレードを完了するための十分な格納領域があることが保証されます。領域の管理のために割り当て制限を設定している場合、この権限はジオデータベースのインストールまたはアップグレード後に削除できます。割り当て制限の詳細については、「Oracle でのメモリのチューニング」をご参照ください。 |
|
ジオデータベースから接続を削除するには、SDE ユーザにこれらの権限が必要です。[エンタープライズ ジオデータベースの作成(Create Enterprise Geodatabase)] ジオプロセシング ツールは、これらの権限を SDE ユーザに付与します。このツールを実行した後に、SDE ユーザからこれらの権限を取り消すことができますが、そうすると、SDE ユーザはデータベースからユーザを切断することができなくなります。 または、SDE ユーザを DBA ロールに追加して、ユーザをデータベースから切断することができるようにすることも可能です。 |
データセットの権限は、ArcGIS for Desktop で使用可能な [権限] ダイアログ ボックスまたは [権限の変更(Change Privileges)] ジオプロセシング ツールを使用して、データセットの所有者が付与または取り消しを行います。手順については、「データセットの権限の設定」および「権限の変更(Change Privileges)」をご参照ください。