إجراء استعادة في مكانها

ينطبق على إصدارَي Firestore Standard وFirestore Enterprise.

توضّح هذه الصفحة كيفية استعادة البيانات في نسخة احتياطية إلى قاعدة بيانات تحمل الاسم نفسه لقاعدة البيانات المصدر التي تم إنشاء النسخة الاحتياطية منها. قبل قراءة هذه الصفحة، يجب أن تكون على دراية بمقالة الاحتفاظ بنسخة احتياطية من البيانات واستعادتها.

الاستعادة في المكان

تتيح لك عملية الاستعادة في المكان استعادة قاعدة بيانات من نسخة احتياطية إلى قاعدة البيانات المصدر التي أنشأت النسخة الاحتياطية، وذلك أثناء بقاء قاعدة البيانات الأصلية. تساعدك عملية الاستعادة في المكان في تجنُّب إعادة توجيه الزيارات أو إنشاء قاعدة بيانات باسم مختلف.

يجب أن تستخدم عملية الاستعادة قاعدة بيانات وجهة غير متوفّرة حاليًا. ومع ذلك، يمكنك محاكاة عملية استعادة في المكان من خلال حذف قاعدة البيانات المصدر ثم الاستعادة من نسخة احتياطية إلى قاعدة بيانات جديدة تحمل الاسم نفسه لقاعدة البيانات المصدر.

إجراء عملية استعادة في المكان

لإجراء عملية استعادة في المكان، اتّبِع الخطوات التالية:

  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. انتظِر 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 بمعرّف قاعدة البيانات.

الخطوات التالية