在远程 Oracle 数据库中安装 ST_Raster 类型
如果 ArcSDE 命令行工具和 Oracle 数据库安装在不同的服务器上,请按照以下说明在数据库中创建 ST_Raster 类型并配置其访问权限:
步骤:
-
安装用于 Oracle 的 ArcSDE 应用程序服务器和命令行工具。
可以从 Esri 客户关怀中心门户下载此安装程序。
- 登录到 Oracle 远程主机。
- 在 Oracle 可访问的 Oracle 主机上创建保存 libst_raster_ora 库的目录。
-
将 libst_raster_ora 库放置在创建的目录中。
确保特定于 Oracle 服务器操作系统复制 libst_raster_ora 库:libst_raster_ora.dll 用于 Windows;libst_raster_ora.so 用于 Linux、Solaris、HP-UX Itanium 和 IBM AIX。
-
更新 listener.ora 文件以将路径添加到 EXTPROC_DLLS。
有关说明,请参阅配置 Oracle 监听器以使用 SQL。
-
使用 SQL 以 sde 用户身份进行连接,然后创建 Oracle libst_raster 库。
CREATE LIBRARY LIBST_RASTER AS '<absolute path to libst_raster_ora library>' /
- 登录安装有 ArcSDE 命令行工具的服务器。
-
运行 sdesetup 命令 install_st_raster。
sdesetup -o install_st_raster -d ORACLE11G -s oserver -u sde Please enter ArcSDE DBA password: Install or update ST_Raster schema objects: Are you sure? (Y/N):
-
使用 Oracle SQL 编辑器(例如 SQL*Plus)以任意用户身份连接并测试 ST_Raster 类型的安装。
对于此查询,成功的结果包括“No data found”(如果地理数据库中尚不存在栅格数据)或数据库中栅格列的列表。如果没有启动 Oracle 监听器或 libst_raster_ora 库无法访问,则将返回一条错误消息。导致 libst_raster_ora 库无法访问的原因包括:没有安装 ST_Raster、未使用 libst_raster_ora 库的路径更新 listener.ora 文件或者 libst_raster_ora 库被复制到了错误的位置。
在本例中,通过运行 describe 工具可以列出数据库中现有的 ST_Raster 和二进制栅格列。这种情况下,因为这是新的地理数据库,所以数据库中尚不存在栅格列。由于没有返回错误消息,因此可以确定安装成功。
SELECT sde.st_raster_util.describe() FROM dual; SDE.ST_RASTER_UTIL.DESCRIBE() No data found.
在本例中,将同样运行 describe 工具。但是在这种情况下,不向 listener.ora ENV 参数中添加 libst_raster_ora 库的路径。先对存在的问题进行更正,然后重新运行查询,以确保该问题已解决。
SELECT sde.st_raster_util.describe() FROM dual; ERROR: ORA-28575: unable to open RPC connection to external procedure agent ORA-06512: at "SDE.ST_RASTER_UTIL", line 190 ORA-06512: at "SDE_ST_RASTER_UTIL", line 377
-
或者在 DBTUNE 表中创建 ST_RASTER 配置关键字并将 RASTER_STORAGE 参数设置为 ST_RASTER,或者将 DEFAULTS 关键字下的 RASTER_STORAGE 参数设置为 ST_RASTER。
- 如果要使用 ArcGIS 软件将大部分或全部栅格数据创建为 ST_Raster 类型,可将 DEFAULTS 关键字下的 RASTER_STORAGE 参数值设置为 ST_RASTER。
sdedbtune -o alter -k DEFAULTS -P RASTER_STORAGE -v ST_RASTER -i sde:oracle11g -s bigserve -u sde Update DBTUNE data: Are you sure? (Y/N):
- 如果仅要创建一些具有 ST_Raster 存储的栅格数据,可以将 ST_RASTER 关键字添加到 DBTUNE 表中,并包括设置为 ST_RASTER 的 RASTER_STORAGE 参数和 UI_TEXT 参数。
sdedbtune -o insert -k ST_RASTER -P RASTER_STORAGE -v ST_RASTER -i sde:oracle11g -s bigserve -u sde sdedbtune -o insert -k ST_RASTER -P UI_TEXT -v UI_TEXT -i sde:oracle11g -s bigserve -u sde
- 如果要使用 ArcGIS 软件将大部分或全部栅格数据创建为 ST_Raster 类型,可将 DEFAULTS 关键字下的 RASTER_STORAGE 参数值设置为 ST_RASTER。
相关主题
5/25/2014