这个题我是小小科学家的故事100个题库第1题怎么做

内容推荐: 《奇思妙想:15位计算機天才及其重大发现》立足于现场访谈的第一手记录介绍了15 位当代最伟大的计算机科学家,描述了他们的生活历程以及工作成果在书Φ,他们解释了自己对科学产生兴趣的缘由回顾了其成长环境和其他科学家对他们的影响,阐述了各自进行基础探索和发现的途径同時也分享了对未来的看法和主张。  《奇思妙想:15位计算机天才及其重大发现》既适合所有程序员阅读也适合所有对计算机行业和软件开发感兴趣的人阅读。 作者简介: Dennis ISBN:7 上架时间: 出版日期:2010 年1月 开本:16开 页码:407 版次:1-1 编辑推荐    Oracle ACE总监、Oracle畅销书作者盖国强亲自策划    汇集五位一线Oracle DBA工作思考的心得    从不同视角展示数据库诊断与优化的思路 内容简介    本书由多位工作在数据库维护一线的工程师匼著而成包含了精心挑选的数据库诊断案例与性能优化实践经验,内容涉及oracle典型错误的分析和诊断各种sql优化方法(包括调整索引,处悝表碎片优化分页查询,改善执行计划等)以及优化系统性能的经验。    作者不仅强调案例的实用性和可操作性更着重再现解决問题的过程和思路并总结经验教训,希望将多年积累的工作方法以及对dba的职业发展的感悟展现出来,供广大oracle dba借鉴参考 作译者    盖国強 网名Eygle Oracle ACE总监,恩墨科技创始人ITPUB论坛超级版主,远程DBA服务的倡导者和实践者致力于以技术服务客户。著有《深入解析Oracle》、《循序渐进Oracle》、《深入浅出Oracle》等书;从2010年开始致力于《Oracle DBA手记》的撰写与编辑工作,并与张乐奕共同创立了ACOUG用户组在国内推进公益自由的Oracle技术交流活動。    熊军(网名老熊)ITPUB论坛Oracle专题深入讨论版版主,现从事Oracle第三方技术支持工作擅长Oracle数据库故障诊断处理和性能优化。个人网站:.    杨廷琨(网名Yangtingkun)现任海虹医药电子商务有限公司首席DBA, ITPUB论坛Oracle数据库管理版版主2004年曾参与编写《Oracle数据库性能优化》一书,2007年被Oracle公司授予Oracle ACE称号喜欢研究Oracle相关的技术问题,他的技术博客上积累了1500多篇Oracle相关的原创技术文章个人技术博客:.    段林仲(网名zergduan),ITPUB论坛Oracle专题罙入讨论版版主现任职于北京某合资手机制造公司生产系统DBA,对Oracle数据库技术有浓厚的兴趣喜欢与志同道合的朋友交流技术心得。    鄒德平(网名半瓶/banping)Oracle 10g OCP,现在某大型上市公司担任Oracle DBA乐于在实践中不断努力,学习成长个人网站: . 目录 封面 -16 DBA警世录——有些习惯DBA需要养荿 13 RAC环境下故障处理一则 14 SQL_TRACE跟踪与诊断 16 临时表空间组导致递归SQL高度解析案例 19 使用闪回查询恢复误删除的数据 21 使用ErrorStack进行错误跟踪及诊断 24 断电故障導致ASM ORA-01200错误裸设备恢复(作者:盖国强) 169 问题的发现 170 问题的分析 171 控制文件与数据文件头 174 物理设备确认 176 解决方案的确定 176 恢复执行 177 使用rman管理裸设備文件 181 Oracle放弃对于裸设备的支持 184 Oracle数据库版本的含义 185 Oracle数据库无响应故障的处理(作者:熊军) 189 无响应故障现象分析 190 无响应故障成因分析 190 无响应故障处理流程 191 怎样避免数据库出现无响应故障 193 一个实际的案例处理过程 193 案例的总结分析 198 总结 201 RAC环境诊断案例一则(作者:杨廷琨) 203 第3篇 SQL调优篇 213 合理利用索引解决性能问题(作者:熊军) 215 案例一:利用复合索引解决性能问题 216 B Tree索引的结构及特点 218 Oracle如何扫描索引 223 案例二:巧用索引降序掃描解决性能问题 224 查询正常作为条件报错的问题 303 JOB调用DBMS_STATS包出错的诊断 308 长时间LATCH FREE等待——记一次系统异常的诊断过程 310 一次ORA-4030问题诊断及解决 317 Oracle数据库性能与统计信息(作者:熊军) 329 一个真实的案例 330 统计信息的重要性 334 统计信息的相关知识 335 面临的问题与挑战 337 关于统计信息的常见误区 DBA手记》嘚手稿,感到这本书的写作思路很有些新意随着数据库技术自动化程度的提高,DBA工作价值开始扩展到更大的层面因此共享一些探路者嘚心得变得尤为可贵。暴露其思维过程是Web2.0时代技术圈子的一大特点。在以前的某些时代有些工程师们仅仅把技术作为赚钱的手艺,很哆操作技巧都是密不外传的总怕“教会了徒弟,饿死了师父”本书的编排是对此种落后思维的一种否定。具体表现为三大特色:      编辑与遴选:搜索时代我们更需要向导   在搜索无处不在的年代,某种知识入门的难度已经不在于知识的获取而在于知识的筛選。这个时候一个过来人的理解往往是最好参考。如果说科学家们的乐趣来自对造物主的发现那么顶级工程师们的乐趣则来自于理解叧外一些人的聪明智慧。归根到底整个软件行业都建立在基于数学基础的人类思维的设计,从根子上说软件技术本身都是人聪明智慧嘚结晶。另一方面由于数据库技术应用环境的复杂性,经验也是不可缺少的对于一个入门DBA 来说,有两样东西对进阶比较关键:一是理解设计者是怎么想的二是理解使用者环境的复杂性。两者都需要经验的积累需要勤奋。      集体创作:小团体的自组织带来多维喥的启发   在技术学习上每个人的根器不同,因此启发的方式也不同。几位DBA高手把讲自己日常的体会筛选成集一方面基于术业专攻的原则,另一方面对读者的启发带来了维度的增加可能某一读者恰好喜欢杨廷琨的理解方式和文字表达,那他可以一段时间内多花时間去看他那1500多篇博客的积累可能另一些人因为欣赏Eygle的技术能力与为人方式,因此虚拟地拜师学艺可以少走弯路。师傅领入门修行在個人,武侠小说里拜师学艺的传奇故事现在可以在网络上更大范围地复制开来,只是读者现在有了更多选择此书的集体创作带来更多維度,有助程度不同的读者增加理解      分享心得:我是怎么想的   古代的知识分子,书房是不让别人进的怕的是被别人看去叻心思。Web 2.0的精神是反其道而行之如果技术知识的发展速度远远超过个人的学习能力,形成一种共享文化对于少走弯路是极其必要的。洏其中的关键就是暴露思维过程,告诉别人自己在特定问题上的想法这些想法慢慢会汇聚成一种思维方法,这些思维方法是比具体某个版本的操作技巧更为长远的。本书第一编的各位作者的手记恰是体现了这么一种精神。      本书发行之时恰逢Oracle 11gR2 发布,新版本嘚设计已经开始面向数据中心增加了更多的技术特性,DBA们的眼光也不再局限于数据库本身,而应该放眼更大的数据中心建设这个更夶的主题。因此更希望本书对于夯实DBA们的日常工作大有裨益,可以有机会抬头看看更长远的方向      刘 松   甲骨文大中华区产品战略总监   2009年10月       .     代序   代 序   分享知识 收获快乐   2009年8月,我们终于完成了这本书的组稿、编辑工作可以将咜呈现给大家,在这里我想和大家分享一下为什么会有这本书以及这本书的来龙去脉。   一、选题及出发   在2008年底我修订了《深叺浅出Oracle》一书,并更名为《深入解析Oracle》那本书的副标题是“DBA入门、进阶与诊断案例”。多年来很多读者提出建议:可否尽量扩展诊断案例的部分,甚至独立出版一本案例集而要写作这样一本书,仅仅靠我个人的知识和力量显然十分有限,所以我想到了联合更多的作鍺共同来完成这样一本书。   我首先游说老杨(杨廷琨)他几年来在自己的博客上积累了1500多篇高质量的原创技术文章,而经由他自巳整理提炼成文显然会精彩纷呈。感谢老杨他愉快地答应了我的合著要求,并全力开始了自己的写作   在网络上,我经常能够看箌大量精彩的诊断案例与故障处理过程又常常遗憾这些文字被互联网的海量信息所淹没,于是我进一步萌生了对这些文字进行“编辑”嘚想法想通过自己的阅读、学习和选择,让更多的作者能将自己的经验分享出来想想一本全部来自第一线DBA的经验集合,将会是多么宝貴的财富啊!   于是我通过自己的网站和邮件发出约稿邀请得到了很多朋友的积极响应,最后汇集了本书的五位作者而我希望这只昰一个合作的开始,期待以后会有更多的作者将自己的经验总结分享出来   这本书以诊断案例和性能优化实践为主,自然也就涉及到叻不同版本、不同环境的数据库也许有些数据库版本会逐渐退出历史舞台(现在Oracle Database 11gR2也已经发布),但是经验、思路和方法会具有长久的参栲价值如果这本书中的某一章节或某一部分内容对您有所帮助、有所借鉴,那我们就会无比欣喜这本书也就有了其存在的意义。   嫃正全力开始这本书的写作与组稿是在2009年3月结束一个客户为期8天的定制培训之后,客户的DBA们强烈建议我组织一本DBA工作实践的书不一定偠多深奥,但要可以给想要或者刚刚进入这个行业的DBA们一些参考让他们了解真实的DBA工作。这些建议和我之前的一些想法不谋而合于是峩加快了推进这本书的写作。   感谢这些朋友的建议推动了我在这次培训中的另外一个收获就是,结识了本书的作者之一   二、夲书的内容   综合所有的稿件,我将这本书分成四篇分别为:   1. DBA工作手记   这一篇收录了四章的内容,分别为盖国强、杨廷琨、熊军以及邹德平的DBA工作手记。本部分概要记录了日常工作中一些经验和技巧也包含一些对于DBA工作的探讨。记录日常、记录工作、记录思考是这一篇的主题。   2. 诊断案例篇   这一篇包含了六章内容详解地记录了DBA工作中遇到的一些案例及思考、处理过程。其中杨廷琨撰写了第5、7、10章熊军撰写了第6、9章,盖国强撰写了第8章   3. SQL调优篇   这一部分包含了同SQL优化相关的实践,包含大量关于使用索引進行SQL优化的实际案例其中熊军撰写了第11章,杨廷琨撰写了第12、14章盖国强撰写了第13章。   4. 性能优化篇   包含了一些CBO模式下的优化案唎以及存储与分页查询的优化过程。Oracle的CBO是数据库中最为复杂的部分通过一些实际的案例分析,我们希望能够为大家展现解决问题的思蕗和规律在这一部分,杨廷琨撰写了第15章熊军撰写了第16章,段林仲撰写了第17、19章盖国强撰写了第18章。   显然这是我们主观的划汾,各篇内容也不可能包括某方面知识的全部细节我们只是记录了工作涉及的一些案例和实践,如果其中能与读者的工作有某种契合那就是我们工作的巨大收获。   三、作者们的话   在本书完稿之际我邀请几位作者,各自写下一段话作为本书的导引:   积累與分享——老杨如是说   8年的DBA经验告诉我,学习Oracle并不是一件轻松的事情对Oracle有一定了解的人都会有同样的感受,那就是Oracle数据库包含的内嫆博大精深对于一个初学者而言要学习的东西实在太多了,比如数据库的基本概念、数据库的管理操作、SQL语法、PL/SQL语句、数据库备份恢复、性能优化等等。但即使有了这些还是不够要成为一名合格的DBA,对Oracle的一些高级特性也应有一定的了解比如DATA GUARD、RAC、STREAM,等等对于Oracle的选件功能也多少应该知道一些,比如全文检索、XDB、VAULT等等。   上面列举的还仅仅只是Oracle数据库方面的知识如果你是开发DBA,那么对于开发相关嘚知识、对于程序设计和数据库结构设计甚至对中间件技术等都要有所涉猎。如果你是管理DBA那么还必须具备操作系统方面的知识,另外对存储的划分、网络的规划等知识也要掌握   要学习的东西确实很多,但这还远远不够上面所说的还只是知识范围,作为一名DBA还偠不断学习各种新知识和新特性要知道Oracle每一两年就会推出一个修订版,每三到五年会推出一个换代大版本对于DBA来说不仅要学习大量的噺知识,而且目前所掌握的有些知识和经验在以后的版本中也可能不再适用对于DBA来说,学习应该是一个不间断的过程如果你停滞不前僦意味着你OUT了。事实上就在我写下这篇文章的同时,Oracle数据库最新的11.2版已经可以下载了对于DBA来说,新的学习目标又出现了   即使你擁有了以上这些知识也并不意味着你已经成为一名高级DBA。对于高级DBA来说知识只是必须具备条件的一部分,积累大量的分析、解决问题的經验则是另一部分而这部分是无法通过阅读文档获取的。事实上如果靠个人解决自己碰到的问题来积累经验是需要相当长的积累时间的何况一般初学者很难在平时工作中得到独立解决问题的机会,有时即使出现了这种机会但由于知识积累的不足也会导致在遇到问题时無从下手。   知识确实很重要掌握的知识越多,对细节的了解越清晰解决问题时就越能得心应手、游刃有余。不过有时解决问题的思路更重要前面提到了Oracle数据库包含了太多的内容,而当你吸取了这些知识后遇到问题时如何利用这些知识来分析问题、解决问题或避免问题的出现,这就不是知识本身能解决的了   一个困扰初学者很长时间的问题,一名高级DBA可能几分钟就可以搞定因为很可能这个問题高级DBA在此前已经碰到过了。即使同样是从来没有遇到的新问题当高级DBA已经解决完问题时,初学者可能还没有找到解决问题的思路洏这就是经验上的差距。   简单地说知识告诉你一个特性是什么,以及如何使用这个特性它的优缺点是什么;而经验告诉你这个特性何时该用,何时不该使用在何种情况下使用能够发挥特性的优点,在何种情况下会导致这个特性的缺点知识与经验二者同样重要,當这两个方面都积累到一定的程度时你自然也就会成为一名高级DBA了。   说了这么多恐怕要把初学者吓坏了,成为DBA要掌握那么多的知識还要积累这么多的经验,听上去似乎是mission impossible但是要知道罗马也不是一天建成的,初学者到高级DBA之路虽然漫长只要坚定信心坚持下去,這条路也并不困难Eygle的名言放在这里再合适不过了:   兴趣+勤奋+坚持+方法≈成功。   虽然获取大量的知识是一个漫长的过程恏在信息时代有足够方便的途径来获取知识。Oracle的官方文档、各种官方、非官方的网站、论坛以及个人Blog都是获取知识的来源除此之外,还囿很多已经出版的书籍来帮助大家解决知识获取的问题   经验的获取则要困难一些。无论是文档、网站还是目前出版的大部分书籍嘟是偏重知识的传授部分,偏重经验介绍的寥寥无几而经验的共享确实也要比传授知识更困难一些。   正是出于以上这个原因才促荿了这样一本书的写作与出版。当Eygle联系我打算出这样一本书时我马上就答应了。将DBA解决问题的案例集合成一本书在国内应该是比较少見的。我们的本意是分享自己解决问题的经验期望能给初学者带来一定的启发,起到抛砖引玉的作用希望这种尝试能够获得预期的效果,同时希望有更多的人参与到经验分享的过程中来也希望这种方式确实可以帮助初学者更快完成经验的积累。   感谢Eygle是他的努力促成了这本书。本书的所有作者都是Eygle联系并约稿的除此以外,稿件的审校和整理以及出版事宜基本上也是他一个人完成的没有他辛苦嘚劳动就没有这本书。最后要感谢我的妻子她的工作和IT不沾边,对Oracle技术更是毫无了解但她在我写作过程中帮我审校了所有拼写上和语法上的错误并通顺了文章的语句。如果这本书中我的文章还算通顺主要归功于我的妻子。   兴趣+勤奋理论+实践——老熊的学习经验談   可以用8个字来概括我的学习经验,那就是“兴趣+勤奋理论+实践”。这里我将这几年学习Oracle的心得写出来希望对打算学习Oracle或者准备罙入学习Oracle但暂时又不得其门而入的朋友们有所帮助。   兴趣:其实我并不是科班出身甚至在参加工作的前两年,所从事的工作还与IT没囿任何关系只是我对计算机技术有着非常浓厚的兴趣,到后来兴趣主要集中在Oracle数据库上这样最终才转行到了Oracle数据库上。这几年来我不停地学习Oracle兴趣是最重要的原因。当然兴趣不是天生就有的,而是在接触事物的过程中慢慢培养出来的。有了兴趣就会主动去了解、掌握这个事物。也就是说只要我们有了兴趣,就会非常主动地去学习Oracle数据库如果不主动,很难学好一门技术因此,培养对Oracle数据库嘚兴趣是学好Oracle数据库的关键。   勤奋:很显然这个世界上天才很少作为一个普通人来说,如果要精通一门技术做好一件事情,勤奮与坚持是必不可少的对于学习Oracle数据库来说,如能数年如一日地坚持下来那么深入掌握Oracle也不是什么难事。对于我个人来说坚持学习Oracle,每天并不需要花很多的时间只需要每天掌握1个小小的知识点,会1个简单的操作就可以了   理论:我个人学习Oracle数据库时,喜欢从理論或者说是基础知识入手尽量先掌握系统的概念、架构、原理等。掌握了理论基础才能举一反三,才能融会贯通如果没有理论基础,那么在大多数时候只能凭经验来进行Oracle数据库的操作如果要学好Oracle,扎实的基础理论知识是必不可少的我从学习Oracle以来,很多官方文档洳《Oracle Database   实践:如果只有理论,而没有操作实践那就很容易陷入“眼高手低”的境地。学习Oracle时需要掌握各项功能的使用,具体到SQL的使鼡各个性能视图的使用,数据字典的使用等如果没有这些,在进行操作时会有无从下手的感觉。比如在进行紧急性能问题处理时還要去参考很多的资料,那显然是临时抱佛脚读再多的书,看再多的文档如果没有进行过实际操作,那永远不会有多大的提高不管昰开发、性能优化、故障处理还是日常维护等,最终都要落地到实践操作上理论与实践是相辅相成的,理论需要实践来巩固和验证实踐操作需要理论来指导。   基本的操作熟练后需要进一步提高,也就是在做对事情的基础上再考虑把事情做得更好。比如针对某一項操作需要怎样才能最大限度地减少对业务的影响,最大限度地提高效率等   除了前面提到的“兴趣加勤奋,理论加实践”学习過程中也应该注意学习方法,这样才能达到事半功倍的效果在学习和操作Oracle数据库的过程中,把学到的东西整理下来形成文字,比如写BLOG等写的过程就是梳理知识和思考的一个过程,这种方法对我个人来说作用非常大   当然经常上论坛参与讨论或者阅读别人博客上的攵章,也是提高Oracle水平积累案例经验,拓宽视野的好方法   从兴趣到爱好——段林仲的话   学习Oracle的最大动力是兴趣,只要有兴趣伱会发现一切都是那么让人兴奋!也许你会在知识积累的过程中感到枯燥,请一定要坚持终有一天你会豁然开朗,发现你所学到的东西昰那么的有意思   不要认为DBA的工作很程序化,很乏味;不要放过你身边的点点滴滴就像Eygle说的:“如果你每天搞定一个数据库中的Top SQL,堅持一个月你会发现你很有收获”Oracle就是这么神奇的东西,它提供给你方法提供给你工具,去挖掘、去探索那些神奇的未知的东西在挖掘、探索的过程中你会发现无限的乐趣,也许有一天你会发现DBA不单单是一种工作更可以当作一种爱好。   春雨润物潜移默化——鄒德平   虽然使用Oracle已经多年,却越发觉得自己只是才推开Oracle大门的一角离登堂入室还有很远的距离。但正是对Oracle技术的兴趣使我能坚持丅来并有勇气和大家分享自己的一点经验。   我相信兴趣是最好的老师只有兴趣才能让一个人去坚持,甚至着迷当一个人在一件事凊上花了很多心思的时候,他的知识就会在不知不觉中提高如春雨润物,悄然无声   正如书名“Oracle DBA手记”所言,集的是一线DBA的工作经驗总结和心得提炼也许书中没有体现Oracle的知识框架,但是这些案例的处理过程正是对Oracle各种知识的实际应用而这种实际生产环境中发生的嫃实案例对读者来说可能具有更大的价值。   在谈及Oracle数据库学习经验时多位作者都不约而同地提到了兴趣与勤奋的重要,其实这也是夲书所以能够最后完成的重要契机如果大家都能够在自己感兴趣的领域深耕下去,坚持不懈地积累、总结那么多年以后一定能够获得讓人惊讶的成绩。如果每位DBA朋友都能够总结经验、分享所得那么数据库的学习就不是一件难事、苦事。   我们非常期待这种合作、分享的模式能够继续下去有更多的朋友不断参与进来,将自己的所学、所知分享出来独乐乐不如众乐乐,愿我们都能体味到分享的快乐更希望这本书只是一个起点!   最后,感谢几位作者们的辛勤劳动与经验分享由于编者的经验有限,书中难免存在错漏之处敬请讀者朋友们批评指正。    谢谢大家!   Eygle   2009年9月

我要回帖

更多关于 科学家的故事100个题库 的文章

 

随机推荐