یک بازیابی در محل انجام دهید

مربوط به نسخه استاندارد Cloud Firestore و نسخه سازمانی Cloud Firestore.

این صفحه نحوه بازیابی اطلاعات موجود در یک نسخه پشتیبان به پایگاه داده‌ای با نام مشابه پایگاه داده منبع پشتیبان را شرح می‌دهد. قبل از خواندن این صفحه، باید با پشتیبان‌گیری و بازیابی اطلاعات آشنا باشید.

بازیابی درجا

بازیابی درجا به شما امکان می‌دهد یک پایگاه داده را از یک نسخه پشتیبان به پایگاه داده منبعی که نسخه پشتیبان را ایجاد کرده است، در حالی که پایگاه داده اصلی هنوز وجود دارد، بازیابی کنید. بازیابی درجا به شما کمک می‌کند از تغییر مسیر ترافیک یا ایجاد پایگاه داده با نام متفاوت جلوگیری کنید.

یک عملیات بازیابی باید از یک پایگاه داده مقصد که از قبل وجود ندارد استفاده کند. با این حال، می‌توانید با حذف پایگاه داده منبع و سپس بازیابی از یک نسخه پشتیبان به یک پایگاه داده جدید با همان نام پایگاه داده منبع، یک بازیابی درجا را شبیه‌سازی کنید.

انجام بازیابی درجا

برای انجام بازیابی درجا، این مراحل را دنبال کنید:

  1. نسخه پشتیبان مورد استفاده برای عملیات بازیابی را شناسایی کنید.
  2. پایگاه داده موجود را حذف کنید.
  3. برای تکمیل عملیات بازیابی، از نسخه پشتیبان و شناسه پایگاه داده پایگاه داده حذف شده استفاده کنید.
احتیاط: اگر برنامه شما از یک کتابخانه کلاینت Cloud Firestore در حالت Native استفاده می‌کند و کلاینت‌های شما از یک حافظه پنهان آفلاین استفاده می‌کنند، یک بازیابی درجا ممکن است نوشته‌های شما را به جای حذف نوشته‌ها، به پایگاه داده بازیابی شده منتقل کند. این وضعیت می‌تواند در صورتی رخ دهد که کلاینتی که به پایگاه داده حذف شده متصل است، آفلاین شود و در حالت آفلاین، حافظه پنهان در زمانی که شما یک بازیابی درجا انجام می‌دهید، نوشته‌ها را جمع می‌کند.

قبل از اینکه شروع کنی

توصیه می‌کنیم قبل از شروع فرآیند بازیابی درجا، مراحل زیر را انجام دهید.

پیکربندی شاخص پایگاه داده خود را بازیابی و کپی کنید. پس از تکمیل عملیات بازیابی درجا، از پیکربندی شاخص برای ایجاد مجدد شاخص‌ها استفاده کنید. از دستورات زیر برای بازیابی پیکربندی شاخص پایگاه داده خود استفاده کنید:

  • برای بازیابی 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 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. حداقل ۵ دقیقه پس از حذف پایگاه داده صبر کنید تا شناسه پایگاه داده دوباره در دسترس قرار گیرد. عملیات بازیابی را با استفاده از دستور gcloud firestore databases restore آغاز کنید:

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

    به جای DATABASE_ID شناسه پایگاه داده را وارد کنید.

قدم بعدی چیست؟