Vertica备份恢复
Posted maskedguy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Vertica备份恢复相关的知识,希望对你有一定的参考价值。
Vertica备份和恢复数据库
Vertica提供了一个功能全面的使用程序--vbr, 他是一个Python脚本。使用vbr脚本可以备份和还原完整备份以及为特定架构或表创建备份。vbr实用程序会在首次执行期间创建备份目录并在后续再次执行时候创建子目录。
备份数据库
使用vbr可将数据保存到以下位置:
- 集群中节点上的本地目录
- 集群外的一个或多个主机
- 其他Vertica集群(高效克隆数据库)
注意:在另一个群集上创建数据库备份并不会提供灾难恢复能力。您使用vbr创建的克隆数据库与原始数据库完全独立,并不会与该原始数据库保持同步。
合适备份数据库
除了指定的备份策略外,在以下情况下建议备份数据库:
- 在Vertiva升级到另一个版本前
- 删除分区前
- 加载大量数据后
- 最新备份的时期早于当前的Ancient History Mark (AHM)
- 在添加、删除、或者替换集群中的节点之前和之后。
- 在恢复奔溃集群之后
注意:还原数据库备份时,必须要还原到与创建备份时的集群完全相同的群集。出于此原因,请始终在添加、删除或替换节点后创建新备份。
理想情况下,最好定期备份整个数据库。可以用linux的定时任corn或者其他任务调度程序运行Vertica Vbr实用程序。
创建备份配置文件
vbr实用程序会使用一个配置文件,其中含有备份和还原完整(或对象)级别备份所需的信息。该配置文件定义了数据库存储位置、它使用的临时目录以及数据库中备份了哪些节点、架构和/或表。如果没有配置文件也不存在默认文件,vbr将无法运行。
要调用脚本以设置一个配置文件,执行的命令如下:
[root@verticanodeone ~]# su - dbadmin
[dbadmin@verticanodeone ~]$ vbr --setupconfig
执行后会进入交互模式,脚本会提示让你回答与配置有关的问题。如果有括号提示默认值,键入ENTER(回车键)即可接受默认值。
配置好之后,会在家目录下生成一个fullbak.ini文件
使用运行--task backup 或其他命令时指定的Config file name。vbr 实用程序会为备份和还原任务使用该配置文件的内容。
创建完整、增量备份
创建数据库备份前,请确认一下情况:
- 数据库正在运行
- 所有备份主机正常运行,且可供使用
- 备份主机具有充足磁盘空间,可以存储备份
- 启动使用程序的用户对主机备份位置的目录具有写入权限
使用数据库集群启动程序的节点中的数据库管理员账户从终端运行vbr脚本。无法用root身份运行该使用程序。
首先需要init一下配置,不然会报错
vbr -t init --config-file fullbak1.ini
如果不执行init报错信息大致如下
[dbadmin@verticanodeone ~]$ vbr -t backup --config fullbak1.ini
Error: Manifest not found at rsync://[192.168.116.102]:50000/home/dbadmin/backups -- is the backup location initialized? Hint: Execute \'--task init\' first.
Backup FAILED.
执行init之后,再次进行备份命令,会看到读进度条
vbr -t backup --config fullbak1.ini
正常情况下除了进度条,不会有别的信息输出的。
如果您未指定配置文件,vbr 实用程序会在此位置搜索:
/opt/vertica/config/vbr.ini,如果此处不存在任何文件, 该实用程序将发生故障, 并显示错误。
首次运行vbr实用程序时,它会执行完整备份。后续再使用同样的配置文件运行时,它会创建增量备份。创建增量备份时,该实用程序会复制新的存储容器,其中可以包含上次备份数据库时就存在的数据以及自那以后新增和变更的数据。默认情况下,vbr会保存一个存档备份,除非您将配置文件中的restorePointLimit参数值设为大于1的值。
还原数据库
要还原数据库备份,请确保:
- 数据库出现故障
- 所有备份主机可以正常运行且可供使用
- 备份目录中存在要还原的备份
要开始还原完整数据库备份,请使用管理员账户登录。无法用root身份运行该实用程序。
以上是关于Vertica备份恢复的主要内容,如果未能解决你的问题,请参考以下文章
「oracle备份恢复」oracle数据库备份恢复之逻辑备份与恢复