Oracle でのジオデータベースの権限

権限によって、データおよびデータベースに対してユーザーが許可される操作を決定します。 権限は、 このユーザーがジオデータベースの管理に関与するか、 データを編集または作成できる必要があるか、 データを検索できれば十分かといった、組織内でのユーザーの職務に基づいて割り当てる必要があります。

Oracle データベースで実行する必要のある操作内容に基づいて、ユーザーに特定の権限を割り当てる必要があります。 一部の権限はロールに割り当てることができますが、その他の権限はユーザーに直接割り当てる必要があります。 ユーザー権限は、さまざまなレベルで設定されます。

ユーザー権限の管理には、Oracle Enterprise Manager を使用できます。 また、SQL ステートメントを使用して、権限の付与と取り消しを行うこともできます。

このページに表示される権限は、OracleAutonomous Transaction Processing、および Amazon Relational Database Service (RDS) for Oracle に適用されます。

パッケージの権限

次のパッケージには実行権限が必要です。

  • dbms_lob
  • dbms_lock
  • dbms_pipe
  • dbms_utility
  • dbms_sql
  • utl_raw

ジオデータベースを作成したりアップグレードするには、これらのパッケージに対する execute 権限を 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 に対する execute 権限がデフォルトで public ロールに付与されます。 したがって、public から明示的に取り消した場合に限り、これらのパッケージに対する execute 権限を付与する必要があります。

ジオデータベースの作成またはアップグレードが完了したら、public ロールから権限を削除し、ジオデータベースに接続する個々のユーザー (ジオデータベース管理者を含む) に権限を付与することで、これらのパッケージに対する権限を制限することができます。

注意:

ユーザー ロールを介して割り当てられた権限は Oracle パッケージの実行時には適用されないため、execute 権限をロールに割り当ててから、そのロールをすべてのユーザーに割り当てることで実行権限を付与することはできません。

execute 権限を個々のユーザーに付与したら、sde スキーマを再コンパイルします。

EXEC dbms_utility.compile_schema( 'SDE' );

最小限の権限

前のセクションで説明した権限以外に、次に示す種類のユーザーには以下の権限が必要です。

Oracle での最小権限

ユーザーの種類データベースの権限データセットの権限備考

データ参照者

CREATE SESSION

データベース オブジェクトに対する SELECT

データ編集者

CREATE SESSION

他のユーザーが所有しているデータセットに対する SELECTINSERTUPDATEDELETE

ArcGIS を使用して、従来のバージョン対応登録されたフィーチャクラスまたはテーブルに対する SELECTINSERTUPDATE、および DELETE 権限を付与すると、関連するバージョン対応ビューに対してこれらの権限が自動的に付与されます。 これらの権限は、ユーザーが SQL およびバージョン対応ビューを使用して編集する際に必須です。

データ作成者

CREATE SEQUENCECREATE SESSIONCREATE TABLECREATE TRIGGERCREATE VIEW

ジオデータベース管理者

CREATE PROCEDURECREATE SEQUENCECREATE SESSIONCREATE TABLECREATE TRIGGER

ジオデータベースのデータセットに対する権限の付与や取り消しは、ArcGIS を使用して、データセット所有者が行う必要があります。

ジオデータベースの作成またはアップグレードに必要な権限

Oracle 内のジオデータベースを作成またはアップグレードするためにジオデータベース管理者に付与する必要のある権限を次の表に示します。 その権限または権限のグループが必要な理由も示してあります。 以下の表の「目的」列、および前述のジオデータベース管理者に最低限必要な権限の表でも説明していますが、これらの権限の一部は作成またはアップグレードが完了した後に削除することができます。

最初の表は、sde ユーザーがジオデータベースを作成するために必要な権限を示しています。

2 番目の表は、sde ユーザーがジオデータベースをアップグレードするのに必要な権限を示しています。

権限は、ジオデータベースの作成およびアップグレードにおける目的ごとにグループ化されています。

ジオデータベースを作成するための Oracle sde ユーザー権限

権限目的
  • CREATE SESSION

Oracle への接続。

  • CREATE TABLE
  • CREATE TRIGGER

ジオデータベース リポジトリを作成します。

  • CREATE SEQUENCE

ID を生成するためのシーケンスを作成します。 この権限は、ジオデータベースの作成後に削除できます。

  • CREATE PROCEDURE

ジオデータベース システム テーブルのコンテンツを維持するためのパッケージを作成します。

  • EXECUTE ON DBMS_CRYPTO

ST_Geometry タイプのマップ メンバー関数を作成できます。この関数は、空間ユニオンまたは交差が実行されるたびに呼び出されます。

  • CREATE INDEXTYPE
  • CREATE LIBRARY*
  • CREATE OPERATOR
  • CREATE PUBLIC SYNONYM
  • CREATE TYPE
  • CREATE VIEW
  • DROP PUBLIC SYNONYM

ST_Geometry データ タイプとクエリ最適化に使用するタイプを作成します。 システム ビュー GDB_Items_vw および GDB_ItemRelationships_vw を作成するには、CREATE VIEW 権限が必要です。 これらの権限は、ジオデータベースの作成後に削除できます。

*Autonomous Transaction Processing (ATP) でジオデータベースを作成する場合、CREATE LIBRARY 権限は不要です。

  • ADMINISTER DATABASE TRIGGER

ST_Geometry 列を含むテーブルを SQL で削除、変更、名前変更した場合に、ST_GEOMETRY_COLUMNS および ST_GEOMETRY_INDEX テーブルを変更するのに必要なデータベース イベント トリガーを作成できるようにします。 この権限は PL/SQL トリガーの作成にも必要です。 この権限は、ジオデータベースの作成後に削除できます。

  • SELECT_CATALOG_ROLE

この権限は、Autonomous Transaction Processing でジオデータベースを有効化し、アップグレードする場合のみ必要です。 他のサポートされている Oracle 提供のデータベースではオプションです。

ジオデータベースをアップグレードするための Oracle sde ユーザー権限

権限目的
  • CREATE SESSION

Oracle への接続。

  • CREATE TABLE
  • CREATE TRIGGER
  • CREATE VIEW

ジオデータベース リポジトリをアップグレードします。 CREATE VIEW 権限は、アップグレード後に削除できます。

  • CREATE PROCEDURE

ジオデータベース システム テーブルのコンテンツを維持するためのパッケージをアップグレードします。

  • CREATE SEQUENCE

ID を生成するためのシーケンスを更新します。 この権限は、アップグレード後に削除できます。

  • EXECUTE ON DBMS_CRYPTO

ST_Geometry タイプのマップ メンバー関数を更新します。この関数は、空間的な結合または交差が実行されるたびに呼び出されます。

  • CREATE INDEXTYPE
  • CREATE LIBRARY*
  • CREATE OPERATOR
  • CREATE PUBLIC SYNONYM
  • CREATE TYPE
  • DROP PUBLIC SYNONYM

ST_Geometry データ タイプとクエリ最適化に使用するタイプを更新します。 これらの権限は、アップグレード後に削除できます。

*ATP でジオデータベースをアップグレードする場合、CREATE LIBRARY 権限は不要です。

  • ALTER ANY INDEX
  • CREATE ANY INDEX
  • CREATE ANY TRIGGER
  • CREATE ANY VIEW
  • DROP ANY INDEX
  • DROP ANY VIEW
  • SELECT ANY TABLE

ジオデータベース コンテンツをアップグレードします。

  • ADMINISTER DATABASE TRIGGER

ST_Geometry を含むテーブルを SQL で削除、変更、名前変更した場合に、ST_GEOMETRY_COLUMNS および ST_GEOMETRY_INDEX テーブルを変更するのに必要なデータベース イベント トリガーを作成できるようにします。 この権限は PL/SQL トリガーの作成にも必要です。 この権限は、アップグレード後に削除できます。

一般的なオプションの権限

多くの組織が、ジオデータベースの機能をさらに強化するために、Oracle の追加機能を利用しています。 ジオデータベース管理者用の一般的なオプションの権限と権限の目的を、次の表に示します。 権限は、目的別に分類してあります。

ジオデータベース管理者に割り当てられる Oracle のオプションの権限

権限付与されるユーザー目的
  • ALTER SESSION
  • PLUSTRACE

ジオデータベース管理者

SQL をトレースする SQL*Plus の AUTOTRACE 機能を有効にし、パフォーマンス チューニングやトラブルシューティングのためにセッション固有の初期化パラメーターを変更できるようにします。PLUSTRACE ロールは、ORACLE_HOME/sqlplus/admin/plustrce.sql を実行して作成します。

  • ALTER ANY INDEX
  • ANALYZE ANY
  • SELECT ANY DICTIONARY

ジオデータベース管理者

これらの権限をジオデータベース管理者に割り当てて、Oracle の監視と基本的な管理タスクを実行できるようにします。

これは、ジオデータベース管理者が Oracle データベース管理者ではない組織で便利です。

  • CREATE DATABASE LINK
  • CREATE MATERIALIZED VIEW
  • CREATE VIEW

ジオデータベース管理者

これらの権限は、ジオデータベースをエンタープライズの他の非空間データベースと統合する際に役立ちます。

  • RESTRICTED SESSION

ジオデータベース管理者

データベースがオンラインであるがエンド ユーザーがアクセスできない状態でも、ジオデータベース管理者は管理を実行できます。

  • UNLIMITED TABLESPACE

ジオデータベース管理者

この権限を作成およびアップグレードを行うジオデータベース管理者に付与すると、データベースのジオデータベース管理者の表領域に、ジオデータベースの作成またはアップグレードを完了するための十分な格納領域があることが保証されます。領域の管理のために割り当て制限を設定している場合、この権限はジオデータベースの作成またはアップグレード後に削除できます。

  • ALTER SYSTEM
  • SELECT_CATALOG_ROLE*

ジオデータベース管理者

ジオデータベースから接続を削除するには、sde ユーザーにこれらの権限が必要です。 [エンタープライズ ジオデータベースの作成 (Create Enterprise Geodatabase)] ジオプロセシング ツールは、これらの権限を sde ユーザーに付与します。 このツールを実行した後に、sde ユーザーからこれらの権限を取り消すことができますが、そうすると、sde ユーザーはデータベースからユーザーを切断することができなくなります。

また、sde ユーザーをデータベース管理者ロールに追加して、そのユーザーがデータベースからユーザーを切断できるようにすることも可能です。

*Autonomous Transaction Processing のジオデータベース管理者には SELECT_CATALOG_ROLE 権限が必要です。

SELECT ON DBA_ROLES

データ作成者

データ作成者が [権限] ダイアログ ボックスを使用して自身のデータセットに対する権限をデータベース ロールに付与できるようにする場合、そのデータ作成者には、データベース内のロールのリストを取得するための DBA_ROLES に対する SELECT 権限を付与する必要があります。

INHERIT PRIVILEGES ON <user>

Or

INHERIT ANY PRIVILEGES ON <user>

sde

Data Pump による sde ユーザー スキーマのインポートの実行を別のユーザー (Oracle の sys ユーザーや system ユーザーなど) に許可する場合、これらの権限のいずれかを sde ユーザーに付与する必要があります。

この権限は、ユーザー スキーマ ジオデータベースの所有者には適用されません。

その他の権限

Oracle 内のジオデータベースに接続するその他の ArcGIS ソフトウェアでは、以下に示すような追加の権限が必要な場合があります。

  • ArcGIS Insights では追加の権限が必要な場合があります。 詳細については、ArcGIS Insights ヘルプの「必要なデータベース権限」をご参照ください。
  • ArcGIS Monitor でジオデータベースにアクセスして監視するには、追加の権限が必要な場合があります。 詳細については、「Oracle データベースの登録」をご参照ください。