首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >当mesh不再启动时,我如何恢复数据库?

当mesh不再启动时,我如何恢复数据库?
EN

Stack Overflow用户
提问于 2018-08-31 17:44:22
回答 2查看 348关注 0票数 0

由于内存不足,我们的网格实例崩溃,使数据库处于不一致的状态。Mesh不再启动,并且我没有机会使用恢复端点。是否有其他方法可以恢复数据库?

以下是错误输出:

代码语言:javascript
代码运行次数:0
运行
复制
SEVERE: $ANSI{green {db=storage}} Exception during index 'e.has_branch_inout' deletion
com.orientechnologies.orient.core.exception.OPageIsBrokenException: Following files and pages are detected to be broken ['e.has_field_container_branch_type_lang.hib' :86;], storage is switched to 'read only' mode. Any modification operations are prohibited. To restore database and make it fully operational you may export and import database to and from JSON.
DB name="storage"
        at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.checkLowDiskSpaceRequestsAndReadOnlyConditions(OAbstractPaginatedStorage.java:5143)
        at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.deleteIndexEngine(OAbstractPaginatedStorage.java:2113)
        at com.orientechnologies.orient.core.index.OIndexAbstract.create(OIndexAbstract.java:259)
        at com.orientechnologies.orient.core.index.OIndexMultiValues.create(OIndexMultiValues.java:258)
        at com.orientechnologies.orient.core.index.OIndexMultiValues.create(OIndexMultiValues.java:44)
        at com.orientechnologies.orient.core.index.OIndexManagerShared$RecreateIndexesTask.createAutomaticIndex(OIndexManagerShared.java:600)
        at com.orientechnologies.orient.core.index.OIndexManagerShared$RecreateIndexesTask.recreateIndex(OIndexManagerShared.java:586)
        at com.orientechnologies.orient.core.index.OIndexManagerShared$RecreateIndexesTask.recreateIndexes(OIndexManagerShared.java:534)
        at com.orientechnologies.orient.core.index.OIndexManagerShared$RecreateIndexesTask.run(OIndexManagerShared.java:515)
        at java.lang.Thread.run(Thread.java:745)

感谢您的帮助!

EN

回答 2

Stack Overflow用户

发布于 2018-09-04 15:55:02

我们设法通过使用OrientDB外壳恢复了数据库。

  • 首先我们删除了所有的*.hib文件
  • 通过database
  • Finally
  • 启动了
  • shell然后我们导出了旧的数据然后创建了一个新的database
  • Finally我们将旧的数据导入到新的数据库中并启动了mesh

<>F211>

票数 1
EN

Stack Overflow用户

发布于 2018-08-31 18:44:48

您可以尝试删除存储目录中的所有*.hib文件,然后重新启动网格。(预先创建备份)

否则,您将不幸地需要下载OrientDB 2.2.x,在OrientDB安装中添加网格数据库,并调用导入/导出:

https://orientdb.com/docs/2.2.x/Export-Format.html

如果Gentics Mesh的REST API是可访问的,您还可以尝试调用备份和恢复端点。这可以通过mesh-cli来完成

代码语言:javascript
代码运行次数:0
运行
复制
mesh admin backup
mesh admin restore
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52112695

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档