作者简介
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)了。
创建一个存储容器(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数据库的备份和恢复。
希望以上的内容对大家有帮助。