В Vertica мы храним аналитические данные, которые в принципе можно не бэкапировать, т.к. объем данных - не велик, и можно перезалить в любой момент. Но это касается лишь новых данных, есть часть данных из старых источников: Oracle, Excel и текстовых документов, которые не желательно перезаливать. Лучше восстановить данные из бэкапа, чем собирать данные из старых источников, которые, возможно, уже и не существуют или с ними что-то случилось.
Снимать бэкап нужно под пользователем dbadmin:
su dbadmin
Создайте директорию, в которую будет записана резервная копия:
mkdir /home/dbadmin/backups20190207
В Vertica создание резервной копии и восстановление из нее осуществуляется с помощью утилиты vbr (думаю, это означает Vertica Backup and Restore). Для vbr нужно создать конфигурационный файл, который используется как для создания копии, так и для восстановления из нее.
Примеры конфигурационных файлов можно посмотреть в каталоге:
/opt/vertica/share/vbr/example_configs
Создайте новый конфигурационный файл /opt/vertica/share/vbr/example_configs/backup_restore_your_database.ini со следующим содержимым:
[Mapping] v_your_database_node0001 = []:/home/dbadmin/backups20190207 #v_your_database_node0002 = []:/home/dbadmin/backups20190207 [Misc] tempDir = /tmp [Database] dbName = YOUR_DATABASE dbUser = dbadmin dbPassword = YOUR_PASSWORD #dbPromptForPassword = True
Нужно перечислить все узлы вашего кластера: v_your_database_node0001, v_your_database_node0002 и т.д. В нашем случае кластера нет, поэтому одна нода.
В dbName, dbUser и dbPassword укажите параметры подключения к вашей базе данных.
Пароль можно не прописывать, а каждый раз запрашивать, расскомментировав строку: dbPromptForPassword = True.
Возможные проблемы
В данной инструкции явно прописана учетка и пароль, т.к. без этого возникала проблема подключения:Unable to log vbr invocations. Error SQL command "select log_vbr_invocations('Full Backup Task', '/tmp/vbr_2020-01-04-115520.log', 'SQL6F52TLDAFPCZ9YZEOH83P9YYKL9HW', 'Fail');" failed: vsql: FATAL 3781: Invalid username or password Error: SQL command "select name,catalogpath from v_internal.vs_nodes;" failed: vsql: FATAL 3781: Invalid username or password Backup FAILED.
Инициализация директории
Перед непосредственным созданием бэкапа нужно проинициализировать указанную в конфиге директорию:
/opt/vertica/bin/vbr -t init -c /opt/vertica/share/vbr/example_configs/backup_restore_your_database.ini
Создание резервной копии
После инициализации директории выполните команду:
/opt/vertica/bin/vbr -t backup -c /opt/vertica/share/vbr/example_configs/backup_restore_your_database.ini
Восстановление из резервной копии
Для восстановления из резервной копии выполните команду:
/opt/vertica/bin/vbr -t restore -c /opt/vertica/share/vbr/example_configs/backup_restore_your_database.ini