Oracle+Fusionio+Dataguard的高可用方案
传统的Oracle的高可用方案必须基于共享存储设备,不管是双机主备模式,还是Oracle RAC,数据库必须放在共享的SAN存储上,通过HA或集群软件实现高可用。Oracle DataGuard是很好的容灾软件,但是作为HA解决方案,功能有很多局限性,比如数据丢失,应用透明切换,只能读无法写(11g)等等,目前都没有非常好的解决方案。
自从固态存储技术出现后,单机的IO能力大幅度提升,比如采用PCIE接口的fusionio卡,单块卡就可以提供数万IOPS的能力,单机的IO能力已经超过了传统的磁盘存储。但是,一直困扰我们的是,如何解决无共享存储环境下Oracle数据库的高可用问题?我们团队设计了一种架构,提供简单可靠的高可用功能。
Oracle+fusionio+DataGuard的高可用解决方案
方案简述:利用fusionio卡的强大的IO能力,取代传统存储设备,双机采用DataGuard复制,将主库的controlfile和redo放在一套共享的存储设备上。当主机发生故障时,利用共享存储上的controlfile和redofile将standby数据库恢复到一致状态。
硬件:DELL R710,48G mem,Fusionio ioDrive 320G(数据文件),6×300G SAS RAID10(归档文件)。
存储:SAN存储,存放主库的controlfile与redofile,与其他数据库共用,性能与空间要求不高。
软件:Veritas Cluster Service,提供HA功能,自定义切换脚本。
切换步骤:
1.关闭standby;
2.指向共享存储上主库的redofile和controlfile;
3.mount standby;
4.recover database;
5.open database。
优点:
1.零数据丢失;
2.简单,可靠;
3.应用透明切换;
4.对存储性能要求不高;
5.适合读多写少应用,提升读性能。
缺点:
1.依然需要共享存储,但是可以与其他系统共用;
2.切换时间依赖standby恢复时间,必须保证standby恢复的进度;
3.共享的redofile可能会成为写入瓶颈,最好使用配置write cache的存储。
改进计划:
1.实现类似switchover的功能,主备互相切换,无需人工干预;
2.本地fusionio空间不足时,可以将部分数据放在共享存储上,实现混合存储。
建议继续学习:
- 我对技术方向的一些反思 (阅读:9872)
- 基于MySQL的高可用可扩展架构探讨 (阅读:3721)
- Oracle or MySQL ? (阅读:3393)
- 利用MySQL Cluster 7.0 + LVS 搭建高可用环境 (阅读:3380)
- Java陷阱(2010版) (阅读:3224)
- 如何正确安装ORACLE使ORACLE状态最优 (阅读:3198)
- Oracle Database 12c架构图 (阅读:3175)
- 寻找适合你的MySQL高可用解决方案 (阅读:2966)
- 从淘汰Oracle数据库的事情说起 (阅读:2791)
- Oracle Database Appliance (阅读:2597)
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:jacky 来源: Hello Database
- 标签: Dataguard Fusionio Oracle 高可用
- 发布时间:2011-05-31 13:59:30
- [53] IOS安全–浅谈关于IOS加固的几种方法
- [52] 如何拿下简短的域名
- [51] 图书馆的世界纪录
- [50] android 开发入门
- [50] Oracle MTS模式下 进程地址与会话信
- [49] Go Reflect 性能
- [46] 【社会化设计】自我(self)部分――欢迎区
- [46] 读书笔记-壹百度:百度十年千倍的29条法则
- [36] 程序员技术练级攻略
- [29] 视觉调整-设计师 vs. 逻辑