知识库

需求导致数据库不可用:数据库可用 --- 初始化诊断开始 ---

运行 `neo4j-admin backup` 时,debug.log 显示一条消息,似乎表明数据库已重启;但是,情况并非如此。

2019-05-01 03:14:15.230+0000 INFO [o.n.k.AvailabilityGuard] Requirement makes database unavailable: Database available
2019-05-01 03:14:15.250+0000 INFO [o.n.k.i.DiagnosticsManager] --- INITIALIZED diagnostics START ---

让我们解释一下为什么会出现此消息以及它的含义。

当在线备份开始时,将使用数据库引擎的另一个新实例来访问数据并允许工具执行在线备份。数据库必须处于不可用状态才能运行备份,以避免对数据的更改(写入)。此单独的实例将其日志写入主数据库引擎的同一个 debug.log。因此,给人的错误印象是数据库已重启,而实际上日志实际上显示的是备份进程启动的单独引擎,该引擎被置于不可用状态,然后在备份进程完成后关闭。

在 Release 3.5.3 中,上述消息已针对完整备份更改如下

2019-01-04 16:11:59.715+0000 INFO [o.n.b.i.BackupImpl] BackupServer:6362-1: Full backup started...
2019-01-04 16:11:59.717+0000 INFO [o.n.k.i.t.l.c.CheckPointerImpl] Checkpoint triggered by full backup @ txId: 28 checkpoint started...
2019-01-04 16:11:59.768+0000 INFO [o.n.k.i.t.l.c.CheckPointerImpl] Checkpoint triggered by full backup @ txId: 28 checkpoint completed in 47ms
2019-01-04 16:11:59.769+0000 INFO [o.n.k.i.t.l.p.LogPruningImpl] No log version pruned, last checkpoint was made in version 0
2019-01-04 16:11:59.847+0000 INFO [o.n.b.i.BackupImpl] BackupServer:6362-1: Full backup finished.