#oracle #amazon-web-services #amazon-ec2 #terraform #aws-backup
#Oracle #amazon-веб-сервисы #amazon-ec2 #терраформирование #aws-резервное копирование
Вопрос:
У нас есть довольно большая машина с Windows Server 2012 R2, на которой работает Oracle 12c. Мы использовали AWS MGN (Службу миграции приложений) для переноса этой встроенной машины в AWS. Миграция была протестирована и прошла успешно, так что теперь у нас есть большой экземпляр Windows 2012 R2 EC2 с сервером Oracle 12c на AWS.
Я экспериментирую с использованием резервных копий AWS для создания моментальных снимков экземпляра Oracle в попытке восстановить его в качестве первых шагов на пути к полному плану аварийного восстановления. Моментальный снимок восстанавливается просто отлично, и мы можем войти в экземпляр Windows, но, похоже, таблицы Oracle находятся в противоречивом состоянии, и я не получил чистый моментальный снимок из резервной копии AWS. Microsoft VSS, по-видимому, включена на восстановленном экземпляре.
Вопрос в следующем : Кому-нибудь удавалось использовать резервные копии AWS для резервного копирования и восстановления базы данных Oracle на сервере Windows? Если да, то какие изменения нам нужно внести? Я включил некоторые из терраформ для справки:
resource "aws_backup_plan" "weekly" { name = "Legacy${var.environment_tag}Weekly" rule { enable_continuous_backup = false rule_name = "Legacy${var.environment_tag}Weekly" target_vault_name = aws_backup_vault.legacy.name schedule = var.backup_plan_weekly_schedule start_window = 60 # minutes completion_window = 180 # minutes lifecycle { cold_storage_after = 30 # days delete_after = 120 # days } copy_action { destination_vault_arn = aws_backup_vault.legacy.arn lifecycle { cold_storage_after = 30 # days delete_after = 120 # days } } copy_action { destination_vault_arn = aws_backup_vault.secondary.arn lifecycle { cold_storage_after = 30 # days delete_after = 120 # days } } } advanced_backup_setting { backup_options = { WindowsVSS = "enabled" } resource_type = "EC2" } tags = merge( local.tags, { "Name" = "Legacy${var.environment_tag}Weekly" } ) } resource "aws_backup_selection" "weekly" { iam_role_arn = aws_iam_role.legacy_backup.arn name = "Legacy${var.environment_tag}Weekly" plan_id = aws_backup_plan.weekly.id selection_tag { type = "STRINGEQUALS" key = "AWSBackup" value = "weekly" } } resource "aws_backup_vault" "legacy" { name = "Legacy${var.environment_tag}" kms_key_arn = aws_kms_key.mgn.arn tags = merge( local.tags, { "Name" = "Legacy${var.environment_tag}" } ) }
Ответ №1:
Оказывается, что AWS Backup сохранит базу данных в состоянии «резервного копирования» даже после завершения создания моментального снимка, поэтому восстановленный экземпляр по-прежнему считает, что он не находится в согласованном состоянии. Решение этой проблемы заключается в том, чтобы войти в восстановленный экземпляр, запустить приглашение Oracle SQL и выполнить команду:
alter database end backup;