Oracle 数据库管理员在 Oracle 实例中创建用户账户并为这些账户分配存储(表空间)和权限。
数据库管理器(系统用户)可使用 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 函数,创建可创建表、要素类、视图、触发器和序列的数据库用户。
必须以 Oracle 系统用户身份连接到数据库才能运行创建数据库用户工具或 management.CreateDatabaseUser 函数。
使用创建数据库用户工具
按照以下步骤,利用创建数据库用户工具在 Oracle 中创建数据库用户:
- 启动 ArcGIS Pro。
- 以 Oracle 系统用户的身份连接到数据库或地理数据库。
- 打开创建数据库用户工具。
该工具位于“数据管理”工具箱的“地理数据库管理”工具集中。
- 指定输入数据库连接的数据库连接。
- 为工具将要创建的用户和方案提供名称。
- 为数据库用户提供密码。
- 如果您已具有角色并希望此用户成为该组的成员,请指定该角色。
- 提供用作用户默认表空间的表空间名称。
如果表空间不存在,则此工具将在 Oracle 默认存储位置创建表空间。 工具将创建 400 MB 的表空间。
如果不指定表空间,则使用 Oracle 默认表空间。
- 单击运行。
数据库现在有一个可以创建表、要素类和视图的用户。
新用户可以连接到数据库并创建数据集。 如果已存在数据集,数据所有者可以将其权限授予其他用户。 有关说明,请参阅授予和撤销数据库和企业级地理数据库中的数据集权限。
运行 Python 脚本
若要编写用户创建的脚本,请按照以下步骤操作:
- 在 ArcGIS 客户端计算机上创建文本文件,然后将以下代码块之一复制到此文件。
修改代码,使用特定于您的站点的信息。
这些示例假定您有一个以 Oracle 系统用户身份连接的现有数据库连接文件。 如果您没有连接文件,请在运行脚本之前创建一个。
# 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 工具创建用户
或者,您可以使用 Oracle 工具来创建数据库用户。 例如,您可以创建一个数据库用户,该用户的权限与创建数据库用户工具授予的权限不同,或者该用户没有直接授予的权限。
有关使用 Oracle 工具创建数据库用户的说明,请参阅 Oracle 文档。
有关不同用户类型所需权限的信息,请参阅 Oracle 地理数据库的权限或用于在 ArcGIS 中使用 Oracle 数据库的权限。