同步元数据
Eon 模式数据库会在公共存储中保留其编录,其中包含所有数据库元数据。Vertica 在恢复数据库时会使用此元数据,因此编录始终保持最新非常重要。Vertica 会按照配置参数 CatalogSyncInterval 指定的定期时间间隔(默认设置为五分钟)自动同步编录。
一般而言,不需要监控同步过程或更改它。但有一个例外:在关闭打算恢复或复制的数据库之前,最好验证编录是否包含最近进行的所有更改,并在必要时手动同步它。
验证编录状态
您可以通过两种方式验证数据库编录的同步状态,具体取决于数据库是否正在运行。
如果数据库正在运行,则查询并比较这两个系统表:
-
CATALOG_SYNC_STATE:显示每个节点最近将其编录同步到公共存储的方式,以及已同步的版本。
-
CATALOG_TRUNCATION_STATUS:显示数据库编录的最新同步状态。当列
TRUNCATION_CATALOG_VERSION
和CURRENT_CATALOG_VERSION
相同时,编录同步即为最新的。
如果数据库当前未运行,请检查公共存储上的以下 JSON 文件:
/metadata/database‑name/cluster_config.json
此文件中的编录截断版本和时间戳会指示 Vertica 上次同步数据库编录的时间。
手动同步数据库数据日志
如有必要,请调用 SYNC_CATALOG 以立即将编录与所有节点或特定节点同步:
=> SELECT sync_catalog();
自定义同步时间间隔
默认情况下,Vertica 每五分钟检查一次编录是否更改。有时,您可能希望临时更改此设置 — 例如,将其设置为较高的值以获取当前存储桶内容的快照:
=> ALTER DATABASE DEFAULT SET CatalogSyncInterval = 300;
重要
如果针对特定任务将 CatalogSyncInterval 设置为较高的值,请确保在任务完成后立即将其恢复为默认设置:
=> ALTER DATABASE DEFAULT CLEAR PARAMETER CatalogSyncInterval;