测试环境:Windows 10, ArcGIS for Server 10.2, Oracle 11gR2
测试说明:
假设迁移前的ArcGIS for Server的服务目录为C:\arcgisserver, config-store和directories 位于该目录下。且迁移后,新的site的服务目录不变。
测试步骤:
1.1 情形一:数据源相同
STEP1: 如果arcgisserver存在旧服务则删除站点(即,删除arcgisserver文件夹)如图1 否则直接STEP4
图1
STEP 2:浏览器打开arcgis server 重新创建站点,根据前提条件,目录和原先站点保存不变
STEP3:替换...\arcgisserver\directories文件夹和\arcgisserver\config-store\services文件夹
STEP4:由于data store的存储信息没有带过来,故重新注册数据储存(注意,数据储存和迁移前的一模一样,包括,数据储存的名字,连接字符串等,否则不能称为数据源不变),例如下:注册数据库,注册文件夹
打开arcmap-->catalog中以发布者的身份连接gisserver(如图2)-->右键,选择下拉Server Properties-->注册数据库(如图3)
Server Properties-->注册文件夹(如图4)(注意,这里注册的文件夹存放了迁移服务的相关数据源,将数据源文件夹迁移到和被迁移的文件夹同样路径同样文件名)
注:注册数据库需要操作的电脑装有64位ORACLE客户端
图2
图3
图4
STEP5: 拷贝过来的arcgisserver目录,由于拷贝丢失了相关的权限信息。故在文件夹属性的安全中,赋予ArcGIS for Server的完全控制选项。
STEP6: 重新启动服务
1.2 情形二:数据源不同
如1.1操作步骤完成启动服务报如下错误(图4)
图4
由于Server端服务的正常与否是由msd决定的。为了探究能否直接修改msd(msd位置C:\arcgisserver\directories\arcgissystem\arcgisinput\*Services\*.MapServer\extracted\v101\*.msd如图5)中的数据源连接,来修复服务。尝试更改了msd的后缀,将其更改为zip,而后解压,可以看到msd包括的内容如(图6)所示:
图5
图6
如(图6)在layers下的*.bh.xml有数据源连接信息
图7
所以能发现数据源连接信息相关问题,修复当前的msd即可解决问题,参照https://blog.csdn.net/smss007/article/details/82993749步骤替换,重启服务
1.3情形三:Server的账户没有权限访问到arcgisserver目录,如(图7)
图 7
通过查看日志文件,出现如下创建实例失败。如(图8)所示:
图8
通常出现该问题就是Server的账户没有权限访问到arcgisserver目录。为了验证是账户权限导致该问题,作了如下两种验证:
方式1:通过Configure ArcGIS Server Account 更改Server的账户,操作如(图9)所示,更改到备份前Server账户。重启Server服务,服务能正常启动和使用。
图 9
方式2:在不修改server账户的前提下,修改arccgisserver文件夹属性,更改其安全,如(图10)所示,赋予新的ArcGIS Server账户对arccgisserver目录的控制权限。重启备份的服务,服务能正常启动和使用。
图 10更改文件权限
PS:1.请注意ArcGIS for Server的账户与ArcGIS for Server的管理账户的区别。
2.迁移前和迁移后的arcgisserver如果和空间库在同一台服务器中,则配arcsde时最好用localhost或者127.0.0.1连接空间库 以便迁移后注册数据库时数据库的连接信息相同,不用大改服务就能找到数据源