権限によって、データおよびデータベースに対してユーザーが許可される操作を決定します。 権限は、 このユーザーがジオデータベースの管理に関与するか、 データを編集または作成できる必要があるか、 データを検索できれば十分かといった、組織内でのユーザーの職務に基づいて割り当てる必要があります。
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' );
最小限の権限
前のセクションで説明した権限以外に、次に示す種類のユーザーには以下の権限が必要です。
Oracle での最小権限
ユーザーの種類 | データベースの権限 | データセットの権限 | 備考 |
---|---|---|---|
データ参照者 |
| データベース オブジェクトの SELECT | |
データ編集者 |
| 他のユーザーが所有しているデータセットに対する SELECT、INSERT、UPDATE、DELETE |
ArcGIS を使用して、従来のバージョン対応登録されたフィーチャクラスまたはテーブルに対する SELECT、INSERT、UPDATE、および DELETE 権限を付与すると、関連するバージョン対応ビューに対してこれらの権限が自動的に付与されます。これらの権限は、ユーザーが SQL およびバージョン対応ビューを使用して編集する際に必須です。 |
データ作成者 |
| ||
ジオデータベース管理者 |
|
ジオデータベースのデータセットの権限の付与や取り消しは、ArcGIS クライアントを使用して、データセット所有者が行う必要があります。
ジオデータベースの作成またはアップグレードに必要な権限
Oracle 内のジオデータベースを作成またはアップグレードするためにジオデータベース管理者に付与する必要のある権限を次の表に示します。 その権限または権限のグループが必要な理由も示してあります。 以下の表の「目的」列、および前述のジオデータベース管理者に最低限必要な権限の表でも説明していますが、これらの権限の一部は作成またはアップグレードが完了した後に削除することができます。
最初の表は、sde ユーザーがジオデータベースを作成するために必要な権限を示しています。
2 番目の表は、sde ユーザーがジオデータベースをアップグレードするのに必要な権限を示しています。
権限は、ジオデータベースの作成およびアップグレードにおける目的ごとにグループ化されています。
ジオデータベースを作成するための Oracle sde ユーザー権限
権限 | 目的 |
---|---|
| Oracle への接続。 |
| ジオデータベース リポジトリを作成します。 |
| ID を生成するためのシーケンスを作成します。 この権限は、ジオデータベースの作成後に削除できます。 |
| ジオデータベース システム テーブルのコンテンツを維持するためのパッケージを作成します。 |
| ST_Geometry タイプのマップ メンバー関数を作成できます。この関数は、空間ユニオンまたは交差が実行されるたびに呼び出されます。 |
| ST_Geometry データ タイプとクエリ最適化に使用するタイプを作成します。 システム ビュー GDB_Items_vw および GDB_ItemRelationships_vw を作成するには、CREATE VIEW が必要です。 これらの権限は、ジオデータベースの作成後に削除できます。 *Autonomous Transaction Processing (ATP) database in Oracle Cloud でジオデータベースを作成する場合、CREATE LIBRARY は不要です。 |
| ST_Geometry 列を含むテーブルを SQL で削除、変更、名前変更した場合に、ST_GEOMETRY_COLUMNS および ST_GEOMETRY_INDEX テーブルを変更するのに必要なデータベース イベント トリガーを作成できるようにします。 PL/SQL トリガーの作成にも必要です。 この権限は、ジオデータベースの作成後に削除できます。 |
| この権限は、Autonomous Transaction Processing database in Oracle Cloud でジオデータベースを有効化し、アップグレードする場合のみ必要です。 他のサポートされている Oracle 提供のデータベースではオプションです。 |
ジオデータベースをアップグレードするための Oracle sde ユーザー権限
権限 | 目的 |
---|---|
| Oracle への接続。 |
| ジオデータベース リポジトリをアップグレードします。 CREATE VIEW 権限は、アップグレード後に削除できます。 |
| ジオデータベース システム テーブルのコンテンツを維持するためのパッケージをアップグレードします。 |
| ID を生成するためのシーケンスを更新します。 この権限は、アップグレード後に削除できます。 |
| ST_Geometry タイプのマップ メンバー関数を更新します。この関数は、空間的な結合または交差が実行されるたびに呼び出されます。 |
| ST_Geometry データ タイプとクエリ最適化に使用するタイプを更新します。 これらの権限は、アップグレード後に削除できます。 *ATP database in Oracle Cloud でジオデータベースをアップグレードする場合、CREATE LIBRARY は不要です。 |
| ジオデータベース コンテンツをアップグレードします。 |
| ST_Geometry を含むテーブルを SQL で削除、変更、名前変更した場合に、ST_GEOMETRY_COLUMNS および ST_GEOMETRY_INDEX テーブルを変更するのに必要なデータベース イベント トリガーを作成できるようにします。 PL/SQL トリガーの作成にも必要です。 この権限は、アップグレード後に削除できます。 |
一般的なオプションの権限
多くの組織が、ジオデータベースの機能をさらに強化するために、Oracle の追加機能を利用しています。 ジオデータベース管理者用の一般的なオプションの権限と権限の目的を、次の表に示します。 権限は、目的別に分類してあります。
ジオデータベース管理者に割り当てられる Oracle のオプションの権限
権限 | 付与されるユーザー | 目的 |
---|---|---|
| ジオデータベース管理者 | SQL をトレースする SQL*Plus の AUTOTRACE 機能を有効にし、パフォーマンス チューニングやトラブルシューティングのためにセッション固有の初期化パラメーターを変更できるようにします。PLUSTRACE ロールは、ORACLE_HOME/sqlplus/admin/plustrce.sql を実行して作成します。 |
| ジオデータベース管理者 | ジオデータベース管理者に割り当てて、Oracle の監視と基本的な管理タスクを実行できるようにします。 これは、ジオデータベース管理者が Oracle データベース管理者ではない組織で便利です。 |
| ジオデータベース管理者 | これは、ジオデータベースをエンタープライズの他の非空間データベースと統合する際に役立ちます。 |
| ジオデータベース管理者 | データベースがオンラインであるがエンド ユーザーがアクセスできない状態でも、ジオデータベース管理者は管理を実行できます。 |
| ジオデータベース管理者 | この権限を作成およびアップグレードを行うジオデータベース管理者に付与すると、データベースのジオデータベース管理者の表領域に、ジオデータベースの作成またはアップグレードを完了するための十分な格納領域があることが保証されます。領域の管理のために割り当て制限を設定している場合、この権限はジオデータベースの作成またはアップグレード後に削除できます。 |
| ジオデータベース管理者 | ジオデータベースから接続を削除するには、sde ユーザーにこれらの権限が必要です。 [エンタープライズ ジオデータベースの作成 (Create Enterprise Geodatabase)] ジオプロセシング ツールは、これらの権限を sde ユーザーに付与します。 このツールを実行した後に、sde ユーザーからこれらの権限を取り消すことができますが、そうすると、sde ユーザーはデータベースからユーザーを切断することができなくなります。 また、sde ユーザーをデータベース管理者ロールに追加して、そのユーザーがデータベースからユーザーを切断できるようにすることも可能です。 *SELECT_CATALOG_ROLE は、Autonomous Transaction Processing database in Oracle Cloud のジオデータベース管理者にはオプションではなく、必須です。 |
SELECT ON DBA_ROLES | データ作成者 | データ作成者が [権限] ダイアログ ボックスを使用して自身のデータセットに対する権限をデータベース ロールに付与できるようにする場合、そのデータ作成者には、データベース内のロールのリストを取得するための DBA_ROLES に対する SELECT 権限が必要です。 |
INHERIT PRIVILEGES ON <ユーザー> Or INHERIT ANY PRIVILEGES ON <ユーザー> | sde | このオプションの権限は、Oracle 12c 以降のリリースにのみ適用されます。 Data Pump による sde ユーザー スキーマのインポートの実行を別のユーザー (Oracle の sys ユーザーや system ユーザーなど) に許可する場合、この権限を sde ユーザーに付与する必要があります。 この権限は、ユーザー スキーマ ジオデータベースの所有者には適用されません。 |