gpt4 book ai didi

neo4j - 如何恢复损坏的 Neo4j 图形数据库

转载 作者:行者123 更新时间:2023-12-03 16:04:23 25 4
gpt4 key购买 nike

我目前使用的是 spring data neo4j 2.1.0(社区版)。

有时我会设法破坏数据库和/或数据库索引。

我已经收集了以下恢复步骤,但希望有一个
更明确的设置以供将来使用。

恢复损坏的数据库。
我目前删除了数据库数据目录中的以下文件
这个过程似乎在 90% 的时间里都有效:

nioneo_logical.log.v*(数字通配符)

nioneo_logical.log.active

我想知道是否可以从数据中删除任何其他文件
目录以帮助恢复,特别是如果 data\index 目录中的任何文件
可以删除(无需重建索引)。

非常感谢帮助。

消息日志

2013-12-16 10:41:40,516 ERROR [neo4j.index]: Failed to load index provider lucene
org.neo4j.graphdb.NotFoundException: Target file[lucene.log.v3] already exists
at org.neo4j.kernel.impl.util.FileUtils.renameFile(FileUtils.java:192) ~[neo4j-kernel-1.8.jar:1.8]
at org.neo4j.kernel.DefaultFileSystemAbstraction.renameFile(DefaultFileSystemAbstraction.java:77) ~[neo4j-kernel-1.8.jar:1.8]
at org.neo4j.kernel.impl.transaction.xaframework.XaLogicalLog.renameLogFileToRightVersion(XaLogicalLog.java:683) ~[neo4j-kernel-1.8.jar:1.8]
at org.neo4j.kernel.impl.transaction.xaframework.XaLogicalLog.renameIfExists(XaLogicalLog.java:181) ~[neo4j-kernel-1.8.jar:1.8]
at org.neo4j.kernel.impl.transaction.xaframework.XaLogicalLog.open(XaLogicalLog.java:150) ~[neo4j-kernel-1.8.jar:1.8]
at org.neo4j.kernel.impl.transaction.xaframework.XaContainer.openLogicalLog(XaContainer.java:64) ~[neo4j-kernel-1.8.jar:1.8]
at org.neo4j.index.impl.lucene.LuceneDataSource.<init>(LuceneDataSource.java:232) ~[neo4j-lucene-index-1.8.jar:1.8]
at org.neo4j.index.lucene.LuceneIndexProvider.load(LuceneIndexProvider.java:72) ~[neo4j-lucene-index-1.8.jar:1.8]
at org.neo4j.kernel.InternalAbstractGraphDatabase$DefaultKernelExtensionLoader.loadIndexImplementations(InternalAbstractGraphDatabase.java:1171) [neo4j-kernel-1.8.jar:1.8]
at org.neo4j.kernel.InternalAbstractGraphDatabase$DefaultKernelExtensionLoader.init(InternalAbstractGraphDatabase.java:1143) [neo4j-kernel-1.8.jar:1.8]
at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.init(LifeSupport.java:382) [neo4j-kernel-1.8.jar:1.8]
at org.neo4j.kernel.lifecycle.LifeSupport.init(LifeSupport.java:82) [neo4j-kernel-1.8.jar:1.8]
at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:116) [neo4j-kernel-1.8.jar:1.8]
at org.neo4j.kernel.InternalAbstractGraphDatabase.run(InternalAbstractGraphDatabase.java:227) [neo4j-kernel-1.8.jar:1.8]
at org.neo4j.kernel.EmbeddedGraphDatabase.<init>(EmbeddedGraphDatabase.java:79) [neo4j-kernel-1.8.jar:1.8]
at org.neo4j.kernel.EmbeddedGraphDatabase.<init>(EmbeddedGraphDatabase.java:70) [neo4j-kernel-1.8.jar:1.8]
at org.neo4j.kernel.EmbeddedGraphDatabase.<init>(EmbeddedGraphDatabase.java:55) [neo4j-kernel-1.8.jar:1.8]
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) [na:1.6.0_27]
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) [na:1.6.0_27]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) [na:1.6.0_27]
at java.lang.reflect.Constructor.newInstance(Unknown Source) [na:1.6.0_27]
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:126) [spring-beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:108) [spring-beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:280) [spring-beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1002) [spring-beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:906) [spring-beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:484) [spring-beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455) [spring-beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293) [spring-beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) [spring-beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290) [spring-beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:192) [spring-beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322) [spring-beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106) [spring-beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1327) [spring-beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1085) [spring-beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:516) [spring-beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455) [spring-beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293) [spring-beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) [spring-beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290) [spring-beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:192) [spring-beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:353) [spring-beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:982) [spring-beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:878) [spring-beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getSingletonFactoryBeanForTypeCheck(AbstractAutowireCapableBeanFactory.java:734) [spring-beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getTypeForFactoryBean(AbstractAutowireCapableBeanFactory.java:665) [spring-beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.isTypeMatch(AbstractBeanFactory.java:518) [spring-beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:319) [spring-beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
at org.springframework.beans.factory.BeanFactoryUtils.beanNamesForTypeIncludingAncestors(BeanFactoryUtils.java:185) [spring-beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:833) [spring-beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:790) [spring-beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:707) [spring-beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:478) [spring-beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:84) [spring-beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:284) [spring-beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1073) [spring-beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:516) [spring-beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455) [spring-beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293) [spring-beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) [spring-beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290) [spring-beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:192) [spring-beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:585) [spring-beans-3.0.7.RELEASE.jar:3.0.7.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895) [spring-context-3.0.7.RELEASE.jar:3.0.7.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425) [spring-context-3.0.7.RELEASE.jar:3.0.7.RELEASE]
at org.springframework.context.support.FileSystemXmlApplicationContext.<init>(FileSystemXmlApplicationContext.java:140) [spring-context-3.0.7.RELEASE.jar:3.0.7.RELEASE]
at org.springframework.context.support.FileSystemXmlApplicationContext.<init>(FileSystemXmlApplicationContext.java:84) [spring-context-3.0.7.RELEASE.jar:3.0.7.RELEASE]
at com.ci.server.ContextManager.initSinkServer(ContextManager.java:120) [CiDataConverter-0.0.1-SNAPSHOT.jar:na]
at com.ci.server.Server.buildContext(Server.java:263) [CiDataConverter-0.0.1-SNAPSHOT.jar:na]
at com.ci.server.Server.runServer(Server.java:76) [CiDataConverter-0.0.1-SNAPSHOT.jar:na]
at com.ci.server.ServerMain.main(ServerMain.java:21) [CiDataConverter-0.0.1-SNAPSHOT.jar:na]
2013-12-16 10:41:40,524 DEBUG [neo4j.diagnostics]: --- SHUTDOWN diagnostics START ---
2013-12-16 10:41:40,524 DEBUG [neo4j.diagnostics]: --- SHUTDOWN diagnostics END ---

我的应用程序日志文件
SEVERE: Error initialising Neo4J context: 
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ciFinDomainServiceImpl': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private GelatoData.domainFinService.impl.FinancialRepository GelatoData.domainFinService.impl.CiFinDomainServiceImpl.financialRepository; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.data.neo4j.config.Neo4jConfiguration#0': Cannot resolve reference to bean 'graphDatabaseService' while setting bean property 'graphDatabaseService'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'graphDatabaseService' defined in file [C:\app\Gelato\server\etc\GelatoServerData.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.neo4j.kernel.EmbeddedGraphDatabase]: Constructor threw exception; nested exception is org.neo4j.graphdb.NotFoundException: Target file[nioneo_logical.log.v2] already exists
Related cause: org.springframework.beans.factory.BeanCurrentlyInCreationException: Error creating bean with name 'mappingInfrastructure': Requested bean is currently in creation: Is there an unresolvable circular reference?
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:287)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1073)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:516)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:192)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:585)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
at org.springframework.context.support.FileSystemXmlApplicationContext.<init>(FileSystemXmlApplicationContext.java:140)
at org.springframework.context.support.FileSystemXmlApplicationContext.<init>(FileSystemXmlApplicationContext.java:84)
at com.ci.server.ContextManager.initSinkServer(ContextManager.java:120)
at com.ci.server.Server.buildContext(Server.java:263)
at com.ci.server.Server.runServer(Server.java:76)
at com.ci.server.ServerMain.main(ServerMain.java:21)
Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire field: private GelatoData.domainFinService.impl.FinancialRepository GelatoData.domainFinService.impl.CiFinDomainServiceImpl.financialRepository; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.data.neo4j.config.Neo4jConfiguration#0': Cannot resolve reference to bean 'graphDatabaseService' while setting bean property 'graphDatabaseService'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'graphDatabaseService' defined in file [C:\app\Gelato\server\etc\GelatoServerData.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.neo4j.kernel.EmbeddedGraphDatabase]: Constructor threw exception; nested exception is org.neo4j.graphdb.NotFoundException: Target file[nioneo_logical.log.v2] already exists
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:506)
at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:84)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:284)
... 16 more

Neo4j 数据目录内容
 Volume in drive C is OS
Volume Serial Number is 8861-7230

Directory of C:\app_data\gelato\data

16/12/2013 10:49 <DIR> .
16/12/2013 10:49 <DIR> ..
25/11/2013 13:12 11 active_tx_log
16/12/2013 10:38 <DIR> index
25/11/2013 13:42 1,571 index.db
25/11/2013 13:14 0 lock
16/12/2013 10:41 289,837 messages.log
16/12/2013 10:41 54 neostore
16/12/2013 10:41 9 neostore.id
10/12/2013 17:32 25,164 neostore.nodestore.db
16/12/2013 10:41 9 neostore.nodestore.db.id
16/12/2013 10:41 5,535,000 neostore.propertystore.db
25/11/2013 13:14 128 neostore.propertystore.db.arrays
16/12/2013 10:41 9 neostore.propertystore.db.arrays.id
16/12/2013 10:41 9 neostore.propertystore.db.id
10/12/2013 17:32 1,044 neostore.propertystore.db.index
16/12/2013 10:41 9 neostore.propertystore.db.index.id
10/12/2013 17:32 1,026 neostore.propertystore.db.index.keys
16/12/2013 10:41 9 neostore.propertystore.db.index.keys.id
10/12/2013 17:32 3,379,456 neostore.propertystore.db.strings
16/12/2013 10:41 9 neostore.propertystore.db.strings.id
10/12/2013 17:32 1,132,461 neostore.relationshipstore.db
16/12/2013 10:41 9 neostore.relationshipstore.db.id
16/12/2013 10:41 10 neostore.relationshiptypestore.db
16/12/2013 10:41 9 neostore.relationshiptypestore.db.id
10/12/2013 17:32 114 neostore.relationshiptypestore.db.names
16/12/2013 10:41 9 neostore.relationshiptypestore.db.names.id
16/12/2013 10:42 612 nioneo_logical.log.2
16/12/2013 10:41 4 nioneo_logical.log.active
10/12/2013 14:32 353,479 nioneo_logical.log.v0
10/12/2013 17:32 14,659,211 nioneo_logical.log.v1
10/12/2013 17:18 26,214,477 nioneo_logical.log.v2
25/11/2013 13:12 2,022,220 rrd
16/12/2013 10:40 176 tm_tx_log.1
32 File(s) 53,616,145 bytes
3 Dir(s) 881,749,417,984 bytes free

Neo4j 索引内容
 Volume in drive C is OS
Volume Serial Number is 8861-7230

Directory of C:\app_data\gelato\data\index

16/12/2013 10:49 <DIR> .
16/12/2013 10:49 <DIR> ..
16/12/2013 10:38 <DIR> lucene
16/12/2013 10:41 40 lucene-store.db
16/12/2013 10:41 16 lucene.log.1
16/12/2013 10:40 4 lucene.log.active
25/11/2013 13:13 382 lucene.log.v0
25/11/2013 13:44 26,945,214 lucene.log.v1
10/12/2013 17:32 392,983 lucene.log.v2
10/12/2013 17:18 26,214,420 lucene.log.v3
10/12/2013 17:18 26,214,553 lucene.log.v4
9 File(s) 79,767,612 bytes
3 Dir(s) 881,749,921,792 bytes free

最佳答案

通常neo4j 会在启动时恢复事务日志。

如果由于某种原因这不起作用,请分享评论中提到的日志文件以及 graph.db/messsages.log和我们。

您不应该删除事务日志(实际上是这样做的),这可能会导致数据丢失。

关于neo4j - 如何恢复损坏的 Neo4j 图形数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20544436/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com