Esegui un'operazione di ripristino in loco
Questa pagina descrive come ripristinare i dati di un backup in un database con lo stesso nome del database di origine del backup. Prima di leggere questa pagina, dovresti conoscere Effettuare il backup e il ripristino dei dati.
Ripristino in situ
Un ripristino in situ ti consente di ripristinare un database da un backup nel database di origine che ha creato il backup mentre il database originale è ancora esistente. Un ripristino in situ ti consente di evitare di reindirizzare il traffico o di creare un database con un nome diverso.
Un'operazione di ripristino deve utilizzare un database di destinazione che non esista già. Tuttavia, puoi simulare un ripristino in situ eliminando il database di origine e ripristinando da un backup in un nuovo database con lo stesso nome del database di origine.
Eseguire un ripristino in situ
Per eseguire un ripristino in situ:
- Identifica il backup da utilizzare per l'operazione di ripristino.
- Elimina il database esistente.
- Utilizza il backup e l'ID del database eliminato per completare l'operazione di ripristino.
Prima di iniziare
Ti consigliamo di completare i seguenti passaggi prima di avviare il processo di ripristino in situ:
Esporta i dati nel database che vuoi eliminare.
Se devi recuperare il database eliminato, import i dati dall'operazione di esportazione. Per recuperare il database eliminato nello stesso ID database, devi attendere il completamento di eventuali operazioni di ripristino in esecuzione, quindi:
- Elimina il database esistente con l'ID database e attendi almeno 5 minuti
- Crea un nuovo database con l'ID database
- Avviare un'operazione di importazione
Recupera e copia la configurazione dell'indice del tuo database. Operazioni di esportazione non acquisiscono le definizioni dell'indice. Utilizza la configurazione degli indici per ricrearli al termine dell'operazione di ripristino in situ. Utilizza i seguenti comandi per recuperare la configurazione dell'indice del database:
Utilizza
gcloud firestore indexes composite list
per recuperare un elenco di indici composti:gcloud firestore indexes composite list --database=DATABASE_ID
Sostituisci DATABASE_ID con l'ID del tuo database.
Utilizza
gcloud firestore indexes fields list
per recuperare un elenco di esenzioni dell'indice a campo singolo (integrate).gcloud firestore indexes fields list --database=DATABASE_ID
Esegui un ripristino in loco
Completa i seguenti passaggi per eseguire un'operazione di ripristino in loco. Questo processo richieda tempi di inattività tra il momento in cui elimini il database e il momento in cui l'operazione di ripristino è stata completata.
Una volta avviata un'operazione di ripristino, non puoi annullarla e devi attendere fino al completamento dell'operazione. L'operazione di ripristino occupa immediatamente l'ID database utilizzato nell'operazione.
Utilizza il comando
gcloud alpha firestore backups list
per identificare il backup da utilizzare per l'operazione di ripristino e prendi nota del nome della risorsa. Il nome della risorsa utilizza il seguente formato:projects/PROJECT_ID/locations/LOCATION/backups/BACKUP_ID
Utilizza il comando
gcloud firestore databases delete
per eliminare il database esistente:gcloud firestore databases delete --database='DATABASE_ID'
Sostituisci DATABASE_ID con l'ID del database.
Attendi almeno 5 minuti dopo aver eliminato il database affinché l'ID database sia nuovamente disponibile. Avvia un'operazione di ripristino utilizzando
gcloud alpha firestore databases restore
:gcloud alpha firestore databases restore \ --source-backup=projects/PROJECT_ID/locations/LOCATION/backups/BACKUP_ID \ --destination-database='DATABASE_ID'
Sostituisci DATABASE_ID con l'ID del database.
Passaggi successivi
- Scopri di più sulle pianificazioni dei backup e sulle operazioni di ripristino
- Scopri di più sulla configurazione del recupero point-in-time (PITR)