Skip to main content

Oracle へのユーザーの追加

Oracle データベース管理者は、Oracle インスタンスにユーザー アカウントを作成し、そのアカウントに格納 (表領域) と権限を割り当てます。

データベース管理者 (sys ユーザー) は、Oracle ツールを使用してユーザーおよびユーザーのデフォルトの表領域を作成し、データベース オブジェクトを作成する権限をユーザーに付与します。

または、データベース管理者は、ArcGIS Pro で データベース ユーザーの作成 ツールを使用するか、Python スクリプトで management.CreateDatabaseUser ArcPy 関数を呼び出して、データを所有するユーザーを作成できます。

このツールまたは関数を使用して作成されたデータベース ユーザーには、次の権限が付与されます。

  • CREATE SESSION

  • CREATE SEQUENCE

  • CREATE TABLE

  • CREATE TRIGGER

  • CREATE VIEW

  • SELECT ON DBA_ROLES

ジオプロセシングを使用して、データベース オブジェクトを追加する

ArcGIS Pro から データベース ユーザーの作成 ツールを実行するか、Python スクリプトで management.CreateDatabaseUser ArcPy 関数を呼び出して、テーブル、フィーチャクラス、ビュー、トリガー、およびシーケンスを生成する権限を持つデータベース ユーザーを作成できます。

データベース ユーザーの作成 ツールまたは management.CreateDatabaseUser 関数を実行するには、Oracle の sys ユーザーでデータベースに接続している必要があります。

**データベース ユーザーの作成 (Create Database User) **ツールの使用

データベース ユーザーの作成 ツールを使用して Oracle にデータベース ユーザーを作成するには、次の手順に従います。

  1. ArcGIS Pro を起動します。

  2. Oracle sys ユーザーとしてデータベースまたはジオデータベースに接続します。

  3. データベース ユーザーの作成 ツールを開きます。

    このツールは、データ管理ツールボックスのジオデータベース管理ツールセットにあります。

  4. 入力データベース接続 で、データベース接続を指定します。

  5. このツールで作成するユーザーとスキーマの名前を入力します。

  6. データベース ユーザーのパスワードを入力します。

  7. このユーザーをメンバーにするロールがすでに存在する場合は、そのロールを指定します。

  8. ユーザーのデフォルトの表領域として設定する表領域の名前を入力します。

    この表領域が存在しない場合は、ツールによって Oracle のデフォルトの格納場所に表領域が作成されます。 400 MB の表領域が作成されます。

    表領域を指定しない場合、Oracle のデフォルトの表領域が使用されます。

  9. 実行 をクリックします。

これで、テーブル、フィーチャクラス、ビューを作成する権限を持つユーザーがデータベースに作成されました。

新しいユーザーは、データベースに接続してデータセットを作成できます。 データベースがすでに存在する場合、データ所有者はデータセットに対する権限を他のユーザーに付与できます。 手順については、「データベースとエンタープライズ ジオデータベースの権限の付与と取り消し」をご参照ください。

Python スクリプトの実行

ユーザーの作成をスクリプト化するには、以下の手順に従います。

  1. ArcGIS クライアント コンピューター上でテキスト ファイルを作成し、そのファイルに以下のコード ブロックのいずれかをコピーします。

    自分のサイトに固有の情報を使用するようにコードを変更します。

    これらの例では、Oracle sys ユーザーとして接続する既存のデータベース コネクション ファイルがあることを前提としています。 コネクション ファイルが存在しない場合は、スクリプトを実行する前にファイルを作成します。

    # Name: createdatabaseuser_exampleW.py
    # Description: Uses existing database connection file
    # on a Windows computer to create a database user in Oracle.
    
    # Import arcpy module
    import arcpy
    
    # Provide a database connection file for the Oracle sys user.
    connection = "C:\\ArcGIS\connection_files\<Connection file>.sde"
    
    # Process: Create database user that can create data and a default tablespace for the user.
    arcpy.management.CreateDatabaseUser(connection, "DATABASE_USER", "dbuser", "t3mpor@rypL@ceholder1", "usertbsp")
    
    # Name: createdatabaseuser_exampleL.py
    # Description: Uses existing database connection file
    # on a Linux computer to create a database user in Oracle.
    
    # Import arcpy module
    import arcpy
    
    # Provide a database connection file for the Oracle sys user.
    connection = "<user>/connections/<Connection_file>.sde"
    
    # Process: Create database user that can create data and a default tablespace for the user.
    arcpy.management.CreateDatabaseUser(connection, "DATABASE_USER", "dbuser", "t3mpor@rypL@ceholder1", "usertbsp")
    
  2. .py 拡張子を付けてファイルを保存します。

  3. ArcGIS Pro (Standard または Advanced) または ArcGIS Server がインストールされているコンピューターからスクリプトを実行します。

ヒント:

ArcGIS Server コンピューターからの Python の実行の詳細については、「ArcGIS Server と ArcPy」をご参照ください。

これで、テーブル、フィーチャクラス、ビューを作成する権限を持つユーザーがデータベースに作成されました。

新しいユーザーは、データベースに接続してデータセットを作成できます。 データベースがすでに存在する場合、データ所有者はデータセットに対する権限を他のユーザーに付与できます。 手順については、「データベースとエンタープライズ ジオデータベースの権限の付与と取り消し」をご参照ください。

Oracle ツールを使用したユーザーの作成

代わりに、Oracle ツールを使用してデータベース ユーザーを作成することもできます。 たとえば、データベース ユーザーの作成 ツールで付与される権限とは異なる権限を持つデータベース ユーザー、またはユーザーに直接付与される権限を持たないデータベース ユーザーを作成する場合があります。

Oracle ツールを使用してデータベース ユーザーを作成する手順については、Oracle のドキュメントをご参照ください。

さまざまなユーザー タイプに必要な権限の詳細については、「Oracle でのジオデータベースの権限」または「ArcGIS で Oracle データベースを使用するための権限」をご参照ください。