技术开发 频道

独家揭秘国有大行生产系统数据库运维

  【IT168 评论】1912年经孙中山先生批准中国银行正式成立,目前是大型国有商业银行,同时也是国内四大行之一。8月30日中国银行发布半年报称,上半年净利润1036.90亿元,同比增长11.45%。

  截止到6月末中国银行为2万多家集团客户提供现金管理服务,形成数千亿元结算存款,并且已覆盖包括亚太、欧非、美洲等境外区域。境内外一体化的全面布局,再加上业务的特殊性和时区的原因,中国银行不得不提供7*24小时的“日不落”全球服务。

  如此体量的中行对其数据库的支撑提出了巨大的挑战,国有大行生产系统的数据库运维到底是怎么做的呢?今日,在充满文艺氛围的北京77剧场举办的2017首届Oracle·欢乐颂技术大会上,中国银行数据中心数据库运维团队负责人张海滨为我们揭开了中行数据库运维的神秘面纱。

  中行数据库运维现状:两地三中心、小核心大外围

  中国银行的系统部署方式主要有以下几种:全球一体、国内、海外逻辑集中、海外分区域,海内外的数据全部集中在数据中心。容灾架构采取了“两地三中心”,分别是黑山扈生产中心、海鹰同城灾备中心和张江异地灾备中心。

  系统架构采取了“小核心大外围”。“小核心”主要指的是主机,主机比较昂贵,跑的系统较少,大外围是大部分系统是跑在在开放平台上。总体数据量张海滨没有透露,不过,他透露中行有一套库的有效数据量达到了1个PB。

  中行在数据库的选择上是比较多元化的,既有商用数据库,也有开源数据库,更令人惊喜的是,我们还看到了国产数据库浪潮K-DB也在其中。

  发生问题时,不仅要从数据库本身去找,更要关注其运行环境

  在发生问题时,很多DBA都会执着于只寻找数据库的问题。张海滨认为DBA的视角不应该只孤立的看到数据库,更要将目光集中在其运行保障环境。数据库与其环境是一个不可分割的整体,很多问题脱离环境是无法解决的,张海滨和我们分享了中行在这方面踩过的坑。

  在基础设施环境中,要有完善的保障体系,尤其要关注关联、共享和瓶颈,张海滨主要和我们分享了7大示例:

  虚拟化:其它系统使用了过多存储资源,本库受到影响;

  监控工具:查询v$类视图时间过长,占用temp表空间过多;

  OEM:查询ASM的SQL不释放,占满share pool;

  带库备份:RMAN或DUMP备份带来大量IO,影响到联机;

  OGG:目标表被修改,导致同步关系中断;

  网络带宽:私网丢包或带宽不足;

  容灾链路:不稳定导致写IO缓慢;

  应用既有相通点,也有不一样的地方,所以在应用环境中格外要注意规范、特例和优化。应用环境的坑主要集中在分区表维护、统计信息维护以及读写分离这三个方面。

  分区表维护:DDL导致全局索引失效;联机时段的DDL导致硬解析,出现会话拥堵RANGE模式分区,因缺少分区维护,导致最后一个分区数据量增大;分区数量过多,可能达到百万级别。

  统计信息维护:缺少配合数据变化的收集策略,仅依靠数据库自动收集策略;自动收集窗口不一定适合该应用系统;高峰时段统计信息收集带来系统压力;

  读写分离:实时交易要求读写分离;主库提交升级后,立即要到备库去查询;ADG运行在最大性能模式(sync)。

  DBA实苦,但请你一定坚持

  说起DBA,可能大家第一个联想到的词汇是“kubility”,第二个就是“到处救火”。没错,DBA不是一个轻松活儿,但是我们可以通过改变我们的运维理念让它变得不那么kubility。

  张海滨表示除了上述管理理念的改变,还要加强“三化”建设,即标准化、规范化和自动化。只有这三化建设好,DBA才有可能摆脱四处救火、疲于奔命的处境。最后,引用一句话与广大DBA共勉:“DBA实苦,但请你一定坚持!”

0
相关文章