在远程 Oracle 数据库中安装 ST_Raster 类型
如果 ArcSDE 和 Oracle 数据库安装在不同的服务器上,请按照以下说明在数据库中创建 ST_Raster 类型并配置其访问权限。
步骤:
- 安装 ArcSDE。
- 登录到 Oracle 远程主机。
- 在 Oracle 可访问的 Oracle 主机上创建保存 libst_raster_ora 库的目录。
-
将 libst_raster_ora 库放置在创建的目录中。
- 如果 ArcSDE 和 Oracle 安装在使用相同操作系统的服务器上,可将 libst_raster_ora 库从 SDEHOME > bin (Windows) 或 SDEHOME > lib(Linux 或 UNIX)复制到或使用 FTP 传输到步骤 3 中创建的目录中。
- 如果 Oracle 安装在不同于本地 ArcSDE 服务器的操作系统 (OS) 上,请在 Oracle 服务器上安装 ArcSDE for Oracle 以获取适用于 Oracle 服务器 OS 的 libst_raster_ora 库,然后将 libst_raster_ora 库从 SDEHOME > bin (Windows) 或 SDEHOME > lib(Linux 或 UNIX)复制到或使用 FTP 传输到步骤 3 中创建的目录中。
- 如果在要获取 libst_raster_ora 库的 Oracle 服务器上安装了 ArcSDE,请从 Oracle 服务器上卸载 ArcSDE。
-
更新 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 库无法访问,则返回错误消息。如果未安装 ST_Raster、listener.ora 文件没有使用 libst_raster_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。
3/7/2012