在 Linux 服务器上安装 PostgreSQL 和在 Windows 服务器上安装 ArcSDE

如果要在运行 Windows 操作系统 (OS) 的服务器上安装 ArcSDE,但 PostgreSQL 数据库群集安装在运行 Linux OS 的服务器上,则需要在 Linux 服务器上安装 PostgreSQL 并建立数据库,然后在 ArcSDE 服务器上运行可执行程序安装 ArcSDE。然后,对 ArcSDE 服务器中的地理数据库手动执行安装后配置。

ArcSDE 和 PostgreSQL 数据库安装在运行不同 OS 的服务器上时,必须确保复制或使用 FTP 传送到 PostgreSQL 安装位置的文件仅在 PostgreSQL 服务器的 OS 上运行。对于这种情况,意味着必须使用 FTP 将 st_geometry.so 文件从 ArcSDE 安装介质传送到 PostgreSQL 计算机,如果要使用 ST_Raster,则还要对 libst_raster_pg_so 文件进行该操作。

同样,需要传送 ArcSDE 所需的针对 Windows 的 PostgreSQL 文件。为获得这些文件,必须在 Windows 服务器上临时安装 PostgreSQL。

步骤:
  1. 确保 ArcSDE 服务器满足安装 ArcSDE 的要求,并确保 PostgreSQL 服务器满足安装 PostgreSQL 的要求。这包括确保 PostgreSQL 服务器上没有旧版 PostgreSQL。
  2. 以超级用户身份登录。
  3. 在 PostgreSQL 服务器上访问 ArcSDE 安装文件。
    • 如果您手头有 DVD,则将其放到相应的驱动器中并安装此驱动器。
    • 如果您已下载 ISO 镜像,则为该镜像创建目录并安装该镜像。

    下面是创建目录和安装镜像的示例:

    mkdir /mnt/iso

    mount -o loop /mydir/downloads/ArcSDE10_UNIX_123456.iso /mnt/iso

  4. 将目录更改为镜像所在位置或 DVD 驱动器。
  5. 安装安装介质中提供的 RPM。
  6. 以 postgres 用户身份登录,并通过在 postgres 用户的 shell 文件中定义以下变量来准备 shell。

    create_pgdb.sde 脚本将设置第一个变量。必须手动设置路径变量。

    下面的示例针对 bashrc 和 bash_profile shell 并给出了默认位置。

    PGDATA=/var/lib/pgsql/data export PGDATA

    PATH=$PATH:/usr/bin export PATH

    对于 32 位服务器:

    LD_LIBRARY_PATH=/usr/lib export LD_LIBRARY_PATH

    对于 64 位服务器:

    LD_LIBRARY_PATH=/usr/lib64 export LD_LIBRARY_PATH

    注意注意:

    在定义这些变量后,必须指定 shell 文件源。

  7. 如果要将表空间储存在非默认位置,则通过发布与以下命令类似的命令创建一个用来存储 ArcSDE 表空间的目录:

    mkdir $PGDATA/sde

    chown -R postgres $PGDATA/sde

    在上面的示例中,sde 是目录名称。

  8. 以 postgres 用户身份,运行 setup_pgdb.sde 脚本。
  9. 配置 PostgreSQL 数据库群集以接受客户端连接。有关说明,请参阅配置 Linux 上的 PostgreSQL 数据库群集以接受客户端连接
  10. 使用 FTP 将 st_geometry.so 文件从安装介质传送到 PostgreSQL 安装位置下的 usr/lib/pgsql 目录(32 位服务器)或 usr/lib64/pgsql 目录(64 位服务器),如果要使用 ST_Raster,则还要对 libst_raster.so 文件执行该操作。
  11. 从 PostgreSQL 服务器的驱动器中取出安装程序 DVD,并将其插入 ArcSDE 服务器的驱动器,或者从 PostgreSQL 服务器将 ISO 镜像移动到 ArcSDE 服务器。
  12. 运行针对 Windows 的 ArcSDE for PostgreSQL 可执行安装程序。
    注意注意:

    您必须是服务器的 Windows 管理员才能安装软件。

  13. 由于需要将 Windows 版本的 PostgreSQL 库复制到 SDEHOME,因此当进入到安装向导的安装选项 对话框时,继续进行操作并安装 PostgreSQL 和 ArcSDE。
  14. 按照在 Windows 上安装 PostgreSQL在 Windows 上安装 ArcSDE for PostgreSQL 中的说明在 ArcSDE 服务器上安装 PostgreSQL 和 ArcSDE。
  15. 安装 ArcSDE 后,不要继续执行“安装后配置”向导。
  16. 导航到 ArcSDE (Windows) 服务器上的 PostgreSQL 安装位置下的 bin 文件夹。
  17. 从 PostgreSQL 安装位置将以下文件复制到 SDEHOME\bin 文件夹: comerr32.dll, gssapi32.dll, k5sprt32.dll, krb5_32.dll, libeay32.dll, libiconv2.dll, libintl3.dll, libpq.dll, and ssleay32.dll.
  18. 在 ArcSDE 服务器上卸载 PostgreSQL。
    1. 打开 Windows 控制面板。
    2. 打开添加或删除程序 (Windows Server 2003) 或程序和功能 (Windows Server 2008)。
    3. 从列表中选择 PostgreSQL 8.3.8 并单击删除 (Windows Server 2003) 或卸载/更改 (Windows Server 2008)。
    4. 导航到 PostgreSQL 安装位置并删除相应文件。
  19. 在安装 ArcSDE 的服务器上 SDEHOME/etc 目录下的 dbinit.sde 文件中设置 PGHOST 和 PGPORT 环境变量。

    PGHOST 是安装 PostgreSQL 的服务器的名称。PGPORT 是 PostgreSQL postmaster 进程执行侦听所使用的端口号。有关在此文件中设置变量的信息,请参阅 dbinit.sde 文件

  20. 在 ArcSDE 服务器上的 Microsoft DOS 提示符处,以 sde 数据库用户身份运行 sdesetup 命令创建 ArcSDE 地理数据库资料档案库并授权软件。
    sdesetup -o install -d POSTGRESQL 
    -s <DBMS_server_name> -D <database_name> 
    -l <authorization_key> -u sde
    
  21. 如果要使用 ArcSDE 服务,则将 ArcSDE 服务的名称和端口号添加到 Windows 服务文件和 ArcSDE services.sde 文件。
    注意注意:

    您必须是服务器的管理员才能更改 Windows 服务文件。

  22. 如果要使用 ArcSDE 服务连接到地理数据库,请参阅创建远程 Windows 服务器中的 ArcSDE 服务
  23. 如果要使用某一服务,则运行 sdemon 命令启动该服务。
    sdemon -o start -i <ArcSDE_service_port_number>
    

有关使用 sdesetup、sdeservice 和 sdemon 命令的详细信息,请参阅 ArcGIS Server Enterprise 随附的《ArcSDE 管理命令参考》。


3/7/2012