查看: 8299|回复: 46

对于troubleshooting的一点体会

[复制链接]
论坛徽章:
27
授权会员
日期:2005-10-30 17:05:33管理团队成员
日期:2011-05-07 01:45:082012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:36优秀写手
日期:2013-12-18 09:29:13马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14
跳转到指定楼层
1#
发表于 2007-6-24 18:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在公司里一直做一些troubleshooting的工作,经常有一些新的问题出现,其中也不乏一些比较棘手的问题。谈一下自己做troubleshooting的一点体会吧,希望对大家有所帮助。

首先要具备坚实的oracle基础,对一些基本概念的掌握要有深入的理解。我建议一开始看书就以英文书为主,以一些中文原创的文章书籍为辅,中文翻译的最好不要看。也许你的英文基础不好,一开始看的时候会很吃力,不过时间长了你就会体会到当初坚持读英文书是多么明智的选择。我周围的DBA都是在读英文的书籍,现在看中文翻译的书籍真的是看不懂,不知道他在说什么,相反看英文的看起来很流利。如果你想做一名优秀的DBA,一定要看英文的书籍。很多人也推荐了很多书给大家,我这里说说我推荐列表吧。首先是官方文档中的concept, administrator’s guide和performance tuning三本书,官方文档都可以在otn.oracle.com上下载到。如果你对大块头的英文书很惧怕,可以先从OCP的书看起,然后再来看这三本书。很多人都知道这三本书好,但是真正坚持看完的不多,真正理解的更少。如果你看懂了,那么恭喜你,你水平已经不错了。其他的好书很多,我推荐几本书。
首先是Jonathan Lewis的两本书practical oracle 8i(这本书我没有看到过电子版,如果谁有请告诉大家)和 Cost Based Oracle Fundamentals。Jonathan Lewis一直是我认为现在的oracle届第一牛人,他的这两本书都很经典。很期待他的另外两本CBO的书。
Steve Adams的名著oracle8i.internal.services.for.waits.latches.locks>好像是Steve Adams的唯一一本书。这本书很薄,但言简意赅,多看看很受益。
K Gopalakrishnan的Oracle.Wait.Interface.A.Practical.Guide.to.Performance.Diagnostics.and.Tuning这本书也可以在itpub上下载到,是一本很实用的书,对oracle的一些常见的wait event做了很好的解释。做troubleshooting必读。
读书时力求理解透彻,不要一味追求进度。
这一阶段就是要多看书,多思考。

第二步,有了扎实的基本功,就要加强实践了。这时候需要做大量的事情来强化基础知识。看过的东西长时间不用的话,很快就容易忘记了,只有在实践中不断的运用,才能够深入的理解。这一阶段对工作环境有一定的要求,如果你现在的工作环境强度不够大,工作量不够多,建议你可以考虑换一份工作了。只要你第一阶段基本功打得好,不愁找不到合适的环境。其实各大公司的一些面试题都是在考察的基本功底。在做事的过程中不能盲目的做,要带着思考的去做事情。不要小看一些简单的事情,例如add column, create/drop table, insert/delete/update等,其实现在DBA常做的90%以上的都是简单的事情,但是能把简单的事情做好,做很多事情而不出错是很难的。你要考虑做这件事情会有什么影响,会有可能遇到哪些问题,出了问题后如何解决,如何去rollback,这些都是在你开始做之前就要想清楚的,而不是要等到出了问题以后才开始考虑。
网上有人犯一些很低级的错误,不要小看这些错误,不要以“我不是不懂,只是不小心”为借口来帮自己推脱。我网站的副标题是“We are what we repeatedly do. Excellence, then, is not an act, but a habit.”这句话我一开始是在公司的outage plan上看到的,亚里士多德的一句名言,觉得说的很好。人是由习惯组成的,人一天做的绝大部分事情是在重复自己的习惯,习惯也是最难养成的。而DBA必须养成细心的习惯,这个习惯比你多了解一些知识还要重要。另外对于一些知识的掌握,我觉得要以实用为主,太注重一些与实际应用没有关系的internal的东西没太大的意义。有人对在production系统上在线create/rebuild index后要加online不清楚,却对delay block cleanout说的头头是道。我不是说研究internal不好,但是要分清主次,以实用为主。这一点上很佩服Jonathan Lewis,他internal的知识很强的(在Steve Adams的书里提到过),但是他的文章都是以实用为主,不实用的东西他很少发布出来。
除了对习惯的养成,这一阶段还要注意对一些细节的搜集。Oracle管理上有很多零散的知识,而这些零散的知识大多是在不断的大量的高强度的实践中学到的。
这一阶段就是要多做事,少犯错。

说了上面两点,其实都是预备知识,下面开始说troubleshooting的一点体会。

1. 不要忽略任何一个细节信息。在问题出现的时候会有多种现象一起出现,例如active session很多,enqueue很多,latch free很多等等。如果你给出的解释不能够解释每一个现象,不能覆盖每一个小细节的话,很有可能你的解释是错误的,需要推翻后重新推理。看过柯南或金田一动画的都知道,如果有一个问题没有搞通为什么的话,是不能做出最后的结论的。

2. 要充满想像力。对于简单的问题可能一眼就可以看出原因,而对于一些复杂的问题比较困难。很多现象混杂在一起,很难分清楚哪个是起因,哪个是结果。这时候就要大胆的想像,将所有的现象结合在一起,思考出一个合理的解释。要善于挑战自己已有的知识,可能你的知识因为数据库版本的变化,或者oracle的一些bug在处理一些问题时已经不合适了。这时候不能固执的坚守自己的知识,要善于推翻自己,螺旋式的上升。

3. 推理要严谨。就是要讲证据,不能单靠想像来解决问题。如果你的解释是正确的,要找到证据来支持你的解释。通过一些其他现象的挖掘或者通过一些后续的实验来证明你的解释。对于一些bug,一定要找到相应的文档或者开tar得到oracle的确认,不能遇到一些奇怪的问题就说是oracle的bug。Oracle的bug是不少,不过也许你遇到的并不是bug,可能是知识上的缺失。

4. 深入的思考。有些问题在刚开始觉得难以想像,但是当你再深入一个层面后觉得原来所有的现象都是可以被完美解释的。这一点我在平时troubleshoot的过程中感触很深。以后有时间可以举例来说明。

5 解决方案要抓住重点。找到了根本问题后,解决方案就比较容易一点了。主要是基本功要扎实,一定要抓住重点。

切忌两点:

切忌概念不清
基本概念一定要清楚,例如PCTFREE, PCTUSED和 LMT,DMT没有关系。”cache buffer chain”和”buffer busy wait”是两种完全不同的等待事件,对select指定一个大的回滚段对ora-01555没有任何帮助,等等。

切忌生搬硬套,不要到网上找一个别人的例子往自己身上硬套。一定要彻底的理解问题发生的前因后果,才能够做出正确的判断,别人的例子只可以用来参考。

最后做个小广告:如果你觉得你的基本功扎实,但是缺少一个合适的环境的话,欢迎加入我们。我们的系统很繁忙,事情很多,挑战也很多。
有意可以发email给我: xfan (at) ebay.com
论坛徽章:
97
ITPUB元老
日期:2008-06-30 12:48:39暖羊羊
日期:2015-03-04 14:50:372015年新春福章
日期:2015-03-06 11:57:312010数据库技术大会纪念徽章
日期:2015-04-23 10:33:192011数据库大会纪念章
日期:2015-04-23 10:33:192012数据库大会纪念章
日期:2015-04-23 10:33:192013数据库大会纪念章
日期:2015-04-23 10:33:192014数据库大会纪念章
日期:2015-04-23 10:33:19林肯
日期:2013-10-31 12:31:382013年新春福章
日期:2013-02-25 14:51:24
2#
发表于 2007-6-24 20:16 | 只看该作者
搂主写的很实在。。

使用道具 举报

回复
论坛徽章:
8
会员2007贡献徽章
日期:2007-09-26 18:42:10ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44生肖徽章2007版:鸡
日期:2008-01-02 17:35:53生肖徽章2007版:猴
日期:2008-01-02 17:35:53生肖徽章2007版:鼠
日期:2008-01-02 17:35:532008新春纪念徽章
日期:2008-02-13 12:43:032009新春纪念徽章
日期:2009-01-04 14:52:28ITPUB十周年纪念徽章
日期:2011-11-01 16:23:26
3#
发表于 2007-6-24 20:29 | 只看该作者
对我来说很有用阿,但是楼主你推荐的那3本书怎么没有给出连接阿?
给个连接巴?

使用道具 举报

回复
论坛徽章:
56
马上加薪
日期:2014-12-22 13:11:12复活蛋
日期:2011-08-31 14:55:20ITPUB9周年纪念徽章
日期:2010-10-08 09:32:252010世博会纪念徽章
日期:2010-09-07 08:52:012010年世界杯参赛球队:瑞士
日期:2010-06-24 09:16:222010年世界杯参赛球队:德国
日期:2010-04-27 09:40:272010年世界杯参赛球队:韩国
日期:2010-04-23 23:34:412010新春纪念徽章
日期:2010-03-01 11:06:222010新春纪念徽章
日期:2010-01-04 08:33:08参与WIN7挑战赛纪念
日期:2009-11-06 10:44:24
4#
发表于 2007-6-24 21:41 | 只看该作者
总结的很好啊

使用道具 举报

回复
论坛徽章:
4
会员2007贡献徽章
日期:2007-09-26 18:42:10
5#
发表于 2007-6-24 21:54 | 只看该作者
Ebay的牛人啊。

使用道具 举报

回复
论坛徽章:
226
BLOG每日发帖之星
日期:2010-02-11 01:01:06紫蛋头
日期:2013-01-12 23:45:222013年新春福章
日期:2013-02-25 14:51:24问答徽章
日期:2013-10-17 18:06:40优秀写手
日期:2013-12-18 09:29:10马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上加薪
日期:2014-02-19 11:55:14
6#
发表于 2007-6-24 21:56 | 只看该作者
写的不错,看来是有感而发

使用道具 举报

回复
论坛徽章:
112
2008新春纪念徽章
日期:2008-02-13 12:43:03马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上加薪
日期:2014-02-19 11:55:14马上有车
日期:2014-11-03 12:40:39沸羊羊
日期:2015-03-04 14:43:432015年新春福章
日期:2015-03-06 11:57:31慢羊羊
日期:2015-03-09 16:15:39
7#
发表于 2007-6-24 22:01 | 只看该作者
捎带还做了点小广告!

使用道具 举报

回复
论坛徽章:
59
狮子座
日期:2016-03-26 13:35:402013年新春福章
日期:2013-02-25 14:51:24双黄蛋
日期:2013-02-25 11:06:15ITPUB 11周年纪念徽章
日期:2012-10-09 18:06:20灰彻蛋
日期:2012-04-25 13:19:33紫蛋头
日期:2012-03-14 11:16:09最佳人气徽章
日期:2012-03-13 17:39:18玉石琵琶
日期:2012-02-21 15:04:38鲜花蛋
日期:2011-11-30 14:13:01ITPUB十周年纪念徽章
日期:2011-11-01 16:21:15
8#
发表于 2007-6-24 22:05 | 只看该作者
支持

使用道具 举报

回复
论坛徽章:
27
授权会员
日期:2005-10-30 17:05:33管理团队成员
日期:2011-05-07 01:45:082012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:36优秀写手
日期:2013-12-18 09:29:13马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14
9#
 楼主| 发表于 2007-6-24 22:24 | 只看该作者
最初由 seamanczg1984 发布
[B]对我来说很有用阿,但是楼主你推荐的那3本书怎么没有给出连接阿?
给个连接巴? [/B]


除了practical oracle8i外,另外三本在itpub的
“oracle电子文档”区都有下载的,你自己去找找吧

搜索的过程本身就是一种学习

使用道具 举报

回复
论坛徽章:
27
授权会员
日期:2005-10-30 17:05:33管理团队成员
日期:2011-05-07 01:45:082012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:362012新春纪念徽章
日期:2012-02-13 15:11:36优秀写手
日期:2013-12-18 09:29:13马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14
10#
 楼主| 发表于 2007-6-24 22:31 | 只看该作者
最初由 Toms_zhang 发布
[B]捎带还做了点小广告! [/B]


重点被你发现了

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表