Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Effectuer une opération de restauration sur place
Cette page explique comment restaurer les données d'une sauvegarde dans une base de données portant le même nom que la base de données source de la sauvegarde.
Avant de lire cette page, vous devez avoir consulté Sauvegarder et restaurer des données.
Restauration sur place
Une restauration sur place vous permet de restaurer une base de données à partir d'une sauvegarde vers la base de données source qui a créé la sauvegarde, tandis que la base de données d'origine existe toujours. Une restauration sur place vous permet d'éviter de rediriger le trafic ou de créer une base de données avec un nom différent.
Une opération de restauration doit utiliser une base de données de destination qui n'existe pas encore. Toutefois, vous pouvez simuler une restauration sur place en supprimant la base de données source, puis en restaurant une sauvegarde dans une nouvelle base de données portant le même nom que la base de données source.
Effectuer une restauration sur place
Pour effectuer une restauration sur place, procédez comme suit :
Identifiez la sauvegarde à utiliser pour l'opération de restauration.
Supprimez la base de données existante.
Utilisez la sauvegarde et l'ID de la base de données supprimée pour effectuer l'opération de restauration.
Avant de commencer
Nous vous recommandons de suivre les étapes ci-dessous avant de lancer le processus de restauration sur place :
Si vous devez récupérer la base de données supprimée, importez les données à partir de l'opération d'exportation.
Pour récupérer la base de données supprimée avec le même ID de base de données, vous devez attendre la fin de toutes les opérations de restauration en cours, puis :
Supprimez la base de données existante à l'aide de son ID et attendez au moins cinq minutes.
Créer une base de données avec l'ID de base de données
Lancer une opération d'importation
Récupérez et copiez la configuration d'index de votre base de données. Les opérations d'exportation ne capturent pas les définitions d'index. Utilisez la configuration d'index pour recréer les index une fois l'opération de restauration sur place terminée. Utilisez les commandes suivantes pour récupérer la configuration d'index de votre base de données :
gcloud firestore indexes fields list --database=DATABASE_ID
Effectuer une restauration sur place
Pour effectuer une opération de restauration sur place, procédez comme suit. Ce processus nécessite un temps d'arrêt entre le moment où vous supprimez la base de données et celui où l'opération de restauration est terminée.
Une fois l'opération de restauration lancée, vous ne pouvez pas l'annuler. Vous devez attendre qu'elle se termine. L'opération de restauration occupe immédiatement l'ID de base de données utilisé dans l'opération.
Exécutez la commande gcloud firestore backups list pour identifier la sauvegarde à utiliser pour l'opération de restauration et notez le nom de la ressource. Le nom de la ressource utilise le format suivant :
Remplacez DATABASE_ID par l'ID de la base de données.
Attendez au moins cinq minutes après avoir supprimé la base de données pour que son ID soit à nouveau disponible. Lancez une opération de restauration à l'aide de la commande gcloud firestore databases restore :
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/09/04 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Difficile à comprendre","hardToUnderstand","thumb-down"],["Informations ou exemple de code incorrects","incorrectInformationOrSampleCode","thumb-down"],["Il n'y a pas l'information/les exemples dont j'ai besoin","missingTheInformationSamplesINeed","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/09/04 (UTC)."],[],[],null,["# Perform an in-place restore operation\n=====================================\n\nThis page describes how to restore data in a backup to a database with the same\nname as the source database of the backup.\nBefore you read this page, you should be familiar with\n[Back up and restore data](/firestore/mongodb-compatibility/docs/backups).\n\nIn-place restore\n----------------\n\nAn in-place restore lets you restore a database from a backup to the\nsource database that created the backup while the original database still\nexists. An in-place restore helps you avoid rerouting traffic\nor creating a database with a different name.\n| **Warning:** Once you start the in-place restore process, the original database is permanently lost, and you can't undo this operation.\n\nA restore operation must use a destination database that\ndoesn't already exist. You can, however, simulate an in-place restore by deleting\nthe source database and then restoring from a backup to a new database with the\nsame name as the source database.\n\n### Perform an in-place restore\n\nTo perform an in-place restore, follow these steps:\n\n1. Identify the backup to use for the restore operation.\n2. Delete the existing database.\n3. Use the backup and the database ID of the deleted database to complete the restore operation.\n\n| **Caution:** If your app uses a Firestore in Native mode client library and your clients use an offline cache, an in-place restore might flush your writes to the restored database instead of discarding the writes. This situation can occur if the client that is connected to the deleted database goes offline and, while offline, the cache accumulates writes at the time when you perform an in-place restore.\n\n### Before you begin\n\nWe recommend completing the following steps before starting the in-place restore\nprocess:\n\n1. [Export the data](/firestore/mongodb-compatibility/docs/export-import#export_data) in the database you will delete.\n\n If you need to recover the deleted database,\n [import](/firestore/mongodb-compatibility/docs/export-import#import_data) the data from export operation.\n To recover the deleted database to the same database ID, you must wait until\n any running restore operations complete and then:\n 1. Delete the existing database with the database ID and wait at least 5 minutes\n 2. Create a new database with the database ID\n 3. Start an import operation\n2. Retrieve and copy the index configuration of your database. Export operations\n do not capture index definitions. Use the index configuration to re-create\n indexes after you complete the in-place restore operation. Use the following commands\n to retrieve the index configuration of your database:\n\n - Use [`gcloud firestore indexes composite list`](https://cloud.google.com/sdk/gcloud/reference/firestore/indexes/composite/list)\n to retrieve a list of composite indexes:\n\n gcloud firestore indexes composite list --database=\u003cvar translate=\"no\"\u003eDATABASE_ID\u003c/var\u003e\n\n Replace \u003cvar translate=\"no\"\u003eDATABASE_ID\u003c/var\u003e with the ID of your database.\n - Use [`gcloud firestore indexes fields list`](https://cloud.google.com/sdk/gcloud/reference/firestore/indexes/fields/list)\n to retrieve a list of single-field (built-in) index exemptions.\n\n gcloud firestore indexes fields list --database=\u003cvar translate=\"no\"\u003eDATABASE_ID\u003c/var\u003e\n\n### Perform an in-place restore\n\nComplete the following steps to perform an in-place restore operation. This process\nrequires downtime between the moment you delete the database and when the\nrestore operation completes.\n\nOnce a restore operation begins, you cannot cancel the operation and must wait\nuntil the operation completes. The restore operation immediately occupies the\ndatabase ID used in the operation.\n\n1. Use the [`gcloud firestore backups list`](https://cloud.google.com/sdk/gcloud/reference/firestore/backups/list) command to identify the backup to use\n for the restore operation and note the resource name. The resource name uses\n the following format:\n\n projects/PROJECT_ID/locations/LOCATION/backups/BACKUP_ID\n\n2. Use the `gcloud firestore databases delete` command to delete the existing\n database:\n\n gcloud firestore databases delete --database='\u003cvar translate=\"no\"\u003eDATABASE_ID\u003c/var\u003e'\n\n Replace \u003cvar translate=\"no\"\u003eDATABASE_ID\u003c/var\u003e with the database ID.\n3. Wait at least 5 minutes after you delete the database for the database ID\n to become available again. Initiate a restore operation using the\n [`gcloud firestore databases restore`](https://cloud.google.com/sdk/gcloud/reference/firestore/databases/restore)\n command:\n\n gcloud firestore databases restore \\\n --source-backup=projects/PROJECT_ID/locations/LOCATION/backups/BACKUP_ID \\\n --destination-database='\u003cvar translate=\"no\"\u003eDATABASE_ID\u003c/var\u003e'\n\n Replace \u003cvar translate=\"no\"\u003eDATABASE_ID\u003c/var\u003e with the database ID.\n\nWhat's next\n-----------\n\n- [Learn more about backup schedules and restore operations](/firestore/mongodb-compatibility/docs/backups)\n- [Learn about configuring point-in-time recovery (PITR)](/firestore/mongodb-compatibility/docs/pitr)"]]