Oracle 数据库管理员在 Oracle 实例中创建用户账户并为这些账户分配存储(表空间)和权限。
数据库管理器(系统用户)可使用 Oracle 工具创建用户、为用户创建默认表空间以及授予创建数据库对象的权限。
此外,数据库管理员可以使用 ArcGIS AllSource 中的创建数据库用户地理处理工具,或在 Python 脚本中调用 management.CreateDatabaseUser ArcPy 函数来创建拥有数据的用户。
将向使用此工具或函数创建的数据库用户授予以下权限:
- CREATE SESSION
- CREATE SEQUENCE
- CREATE TABLE
- CREATE TRIGGER
- CREATE VIEW
- SELECT ON DBA_ROLES
添加可创建数据库对象的用户
可从 ArcGIS AllSource 运行创建数据库用户工具或在 Python 脚本中调用 management.CreateDatabaseUser ArcPy 函数,创建可创建表、要素类、视图、触发器和序列的数据库用户。
必须以 Oracle 系统用户身份连接到数据库才能运行创建数据库用户工具或 management.CreateDatabaseUser 函数。
使用创建数据库用户工具
按照以下步骤,利用创建数据库用户工具在 Oracle 中创建数据库用户:
- 启动 ArcGIS AllSource。
- 以系统用户的身份连接到数据库或地理数据库。
- 打开创建数据库用户工具。
该工具位于“数据管理”工具箱的“地理数据库管理”工具集中。
- 指定输入数据库连接的数据库连接。
- 为工具将要创建的用户和方案提供名称。
- 为数据库用户提供密码。
- 如果您已具有角色并希望此用户成为该组的成员,请指定该角色。
- 提供用作用户默认表空间的表空间名称。
如果表空间不存在,则此工具将在 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 AllSource(Standard 或 Advanced)或 ArcGIS Server 的计算机上运行脚本。
有关从 ArcGIS Server 计算机运行 Python 的信息,请参阅 ArcGIS Server 和 ArcPy。
此时,数据库已具有可创建表和要素类的用户。
如果已存在表和要素类,数据所有者可向其他用户授予数据集的权限。 有关说明,请参阅授予和撤销数据库和企业级地理数据库中的数据集权限。
使用 Oracle 工具创建用户
要创建的用户具有的权限与创建数据库用户工具授予的权限不同或没有直接授予用户的权限,则可使用 Oracle 工具执行该操作。
有关使用 Oracle 工具创建数据库用户的说明,请参阅 Oracle 文档。