Halaman ini menjelaskan operasi pemulihan Spanner dan menjelaskan cara memulihkan database. Untuk mengetahui informasi selengkapnya tentang pemulihan database di Spanner, lihat Ringkasan pemulihan.
Anda dapat memulihkan cadangan ke instance tujuan jika menggunakan edisi tingkat yang sama atau lebih tinggi dengan instance cadangan sumber. Atau, Anda dapat memulihkannya ke instance apa pun dengan konfigurasi instance yang sama dan edisi yang sama atau tingkat yang lebih tinggi daripada instance sumber.
Anda dapat memulihkan database Spanner menggunakan cara berikut:
- Di konsol Google Cloud .
- Menggunakan Google Cloud CLI.
- Menggunakan library klien.
- Menggunakan API REST atau RPC.
Sebelum memulai
Contoh gcloud CLI di halaman ini membuat asumsi berikut:
- Anda telah menyiapkan gcloud CLI untuk digunakan dengan Spanner. Jika Anda baru menggunakan gcloud CLI dengan Spanner, lihat Memulai Spanner menggunakan gcloud CLI.
- Anda telah mengonfigurasi gcloud CLI dengan project Anda. Contoh:
gcloud config set core/project PROJECT_ID
* You have an instance named `test-instance` and a database named `example-db`.-
Untuk mendapatkan izin yang Anda perlukan untuk memulihkan database dari cadangan, minta administrator untuk memberi Anda peran IAM berikut pada instance:
-
Semua:
Cloud Spanner Restore Admin (
roles/spanner.restoreAdmin)
-
Semua:
Cloud Spanner Restore Admin (
Memulihkan database dari cadangan
Konsol
- Buka halaman Spanner Instances di konsol Google Cloud .
Buka halaman Spanner Instances
Klik instance yang berisi database untuk membuka halaman Ringkasan.
Klik database untuk membuka halaman Ringkasan.
Di panel navigasi, klik Backup/Restore.
Klik tombol Tindakan untuk cadangan yang Anda pilih, lalu pilih Pulihkan.
Pilih instance tujuan yang kompatibel dan beri nama database baru Anda.
Klik tombol Pulihkan.
Untuk memeriksa progres operasi, lihat indikator progres, seperti yang ditunjukkan di halaman operasi:
Jika operasi membutuhkan waktu terlalu lama, Anda dapat membatalkannya. Untuk mengetahui informasi selengkapnya, lihat Membatalkan operasi instance yang berjalan lama.
gcloud
Untuk memulihkan database, gunakan gcloud spanner
databases restore:
gcloud spanner databases restore --async \
--destination-instance=test-instance --destination-database=example-db-restored \
--source-instance=test-instance --source-backup=example-db-backup-6 \
--encryption_type=google-managed-encryptionCatatan penggunaan:
- Perintah akan segera ditampilkan karena adanya flag
--async. Tanpa flag, perintah akan menunggu hingga operasi pemulihan selesai. - Jika instance sumber dan tujuan berbeda, keduanya harus memiliki konfigurasi instanceyang sama.
- Jika database tujuan sudah ada, operasi akan gagal.
- Kemungkinan nilai untuk
encryption_typeadalahUSE_DATABASE_ENCRYPTION,GOOGLE_DEFAULT_ENCRYPTION, atauCUSTOMER_MANAGED_ENCRYPTION. Jika menggunakanCUSTOMER_MANAGED_ENCRYPTION, Anda harus menentukankmsKeyName.
Library klien
Contoh kode berikut memulihkan database dari cadangan tertentu dan menunggu operasi pemulihan (operasi dengan RestoreDatabaseMetadata) selesai. Database yang dipulihkan dibuat di instance yang sama dengan
cadangan. Setelah selesai, sampel akan mengambil dan mencetak beberapa informasi pemulihan dari database.
C++
C#
Go
Java
Node.js
PHP
Python
Ruby
Memulihkan tabel tertentu dari cadangan
Jika perlu memulihkan tabel tertentu dari cadangan, Anda dapat memulihkan cadangan ke database baru, mengekspor satu tabel tersebut dari database baru, lalu mengimpor tabel tersebut ke database asli Anda. Pendekatan ini meminimalkan beban pada database asli selama proses ekspor.
- Pulihkan cadangan ke database baru yang terpisah.
Opsional: Hapus baris yang dibuat setelah stempel waktu pemulihan.
Proses impor tidak otomatis menghapus baris yang ditambahkan ke tabel setelah cadangan dibuat. Oleh karena itu, jika Anda ingin tabel yang dipulihkan sama persis dengan status cadangan, Anda harus menghapus baris yang dibuat setelah stempel waktu cadangan secara manual.
Ekspor tabel tertentu dari database baru menggunakan template Dataflow Spanner ke Avro. Untuk mengetahui informasi selengkapnya, lihat Mengekspor subset tabel.
Impor tabel yang diekspor ke database asli menggunakan template Dataflow Cloud Storage Avro ke Spanner. Untuk mengetahui informasi selengkapnya, lihat Mengimpor data.