数据库作为一种常见的应用系统架构组件,存储着跟业务或系统相关的各种数据。基于数据库所存储的数据的价值,用户会实施不同的方案来保障数据库以及数据的可用性。本文将详细介绍如何通过 Oracle Secure Backup(OSB) Cloud Module(以下简称 OSB Cloud Module)来对 Oracle 数据库进行备份,并将备份内容安全可靠的存储在云端。
Amazon S3
Amazon Simple Storage Service (Amazon S3) 为开发人员和 IT 团队提供安全、耐用且高度可扩展的对象存储。Amazon S3 易于使用,通过简单的 Web 服务接口实现在 Web 上的任意位置存储和检索任意数量的数据。使用 Amazon S3,您只需按您实际使用的存储量付费,没有最低消费限制和设置成本。Amazon S3 提供了高耐久性、高可扩展性以及安全的解决方案来备份和归档您的关键数据。 您可以使用 Amazon S3 的版本控制功能为存储的数据提供进一步的保护。您也可以基于对象的生命周期为其定义归档规则,将 Amazon S3 对象归档到 Amazon Glacier 以享受极低成本的存储服务。随着数据老化,这些规则可以确保您的数据自动存储到最合算的存储服务中。
Amazon S3 的构建方式满足以下设计要求:
耐用
Amazon S3 提供耐用的基础设施存储重要数据,其设计旨在为对象提供 99.999999999% 的耐用性。您的数据将通过冗余方式存储在多个设施以及一个设施内的多个设备上。
成本低廉
利用 Amazon S3,您能以非常低廉的成本存储大量数据。利用生命周期管理,您可设置策略来将数据自动迁移到 Standard – Infrequent Access 和 Amazon Glacier,随着时间的推移,成本还会进一步降低。您只需按需付费,无需承诺最低费用或支付前期费用。
可用
Amazon S3 Standard 可在指定年度内为对象提供高达 99.99% 的可用性,并且有 Amazon S3 服务等级协议的支持,从而确保您可在有需要时放心依赖。您还可以选择一个 AWS 区域来优化延迟、尽可能降低成本或满足法规要求。
可扩展
利用 Amazon S3,您可以尽可能多地存储数据并在需要时访问数据。您可以不必预测未来的存储需求并能按需要向上和向下扩展,从而大幅提高业务灵活性。
发送事件通知
Amazon S3 可在对象上传到 Amazon S3 时发送事件通知。Amazon S3 事件通知可使用 Amazon SQS 或 Amazon SNS 进行传送,或直接发送到 AWS Lambda,从而使您能够触发工作流、警报或其他处理操作。例如,您可以使用 Amazon S3 事件通知在媒体文件上传完成时触发其转码操作,在数据文件可用时触发其处理流程,或触发 Amazon S3 对象与其他数据存储的同步。
性能高
Amazon S3 支持分段上传,可帮助最大化网络吞吐量和弹性,同时还让您能够选择 AWS 区域存储接近于终端用户的数据并最小化网络延迟。
易于使用
Amazon S3 具有基于 Web 的管理控制台和移动应用,非常易于使用,并且提供全套 REST API 和软件开发工具包,可与第三方技术轻松集成。
基于上述特征,选择 Amazon S3 作为云端存储既能满足数据持久性需求,还具有很高的性价比,是很好的备份介质选项。
OSB Cloud Module
OSB Cloud Module 与 RMAN 结合使用,让用户能够将 Oracle 数据库直接备份到基于互联网的存储服务:Amazon S3。通过 RMAN 可备份数据库的数据文件,控制文件,服务器参数文件和归档日志文件,OSB Cloud Module 通过 SBT 方式为 RMAN 提供存储介质管理服务,支持进行备份压缩、加载优化、备份加密等功能,使用户能快速实现备份的远程存储,以提高备份的可用性等级或是满足合规要求。OSB Cloud Module 支持 Oracle 9i R2 之后的数据库版本。
下图展示了通过 OSB Cloud Module 实现 Oracle 数据库备份至云端的参考架构。RMAN 在安装 Oracle 数据库时已随数据库软件一起安装,要备份至 Amazon S3,还需要下载 OSB Cloud Module 软件,并进行安装和配置。通过 OSB Cloud Module,备份内容通过互联网传输至 Amazon S3;对网络链路质量有要求的客户还可使用专线方式,通过 AWS Direct Connect 服务用专线连接公司数据中心和 AWS 云端,备份内容通过专线传输至 Amazon S3。
使用这个方案对 Oracle 数据库进行异地备份,不需要使用第三方备份软件,也不需要磁带机或磁带库,用户可快速实施异地备份。
安装配置
OSB Cloud Module 可以从链接下载,下载的文件为 zip 格式,解压后包含一个 jar 包以及一份 readme 文件,建议安装之前先阅读 readme 文件。安装 OSB Cloud Module 之前需要先安装 java 1.7 以上版本,在 Redhat Enteprise Linux 使用以下命令进行安装:
yum install java-1.8.0-openjdk.x86_64
OSB Cloud Module 通过 IAM 用户的 Access Key 和 Secret Access Key 来获取 Amazon S3 存储桶的访问权限,OSB Cloud Module 会将备份内容存放到 oracle-data--1 存储桶,是 IAM 用户名,是区域的缩写,北京区域 cn-north-1 的缩写为 cn。
创建 IAM 用户,“访问类型”选择”Programmatic access”
下一步选择 AWS 管理的策略:AmazonS3FullAccess
最后需要记录下 Access Key 和 Secret Access Key 并妥善保存。
创建好 IAM 用户之后,在数据库服务器上用 Oracle 用户执行以下命令来安装配置 OSB Cloud Module, $ORACLE_HOME 环境变量设置为 Oracle 软件主目录:
java -jar osbws_install.jar -awsEndPoint s3.cn-north-1.amazonaws.com.cn -AWSID <AWS_AKEY> -AWSKey <AWS_SKEY> -walletDir ORACLE_HOME/lib/
-awsEndPoint : s3 服务的访问端点,各区域的访问端点可参考https://docs.aws.amazon.com/zh_cn/general/latest/gr/rande.html#s3_region
-AWSID: 具有权限的 IAM 用户的 Access Key
-AWSKey: 具有权限的 IAM 用户的 Secret Access Key
正常安装的过程如下图:
可通过检查 S3 中是否创建了相应的存储桶来验证安装是否成功。
安装好 OSB Cloud Module 之后,登录 RMAN 进行配置,这一步不是必须,但是为了简化后续使用,可先配置好 RMAN 的缺省值
CONFIGURE CHANNEL DEVICE TYPE ‘SBT_TAPE’ PARMS ‘SBT_LIBRARY=/u01/oracle/product/12.2.1/dbhome_1/lib/libosbws.so ENV=(OSB_WS_PFILE=/u01/oracle/product/12.2.1/dbhome_1/dbs/osbwsorcl.ora)’;
并将缺省的设备类型设置为 SBT:
至此,OSB Cloud Module 的安装及配置就已完成。
备份和恢复
使用 OSB Cloud Module 备份数据库到 Amazon S3,以及从 Amazon S3 进行恢复都是通过 RMAN 完成,使用方式与使用 RMAN 从本地磁带进行备份和恢复并无区别。这里简单通过几个命令介绍如何使用 RMAN 进行数据库备份及恢复。要对数据库进行在线备份,需要开启 archivelog 模式。
备份数据库:
查看备份:
在 S3 的存储桶中会生成对应的内容:
恢复数据库:
高级主题
为进一步优化备份速度和数据传输效率,还可以:
配置备份的 multisection
使用多个 CHANNEL
提高 SBT 的 PARALLELISM
备份压缩
备份加密
请参考《Database Backup and Recovery User’s Guide》文档进行配置,此处不再赘述。
作者介绍:
刘旭东
本文转载自 AWS 技术博客。
原文链接:
https://amazonaws-china.com/cn/blogs/china/oracle-database-backup-cloud/
评论