Aracılığıyla paylaş


Öğretici: Azure CLI kullanarak Azure VM'deki SAP HANA veritabanlarını yönetme

Azure CLI, Komut Satırı'ndan veya betikler aracılığıyla Azure kaynakları oluşturmak ve yönetmek için kullanılır. Bu belge, Azure CLI kullanarak Azure VM'de yedeklenmiş sap HANA veritabanının nasıl yönetileceğini ayrıntılarıyla açıklar. Bu adımları Azure portalını kullanarak da gerçekleştirebilirsiniz.

CLI komutlarını çalıştırmak için Azure Cloud Shell'i kullanın.

AZURE'da CLI kullanarak bir SAP HANA veritabanını yedeklediyseniz aşağıdaki kaynakları kullanın:

  • saphanaResourceGroup adlı bir kaynak grubu
  • saphanaVault adlı bir kasa
  • VMAppContainer adlı korumalı kapsayıcı; Compute; saphanaResourceGroup; saphanaVM
  • yedeklenen veritabanı veya saphanadatabase isimli öğe; hxe; hxe
  • westus2 bölgesindeki kaynaklar

Azure CLI, Azure Backup kullanılarak yedeklenen bir Azure VM üzerinde çalışan SAP HANA veritabanını yönetmeyi kolaylaştırır. Bu öğretici, yönetim işlemlerinin her birini ayrıntılı olarak açıklar.

SAP HANA veritabanı yedekleme ve geri yükleme işlerini izleme

Tamamlanan veya çalışmakta olan işleri (yedekleme veya geri yükleme) izlemek için az backup job list cmdlet'ini kullanın. CLI, çalışmakta olan bir işi askıya almanızı veya bir iş tamamlanana kadar beklemenizi de sağlar.

az backup job list --resource-group saphanaResourceGroup \
    --vault-name saphanaVault \
    --output table

Çıkış şuna benzer olacaktır:

Name                                  Operation              Status      Item Name       Start Time UTC
------------------------------------  ---------------        ---------   ----------      -------------------  
e0f15dae-7cac-4475-a833-f52c50e5b6c3  ConfigureBackup        Completed   hxe             2019-12-03T03:09:210831+00:00  
ccdb4dce-8b15-47c5-8c46-b0985352238f  Backup (Full)          Completed   hxe [hxehost]   2019-12-01T10:30:58.867489+00:00
4980af91-1090-49a6-ab96-13bc905a5282  Backup (Differential)  Completed   hxe [hxehost]   2019-12-01T10:36:00.563909+00:00
F7c68818-039f-4a0f-8d73-e0747e68a813  Restore (Log)          Completed   hxe [hxehost]   2019-12-03T05:44:51.081607+00:00

SAP HANA veritabanı yedeklemesi için ilkeyi değiştirme

SAP HANA yedekleme yapılandırmasını temel alan ilkeyi değiştirmek için az backup policy set cmdlet'ini kullanın. Bu cmdlet'teki name parametresi, ilkesini değiştirmek istediğimiz yedekleme öğesine başvurur. Bu öğreticide, SAP HANA veritabanımızın saphanadatabase;hxe;hxe ilkesini yeni bir newsaphanaPolicy ile değiştireceğiz. Az backup policy create cmdlet'i kullanılarak yeni ilkeler oluşturulabilir.

az backup item set policy --resource-group saphanaResourceGroup \
    --vault-name saphanaVault \
    --container-name VMAppContainer;Compute;saphanaResourceGroup;saphanaVM \
    --policy-name newsaphanaPolicy \
    --name saphanadatabase;hxe;hxe \

Çıkış şu şekilde görünmelidir:

Name                                  Resource Group
------------------------------------- --------------
cb110094-9b15-4c55-ad45-6899200eb8dd  SAPHANA

SAP HANA veritabanı için artımlı yedekleme ilkesi oluşturma

Artımlı yedekleme ilkesi oluşturmak için az backup policy create komutunu aşağıdaki parametrelerle yürütür:

  • --backup-management-type – Azure İş Yükü Yönetimi
  • --workload-type - SAPHana
  • --name – İlkenin adı
  • --policy - Zamanlama ve saklama için uygun ayrıntıları içeren JSON dosyası
  • --resource-group - Kasanın kaynak grubu
  • --vault-name – Kasanın adı

Örnek:

az backup policy create --resource-group saphanaResourceGroup --vault-name saphanaVault --name sappolicy --backup-management-type AzureWorkload --policy sappolicy.json --workload-type SAPHana

Örnek JSON (sappolicy.json):

  "eTag": null,
  "id": "/Subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/saphanaResourceGroup/providers/Microsoft.RecoveryServices/vaults/saphanaVault/backupPolicies/sappolicy",
  "location": null,
  "name": "sappolicy",
  "properties": {
    "backupManagementType": "AzureWorkload",
    "makePolicyConsistent": null,
    "protectedItemsCount": 0,
    "settings": {
      "isCompression": false,
      "issqlcompression": false,
      "timeZone": "UTC"
    },
    "subProtectionPolicy": [
      {
        "policyType": "Full",
        "retentionPolicy": {
          "dailySchedule": null,
          "monthlySchedule": {
            "retentionDuration": {
              "count": 60,
              "durationType": "Months"
            },
            "retentionScheduleDaily": null,
            "retentionScheduleFormatType": "Weekly",
            "retentionScheduleWeekly": {
              "daysOfTheWeek": [
                "Sunday"
              ],
              "weeksOfTheMonth": [
                "First"
              ]
            },
            "retentionTimes": [
              "2021-01-19T00:30:00+00:00"
            ]
          },
          "retentionPolicyType": "LongTermRetentionPolicy",
          "weeklySchedule": {
            "daysOfTheWeek": [
              "Sunday"
            ],
            "retentionDuration": {
              "count": 104,
              "durationType": "Weeks"
            },
            "retentionTimes": [
              "2021-01-19T00:30:00+00:00"
            ]
          },
          "yearlySchedule": {
            "monthsOfYear": [
              "January"
            ],
            "retentionDuration": {
              "count": 10,
              "durationType": "Years"
            },
            "retentionScheduleDaily": null,
            "retentionScheduleFormatType": "Weekly",
            "retentionScheduleWeekly": {
              "daysOfTheWeek": [
                "Sunday"
              ],
              "weeksOfTheMonth": [
                "First"
              ]
            },
            "retentionTimes": [
              "2021-01-19T00:30:00+00:00"
            ]
          }
        },
        "schedulePolicy": {
          "schedulePolicyType": "SimpleSchedulePolicy",
          "scheduleRunDays": [
            "Sunday"
          ],
          "scheduleRunFrequency": "Weekly",
          "scheduleRunTimes": [
            "2021-01-19T00:30:00+00:00"
          ],
          "scheduleWeeklyFrequency": 0
        }
      },
      {
        "policyType": "Incremental",
        "retentionPolicy": {
          "retentionDuration": {
            "count": 30,
            "durationType": "Days"
          },
          "retentionPolicyType": "SimpleRetentionPolicy"
        },
        "schedulePolicy": {
          "schedulePolicyType": "SimpleSchedulePolicy",
          "scheduleRunDays": [
            "Monday",
            "Tuesday",
            "Wednesday",
            "Thursday",
            "Friday",
            "Saturday"
          ],
          "scheduleRunFrequency": "Weekly",
          "scheduleRunTimes": [
            "2017-03-07T02:00:00+00:00"
          ],
          "scheduleWeeklyFrequency": 0
        }
      },
      {
        "policyType": "Log",
        "retentionPolicy": {
          "retentionDuration": {
            "count": 15,
            "durationType": "Days"
          },
          "retentionPolicyType": "SimpleRetentionPolicy"
        },
        "schedulePolicy": {
          "scheduleFrequencyInMins": 120,
          "schedulePolicyType": "LogSchedulePolicy"
        }
      }
    ],
    "workLoadType": "SAPHanaDatabase"
  },
  "resourceGroup": "saphanaResourceGroup",
  "tags": null,
  "type": "Microsoft.RecoveryServices/vaults/backupPolicies"
} 

İlke başarıyla oluşturulduktan sonra, komutun çıktısı komutu yürütürken parametre olarak iletmiş olduğunuz ilke JSON'unu görüntüler.

artımlı yedeklemeler için istenen yedekleme sıklığını ve saklamayı belirtmek üzere ilkenin aşağıdaki bölümünü değiştirebilirsiniz.

Örneğin:

{
  "policyType": "Incremental",
  "retentionPolicy": {
    "retentionDuration": {
      "count": 30,
      "durationType": "Days"
    },
    "retentionPolicyType": "SimpleRetentionPolicy"
  },
  "schedulePolicy": {
    "schedulePolicyType": "SimpleSchedulePolicy",
    "scheduleRunDays": [
      "Monday",
      "Tuesday",
      "Wednesday",
      "Thursday",
      "Friday",
      "Saturday"
    ],
    "scheduleRunFrequency": "Weekly",
    "scheduleRunTimes": [
      "2017-03-07T02:00:00+00:00"
    ],
    "scheduleWeeklyFrequency": 0
  }
}

Örnek:

Artımlı yedeklemelerin yalnızca Cumartesi günü olmasını ve 60 gün boyunca saklanmasını istiyorsanız, ilkede aşağıdaki değişiklikleri yapın:

  • RetentionDuration sayısını 60 güne güncelleştirme
  • ScheduleRunDays olarak yalnızca Cumartesi belirtin
 {
  "policyType": "Incremental",
  "retentionPolicy": {
    "retentionDuration": {
      "count": 60,
      "durationType": "Days"
    },
    "retentionPolicyType": "SimpleRetentionPolicy"
  },
  "schedulePolicy": {
    "schedulePolicyType": "SimpleSchedulePolicy",
    "scheduleRunDays": [
      "Saturday"
    ],
    "scheduleRunFrequency": "Weekly",
    "scheduleRunTimes": [
      "2017-03-07T02:00:00+00:00"
    ],
    "scheduleWeeklyFrequency": 0
  }
}

SAP HANA örneğine eklenen yeni veritabanlarını koruma

SAP HANA instance'ını Recovery Services Vault'a kaydetmek, bu instance üzerindeki tüm veritabanlarını otomatik olarak keşfeder.

Ancak daha sonra SAP HANA örneğine yeni veritabanları eklendiğinde az backup protectable-item initialize cmdlet'ini kullanın. Bu cmdlet eklenen yeni veritabanlarını bulur.

az backup protectable-item initialize --resource-group saphanaResourceGroup \
    --vault-name saphanaVault \
    --container-name VMAppContainer;Compute;saphanaResourceGroup;saphanaVM \
    --workload-type SAPHANA

Ardından SAP HANA örneğinizde bulunan tüm veritabanlarını listelemek için az backup protectable-item list cmdlet'ini kullanın. Ancak bu liste, yedeklemenin zaten yapılandırılmış olduğu veritabanlarını dışlar. Yedeklenecek veritabanı bulunduktan sonra SAP HANA veritabanında yedeklemeyi etkinleştirme konusuna bakın.

az backup protectable-item list --resource-group saphanaResourceGroup \
    --vault-name saphanaVault \
    --workload-type SAPHANA \
    --output table

Yedeklemek istediğiniz yeni veritabanı aşağıdaki gibi görünecektir:

Name                            Protectable Item Type    ParentName    ServerName    IsProtected
---------------------------     ----------------------   ------------  -----------   ------------
saphanasystem;hxe               SAPHanaSystem            HXE           hxehost       NotProtected  
saphanadatabase;hxe;systemdb    SAPHanaDatabase          HXE           hxehost       NotProtected
saphanadatabase;hxe;newhxe      SAPHanaDatabase          HXE           hxehost       NotProtected

SAP HANA veritabanı için korumayı durdurma

SAP HANA veritabanını korumayı birkaç yolla durdurabilirsiniz:

  • Gelecekteki tüm yedekleme işlerini durdurun ve tüm kurtarma noktalarını silin.
  • Gelecekteki tüm yedekleme işlerini durdurun ve kurtarma noktalarını olduğu gibi bırakın.

Kurtarma noktalarından ayrılmayı seçerseniz şu ayrıntıları aklınızda bulundurun:

  • Tüm kurtarma noktaları sonsuza kadar bozulmadan kalacak ve verileri tutma özelliğine sahip koruma durduğunda tüm ayıklamalar duracak.
  • Korumalı örnek ve tüketilen depolama alanı için ücretlendirilirsiniz.
  • Yedeklemeleri durdurmadan bir veri kaynağını silerseniz yeni yedeklemeler başarısız olur.

Korumayı durdurmanın her bir yolunu daha ayrıntılı olarak inceleyelim.

Verileri bekleterek korumayı durdurun

Verileri tutarak korumayı durdurmak için az backup protection disable cmdlet'ini kullanın.

az backup protection disable --resource-group saphanaResourceGroup \
    --vault-name saphanaVault \
    --container-name VMAppContainer;Compute;saphanaResourceGroup;saphanaVM \
    --item-name saphanadatabase;hxe;hxe \
    --workload-type SAPHANA \
    --output table

Çıkış şu şekilde görünmelidir:

Name                                  ResourceGroup
------------------------------------  ---------------  
g0f15dae-7cac-4475-d833-f52c50e5b6c3  saphanaResourceGroup

Bu işlemin durumunu denetlemek için az backup job show cmdlet'ini kullanın.

Verileri saklamadan korumayı durdurma

Verileri tutmadan korumayı durdurmak için az backup protection disable cmdlet'ini kullanın.

az backup protection disable --resource-group saphanaResourceGroup \
    --vault-name saphanaVault \
    --container-name VMAppContainer;Compute;saphanaResourceGroup;saphanaVM \
    --item-name saphanadatabase;hxe;hxe \
    --workload-type SAPHANA \
    --delete-backup-data true \
    --output table

Çıkış şu şekilde görünmelidir:

Name                                  ResourceGroup
------------------------------------  ---------------  
g0f15dae-7cac-4475-d833-f52c50e5b6c3  saphanaResourceGroup

Bu işlemin durumunu denetlemek için az backup job show cmdlet'ini kullanın.

SAP HANA veritabanı için korumayı sürdürme

SAP HANA veritabanı için korumayı veri saklama ile durdurduğunuzda, daha sonra korumayı sürdürebilirsiniz. Yedeklenen verileri saklamazsanız korumayı sürdüremezsiniz.

Korumayı sürdürmek için az backup protection resume cmdlet'ini kullanın.

az backup protection resume --resource-group saphanaResourceGroup \
    --vault-name saphanaVault \
    --container-name VMAppContainer;Compute;saphanaResourceGroup;saphanaVM \
    --policy-name saphanaPolicy \
    --output table

Çıkış şu şekilde görünmelidir:

Name                                  ResourceGroup
------------------------------------  ---------------  
b2a7f108-1020-4529-870f-6c4c43e2bb9e  saphanaResourceGroup

Bu işlemin durumunu denetlemek için az backup job show cmdlet'ini kullanın.

Sonraki adımlar