知识库

如何手动运行一致性检查?

如果您跳过 neo4j-backup 的一致性检查步骤,或想确认数据存储是否完整,可以对离线存储运行该工具。

$ java -cp 'lib/*:system/lib/*' org.neo4j.consistency.ConsistencyCheckTool /tmp/graph.db

在 Windows 环境下,语法大致如下:

$ java -cp "lib/*;system/lib/*" org.neo4j.consistency.ConsistencyCheckTool c:\tmp\graph.db

在上述每个示例中,将 /tmp/graph.dbc:\tmp\graph.db 替换为实际的 Neo 数据库路径。

若要调整检查以跳过索引(最耗时的修改),只需在 conf/neo4j.properties(2.x)或 conf/neo4j.conf(3.x)中添加以下行,并在命令行中将其传递给工具。

consistency_check_indexes=false

现在使用传入的配置文件运行命令。

$ java -cp 'lib/*:system/lib/*' org.neo4j.consistency.ConsistencyCheckTool -config conf/neo4j.properties /tmp/foo

还有其他配置选项,下面给出它们的 2.x 名称 / 3.x 名称:

consistency_check_property_owners / tools.consistency_checker.check_property_owners

对属性所有权进行可选的额外检查。这可以检测到一种理论上的不一致情况,即同一属性可能被多个实体拥有。然而,此检查在时间和内存消耗上非常昂贵,默认会被跳过。

consistency_check_label_scan_store / tools.consistency_checker.check_label_scan_store

对标签扫描存储进行检查。检查该存储的开销比检查本地存储要大,因此在超大型数据库中可能需要关闭此检查。

consistency_check_indexes / tools.consistency_checker.check_indexes

对索引进行检查。索引检查比本地存储检查更耗时,因此在超大型数据库中可以考虑关闭此检查。

consistency_check_execution_order

运行一致性检查时使用的存储交叉检查执行顺序。

consistency_check_report_file:不一致日志文件的文件名。如果未指定,则在存储目录下生成日志文件。

© . This site is unofficial and not affiliated with Neo4j, Inc.