将对象还原到备用群集

您可以使用还原任务将对象从一个数据库复制到另一个数据库。例如,您可以将表从开发环境“提升”到生产环境。还原到备用群集时,还原单个对象 中所述的所有限制均适用。

要还原到备用数据库,您必须更改用于创建备份的配置文件副本。更改位于 [Mapping] 和 [NodeMapping] 部分。从本质上来说,您为还原操作创建了一个配置文件。vbr 看起来就像目标数据库的备份,但它实际上描述了源数据库的备份。有关示例配置文件,请参阅将对象从备份还原到备用群集

以下示例使用两个数据库,名为源数据库和目标数据库。源数据库包含一个名为 sales 的表。以下 source_snapshot.ini 配置文件用于备份源数据库:

[Misc]
snapshotName = source_snapshot
restorePointLimit = 2
objectRestoreMode = createOrReplace

[Database]
dbName = source
dbUser = dbadmin
dbPromptForPassword = True

[Transmission]

[Mapping]
v_source_node0001 = 192.168.50.168:/home/dbadmin/backups/

target_snapshot.ini 文件开始为 source_snapshot.ini 的副本。由于 [Mapping] 部分描述了 vbr 运行所在的数据库,因此我们必须更改节点名称以指向目标节点。此外,我们还必须添加 [NodeMapping] 部分并更改数据库名称:

[Misc]
snapshotName = source_snapshot
restorePointLimit = 2
objectRestoreMode = createOrReplace

[Database]
dbName = target
dbUser = dbadmin
dbPromptForPassword = True

[Transmission]

[Mapping]
v_target_node0001 = 192.168.50.151:/home/dbadmin/backups/
[NodeMapping]
v_source_node0001 = v_target_node0001

vbr 而言,我们正在从目标数据库的备份中还原对象。而事实上,我们是从源数据库中还原的。

以下命令将 sales 表从源数据库备份还原到目标数据库:

$ vbr --task restore --config-file target_snapshot.ini --restore-objects sales
Starting object restore of database target.
Participating nodes: v_target_node0001.
Objects to restore: sales.
Enter vertica password:
Restoring from restore point: source_snapshot_20160204_191920
Loading snapshot catalog from backup.
Extracting objects from catalog.
Syncing data from backup to cluster nodes.
[==================================================] 100%
Finalizing restore.
Restore complete!