権限によって、データおよびデータベースに対してユーザーが許可される操作を決定します。権限は、 このユーザーがジオデータベースの管理に関与するか、 データを編集または作成できる必要があるか、 データを検索できれば十分かといった、組織内でのユーザーの職務に基づいて割り当てる必要があります。
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;
ジオデータベースの作成またはアップグレードが完了したら、public ロールから権限を削除し、ジオデータベースにログインする個々のユーザー (ジオデータベース管理者を含む) に権限を付与することで、これらのパッケージに対する権限を制限することができます。
最小限の権限
前のセクションで説明した権限以外に、次に示す種類のユーザーには以下の権限が必要です。
Oracle での最小権限
ユーザーの種類 | データベースの権限 | データセットの権限 | 備考 |
---|---|---|---|
データ参照者 |
| データベース オブジェクトの SELECT | |
データ編集者 |
| 他のユーザーのデータセットに対する SELECT、INSERT、UPDATE、DELETE | ArcGIS を使用して、バージョン対応登録されたフィーチャクラスまたはテーブルに対する SELECT、INSERT、UPDATE、および DELETE 権限を付与すると、関連するバージョン対応ビューに対してこれらの権限が自動的に付与されます。これらは、ユーザーがバージョン対応ビューを介して編集する際に必須の権限です。 |
データ作成者 |
| ||
ジオデータベース管理者 |
|
ジオデータベースのデータセットの権限の付与や取り消しは、ArcGIS クライアントを使用して、データセット所有者が行う必要があります。
ジオデータベースの作成またはアップグレードに必要な権限
次の表は、Oracle 内のジオデータベースを作成またはアップグレードするためにジオデータベース管理者に割り当てる必要のある権限を示しています。その権限または権限のグループが必要な理由も示してあります。以下の表の「目的」列、および前述のジオデータベース管理者に最低限必要な権限の表でも説明していますが、これらの権限の一部は作成またはアップグレードが完了した後に削除することができます。
最初の表は、sde ユーザーが sde ユーザースキーマ内にジオデータベースを作成するために必要な権限を示しています。これは、sde マスター ジオデータベースと呼ばれます。
2 番目の表は、sde ユーザーが sde マスター ジオデータベースをアップグレードするのに必要な権限を示しています。
3 番目の表は、sde 以外のユーザーが自身のスキーマ内にジオデータベースを作成するのに必要な権限を示しています。これらのジオデータベースは、ユーザースキーマ ジオデータベースと呼ばれます。
4 番目の表は、sde 以外のユーザーがユーザースキーマ ジオデータベースをアップグレードするのに必要な権限を示しています。
権限は、ジオデータベースの作成およびアップグレードにおける目的ごとにグループ化されています。
sde マスター ジオデータベースを作成するための Oracle sde ユーザー権限
権限 | 目的 |
---|---|
| Oracle への接続。 |
| ジオデータベース リポジトリを作成します。 |
| ID を生成するためのシーケンスを作成します。この権限は、ジオデータベースの作成後に削除できます。 |
| ジオデータベース システム テーブルのコンテンツを維持するためのパッケージを作成します。 |
| ST_Geometry タイプのマップ メンバー関数を作成できます。この関数は、空間ユニオンまたは交差が実行されるたびに呼び出されます。 |
| ST_Geometry データ タイプとクエリ最適化に使用するタイプを作成します。システム ビュー GDB_Items_vw および GDB_ItemRelationships_vw を作成するには、CREATE VIEW が必要です。これらの権限は、ジオデータベースの作成後に削除できます。 |
| ST_Geometry 列を含むテーブルを SQL で削除、変更、名前変更した場合に、ST_GEOMETRY_COLUMNS および ST_GEOMETRY_INDEX テーブルを変更するのに必要なデータベース イベント トリガーを作成できるようにします。この権限は、ジオデータベースの作成後に削除できます。 |
sde マスター ジオデータベースをアップグレードするための Oracle sde ユーザー権限
権限 | 目的 |
---|---|
| Oracle への接続。 |
| ジオデータベース リポジトリをアップグレードします。CREATE VIEW 権限は、アップグレード後に削除できます。 |
| ジオデータベース システム テーブルのコンテンツを維持するためのパッケージをアップグレードします。 |
| ID を生成するためのシーケンスを更新します。この権限は、アップグレード後に削除できます。 |
| ST_Geometry タイプのマップ メンバー関数を更新します。この関数は、空間的な結合または交差が実行されるたびに呼び出されます。 |
| ST_Geometry データ タイプとクエリ最適化に使用するタイプを更新します。これらの権限は、アップグレード後に削除できます。 |
| ジオデータベース コンテンツをアップグレードします。 |
| ST_Geometry を含むテーブルを SQL で削除、変更、名前変更した場合に、ST_GEOMETRY_COLUMNS および ST_GEOMETRY_INDEX テーブルを変更するのに必要なデータベース イベント トリガーを作成できるようにします。この権限は、アップグレード後に削除できます。 |
ユーザースキーマ ジオデータベースを作成するための Oracle 権限
権限 | 目的 |
---|---|
| Oracle への接続。 |
| ジオデータベース リポジトリを作成します。 |
| ID を生成するためのシーケンスを作成します。この権限は、ジオデータベースの作成後に削除できます。 |
| ジオデータベース システム テーブルのコンテンツを維持するためのパッケージを作成します。 |
| クエリ最適化に使用するタイプを作成します。 |
ユーザースキーマ ジオデータベースをアップグレードするための Oracle 権限
権限 | 目的 |
---|---|
| Oracle への接続。 |
| ジオデータベース リポジトリをアップグレードします。 |
| ID を生成するためのシーケンスを更新します。この権限は、アップグレード後に削除できます。 |
| ジオデータベース コンテンツをアップグレードします。 |
一般的なオプションの権限
多くの組織が、ジオデータベースの機能をさらに強化するために、Oracle の追加機能を利用しています。ジオデータベース管理者用の一般的なオプションの権限と権限の目的を、次の表に示します。権限は、目的別に分類してあります。
ジオデータベース管理者に割り当てられる 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 ロールに追加して、ユーザーをデータベースから切断することができるようにすることも可能です。 |
SELECT ON DBA_ROLES | データ作成者 | データ作成者が ArcMap の [権限] ダイアログ ボックスを使用して自身のデータセットに対する権限をデータベース ロールに付与できるようにする場合、そのデータ作成者には、データベース内のロールのリストを取得するための DBA_ROLES に対する SELECT 権限が必要です。 |
INHERIT PRIVILEGES ON <ユーザー> 論理和 INHERIT ANY PRIVILEGES ON <ユーザー> | sde | このオプションの権限は、Oracle 12c にのみ適用されます。Data Pump による sde ユーザー スキーマのインポートの実行を別のユーザー (Oracle の sys ユーザー、system ユーザーなど) に許可する場合、この権限を sde ユーザーに付与する必要があります。 この権限は、ユーザー スキーマ ジオデータベースの所有者には適用されません。 |