ดำเนินการคืนค่าข้อมูลด้วยตนเอง

หน้านี้อธิบายวิธีกู้คืนข้อมูลในข้อมูลสำรองไปยังฐานข้อมูลที่มีชื่อเดียวกับฐานข้อมูลต้นทางของข้อมูลสำรอง ก่อนอ่านหน้านี้ คุณควรทำความคุ้นเคยกับการสำรองและคืนค่าข้อมูล

การคืนค่าในตำแหน่ง

การกู้คืนในตำแหน่งช่วยให้คุณกู้คืนฐานข้อมูลจากข้อมูลสำรองไปยัง ฐานข้อมูลต้นทางที่สร้างข้อมูลสำรองได้ในขณะที่ฐานข้อมูลเดิมยังคง มีอยู่ การกู้คืนในตำแหน่งจะช่วยให้คุณหลีกเลี่ยงการเปลี่ยนเส้นทางการเข้าชม หรือการสร้างฐานข้อมูลที่มีชื่อต่างกันได้

การดำเนินการกู้คืนต้องใช้ฐานข้อมูลปลายทางที่ ยังไม่มีอยู่ อย่างไรก็ตาม คุณสามารถจำลองการกู้คืนในที่ได้โดยการลบ ฐานข้อมูลต้นทาง แล้วกู้คืนจากข้อมูลสำรองไปยังฐานข้อมูลใหม่ที่มีชื่อเดียวกับฐานข้อมูลต้นทาง

ทำการกู้คืนในตำแหน่ง

หากต้องการทำการกู้คืนในตำแหน่ง ให้ทำตามขั้นตอนต่อไปนี้

  1. ระบุข้อมูลสำรองที่จะใช้สำหรับการดำเนินการกู้คืน
  2. ลบฐานข้อมูลที่มีอยู่
  3. ใช้ข้อมูลสำรองและรหัสฐานข้อมูลของฐานข้อมูลที่ลบไปแล้วเพื่อดำเนินการกู้คืนให้เสร็จสมบูรณ์

ก่อนเริ่มต้น

เราขอแนะนำให้ทำตามขั้นตอนต่อไปนี้ก่อนเริ่มกระบวนการกู้คืนในตำแหน่ง

  1. ส่งออกข้อมูลในฐานข้อมูลที่จะลบ

    หากต้องการกู้คืนฐานข้อมูลที่ถูกลบ ให้นำเข้าข้อมูลจากการดำเนินการส่งออก หากต้องการกู้คืนฐานข้อมูลที่ลบไปยังรหัสฐานข้อมูลเดียวกัน คุณต้องรอจนกว่าการดำเนินการกู้คืนที่กำลังทำงานอยู่จะเสร็จสมบูรณ์ แล้วทำดังนี้

    1. ลบฐานข้อมูลที่มีอยู่ด้วยรหัสฐานข้อมูลและรออย่างน้อย 5 นาที
    2. สร้างฐานข้อมูลใหม่ด้วยรหัสฐานข้อมูล
    3. เริ่มการดำเนินการนำเข้า
  2. เรียกข้อมูลและคัดลอกการกำหนดค่าดัชนีของฐานข้อมูล การดำเนินการส่งออก จะไม่บันทึกคำจำกัดความของดัชนี ใช้การกำหนดค่าดัชนีเพื่อสร้างดัชนีใหม่ หลังจากดำเนินการกู้คืนในที่เสร็จสมบูรณ์ ใช้คำสั่งต่อไปนี้ เพื่อดึงข้อมูลการกำหนดค่าดัชนีของฐานข้อมูล

    • ใช้ 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
      

ทำการกู้คืนในตำแหน่ง

ทำตามขั้นตอนต่อไปนี้เพื่อดำเนินการกู้คืนในตำแหน่ง กระบวนการนี้ ต้องใช้เวลาหยุดทำงานระหว่างช่วงเวลาที่คุณลบฐานข้อมูลและช่วงเวลาที่ การดำเนินการกู้คืนเสร็จสมบูรณ์

เมื่อการดำเนินการกู้คืนเริ่มต้นขึ้น คุณจะยกเลิกการดำเนินการไม่ได้และต้องรอจนกว่าการดำเนินการจะเสร็จสมบูรณ์ การดำเนินการกู้คืนจะใช้ รหัสฐานข้อมูลที่ใช้ในการดำเนินการทันที

  1. ใช้คำสั่ง gcloud alpha firestore backups list เพื่อระบุข้อมูลสำรองที่จะใช้ สำหรับการดำเนินการกู้คืนและจดชื่อทรัพยากร ชื่อทรัพยากรใช้รูปแบบต่อไปนี้

        projects/PROJECT_ID/locations/LOCATION/backups/BACKUP_ID
    
  2. ใช้คำสั่ง gcloud firestore databases delete เพื่อลบฐานข้อมูลที่มีอยู่

        gcloud firestore databases delete --database='DATABASE_ID'
    

    แทนที่ DATABASE_ID ด้วยรหัสฐานข้อมูล

  3. รออย่างน้อย 5 นาทีหลังจากลบฐานข้อมูลเพื่อให้รหัสฐานข้อมูล พร้อมใช้งานอีกครั้ง เริ่มการดำเนินการกู้คืนโดยใช้คำสั่ง gcloud alpha firestore databases restore

    gcloud alpha firestore databases restore \
    --source-backup=projects/PROJECT_ID/locations/LOCATION/backups/BACKUP_ID \
    --destination-database='DATABASE_ID'
    

    แทนที่ DATABASE_ID ด้วยรหัสฐานข้อมูล

ขั้นตอนถัดไป