作者简介
Joel Perez:Oracle ACE总监, Maximum Availability OCM,OTN 专家,全球第一批ACE称号获得者,致力于数据库高可用、灾难恢复、升级迁移和数据复制等方向设计和实现解决方案。
Kamran Aghayev :Oracle ACE总监,OCM、OCCE、RAC实施专家。在AzerCell Telecom LLC担任DBA团队主管。出版书籍《Expert secrets for using RMAN and Data Pump》、《Oracle Certified Master 11G Exam Guide》
这篇文章将会给大家介绍如何配置Oracle数据库在云上的备份。为了做备份,首先需要能够正常使用Oracle的存储云服务(Storage Cloud Service),并设置复制策略。
1
使用Oracle 存储云服务
如下图所示,打开Oracle 官网的数据库公有云服务(public cloud service)页面,下拉到Oracle存储云服务(Storage Cloud Service)的部分,点击“Set Replication Policy”。
然后选择“Data Center”,开始进行设置。
打开数据库云服务,创建新服务。
GUI插件的改进,使得现在我们只需要三个步骤就能在云上创建数据库。
1、 提供服务名
2、 填写软件版本
3、 提交SSH公钥
填写完之后,点击下一步即可。
为了实现在云上的备份,还需要创建一个云存储容器(cloud storage container)。切换到Oracle存储云服务(OracleStorage Cloud Service)的明细,然后获得REST的终端,接下来就可以创建云存储容器(cloud storage container)了。
然后打开以下链接:https://storageconsole.em2.oraclecloud.com/,填写REST的终端号,登录到Oracle的存储云服务(Oracle Storage Cloud Service)。
创建一个存储容器(storage container)。
在创建服务的第二个页面,选择“Both Cloud Storage and Local Storage”作为备份路径。填写云存储容器名和密码,然后点击下一步。
预览配置,然后确认创建。
服务创建成功以后,打开服务选择到管理员部分,选择“Backup Now”,当然也可以使用RMAN设置自己的备份策略。
2
实现云上的备份与恢复
选择“Backup Now”,然后可以通过日志文件查看备份详情,如图中所示,备份已经完成了。
如果此时切换到存储容器(storage container)页面,你会发现刚才的备份过程创建了许多文件。
打开RMAN执行“LIST BACKUPSET SUMMARY”命令,可以查看备份集。
现在我们尝试通过DBaaS wizard,使用备份将数据库恢复到指定的时间点。
创建一张新表,插入部分数据。查看当前的SCN号。然后drop table。
现在,切换到DBaaS backup页面,点击“Recover”,并输入你想要恢复到的SCN号。
恢复过程会在后台自动执行,可以通过告警日志查看详情。
恢复完成之后,登录到数据库,再次查询刚才创建的表。
当然也可以使用bkup_api插件,通过命令行执行备份与恢复。现在我们尝试删掉所有的备份,以命令方式重新进行备份和恢复过程。
删掉所有的RMAN备份。
使用bkup_api插件,通过设置bkup_start参数,从CLI进行备份。
检查日志文件,查看详情
备份完成以后,确保备份集的可用之后,使用dbaascli 插件进行恢复。
现在使用dbaascli插件,提供SCN号,执行基于SCN的不完全恢复。
再次登录数据库,查询表,看是否被正常恢复。
数据库的备份集同样在存储在数据库所在主机的闪存恢复区。
如果你想修改自动备份计划,以root登录到系统,修改crontab计划即可。下面是当前备份。
当然也可以使用DBaaS backup按钮,命令行或者RMAN执行云上的Oracle数据库的备份和恢复。
希望以上的内容对大家有帮助。
文章转自数据和云公众号,原文链接