在不同 Linux 服务器上安装 ArcSDE 和 PostgreSQL

在运行 Linux 操作系统 (OS) 的不同服务器上安装 ArcSDE 和 PostgreSQL 时,安装过程与在同一服务器上安装这二者的过程基本相同,唯一的区别是在 ArcSDE 服务器上创建 sde OS 用户,在 PostgreSQL 服务器上创建 postgres OS 用户,并且在运行 sdesetup 时必须指定 –s 选项。

步骤:
  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

    LD_LIBRARY_PATH=/usr/lib 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. 将 ArcSDE 安装介质放到 ArcSDE 服务器的相应驱动器中并安装此驱动器。
  11. 按照在 Linux 上安装 ArcSDE for PostgreSQL 中的说明安装 ArcSDE。
  12. 以超级用户身份使用 ftp 将 st_geometry.so 和 libst_raster_pg.so(可选)文件,从 ArcSDE 服务器上的 $SDEHOME/bin 目录传送到 PostgreSQL 服务器上 PostgreSQL 安装位置下的 usr/lib/pgsql 目录(32 位服务器)或 usr/lib64/pgsql 目录(64 位服务器)。
  13. 以超级用户身份在 ArcSDE 服务器上安装 postgresql-libs-8.3.8-1PGDG.rhel5 rpm 以获得 ArcSDE 需要访问的 PostgreSQL 库。
  14. 在安装 ArcSDE 的服务器上 SDEHOME/etc 目录下的 dbinit.sde 文件中设置 PGHOST 和 PGPORT 环境变量。

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

  15. 如果想要使用 ArcSDE 服务来建立与地理数据库的连接,请使用文本编辑器打开系统 etc 目录下的服务文件。
    注意注意:

    更改服务文件需要超级访问权限。

  16. 在服务文件中添加一行来定义将用于 ArcSDE 服务的 TCP/IP 端口号和名称。

    在服务文件中添加与以下行类似的行:

    esri_sde    5151/tcp    #ArcSDE on pinetree

    注意注意:

    连接到服务的用户可使用端口号(在本例中为 5151)执行连接。如果想要使用名称(在本例中为 esri_sde)执行连接,则必须在系统服务文件中添加这样的行。

  17. 如果要使用 ArcSDE 服务,请在文本编辑器中打开 $SDEHOME/etc/services.sde 文件,然后添加与之前添加到 /etc/services 文件的一行相同的一行。
  18. 运行 sdesetup 命令创建地理数据库。确保给 –s 选项提供 PostgreSQL 服务器名称。
    sdesetup -o install -d POSTGRESQL 
    -u sde -s pgserver -D arcsdegdb
    -l arcsdeserver,93,ecp123456,none,ABCDEF
    

    在 sdesetup 语句中包括 -l 选项即授权可以使用地理数据库。如果在运行此命令时没有包含此选项,则必须运行 sdesetup 命令的 update_key 操作来授权地理数据库。

  19. 按照在 Linux 上的 PostgreSQL 中授权 ArcSDE 地理数据库中的说明进行操作。
  20. 如果使用 ArcSDE 服务,则按照启动 Linux 或 UNIX 上的本地 ArcSDE 服务启动 Linux 或 UNIX 上的远程 ArcSDE 服务中的说明启动该服务。

3/7/2012