Halaman ini menjelaskan cara memulihkan data dalam cadangan ke database dengan nama yang sama dengan database sumber cadangan. Sebelum membaca halaman ini, Anda harus memahami Mencadangkan dan memulihkan data.
Pemulihan di tempat
Pemulihan di tempat memungkinkan Anda memulihkan database dari cadangan ke database sumber yang membuat cadangan sementara database asli masih ada. Pemulihan di tempat membantu Anda menghindari perutean ulang traffic atau membuat database dengan nama yang berbeda.
Operasi pemulihan harus menggunakan database tujuan yang belum ada. Namun, Anda dapat menyimulasikan pemulihan di tempat dengan menghapus database sumber, lalu memulihkannya dari cadangan ke database baru dengan nama yang sama seperti database sumber.
Melakukan pemulihan di tempat
Untuk melakukan pemulihan di tempat, ikuti langkah-langkah berikut:
- Identifikasi cadangan yang akan digunakan untuk operasi pemulihan.
- Hapus database yang ada.
- Gunakan cadangan dan ID database dari database yang dihapus untuk menyelesaikan operasi pemulihan.
Sebelum memulai
Sebaiknya selesaikan langkah-langkah berikut sebelum memulai proses pemulihan yang diterapkan:
Ekspor data di database yang akan Anda hapus.
Jika Anda perlu memulihkan database yang telah dihapus, import data dari operasi ekspor. Untuk memulihkan database yang dihapus ke ID database yang sama, Anda harus menunggu hingga operasi pemulihan yang berjalan selesai, lalu:
- Hapus database yang ada dengan ID database dan tunggu setidaknya 5 menit
- Membuat database baru dengan ID database
- Memulai operasi impor
Ambil dan salin konfigurasi indeks database Anda. Operasi ekspor tidak mengambil definisi indeks. Gunakan konfigurasi indeks untuk membuat ulang indeks setelah Anda menyelesaikan operasi pemulihan di tempat. Gunakan perintah berikut untuk mengambil konfigurasi indeks database Anda:
Gunakan
gcloud firestore indexes composite list
untuk mengambil daftar indeks gabungan:gcloud firestore indexes composite list --database=DATABASE_ID
Ganti DATABASE_ID dengan ID database Anda.
Gunakan
gcloud firestore indexes fields list
untuk mengambil daftar pengecualian indeks kolom tunggal (bawaan).gcloud firestore indexes fields list --database=DATABASE_ID
Melakukan pemulihan di tempat
Selesaikan langkah-langkah berikut untuk melakukan operasi pemulihan di tempat. Proses ini memerlukan periode nonaktif antara saat Anda menghapus database dan saat operasi pemulihan selesai.
Setelah operasi pemulihan dimulai, Anda tidak dapat membatalkan operasi dan harus menunggu hingga operasi selesai. Operasi pemulihan akan segera menempati ID database yang digunakan dalam operasi.
Gunakan perintah
gcloud alpha firestore backups list
untuk mengidentifikasi cadangan yang akan digunakan untuk operasi pemulihan dan catat nama resource. Nama resource menggunakan format berikut:projects/PROJECT_ID/locations/LOCATION/backups/BACKUP_ID
Gunakan perintah
gcloud firestore databases delete
untuk menghapus database yang ada:gcloud firestore databases delete --database='DATABASE_ID'
Ganti DATABASE_ID dengan ID database.
Tunggu setidaknya 5 menit setelah Anda menghapus database agar ID database tersedia lagi. Mulai operasi pemulihan menggunakan perintah
gcloud alpha firestore databases restore
:gcloud alpha firestore databases restore \ --source-backup=projects/PROJECT_ID/locations/LOCATION/backups/BACKUP_ID \ --destination-database='DATABASE_ID'
Ganti DATABASE_ID dengan ID database.
Langkah selanjutnya
- Pelajari lebih lanjut jadwal pencadangan dan operasi pemulihan
- Pelajari cara mengonfigurasi pemulihan point-in-time (PITR)