收藏文章 楼主

干货分享 Oracle RAC 环境数据备份与恢复 | 周末送

版块:IT/互联网   类型:普通   作者:小羊羔links   查看:318   回复:0   获赞:0   时间:2022-08-13 14:04:21
【导读】某企业因项目需要在Oracle RAC集群环境下,根据实际情况对Oracle数据库进行备份;使用生产环境的rman全备数据,进行恢复数据搭建测试环境。本文将详细介绍此案例中Oracle数据库rman全备份过程、Oracle RAC 环境下rman备份数据如何恢复至单机服务器。考虑到非常的实用,将实施经验分享给更多同行进行交流学习。
【作者】焦育,从事系统运维多年,现就职于某大型车企公司信息部门,主要负责企业信息化基础建设与规划,主持数据中心系统运维工作,凭借Zabbix、grafana开源软件构建企业数据中心监控系统,精通linux操作系统、VMware虚拟化软件、掌握oracle与mysql数据库的运维管理、熟练使用shell、Python语言。


一、背景环境

生产环境使用两台DELL R840 服务器,安装了 linux centos 7.6操作系统,并配置多路径,使用 EMC untiy 作为共享存储,分配了2个1T LUN 存储数据库文件,1个500G LUN存放归档数据,3个30G LUN存放 OCR 、FALSH、GIMR数据。Oracle RAC 软件版本是19C 19.0.0.0.0。


二、数据备份

1、备份策略

为保障oracle rac 集群数据安全,因项目组要求设计数据库备份方案。考虑到服务器RAC1与RAC2每台服务器自带2T本地可用容量,每次全备产生约400GB数据文件。可将奇数天备份到RAC1,偶数天备份到RAC2,4*400GB=1.6TB,每台服务器可以备份4天的全量数据。空间非常的富余,不计划使用rman的增量备份,直接全量备份近8天数据,恢复也较为方便。

2、备份过程

在RAC1主机下执行,(RAC2同理
首先Oracle 数据库开启归档,归档模式下,才可以进行数据库的热备份、联机备份、手工备份等。非归档模式下,只能进行冷备份。当然我们rman备份是在线备份。

如下图

接着,创建rman脚本目录

创建备份执行脚本,并 定时任务

创建备份数据清理脚本, 并 定时任务,只备份近4次数据,脚本会自动判断最近一次rman备份是否成功,不成功将不删除备份数据。这里我调用了 zabora.sh 脚本判断rman备份状态,sql语句也比较简单。

定时任务 (RAC1)

定时任务 (RAC2)

记得重启定时任务

创建rman执行脚本,用于被上述执行脚本调用

3、测试验证

第一次可手动执行备份任务,不等到凌晨自动执行

查看日志log

备份完成如下图


三、数据恢复

因为本项目使用的是全备数据,无增量。恢复命令较简单。举例几个常用恢复操作命令。

 1、数据完全恢复

2、表空间数据恢复


四、Oracle RAC 集群迁移至Oracle单机服务器

因项目组需要利用生产环境的真实数据,搭建测试环境,便于开发测试,测试环境没有必要搭建复杂的Oracle rac集群,占用资源多,就计划选择单机版Oracle,考虑到数据泵expdp、impdp效率较低(也尝试导入成功了,确实大量数据非常的慢,本项目400多GB的备份数据 ,决定使用Oracle rac下的rman备份数据恢复至单机Oracle。若考虑到极端情况下需要做迁移、恢复,又没有更多的Oracle rac所需资源,那迁移至oracle单机还是有必要掌握了解的。

expdp impdp的方式是一种逻辑备份与恢复,不需要考虑Oracle环境基础架构,而rman备份与恢复是一种底层数据文件的备份,在由集群恢复至单机数据文件命名与路径是不相同的,在此过程中需要注意一下。

首先,准备好Oracle单机环境,开启归档模式,Oracle数据库的安装不是本文的重点,相信网上的安装 非常的多。

1、生成spfile参数文件

登录到RAC1上

将此文件复制到oracle单机上/u01/app/oracle/product/19.0.0/db_1/dbs/initecology.ora 并进行修改,目的是将Oracle rac环境下的设置改为单机环境

在Oracle 单机上执行 SQL> create spfile from pfile;

2、恢复控制文件

将Oracle rac环境下的全备份文件, 复制到oracle单机 u01/backup/data 目录下,以下操作均是在Oracle单机环境下进行。备份文件如下

3、 将备份数据注册到rman

rman环境下继续执行

4、数据还原恢复

执行list backup of database; 根据备份信息,进行文件重命名。Oracle rac 环境使用的是ASM管理磁盘,目录与单机oracle不同,因此在还原恢复时候,需要先将备份文件的ASM文件路径,修改为Oracle单机环境路径。

注意 此命令行要一起执行还原恢复,最好放入文本中执行

5、修改数据库日志文件

第三步已经完成了数据库的还原恢复,备份数据日志文件使用的是rac环境目录,需要更修改为单机版本。

6、 删除无效日志组

 7、删除 undo表空间

查看undo表空间,并删除节点2(在此不使用 的undo表空间

8、创建temp表空间

9、数据库更改IP地址

数据库里的配置文件,还是RAC 集群地址,因此要改为Oracle单机服务器的IP

监听IP更改 vim u01/app/oracle/product/19.0.0/db_1/network/admin/listener.ora

远程连接IP更改 vim  /u01/app/oracle/product/19.0.0/db_1/network/admin/tnsnames.ora

数据库执行

至此数据库已恢复完毕,可重启监听与数据库,进行登录验证数据恢复情况,经实践检验与原库保持一致,并且恢复效率非常的高,用时约1小时,满足公司对故障快速恢复的要求。


六、实践总结

此次经过摸索实践、因地制宜地对公司Oracle RAC 集群进行了数据备份,确保数据库备份安全,当发生数据库灾难 文件损坏时,可及时根据上述操作文档进行备份数据恢复,保证数据库能备份能恢复,系统运维更加健全。针对我司特殊场景需要将Oracle RAC集群环境备份数据,恢复至单机Oracle上, 是数据库迁移,提供了可靠的解决方案,同时将此方法分享给各位同行进行交流学习。实践过程中,类比数据泵 expdp、impdp备份方式,rman备份恢复效率更高,确实也印证了此观点 。实践出真知, 本人也在此实践中获益匪浅,知识是用来传递与分享的,希望能看到读者们、技术大牛们更多更好的文章,感谢阅读!

原题 某大型车企 Oracle RAC 环境数据备份与恢复实践
欢迎点击文末 到社区阅读和讨论交流,发表您的看法

觉得本文有用,请转发 点击在看,让更多同行看到


  /文章推荐

  • Oracle RAC 大全

  • 85 篇容灾&备份实用参考!请收好

  • Oracle19c RAC for Centos7.6 详细安装文档 | 周末送

  • 经典 | Oracle RAC 建设过程中各个层面的关键点和优化项总结


欢迎关注社区以下  “灾备”技术主题 ,将会不断更新优质 、文章。地址

https://www..com/Topic/3457

下载 twt 社区客户端 APP


长按 即可下载

到应用商店搜索“twt”


长按二维码关注

*本 所发布内容仅代表作者观点,不代表社区立场

小羊羔锚文本外链网站长https://seo-links.cn 
回复列表
默认   热门   正序   倒序

回复:干货分享 Oracle RAC 环境数据备份与恢复 | 周末送

Powered by 小羊羔外链网 8.3.12

©2015 - 2024 小羊羔外链网

免费发软文外链 鄂ICP备16014738号-6

您的IP:3.140.198.43,2024-04-26 17:43:14,Processed in 0.05215 second(s).

支持原创软件,抵制盗版,共创美好明天!
头像

用户名:

粉丝数:

签名:

资料 关注 好友 消息