IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

Oracle+Fusionio+Dataguard的高可用方案

Hello Database 2011-05-31 13:59:30 累计浏览 3,496 次
本机暂存

    传统的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空间不足时,可以将部分数据放在共享存储上,实现混合存储。

同分类推荐文章

  1. 使用deepseek进行Oracle恢复,引起重大故障 (2026-06-22 10:56:00)
  2. 接手一个只差临门一脚的数据库恢复 (2026-06-18 00:13:09)
  3. 我做了一个 AI 版的 StarRocks 升级风险扫描工具,直接帮我定位到一个风险 (2026-06-15 01:00:00)

查看更多 数据库 文章 →

建议继续学习

  1. Oracle MTS模式下 进程地址与会话信息 (累计阅读 14,407)
  2. 架构师的思考 (累计阅读 10,524)
  3. 腾讯后台开发技术总监浅谈过载保护 小心雪崩效应 (累计阅读 7,115)
  4. 那些在11gR2中可能惹祸的新特性,一张列表帮助你摆脱升级11gR2带来的烦恼 (累计阅读 6,879)
  5. 可扩展的分布式数据库架构 (累计阅读 6,394)
  6. 性能测试工具sysbench简介 (累计阅读 6,026)
  7. 大于2GB的Listener.log和运行超过198天的主机上的Oracle实例 (累计阅读 5,862)
  8. 仅仅只备份是不够的 (累计阅读 5,824)
  9. Oracle Database 12c 新特性 - Native Top N 查询 (累计阅读 5,750)
  10. ORACLE最大可以存储多少数据量 (累计阅读 5,727)