在不同 Linux 服务器上安装 ArcSDE 和 PostgreSQL
在运行 Linux 操作系统 (OS) 的不同服务器上安装 ArcSDE 和 PostgreSQL 时,安装过程与在同一服务器上安装这二者的过程基本相同,唯一的区别是在 ArcSDE 服务器上创建 sde OS 用户,在 PostgreSQL 服务器上创建 postgres OS 用户,并且在运行 sdesetup 时必须指定 –s 选项。
步骤:
- 确保 ArcSDE 服务器满足安装 ArcSDE 的要求,并确保 PostgreSQL 服务器满足安装 PostgreSQL 的要求。这包括确保 PostgreSQL 服务器上没有旧版 PostgreSQL。
- 以超级用户身份登录。
-
在 PostgreSQL 服务器上访问 ArcSDE 安装文件。
- 如果您手头有 DVD,则将其放到相应的驱动器中并安装此驱动器。
- 如果您已下载 ISO 镜像,则为该镜像创建目录并安装该镜像。
下面是创建目录和安装镜像的示例:
mkdir /mnt/iso
mount -o loop /mydir/downloads/ArcSDE10_UNIX_123456.iso /mnt/iso
- 将目录更改为镜像所在位置或 DVD 驱动器。
- 安装安装介质中提供的 RPM。
-
以 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 文件源。
-
如果要将表空间储存在非默认位置,则通过发布与以下命令类似的命令创建一个用来存储 ArcSDE 表空间的目录:
mkdir $PGDATA/sde
chown -R postgres $PGDATA/sde
在上面的示例中,sde 是目录名称。
- 以 postgres 用户身份,运行 setup_pgdb.sde 脚本。
- 配置 PostgreSQL 数据库群集以接受客户端连接。有关说明,请参阅配置 Linux 上的 PostgreSQL 数据库群集以接受客户端连接。
- 将 ArcSDE 安装介质放到 ArcSDE 服务器的相应驱动器中并安装此驱动器。
- 按照在 Linux 上安装 ArcSDE for PostgreSQL 中的说明安装 ArcSDE。
- 以超级用户身份使用 ftp 将 st_geometry.so 和 libst_raster_pg.so(可选)文件,从 ArcSDE 服务器上的 $SDEHOME/bin 目录传送到 PostgreSQL 服务器上 PostgreSQL 安装位置下的 usr/lib/pgsql 目录(32 位服务器)或 usr/lib64/pgsql 目录(64 位服务器)。
- 以超级用户身份在 ArcSDE 服务器上安装 postgresql-libs-8.3.8-1PGDG.rhel5 rpm 以获得 ArcSDE 需要访问的 PostgreSQL 库。
-
在安装 ArcSDE 的服务器上 SDEHOME/etc 目录下的 dbinit.sde 文件中设置 PGHOST 和 PGPORT 环境变量。
PGHOST 是安装 PostgreSQL 的服务器的名称。PGPORT 是 PostgreSQL postmaster 进程执行侦听所使用的端口号。有关在此文件中设置变量的信息,请参阅 dbinit.sde 文件。
-
如果想要使用 ArcSDE 服务来建立与地理数据库的连接,请使用文本编辑器打开系统 etc 目录下的服务文件。
注:
更改服务文件需要超级访问权限。
-
在服务文件中添加一行来定义将用于 ArcSDE 服务的 TCP/IP 端口号和名称。
在服务文件中添加与以下行类似的行:
esri_sde 5151/tcp #ArcSDE on pinetree
注:连接到服务的用户可使用端口号(在本例中为 5151)执行连接。如果想要使用名称(在本例中为 esri_sde)执行连接,则必须在系统服务文件中添加这样的行。
- 如果要使用 ArcSDE 服务,请在文本编辑器中打开 $SDEHOME/etc/services.sde 文件,然后添加与之前添加到 /etc/services 文件的一行相同的一行。
-
运行 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 操作来授权地理数据库。
- 按照在 Linux 上的 PostgreSQL 中授权 ArcSDE 地理数据库中的说明进行操作。
- 如果使用 ArcSDE 服务,则按照启动 Linux 或 UNIX 上的本地 ArcSDE 服务或启动 Linux 或 UNIX 上的远程 ArcSDE 服务中的说明启动该服务。
7/10/2012