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 にデータベース ユーザーを作成するには、次の手順に従います。
- ArcGIS Pro を起動します。
- sys ユーザーとしてデータベースまたはジオデータベースに接続します。
- [データベース ユーザーの作成 (Create Database User)] ツールを開きます。
このツールは、データ管理ツールボックスのジオデータベース管理ツールセットにあります。
- [入力データベース接続] で、データベース接続を指定します。
- このツールで作成するユーザーとスキーマの名前を入力します。
- データベース ユーザーのパスワードを入力します。
- このユーザーをメンバーにするロールがすでに存在する場合は、そのロールを指定します。
- ユーザーのデフォルトの表領域として設定する表領域の名前を入力します。
この表領域が存在しない場合は、ツールによって Oracle のデフォルトの格納場所に表領域が作成されます。 400 MB の表領域が作成されます。
表領域を指定しない場合、Oracle のデフォルトの表領域が使用されます。
- [実行] をクリックします。
Python スクリプトの実行
ユーザーの作成をスクリプト化するには、以下の手順に従います。
- 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")
- .py 拡張子を付けてファイルを保存します。
- ArcGIS Pro (Standard または Advanced) または ArcGIS Server がインストールされているコンピューターからスクリプトを実行します。
ArcGIS Server コンピューターからの Python の実行については、「ArcGIS Server および ArcPy」をご参照ください。
これで、テーブルとフィーチャクラスを作成する権限を持つユーザーがデータベースに作成されました。
テーブルとフィーチャクラスを作成した後、データ所有者はデータセットに対する権限を他のユーザーに付与できます。 手順については、「データベースとエンタープライズ ジオデータベースの権限の付与と取り消し」をご参照ください。
Oracle ツールを使用したユーザーの作成
[データベース ユーザーの作成 (Create Database User)] ツールで付与される権限とは異なる権限を持つデータベース ユーザー、またはユーザーに直接付与される権限を持たないデータベース ユーザーを作成する場合、Oracle ツールを使用して作成できます。
Oracle ツールを使用してデータベース ユーザーを作成する手順については、Oracle のドキュメントをご参照ください。