基于一次ArcGIS Server迁移升级实践详谈如何给server切换数据库
分享
需求:
注:迁移有风险,动前需备份。
关键技术:
这次迁移之可以实现迁移前已经发布的服务迁移升级后直接引用新数据库数据,主要利用了ArcGIS Server10.4出的新特性:支持更新注册数据库和托管数据库的密码。
以下摘自arcgis server 104 whats new官方帮助:
注:如果是10.4及以后的ArcGIS Server,没有升级ArcGIS Server的需求,只有修改数据库的需求,可以参考这个连接
http://zhihu.esrichina.com.cn/article/3835
需求实现步骤:
换库详细步骤说明:
下面详细展开需求实现步骤3到 5中的操作。每一步的操作都很简单。 详细步骤中包含了每一步执行完成后被修改的arcgis server的关键文件。从arcgis server101之后图层引用数据源的关键信息存储在msd中。下面图一中是arcgis server升级前后同一个服务msd的对比图,此时没有区别。
图一 升级前后同一服务的msd mxd文件没有区别
第3步:在ArcGIS Server升级到10.6版本后,在该机器上执行externalizeconnectionstring.bat,见图二。
图二 运行bat工具升级102server的服务的msd文件
观察位置一通过图三中的修改时间可以观察到这个工具跟新了msd中的内容。
图三 运行bat工具后msd文件被更新
同时观察服务的数据注册中,102版本发布的服务的数据库注册中,从‘referenced’变成了‘replaced’。
图四
再观察一个站点升级到106版本后发布的服务做对比,依旧是‘referenced’的状态。
图五
观察位置二
打开并观察服务的msd,找到包含sde连接文件,
10. 2 arcgis server版本的中msd中数据库连接如下:ENCRYPTED_PASSWORD=00022e682f44766c317a76735946706f2b427630774f697958513d3d2a00;SERVER=192.168.100.104;INSTANCE=sde:oracle$192.168.100.104/orcl;DBCLIENT=oracle;DB_CONNECTION_PROPERTIES=192.168.100.104/orcl;USER=sde;VERSION=SDE.DEFAULT;AUTHENTICATION_MODE=DBMS
10. 6 arcgis server版本的中msd中数据库连接如下:ENCRYPTED_PASSWORD=00022e6854415a41316472693273474d64386b536a75714976413d3d2a00;SERVER=192.168.100.104;INSTANCE="DSID=8e046387-6831-475f-b4b1-0347421a8003";DBCLIENT=oracle;DB_CONNECTION_PROPERTIES=192.168.100.104/orcl;USER=sde;VERSION=SDE.DEFAULT;AUTHENTICATION_MODE=DBMS
102版本升级上来的服务,经过externalizeconnectionstrin.bat工具更新后的如下:ENCRYPTED_PASSWORD=00022e6854415a41316472693273474d64386b536a75714976413d3d2a00;SERVER=192.168.100.104;INSTANCE="DSID=8e046387-6831-475f-b4b1-0347421a8003";DBCLIENT=oracle;DB_CONNECTION_PROPERTIES=192.168.100.104/orcl;USER=sde;VERSION=SDE.DEFAULT;AUTHENTICATION_MODE=DBMS
可以发现,102服务经过工具,sde连接已经跟106形式保持一致。
第4步:更新现有数据库连接到新的数据库。(此时数据库已经成功迁移到新机器上,新旧数据库同时存在。)
!注意:要编辑已经注册的数据库连接,在其基础上选择新的数据库连接。
图六 在已经存在的数据注册上直接修改,更新数据注册到新的数据库
此处还应该在server升级前后,观察arcgis server注册数据源库的位置的对比。
位置示例:C:\arcgisserver\config-store\data\enterpriseDatabases
第5步:重启arcgis server服务,然后将老数据库停止进行测试,确保动态服务出图正常。
参考链接:
https://enterprise.arcgis.com/ ... r.htm
现运行的数据库需要迁移到新机器上,新数据库IP会发生变化。
现运行的arcgis server 10.2需要迁移到新机器上并升级到10.6版本,新机器IP会发生变化。
现运行的arcgis server10.2引用了现运行中数据库中的数据,最终实现目标是将arcgis server升级到10.6后直接引用新数据库,避免重新配置mxd并发布服务。
同时,在迁移升级过程中,不影响现有业务系统使用在运行的数据库和ArcGIS Server。
注:迁移有风险,动前需备份。
关键技术:
这次迁移之可以实现迁移前已经发布的服务迁移升级后直接引用新数据库数据,主要利用了ArcGIS Server10.4出的新特性:支持更新注册数据库和托管数据库的密码。
以下摘自arcgis server 104 whats new官方帮助:
“出于安全原因,大部分组织需要员工定期重置密码。如果您将数据库身份验证用于注册到 GIS 服务器的企业级地理数据库和数据库,则现在您可以导出包含当前密码的新数据库连接文件。该操作允许已发布到托管数据库的要素服务以及现有地图、要素和您从注册数据库发布的影像服务继续工作。
可自动更新从 ArcGIS 10.4 for Server 发布的新服务的连接。如果升级 ArcGIS Server 且希望能够更新现有服务所使用的连接中的密码,则 ArcGIS Server 管理员必须在升级 ArcGIS Server 站点后运行 ExternalizeConnectionStrings。”
注:如果是10.4及以后的ArcGIS Server,没有升级ArcGIS Server的需求,只有修改数据库的需求,可以参考这个连接
http://zhihu.esrichina.com.cn/article/3835
需求实现步骤:
- 将arcgis server 10.2集群在新机器上还原单机站点;
- 通过覆盖安装,将arcgis server从10.2升级到10.6版本;
- 在升级后的arcgis server 10.6机器上执行externalizeconnectionstring.bat,实现更新服务数据库连接;
- 在server现有注册好的数据库中,修改数据库连接;注意一定要在原有数据库注册上修改, 而不是将其删除后重新注册新库;
- 重启arcgis server服务,将旧数据库停止测试出图是否正常。
换库详细步骤说明:
下面详细展开需求实现步骤3到 5中的操作。每一步的操作都很简单。 详细步骤中包含了每一步执行完成后被修改的arcgis server的关键文件。从arcgis server101之后图层引用数据源的关键信息存储在msd中。下面图一中是arcgis server升级前后同一个服务msd的对比图,此时没有区别。
图一 升级前后同一服务的msd mxd文件没有区别
第3步:在ArcGIS Server升级到10.6版本后,在该机器上执行externalizeconnectionstring.bat,见图二。
图二 运行bat工具升级102server的服务的msd文件
观察位置一通过图三中的修改时间可以观察到这个工具跟新了msd中的内容。
图三 运行bat工具后msd文件被更新
同时观察服务的数据注册中,102版本发布的服务的数据库注册中,从‘referenced’变成了‘replaced’。
图四
再观察一个站点升级到106版本后发布的服务做对比,依旧是‘referenced’的状态。
图五
观察位置二
打开并观察服务的msd,找到包含sde连接文件,
10. 2 arcgis server版本的中msd中数据库连接如下:ENCRYPTED_PASSWORD=00022e682f44766c317a76735946706f2b427630774f697958513d3d2a00;SERVER=192.168.100.104;INSTANCE=sde:oracle$192.168.100.104/orcl;DBCLIENT=oracle;DB_CONNECTION_PROPERTIES=192.168.100.104/orcl;USER=sde;VERSION=SDE.DEFAULT;AUTHENTICATION_MODE=DBMS
10. 6 arcgis server版本的中msd中数据库连接如下:ENCRYPTED_PASSWORD=00022e6854415a41316472693273474d64386b536a75714976413d3d2a00;SERVER=192.168.100.104;INSTANCE="DSID=8e046387-6831-475f-b4b1-0347421a8003";DBCLIENT=oracle;DB_CONNECTION_PROPERTIES=192.168.100.104/orcl;USER=sde;VERSION=SDE.DEFAULT;AUTHENTICATION_MODE=DBMS
102版本升级上来的服务,经过externalizeconnectionstrin.bat工具更新后的如下:ENCRYPTED_PASSWORD=00022e6854415a41316472693273474d64386b536a75714976413d3d2a00;SERVER=192.168.100.104;INSTANCE="DSID=8e046387-6831-475f-b4b1-0347421a8003";DBCLIENT=oracle;DB_CONNECTION_PROPERTIES=192.168.100.104/orcl;USER=sde;VERSION=SDE.DEFAULT;AUTHENTICATION_MODE=DBMS
可以发现,102服务经过工具,sde连接已经跟106形式保持一致。
第4步:更新现有数据库连接到新的数据库。(此时数据库已经成功迁移到新机器上,新旧数据库同时存在。)
!注意:要编辑已经注册的数据库连接,在其基础上选择新的数据库连接。
图六 在已经存在的数据注册上直接修改,更新数据注册到新的数据库
此处还应该在server升级前后,观察arcgis server注册数据源库的位置的对比。
位置示例:C:\arcgisserver\config-store\data\enterpriseDatabases
第5步:重启arcgis server服务,然后将老数据库停止进行测试,确保动态服务出图正常。
参考链接:
https://enterprise.arcgis.com/ ... r.htm
0 个评论
发起人
相关问题
- 如何优雅的使用ArcGIS知乎?
- 建设ArcGIS知乎平台的目和意义?
- ArcGIS知乎社区改进意见征集
- 【抽奖结果已出】ArcGIS知乎社区活动 之 你不知道的地理空间革命【转发分享有奖】【附奖品寄送照片】
- 苹果系统下可以使用arcgis 吗?
- arcgis版本兼容性
- 请问ArcGIS适合在局域网内用javaweb做二次开发吗?
- 请问大神们,怎么用ArcGIS做城镇间经济联系强度的图?
- 在Visual studio 2015 中使用 Arcgis API for JavaScript v3.16 如何实现代码智能提示?
- ArcGIS如何求栅格图像的“质心”
- ArcGIS中如何用Python给字段值补充0