Oracle へのユーザーの追加

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

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

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

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

  • CREATE SESSION
  • CREATE SEQUENCE
  • CREATE TABLE
  • CREATE TRIGGER
  • CREATE VIEW
  • SELECT ON DBA_ROLES

データベース オブジェクトを作成できるユーザーの追加

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

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

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

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

  1. ArcGIS Pro を起動します。
  2. sys ユーザーとしてデータベースまたはジオデータベースに接続します。
  3. [データベース ユーザーの作成 (Create Database User)] ツールを開きます。

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

  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.CreateDatabaseUser_management(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.CreateDatabaseUser_management(connection, "DATABASE_USER", "dbuser", "t3mpor@rypL@ceholder1", "usertbsp")

  2. .py 拡張子を付けてファイルを保存します。
  3. ArcGIS Pro (Standard または Advanced) または ArcGIS Server がインストールされているコンピューターからスクリプトを実行します。

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

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

テーブルとフィーチャクラスを作成した後、データ所有者はデータセットに対する権限を他のユーザーに付与できます。 手順については、「データベースとエンタープライズ ジオデータベースの権限の付与と取り消し」をご参照ください。

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

[データベース ユーザーの作成 (Create Database User)] ツールで付与される権限とは異なる権限を持つデータベース ユーザー、またはユーザーに直接付与される権限を持たないデータベース ユーザーを作成する場合、Oracle ツールを使用して作成できます。

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