Vertica 支持按表执行节点恢复。与基于节点的恢复不同,按表恢复可使表在恢复期间可用,无需等待节点自身完全还原。您可以优先恢复最重要的表,确保它们立即可用。恢复后的表可支持所有 DDL 和 DML 操作。
为了提高恢复速度,Vertica 会并行恢复多个表。一次可以恢复的最大表数由 RECOVERY 资源池中的 MAXCONCURRENCY
参数控制。
节点完全恢复后,它会启用完整 Vertica 功能。
Vertica 支持按表执行节点恢复。与基于节点的恢复不同,按表恢复可使表在恢复期间可用,无需等待节点自身完全还原。您可以优先恢复最重要的表,确保它们立即可用。恢复后的表可支持所有 DDL 和 DML 操作。
为了提高恢复速度,Vertica 会并行恢复多个表。一次可以恢复的最大表数由 RECOVERY 资源池中的 MAXCONCURRENCY
参数控制。
节点完全恢复后,它会启用完整 Vertica 功能。
可以指定 Vertica 恢复表时所采用的顺序。此功能可确保最关键的表尽快处于可用状态。若要指定表的恢复顺序,请分配一个整数优先级值。首先恢复优先级值较高的表。例如,优先级为 1000 的表在优先级值为 500 的表之前恢复。表优先级的最大值为 64 位整数。
如果没有指定优先级,或多个表具有相同的优先级,则 Vertica 将按 OID 顺序还原表。使用查询分配优先级的方式如下:
=> SELECT set_table_recover_priority('avro_basic', '1000');
set_table_recover_priority
---------------------------------------
Table recovery priority has been set.
(1 row)
可使用以下格式通过一个查询查看所分配的优先级:
SELECT table_name,recover_priority FROM v_catalog.tables;
下一个示例显示了 Vmart 示例数据库中已确定优先级的表。这种情况下,恢复优先级最高的表将列在最前面 (DESC)。shipping_dimension
表具有最高优先级,将最先恢复。(本示例为了便于显示,使用了硬式换行。)
=> SELECT table_name AS Name, recover_priority from v_catalog.tables WHERE recover_priority > 1
ORDER BY recover_priority DESC;
Name | recover_priority
---------------------+------------------
shipping_dimension | 60000
warehouse_dimension | 50000
employee_dimension | 40000
vendor_dimension | 30000
date_dimension | 20000
promotion_dimension | 10000
iris2 | 9999
product_dimension | 10
customer_dimension | 10
(9 rows)
通过查询 V_MONITOR.TABLE_RECOVERY_STATUS 表,查看关于恢复操作的常规信息。通过查询 V_MONITOR.TABLE_RECOVERIES 表,您还可以查看关于正在还原表的恢复操作状态的详细信息。