首页 > 代码库 > windows上安装db2 spatial extender和ArcSDE的问题

windows上安装db2 spatial extender和ArcSDE的问题

因客户的DB2版本是9.7的版本,所以测试环境也只能安装这个版本,但在ArcSDE的最小支持版本里至少需要V9.7 pack 4的版本,低于这个版本是不行的。

安装DB2和spatial extender

安装好DB2后创建空间数据库(假如名字叫mysdedb),这里最好能优化一下以下的配置:

1、注意创建数据库时的字符编码。

2、最好创建自己的缓存池(使用16或者32k的pagesize)。
create bufferpool sdepool size 12800 pagesize 32K
create bufferpool sdepool1 size 12800 pagesize 32K

3、创建自己的表空间并使用自定义的缓冲池
CREATE REGULAR TABLESPACE regtbs PAGESIZE 32 K MANAGED BY DATABASE USING ( FILE C:\DB2\NODE0000\mysdedb\regtbs 20g) bufferpool sdepool
CREATE REGULAR TABLESPACE idxtbs PAGESIZE 32 K MANAGED BY DATABASE USING ( FILE C:\DB2\NODE0000\mysdedb\idxtbs 10g) bufferpool sdepool
CREATE LONG TABLESPACE lobtbs PAGESIZE 32 K MANAGED BY DATABASE USING ( FILE C:\DB2\NODE0000\mysdedb\lobtbs 4g) bufferpool sdepool1
CREATE USER TEMPORARY TABLESPACE sdespace PAGESIZE 32 K MANAGED BY SYSTEM USING (C:\DB2\NODE0000\mysdedb\sdespace ) bufferpool sdepool1

4、优化相关配置
update db cfg for mysdedb using APPLHEAPSZ 2048
update db cfg for mysdedb using APP_CTL_HEAP_SZ 2048
update db cfg for mysdedb using LOGPRIMARY 10
update db cfg for mysdedb using LOGFILSIZ 1000

5、创建操作系统用户sde,并加入DB2ADMNS用户组中

6、授权sde管理mysdedb的DBA权限
grant DBADM on database to user sde

安装DB2 spatial extender,然后启用mysdedb的空间扩展支持

--可使用控制中心菜单进行启用也可以使用下面这命令
db2se enable_db mysdedb

注意:在启用空间支持的时候我弄了好几天才弄好,之前创建数据库是用sql来执行的,在启用这一步一直报错,后来用DB2控制中心来创建的数据库并启用就没报错。

 

启用企业级地理数据库:

1、在gis开发人员的本地DB2的空间中心添加mysdedb的连接配置:

并在host文件中添加 10.xx.xx.xx  机器名

2、在arcgis的目录窗口中添加数据库连接

这里理论上是可以配置直连的方式的,但是在后面的环节【启用企业级地理数据库】时会报错,而通过别名的形式就不会

直连的配置就是在数据源的输入框里输入:HostName=10.10.62.179;Port=50000;Database=mysdedb;

3、运行toolbox里的【启用企业级地理数据库】工具

指定上面第2步创建的数据库连接、授权文件然后就可以运行该工具,如果运行成功,则可进入下一步。

 

安装SDE:

我的版本是SDE 10.1 for DB2

1、下载并安装sde for db2。

2、运行如下命令:

sdeservice -o create -d DB2,DB2-0 -p 123456

sdeservice -o register -d DB2,DB2-0 -r ADMIN_DATABASE -v mysdedb

sdemon -o start -p 123456

这里需要指出的是-d参数后的DB2的配置跟arcgis的官网的其实是不一样的,官方的说法是:

【DB2,DB2INSTANCE】 其实是【DB2,DB2的server name】(在window的服务里能看到)。

-p 参数是sde用户的密码