| เกี่ยวข้องกับ Firestore รุ่น Standard และ Firestore รุ่น Enterprise |
หน้านี้อธิบายวิธีกู้คืนข้อมูลในข้อมูลสำรองไปยังฐานข้อมูลที่มีชื่อเดียวกับฐานข้อมูลต้นทางของข้อมูลสำรอง ก่อนอ่านหน้านี้ คุณควรทำความคุ้นเคยกับการสำรองและกู้คืนข้อมูล
การกู้คืนในตำแหน่งเดิม
การกู้คืนแบบแทนที่ช่วยให้คุณกู้คืนฐานข้อมูลจากข้อมูลสำรองไปยังฐานข้อมูลต้นทางที่สร้างข้อมูลสำรองได้ในขณะที่ฐานข้อมูลเดิมยังคงอยู่ การกู้คืนแบบแทนที่ช่วยให้คุณไม่ต้องเปลี่ยนเส้นทางการรับส่งข้อมูลหรือสร้างฐานข้อมูลที่มีชื่ออื่น
การดำเนินการกู้คืนต้องใช้ฐานข้อมูลปลายทางที่ยังไม่มีอยู่ อย่างไรก็ตาม คุณสามารถจำลองการกู้คืนแบบแทนที่ได้โดยการลบฐานข้อมูลต้นทาง แล้วกู้คืนจากข้อมูลสำรองไปยังฐานข้อมูลใหม่ที่มีชื่อเดียวกับฐานข้อมูลต้นทาง
ทำการกู้คืนแบบแทนที่
หากต้องการกู้คืนแบบแทนที่ ให้ทำตามขั้นตอนต่อไปนี้
- ระบุข้อมูลสำรองที่จะใช้สำหรับการดำเนินการกู้คืน
- ลบฐานข้อมูลที่มีอยู่
- ใช้ข้อมูลสำรองและรหัสฐานข้อมูลของฐานข้อมูลที่ลบไปแล้วเพื่อดำเนินการกู้คืนให้เสร็จสมบูรณ์
ก่อนเริ่มต้น
เราขอแนะนำให้ทำตามขั้นตอนต่อไปนี้ก่อนเริ่มกระบวนการกู้คืนแบบแทนที่
ดึงข้อมูลและคัดลอกการกำหนดค่าดัชนีของฐานข้อมูล ใช้การกำหนดค่าดัชนีเพื่อสร้างดัชนีอีกครั้งหลังจากดำเนินการกู้คืนแบบแทนที่เสร็จสมบูรณ์ ใช้คำสั่งต่อไปนี้เพื่อเรียกข้อมูลการกำหนดค่าดัชนีของฐานข้อมูล
ใช้
gcloud firestore indexes composite listเพื่อดึงข้อมูลรายการดัชนีแบบผสมgcloud firestore indexes composite list --database=DATABASE_IDแทนที่ DATABASE_ID ด้วยรหัสของฐานข้อมูล
ใช้
gcloud firestore indexes fields listเพื่อดึงรายการการยกเว้นดัชนีแบบช่องเดียว (ในตัว)gcloud firestore indexes fields list --database=DATABASE_ID
ทำการกู้คืนแบบแทนที่
ทำตามขั้นตอนต่อไปนี้เพื่อดำเนินการกู้คืนแบบแทนที่ กระบวนการนี้ต้องใช้ช่วงเวลาที่ระบบหยุดทำงานระหว่างช่วงเวลาที่คุณลบฐานข้อมูลและเมื่อการดำเนินการกู้คืนเสร็จสมบูรณ์
เมื่อการดำเนินการกู้คืนเริ่มต้นขึ้น คุณจะยกเลิกการดำเนินการไม่ได้และต้องรอจนกว่าการดำเนินการจะเสร็จสมบูรณ์ การดำเนินการกู้คืนจะใช้รหัสฐานข้อมูลที่ใช้ในการดำเนินการทันที
ใช้คำสั่ง
gcloud firestore backups listเพื่อระบุข้อมูลสำรองที่จะใช้สำหรับการดำเนินการกู้คืนและจดชื่อทรัพยากรไว้ ชื่อทรัพยากรจะใช้รูปแบบต่อไปนี้projects/PROJECT_ID/locations/LOCATION/backups/BACKUP_IDใช้คำสั่ง
gcloud firestore databases deleteเพื่อลบฐานข้อมูลที่มีอยู่gcloud firestore databases delete --database='DATABASE_ID'แทนที่ DATABASE_ID ด้วยรหัสฐานข้อมูล
รออย่างน้อย 5 นาทีหลังจากลบฐานข้อมูลเพื่อให้รหัสฐานข้อมูลพร้อมใช้งานอีกครั้ง เริ่มการดำเนินการกู้คืนโดยใช้คำสั่ง
gcloud firestore databases restoreดังนี้gcloud firestore databases restore \ --source-backup=projects/PROJECT_ID/locations/LOCATION/backups/BACKUP_ID \ --destination-database='DATABASE_ID'แทนที่ DATABASE_ID ด้วยรหัสฐานข้อมูล
ขั้นตอนถัดไป
- ดูข้อมูลเพิ่มเติมเกี่ยวกับกำหนดเวลาสำรองข้อมูลและการดำเนินการกู้คืน
- ดูข้อมูลเกี่ยวกับการกำหนดค่าการกู้คืนช่วงเวลา (PITR)