系统集成数据库

一个数据库管理员(DBA)的办公室政治

办公室政治哪里都有,不论大小企业,不论你身处什么岗位,只要身在江湖,就不免身陷其中。某客户的数据库近期总是发生cpu负载过高的问题,经过检查,发现cpu中的user比例很高,通常情况下user可达60%以上,峰值时达90%,于是 cpu的idle就在业务忙时会出现持续为0的情况了。通过检查发现,数...显示全部
办公室政治哪里都有,不论大小企业,不论你身处什么岗位,只要身在江湖,就不免身陷其中。

某客户的数据库近期总是发生cpu负载过高的问题,经过检查,发现cpu中的user比例很高,通常情况下user可达60%以上,峰值时达90%,于是 cpu的idle就在业务忙时会出现持续为0的情况了。通过检查发现,数据库没有采用绑定变量,以及数据库中较高的buffer get的sql,特别是buffer get中的一些cpu times在100毫秒以上的sql。

上面说的纯粹是技术问题,从抓主要矛盾来讲,只要解决了上面的说的sql,问题基本上可以解决。如果纯粹从技术上去解决,就很容易了。很不幸,处在大公司,很多事情不是技术活,而是各方利益的角逐。在这个调优的过程中,有客户,有软件开发商,有我们部门,有另外一个部门B等等多方的介入。

从问题的开始,客户就是对我们是一种不信任的态度,觉得我们的team不够skill,那可能也有些不了解或者误解,也就算了。作为team的一员,我把后续的工作做好,再次获得客户的信任,也是可以的。于是我打算全力配合项目经理,做好优化工作。

其实,我在这里犯了一个错误,项目经理是部门B的,不是我们部门的。我在和项目经理打交道的时候,对方说他也是IBM的,来主导这次优化,我就变得不分彼此了,反正都是IBM一家嘛。其实不然,在后来和一个老员工的聊天中得知,部门B是他们自己,我们部门是我们自己,很多时候,是部门B问客户要了10块钱,然后自己得到了7块钱,再把繁琐的工作交给我们部门,给我们部门三块钱。所以在这次优化工作中,我们如果直接去客户现场做调优,就相当于架空了部门 B,这是他们不愿意的,所以我们也不可能去客户现场。另外部门B也希望给客户一个印象,就是你离开不了我部门B。所以,如果我以邪恶的心理去揣摩人家,那就是用我们的无能体现他们的价值。所以,部门B北京的一个dba,就很适时的出现在了优化过程中。

在优化过程中,我们做了不少的工作,做了很多分析,提了不少的建议,甚至每个sql该如何改,都毫无保留的写了详细的report。但是我不知道是什么原因,是因为没有很好的把我们的建议表达给客户,或者这些建议没有很好的去推动,没有执行力,或者涉及到了我们部门和部门B之间的利益关系,总之到了最后,客户对我们的印象就是我们没有skill去解决这个问题,最后还是部门B出马,派出了他们的dba解决了这个问题。

另外,我们和客户之间的交流也有问题。很多时候,客户不懂技术,给的数据看不懂。觉得我们做的事情没效果。在这里我们忽视了一点,给技术人员可以用数据,但是给不懂技术的客户,会很反感数据。图表对他们来说是个很直观的方式。说白了,就是:excel是给技术看的,ppt是给领导看的。

最后,还是说句公道点的话,部门B的dba兄弟是很不错。但是我很气愤的是我们之前做了那么多的事情,由于其中的利益牵扯关系,最后反而给了客户这样的印象。

不能不说,在这次办公室政治的角逐中,我们被人家上了很深刻的一课。收起
参与24

返回逆光的回答

“答”则兼济天下,请您为题主分忧!
逆光逆光软件开发工程师不知道
没办法。就是这样。毕竟部门间有生存压力,需要竞争
互联网服务 · 2010-09-15
浏览460

回答者

逆光
软件开发工程师不知道
擅长领域: 数据库

逆光 最近回答过的问题

回答状态

  • 发布时间:2010-09-15
  • 关注会员:1 人
  • 回答浏览:460
  • X社区推广