Yerinde geri yükleme

Bu sayfada, bir 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 işlemi, 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ğin yeniden yönlendirilmesini veya farklı bir ada sahip bir veritabanı oluşturulmasını önlemenize yardımcı olur.

Geri yükleme işleminde, mevcut olmayan bir hedef veritabanı kullanılmalı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 işlemi gerçekleştirmek için aşağıdaki adımları uygulayın:

  1. Geri yükleme işlemi için kullanılacak yedeği tanımlayın.
  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şlemine başlamadan önce aşağıdaki adımları uygulamanızı öneririz:

  1. Sileceğiniz 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 geri yükleme işlemlerinin tamamlanmasını beklemeniz ve ardından:

    1. Veritabanı kimliğini içeren 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ın ve 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ızın dizin yapılandırmasını almak için şu 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 değerini veritabanınızın kimliğiyle değiştirin.

    • 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

Yerinde geri yükleme işlemi gerçekleştirmek için aşağıdaki adımları tamamlayın. Bu işlem, veritabanını sildiğiniz an ile geri yükleme işleminin tamamlandığı an arasında kapalı kalma süresi gerektirir.

Geri yükleme işlemi başladıktan sonra işlemi iptal edemezsiniz ve işlem tamamlanana kadar beklemeniz gerekir. Geri yükleme işlemi, işlemde kullanılan veritabanı kimliğini hemen doldurur.

  1. Geri yükleme işlemi için kullanılacak yedeği 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 değerini veritabanı kimliğiyle değiştirin.

  3. Veritabanını sildikten sonra, veritabanı kimliğinin tekrar kullanılabilir hale 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 değerini veritabanı kimliğiyle değiştirin.

Sırada ne var?