AWS Backup可否用于EC2上运行Oracle的Windows 2012服务器?
可行性说明
有大量用户成功通过AWS Backup完成Windows Server上Oracle数据库的备份与恢复,你当前遇到的Oracle数据不一致问题,核心原因是仅开启了AWS侧的Windows VSS备份开关,但Oracle数据库本身的VSS对接组件未完成配置,导致VSS快照捕获时Oracle数据文件未处于可恢复的一致性状态。
所需配置调整
一、EC2实例内Oracle侧配置
- 启用Oracle VSS Writer服务:Oracle 12c Windows版本默认自带VSS Writer组件,打开Windows服务控制台,找到名称为
Oracle<你的Oracle实例名>VSSWriter的服务,将启动类型设置为自动,使用Oracle数据库运行账号启动该服务(该账号需要具备SYSDBA权限以及Windows本地VSS操作权限)。 - 开启Oracle归档模式:确认数据库处于归档日志模式,非归档模式下仅能在数据库关闭时获得一致性快照,开启归档后VSS Writer会在快照触发时自动归档当前在线重做日志,保证快照内的数据文件、归档日志可用于一致性恢复。如果业务场景不允许开启归档模式,需要在备份计划中添加备份前预处理脚本,手动执行
alter database begin backup;命令将数据库置于热备模式,备份完成后执行alter database end backup;退出热备模式。 - 验证VSS Writer状态:以管理员身份打开CMD执行命令
vssadmin list writers,确认输出中存在Oracle VSS Writer条目,且状态为稳定、无报错。 - 检查EBS卷覆盖范围:确保所有存储Oracle数据文件、在线重做日志、归档日志的EBS卷都挂载在实例上,未被排除在AWS Backup快照范围之外。
二、AWS侧配置校验
你现有的Terraform配置已经正确开启了EC2资源的WindowsVSS高级备份选项,仅需补充以下权限配置即可:
- EC2实例需安装最新版本SSM Agent,且实例绑定的IAM实例配置文件需包含
AmazonSSMManagedInstanceCore托管策略,AWS Backup通过SSM Agent触发实例内的VSS快照操作。 - 你配置中使用的AWS Backup IAM角色(
aws_iam_role.legacy_backup)需附加AWSBackupServiceRolePolicyForEC2托管策略,保证可以调用SSM执行VSS相关操作。
恢复验证步骤
配置完成后手动触发一次备份,恢复实例后按以下步骤操作即可拿到一致性数据库:
- 登录Windows实例后,以管理员身份打开sqlplus,执行
sqlplus / as sysdba - 执行数据库恢复命令:
recover database;,等待日志前滚完成 - 执行
alter database open;打开数据库,即可验证表数据一致性
内容的提问来源于stack exchange,提问作者BPS
相关产品推荐
相关产品推荐

