QCon全球软件开发大会8折优惠倒计时,购票立减¥1760!了解详情 >>> 了解详情
写点什么

Oracle 数据库备份上云

2019 年 10 月 28 日

Oracle数据库备份上云

数据库作为一种常见的应用系统架构组件,存储着跟业务或系统相关的各种数据。基于数据库所存储的数据的价值,用户会实施不同的方案来保障数据库以及数据的可用性。本文将详细介绍如何通过 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解决方案架构师 。负责基于AWS的云计算方案的咨询和架构设计,具有超过十年以上企业客户服务经验,同时致力于AWS云服务在国内和全球的应用和推广。在大数据解决方案、企业级解决方案,混合云架构,基础设施运维管理,以及IoT等领域有着广泛的设计与实践经验,目前正在学习机器学习。在加入AWS之前曾任职HPE技术顾问,有超过十年的虚拟化/云计算架构设计经验, 始终推动技术实现商业价值。
复制代码


本文转载自 AWS 技术博客。


原文链接:


https://amazonaws-china.com/cn/blogs/china/oracle-database-backup-cloud/


2019 年 10 月 28 日 08:00316

欲了解 AWS 的更多信息,请访问【AWS 技术专区】

评论

发布
暂无评论
发现更多内容

微服务架构太难了?那你可能还没掌握SpringBoot+SpringCloud+Docker+RabbitMQ

Java架构之路

Java 程序员 架构 面试 编程语言

为什么现代系统需要一个新的编程模型?

华为云开发者社区

编程 模型 语言

惊艳!阿里自爆用480页讲清楚了44种微服务架构设计模式

996小迁

程序员 面试 微服务 设计模式 架构设计

成为分布式系统架构师,都要学哪些东西?该怎么学?

四猿外

Java 程序员 分布式 分布式系统 架构师

用了这个评估优化LiteOS镜像利器,我有点飘...

华为云开发者社区

镜像 开发 环境配置

提升awk技能的两个教程【译】

程序员架构进阶

Linux Shell awk

区块链矿机系统开发现成案例

系统开发咨询:I76-883I-5I52 邓森

号称大厂面试官的克星,“神仙版”Java面试宝典,“真”吊打大厂面试官

Java架构之路

Java 程序员 架构 面试 编程语言

堪称完美!阿里架构师用60个实战案例讲明白了Spring Boot

Java架构追梦

Java 架构 面试 微服务 springboot

养猫了!

小林coding

生活

学习笔记丨数据结构之二叉查找树

Liuchengz.

数据结构 C/C++ 数据结构与算法 高级数据结构

软件测试之登录测试详解

测试人生路

软件测试

数字货币交易所交易平台系统开发

系统开发咨询:I76-883I-5I52 邓森

我敢说这是全网最详细的基础讲解,附源码实例,没人学不明白

小Q

Java 学习 架构 面试 基础

一场由fork引发的超时,让我们重新探讨了Redis的抖动问题

华为云开发者社区

redis fork 时延抖动

震闻:2021年 微服务 即将被这个取代了!!

Java架构师迁哥

iOS面试基础知识 (四)

iOSer

ios 大厂面试 iOS面试 面试题总结 底层知识

2020中国 .NET开发者大会精彩回顾:葡萄城高性能表格技术解读

Geek_Willie

GCExcel 中国 .NET开发者大会 表格技术

区块链商城APP系统开发|区块链商城软件开发

开發I852946OIIO

系统开发

吊!设计模式全解:6大设计原则+23种设计模式+设计模式PK+设计模式混编

Java架构之路

Java 程序员 架构 面试 编程语言

模糊匹配、相似度查询怎么破?看PG亿级检索毫秒响应

PostgreSQLChina

数据库 postgresql 开源

快递员出售用户信息被判刑:如何防止快递行业信息泄露

石头IT视角

OTC场外交易系统开发软件定制

系统开发咨询:I76-883I-5I52 邓森

dForce挖矿APP系统开发|dForce挖矿软件开发

开發I852946OIIO

系统开发

AWS云上安全最佳实践

雪雷

安全 AWS 云安全

差点跳起来了!全靠这份“Java核心知识笔记”我成功拿到美团offer

比伯

Java 程序员 架构 计算机 编写

编写令人愉悦的API接口(一)

陈云轩

Java 程序设计 API APi设计

波场链智能合约系统定制开发

系统开发咨询:I76-883I-5I52 邓森

SpringBoot事件监听机制及观察者/发布订阅模式详解

程序员小毕

Java 源码 架构 springboot 观察者模式

合约跟单系统开发软件定制

系统开发咨询:I76-883I-5I52 邓森

研发团队如何实现无缝协作?

万事ONES

研发管理 团队协作 研发效能 研发工具

移动应用开发的下一站

移动应用开发的下一站

Oracle数据库备份上云-InfoQ