Yerinde geri yükleme

Bu sayfada, yedekteki verilerin yedeğin kaynak veritabanıyla aynı ada sahip bir veritabanına nasıl geri yükleneceği açıklanmaktadır. Bu sayfayı okumadan önce Verileri yedekleme ve geri yükleme hakkında bilgi sahibi olmanız gerekir.

Yerinde geri yükleme

Yerinde geri yükleme, orijinal veritabanı hâlâ mevcutken bir veritabanını yedekten, yedeği oluşturan kaynak veritabanına geri yüklemenize olanak tanır. Yerinde geri yükleme, trafiği yeniden yönlendirmekten veya farklı ada sahip bir veritabanı oluşturmaktan kaçınmanıza yardımcı olur.

Geri yükleme işlemi, mevcut olmayan bir hedef veritabanı kullanmalıdır. Bununla birlikte, kaynak veritabanını silip bir yedekten kaynak veritabanıyla aynı ada sahip yeni bir veritabanına geri yükleyerek yerinde geri yükleme simülasyonu yapabilirsiniz.

Yerinde geri yükleme

Yerinde geri yükleme yapmak için aşağıdaki adımları uygulayın:

  1. Geri yükleme işlemi için kullanılacak yedeklemeyi belirleyin.
  2. Mevcut veritabanını silin.
  3. Geri yükleme işlemini tamamlamak için silinen veritabanının yedeğini ve veritabanı kimliğini kullanın.

Başlamadan önce

Yerinde geri yükleme işlemini başlatmadan önce aşağıdaki adımları tamamlamanızı öneririz:

  1. Sileceksiniz veritabanındaki verileri dışa aktarın.

    Silinen veritabanını kurtarmanız gerekirse dışa aktarma işleminden verileri içe aktarın. Silinen veritabanını aynı veritabanı kimliğine kurtarmak için çalışan tüm geri yükleme işlemlerinin tamamlanmasını beklemeniz ve ardından şunları yapmanız gerekir:

    1. Veritabanı kimliğiyle mevcut veritabanını silin ve en az 5 dakika bekleyin.
    2. Veritabanı kimliğiyle yeni bir veritabanı oluşturun
    3. İçe aktarma işlemi başlatma
  2. Veritabanınızın dizin yapılandırmasını alıp kopyalayın. Dışa aktarma işlemleri, dizin tanımlarını yakalamaz. Yerinde geri yükleme işlemini tamamladıktan sonra dizinleri yeniden oluşturmak için dizin yapılandırmasını kullanın. Veritabanının dizin yapılandırmasını almak için aşağıdaki komutları kullanın:

    • Bileşik dizinlerin listesini almak için gcloud firestore indexes composite list komutunu kullanın:

      gcloud firestore indexes composite list --database=DATABASE_ID
      

      DATABASE_ID yerine veritabanınızın kimliğini yazın.

    • Tek alanlı (yerleşik) dizin muafiyetlerinin listesini almak için gcloud firestore indexes fields list aracını kullanın.

      gcloud firestore indexes fields list --database=DATABASE_ID
      

Yerinde geri yükleme yapma

Yerinde geri yükleme işlemi yapmak için aşağıdaki adımları uygulayın. Bu işlem, veritabanını sildiğiniz andan geri yükleme işleminin tamamlandığı ana kadar kesinti gerektirir.

Geri yükleme işlemi başladıktan sonra işlemi iptal edemezsiniz ve işlemin tamamlanmasını beklemeniz gerekir. Geri yükleme işlemi, işlemde kullanılan veritabanı kimliğini hemen kullanır.

  1. Geri yükleme işlemi için kullanılacak yedeklemeyi tanımlamak üzere gcloud alpha firestore backups list komutunu kullanın ve kaynak adını not edin. Kaynak adı aşağıdaki biçimi kullanır:

        projects/PROJECT_ID/locations/LOCATION/backups/BACKUP_ID
    
  2. Mevcut veritabanını silmek için gcloud firestore databases delete komutunu kullanın:

        gcloud firestore databases delete --database='DATABASE_ID'
    

    DATABASE_ID yerine veritabanı kimliğini yazın.

  3. Veritabanını sildikten sonra veritabanı kimliğinin tekrar kullanılabilir hâle gelmesi için en az 5 dakika bekleyin. gcloud alpha firestore databases restore komutunu kullanarak bir geri yükleme işlemi başlatın:

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

    DATABASE_ID yerine veritabanı kimliğini yazın.

Sırada ne var?