На этой странице описывается, как восстановить данные из резервной копии в базу данных с тем же именем, что и у исходной базы данных резервной копии. Перед тем, как читать эту страницу, вы должны быть знакомы с Резервное копирование и восстановление данных .
Восстановление на месте
Восстановление на месте позволяет восстановить базу данных из резервной копии в исходную базу данных, которая создала резервную копию, пока исходная база данных все еще существует. Восстановление на месте помогает избежать перенаправления трафика или создания базы данных с другим именем.
Операция восстановления должна использовать целевую базу данных, которая еще не существует. Однако вы можете смоделировать восстановление на месте, удалив исходную базу данных, а затем восстановить ее из резервной копии в новую базу данных с тем же именем, что и у исходной базы данных.
Выполнить восстановление на месте
Чтобы выполнить восстановление на месте, выполните следующие действия:
- Определите резервную копию, которую следует использовать для операции восстановления.
- Удалить существующую базу данных.
- Используйте резервную копию и идентификатор удаленной базы данных для завершения операции восстановления.
Прежде чем начать
Перед началом процесса восстановления на месте мы рекомендуем выполнить следующие шаги:
Экспортируйте данные в базу данных, которую вы собираетесь удалить.
Если вам нужно восстановить удаленную базу данных, импортируйте данные из операции экспорта. Чтобы восстановить удаленную базу данных с тем же идентификатором базы данных, вы должны дождаться завершения всех запущенных операций восстановления, а затем:
- Удалите существующую базу данных с идентификатором базы данных и подождите не менее 5 минут.
- Создайте новую базу данных с идентификатором базы данных
- Начать импортную операцию
Извлеките и скопируйте конфигурацию индекса вашей базы данных. Операции экспорта не захватывают определения индексов. Используйте конфигурацию индекса для повторного создания индексов после завершения операции восстановления на месте. Используйте следующие команды для извлечения конфигурации индекса вашей базы данных:
Используйте
gcloud firestore indexes composite list
для получения списка составных индексов:gcloud firestore indexes composite list --database=DATABASE_ID
Замените DATABASE_ID на идентификатор вашей базы данных.
Используйте
gcloud firestore indexes fields list
для получения списка исключений индексов с одним полем (встроенных).gcloud firestore indexes fields list --database=DATABASE_ID
Выполнить восстановление на месте
Выполните следующие шаги для выполнения операции восстановления на месте. Этот процесс требует простоя между моментом удаления базы данных и завершением операции восстановления.
После начала операции восстановления вы не можете отменить операцию и должны дождаться ее завершения. Операция восстановления немедленно занимает идентификатор базы данных, используемый в операции.
Используйте команду
gcloud alpha firestore backups list
, чтобы определить резервную копию, которую следует использовать для операции восстановления, и запишите имя ресурса. Имя ресурса имеет следующий формат:projects/PROJECT_ID/locations/LOCATION/backups/BACKUP_ID
Используйте команду
gcloud firestore databases delete
для удаления существующей базы данных:gcloud firestore databases delete --database='DATABASE_ID'
Замените DATABASE_ID на идентификатор базы данных.
Подождите не менее 5 минут после удаления базы данных, чтобы идентификатор базы данных снова стал доступен. Инициируйте операцию восстановления с помощью команды
gcloud alpha firestore databases restore
:gcloud alpha firestore databases restore \ --source-backup=projects/PROJECT_ID/locations/LOCATION/backups/BACKUP_ID \ --destination-database='DATABASE_ID'
Замените DATABASE_ID на идентификатор базы данных.
Что дальше?
- Узнайте больше о расписаниях резервного копирования и операциях восстановления
- Узнайте о настройке восстановления на определенный момент времени (PITR)