快速浏览:在 Oracle 中建立地理数据库
本主题仅适用于 ArcGIS for Desktop Standard 和 ArcGIS for Desktop Advanced。
使用创建企业级地理数据库地理处理工具、启用企业级地理数据库地理处理工具或者 Python 脚本,可以在 Oracle 数据库中创建地理数据库。
下面给出了有关何时使用每种方法的一些建议:
- 如果您具有访问 ArcGIS for Desktop(标准版或高级版)的权限,知道 Oracle 系统密码,想要使用地理处理工具创建 sde 用户及其默认表空间 (400 MB),并授予 sde 用户创建地理数据库所需的权限,断开数据库连接以及升级地理数据库,则使用创建企业级地理数据库地理处理工具。
- 如需从配置有地理数据库更新扩展模块或 ArcGIS for Server(标准或高级)的运行 ArcGIS Engine 的电脑创建地理数据库和想要使用 ArcGIS 创建 sde 用户及其默认表空间 (400 MB),并授予 sde 用户创建地理数据库所需的权限,断开数据库连接以及升级地理数据库,则运行调用 CreateEnterpriseGeodatabase 函数的 Python 脚本。
- 如果您有 ArcGIS for Desktop(标准版或高级版)的访问权限但不想使用创建企业级地理数据库工具所使用的默认设置,或没有 Oracle 系统用户密码,则使用启用企业级地理数据库地理处理工具。例如,数据库管理员 (DBA) 与创建地理数据库的人不是同一个人,他或她可能想要预先创建数据库、sde 用户和表空间,然后授予 sde 用户创建地理数据库所需的最小权限。然后,地理数据库管理员可以 sde 用户身份进行连接并在数据库中启用地理数据库功能。
- 如需要从配置有地理数据库更新扩展模块或 ArcGIS for Server(标准版或高级版)的运行 ArcGIS Engine 的电脑创建地理数据库,但不想使用创建企业级地理数据库工具所使用的默认设置或没有 Oracle 系统用户密码,则运行调用 EnableEnterpriseGeodatabase 函数的 Python 脚本。
在创建地理数据库之前,必须安装 Oracle 并配置 DBMS。配置 DBMS 包括为存储在数据库实例中的表、索引和文件设置存储空间,以及分配足够的内存。您应该考虑创建的表、索引和存储空间的名称、类型和位置;创建的备份日志文件的大小;以及建立的临时空间的大小。
建立地理数据库之前,请查看“资源中心”上的系统要求,以确保支持要使用的数据库、ArcGIS 和硬件组合。
在 Oracle 中设置地理数据库
以下是在 Oracle 中设置地理数据库所需执行的步骤汇总:
- 安装并配置 Oracle。
您站点的协议决定着是由管理员还是其他员工(如信息系统技术员)执行此步骤。相关说明,请参阅 Oracle 文档。
- 在 ArcGIS 客户端计算机上安装 Oracle 客户端应用程序。
必须完成该操作,然后才能创建地理数据库。
- 进行以下操作之一创建地理数据库:
- 从 ArcGIS for Desktop(标准版或高级版)运行创建企业级地理数据库地理处理工具以创建 sde 用户、默认表空间和地理数据库。
- 从运行 ArcGIS for Desktop(标准版或高级版)、具有 Geodatabase Update 扩展模块的 ArcGIS Engine Runtime 或 ArcGIS for Server Enterprise(标准版或高级版)的计算机运行 Python 脚本。有关示例,请参阅 Oracle 中的脚本地理数据库创建。根据您所运行的脚本,在运行脚本之前,您可能需要创建 sde 用户和表空间。
- 在您的 Oracle 数据库中手动创建 sde 用户和默认表空间,授予 sde 用户创建地理数据库的权限,然后以 sde 用户身份从 ArcGIS for Desktop(标准版或高级版)连接至 Oracle 数据库,然后启用地理数据库行为。有关说明,请参阅在 Oracle 数据库中启用地理数据库功能。
- 此外,如果您计划在 Oracle 的地理数据库中依据 ST_Geometry 数据写入 SQL 查询,则必须将 ST_Geometry 库放置在您的 Oracle 服务器中 Oracle extproc 有权访问的位置。
可以在 ArcGIS 客户端的 DatabaseSupport 目录中找到 ST_Geometry 库。如果 Oracle 安装在 Linux 或 UNIX 服务器上,则将 libst_shapelib.so 文件放置在 Oracle 服务器上适合您的服务器操作系统的目录中。如果 Oracle 安装在 Windows 服务器上,则将 Windows st_shapelib.dll 文件放置在 Oracle 服务器上的目录中。
服务器上放置库的目录必须可以从用于创建地理数据库的客户端计算机进行访问。如果将库放置到 UNIX 或 Linux 计算机上,请确保数据库管理员对该文件夹具有读访问权限,并对库文件具有执行权限。
- 此外,如果计划在 Oracle 的地理数据库中依据 ST_Geometry 数据写入 SQL 查询,则必须配置 Oracle extproc,并更新 Oracle 服务器上的 Oracle 库条目。库可通过运行 CREATE OR REPLACE LIBRARY SQL 语句更新。例如,在 st_shapelib.dll 已经放置在名为 libraries 的文件夹中的 Windows 服务器上,语句应该为: 在具有名为 myfiles 的目录的 Linux 或 UNIX 服务器上,语句应该为:
CREATE OR REPLACE LIBRARY st_shapelib AS 'c:\libraries\st_shapelib.dll';
CREATE OR REPLACE LIBRARY st_shapelib AS '/usr/myfiles/libst_shapelib.so';
备用设置
有些情形需要使用其他工具完成地理数据库设置,例如:希望使用 ArcSDE 服务进行连接,或者在相同 Oracle 数据库中需要多个地理数据库。有关在 Oracle 中使用多个地理数据库的信息,请参阅 Oracle 中的多个地理数据库。
要使用 ArcSDE 服务,必须安装和配置 ArcSDE 应用程序服务器。有关该情形的说明,请参阅随 ArcSDE 应用程序服务器一同提供的安装指南。ArcSDE 应用程序服务器安装程序可从 Esri 客户关怀中心门户网站下载。