同步元数据

Eon 模式数据库会在公共存储中保留其编录,其中包含所有数据库元数据。Vertica 在恢复数据库时会使用此元数据,因此编录始终保持最新非常重要。Vertica 会按照配置参数 CatalogSyncInterval 指定的定期时间间隔(默认设置为五分钟)自动同步编录。

一般而言,不需要监控同步过程或更改它。但有一个例外:在关闭打算恢复或复制的数据库之前,最好验证编录是否包含最近进行的所有更改,并在必要时手动同步它。

验证编录状态

您可以通过两种方式验证数据库编录的同步状态,具体取决于数据库是否正在运行。

如果数据库正在运行,则查询并比较这两个系统表:

  • CATALOG_SYNC_STATE:显示每个节点最近将其编录同步到公共存储的方式,以及已同步的版本。

  • CATALOG_TRUNCATION_STATUS:显示数据库编录的最新同步状态。当列 TRUNCATION_CATALOG_VERSIONCURRENT_CATALOG_VERSION 相同时,编录同步即为最新的。

如果数据库当前未运行,请检查公共存储上的以下 JSON 文件:

/metadata/database‑name/cluster_config.json

此文件中的编录截断版本和时间戳会指示 Vertica 上次同步数据库编录的时间。

手动同步数据库数据日志

如有必要,请调用 SYNC_CATALOG 以立即将编录与所有节点或特定节点同步:

=> SELECT sync_catalog();

自定义同步时间间隔

默认情况下,Vertica 每五分钟检查一次编录是否更改。有时,您可能希望临时更改此设置 — 例如,将其设置为较高的值以获取当前存储桶内容的快照:

=> ALTER DATABASE DEFAULT SET CatalogSyncInterval = 300;