Skip To Content

恢复数据存储

如果您无法访问数据存储中的数据(例如,数据存储发生故障或编辑者从托管要素图层中删除了错误数据),则您可以使用备份文件恢复数据。

如果数据存储发生故障,则请在新计算机上安装 ArcGIS Data Store 并使用 restoredatastore 实用程序恢复最近可用的备份。

如果关系数据存储配置为时间点恢复,若要将托管要素图层数据恢复至指定的时间点,则需在现有关系数据存储顶部进行恢复并指定要恢复到的日期和时间。

已压缩用于恢复的备份文件。恢复数据后,必须将这些文件解压到过渡位置。这表示您需要具有可兼容此数据的过渡位置。默认情况下,在数据目录中过渡文件。

提示:

如果数据存储中包含了大量数据,则您可能需要设置单独的过渡位置并指定用于数据存储恢复的过渡位置。您可以使用 changestaginglocation 实用程序指定单独过渡位置。

注意,恢复时客户端和服务将无法访问数据存储。

在发生故障后恢复关系或切片缓存数据存储

如果硬件停止运行或关系或切片缓存数据存储不可用且无法返回到在线状态,则请在新计算机上安装 ArcGIS Data Store,创建与之前同类型的数据存储,并使用 restoredatastore 实用程序对其应用备份文件。这将恢复数据存储中的数据并会保留注册到现有 GIS Server 站点的数据存储。

  1. 在新计算机上安装 ArcGIS Data Store

    请勿继续进行配置。关闭在安装结束时打开的数据存储配置向导。

  2. 打开 shell 命令。
  3. 运行 <ArcGIS Data Store installation directory>\datastore\tools 中的 restoredatastore 实用程序以恢复关系或切片数据存储的最近备份。

    请参阅实用程序参考或在语法的命令行中输入 --help

    本示例会将最近关系数据备份存储从 /net/fortknox/backups/datastore 恢复到 /usr/arcgisdatastore。由于在默认情况下该数据存储仍会受到将其注册到的 GIS Server 站点的限制,因此您无需指定 --bound true

    ./restoredatastore --store relational --target most-recent --source-loc /net/fortknox/ --data-dir /usr/arcgisdatastore

    如果指定的目录不存在,则数据存储将创建该目录。如果目录存在,您必须对其具有写入访问权限,且该目录必须为空。否则,恢复操作将失败。

  4. 输入 yes 确认希望恢复数据存储。

在发生故障后恢复时空数据存储

如果一个或多个计算机在进行时空大数据存储时失败,则需将数据恢复到新的计算机。由于您的时空大数据可能包含多个计算机和大量数据,因此将所有数据恢复到单个新计算机会失败。从 10.5.1 版本开始,您可以阶段性的恢复您的时空数据存储,以避免单个计算机上发生内存和磁盘空间不足。

恢复带有大量数据的时空大数据存储

如果备份文件中的所有数据不适用于单台计算机且您希望将数据恢复到新计算机,则请按照以下步骤恢复时间大数据存储:

  1. 在新计算机上安装 ArcGIS Data Store

    请勿继续进行配置。关闭在安装结束时打开的数据存储配置向导。

  2. 打开 shell 命令。
  3. <ArcGIS Data Store installation directory>\datastore\tools 中运行 restoredatastore 实用程序且将 --loaddata 操作设置为 false 以准备恢复时空大数据存储的第一台计算机。

    请参阅实用程序参考或在语法的命令行中输入 --help

    本示例会准备新计算机以将最近的时空大数据备份存储从 /net/myserver/sbdatastore 恢复至 /usr/arcgisdatastore--loaddata 操作已设置为 false,因此数据还未加载。

    ./restoredatastore --store spatiotemporal --target most-recent --source-loc /net/myserver/sbdatastore --data-dir /usr/arcgisdatastore --loaddata false

    如果指定的目录不存在,则数据存储将创建该目录。如果目录存在,您必须对其具有写入访问权限,且该目录必须为空。否则,恢复操作将失败。

  4. 在其他电脑上安装 ArcGIS Data Store 并在每台计算机上运行数据存储配置向导或者 configuredatastore 实用工具,以将时空大数据存储计算机添加至托管服务器。
  5. 再次运行 restoredatastore 实用工具且不进行 --prepare-only 操作以恢复所有数据。

    数据将分布在所有时空大数据存储计算机上。

    本示例使用相同的备份文件(位于 /net/myserver/sbdatastore 中),将数据恢复到最新配置的时空大数据存储。--prepare-only 操作已默认设置为 false,因此载入数据时无需再行指定。

    ./restoredatastore --store spatiotemporal --target most-recent --source-loc /net/myserver/sbdatastore --data-dir /usr/arcgisdatastore

若目标计算机可以容纳备份文件内的所有数据,则可恢复时空大数据存储

如果用于创建替换时空大数据存储的第一台计算机包含的硬盘空间和内存足以容纳备份文件内的所有数据,或者您希望恢复现有的时空大数据存储计算机,则您仅需运行一次 restoredatastore 实用工具。恢复后,您可以将其他新计算机添加到时空大数据存储中,而 ArcGIS Data Store 会将数据复制到其他计算机上。

  1. 在新计算机上安装 ArcGIS Data Store

    请勿继续进行配置。关闭在安装结束时打开的数据存储配置向导。

  2. 打开 shell 命令。
  3. <ArcGIS Data Store installation directory>\datastore\tools 中运行 restoredatastore 实用程序且将 --loaddata 操作设置为 true 时空大数据存储。

    请参阅实用程序参考或在语法的命令行中输入 --help

    本示例会准备新计算机以将最近的时空大数据备份存储从 /net/myserver/sbdatastore 恢复至 /usr/arcgisdatastore--loaddata 操作设置为 true,因为新计算机可以容纳备份文件的所有信息。

    ./restoredatastore --store spatiotemporal --target most-recent --source-loc /net/myserver/sbdatastore --data-dir /usr/arcgisdatastore --loaddata true

    如果指定的目录不存在,则数据存储将创建该目录。如果目录存在,您必须对其具有写入访问权限,且该目录必须为空。否则,恢复操作将失败。

    请注意,在这种情况下由于数据为默认载入,您可以忽略 --loaddata 操作。

    如果计算机无法容纳备份文件中的所有数据,恢复操作将失败。

  4. 在其他电脑上安装 ArcGIS Data Store 并在每台计算机上运行数据存储配置向导或者 configuredatastore 实用工具,以将时空大数据存储计算机添加至托管服务器。

    ArcGIS Data Store 将数据分发并复制到其他计算机。

将关系或切片缓存数据存储恢复至不同的操作系统或版本

ArcGIS Data Store 10.5.1 版本开始,您可以使用备份文件将关系或切片缓存数据存储恢复至运行不同操作系统或不同版本 ArcGIS Data Store 的计算机上。

例如,如果切片缓存数据存储正在 Windows 服务器上运行,但您的信息技术部门将切换到 Linux 服务器, 则可使用 Windows 服务器上的 10.5.1 或更高版本安装创建的备份文件,在 Linux 服务器上恢复切片缓存数据存储。

  1. 在新服务器上安装 ArcGIS Data Store。请勿继续进行配置。

    您在新计算机上安装的 ArcGIS Data Store 可与您希望恢复的 ArcGIS Data Store 版本相同,也可以是较新版本。

  2. 如果还没有现有关系或切片缓存数据存储的完整备份,请使用 backupdatastore 实用工具进行创建。
  3. 将备份文件放在可由新 ArcGIS Data Store 安装访问的共享位置。
  4. 运行 restoredatastore 实用工具以将数据恢复至新计算机。恢复数据时需指定 --bound true 和门户现有托管服务器的 URL(GIS Server 站点)。这样,现有托管要素和场景图层将继续工作。

    在此例中,将恢复切片缓存数据存储并将其注册到 GIS Server 站点https://mygisserver.domain.com:6443。备份文件位于共享目录 /net/backups/tilecache 中,新计算机上的 ArcGIS Data Store 目录是 /arcgis/datastore

    ./restoredatastore.sh --store tileCache --source-loc /net/backups/tilecache --data-dir /arcgis/datastore --server-url https://mygisserver.domain.com:6443

将现有关系数据存储恢复至特定时间点

如果关系数据存储配置为时间点恢复,可以使用备份文件将关系数据存储恢复至指定的时间点。例如,如果编辑者对托管要素图层中的数据进行了大量编辑,但是在第二天发现这些编辑是错误的,则您可以将关系数据存储恢复至进行编辑前的状态。

指定的时间必须是协调世界时间 (UTC)。

注:

在将关系数据存储恢复至的时间点之后发布到门户的所有要素图层将不再有效,因为这些图层所使用的数据将不再存在于数据存储中。

还需注意的是如果您禁用了自动备份,则无法恢复至指定时间点。

  1. 打开 shell 命令。
  2. 运行 <ArcGIS Data Store installation directory>\datastore\tools 中的 restoredatastore 实用程序将数据恢复至特定时间点。

    将关系数据存储恢复到特定时间点的语法如下:

    restoredatastore --store relational --target <date and time> --source-loc <location of backup files>

    例如,键入以下内容将 /net/fortknox/backups/datastore 上文件中的数据存储恢复至其在 2014 年 3 月 20 日 5:00 p.m. UTC 的 状态:

    ./restoredatastore --store relational --target 2014-03-20-17:00:00 --source-loc /net/fortknox/backups/datastore
    You are going to restore the data store from a data store backup. This process could take a long time, depending on the size of your data. Please do not interrupt the process once it has started.
    Do you want to continue (Yes or No)? Yes

  3. 输入 yes 确认希望恢复数据存储。
    提示:

    如果希望编写 restoredatastore 命令(包括禁止确认提示符的标记)的脚本,则请按以下示例操作:

    restoredatastore --store relational --target 2014-03-20-17:00:00 --source-loc /net/fortknox/backups/datastore --prompt no

    您的托管要素图层数据将恢复至您指定的时间点。