Na tej stronie znajdziesz informacje o tym, jak przywrócić dane z kopii zapasowej do bazy danych o tej samej nazwie co źródłowa baza danych kopii zapasowej. Zanim przeczytasz tę stronę, zapoznaj się z artykułem Tworzenie kopii zapasowej i przywracanie danych.
Przywracanie na miejscu
Przywracanie w miejscu umożliwia przywrócenie bazy danych z kopii zapasowej do źródłowej bazy danych, która utworzyła kopię zapasową, podczas gdy oryginalna baza danych nadal istnieje. Przywracanie w miejscu pomaga uniknąć przekierowywania ruchu lub tworzenia bazy danych o innej nazwie.
Operacja przywracania musi korzystać z docelowej bazy danych, która jeszcze nie istnieje. Możesz jednak zasymulować przywracanie w miejscu, usuwając bazę danych źródłową, a następnie przywracając ją z kopii zapasowej do nowej bazy danych o tej samej nazwie co baza danych źródłowa.
Przeprowadzanie przywracania w miejscu
Aby przeprowadzić przywracanie w miejscu, wykonaj te czynności:
- Wskaż kopię zapasową, której chcesz użyć do przywracania.
- Usuń istniejącą bazę danych.
- Aby dokończyć operację przywracania, użyj kopii zapasowej i identyfikatora usuniętej bazy danych.
Zanim zaczniesz
Przed rozpoczęciem przywracania w miejscu wykonaj te czynności:
Wyeksportuj dane z bazy danych, którą chcesz usunąć.
Jeśli chcesz odzyskać usuniętą bazę danych, zaimportuj dane z operacji eksportu. Aby przywrócić usuniętą bazę danych do tego samego identyfikatora bazy danych, musisz poczekać, aż zakończą się wszystkie trwające operacje przywracania, a następnie:
- Usuń istniejącą bazę danych za pomocą identyfikatora bazy danych i poczekaj co najmniej 5 minut.
- Utwórz nową bazę danych z identyfikatorem bazy danych.
- Rozpoczynanie operacji importu
Pobierz i skopiuj konfigurację indeksu bazy danych. Operacje eksportu nie rejestrują definicji indeksów. Użyj konfiguracji indeksu, aby ponownie utworzyć indeksy po zakończeniu operacji przywracania w miejscu. Aby pobrać konfigurację indeksu bazy danych, użyj tych poleceń:
Użyj
gcloud firestore indexes composite list
, aby pobrać listę indeksów złożonych:gcloud firestore indexes composite list --database=DATABASE_ID
Zastąp DATABASE_ID identyfikatorem bazy danych.
Użyj
gcloud firestore indexes fields list
, aby pobrać listę wykluczeń indeksów pojedynczego pola (wbudowanych).gcloud firestore indexes fields list --database=DATABASE_ID
Przeprowadzanie przywracania w miejscu
Aby przeprowadzić przywracanie w miejscu, wykonaj te czynności. Ten proces wymaga przestoju między momentem usunięcia bazy danych a zakończeniem operacji przywracania.
Po rozpoczęciu operacji przywracania nie można jej anulować. Musisz poczekać, aż się zakończy. Operacja przywracania natychmiast zajmuje identyfikator bazy danych użyty w operacji.
Użyj polecenia
gcloud alpha firestore backups list
, aby określić kopię zapasową, która ma być użyta w operacji przywracania, i zanotuj nazwę zasobu. Nazwa zasobu ma format:projects/PROJECT_ID/locations/LOCATION/backups/BACKUP_ID
Aby usunąć istniejącą bazę danych, użyj polecenia
gcloud firestore databases delete
:gcloud firestore databases delete --database='DATABASE_ID'
Zastąp DATABASE_ID identyfikatorem bazy danych.
Odczekaj co najmniej 5 minut od usunięcia bazy danych, aby identyfikator bazy danych stał się ponownie dostępny. Rozpocznij operację przywracania za pomocą polecenia
gcloud alpha firestore databases restore
gcloud alpha firestore databases restore \ --source-backup=projects/PROJECT_ID/locations/LOCATION/backups/BACKUP_ID \ --destination-database='DATABASE_ID'
Zastąp DATABASE_ID identyfikatorem bazy danych.
Co dalej?
- Więcej informacji o harmonogramach tworzenia kopii zapasowych i przywracaniu
- Więcej informacji o konfigurowaniu odzyskiwania do określonego momentu (PITR)