知识库

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

如果您跳过 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:不一致日志文件的文件名。如果未指定,则记录到存储目录中的文件。