eygle.com   eygle.com
eygle.com eygle
eygle.com  
 

« 恢复8.1.6的数据库 勿忘svrmgrl | Blog首页 | 装修日记-瓷砖我选欧神诺 »

《循序渐进Oracle》一书序言

注:有一些朋友问到一些关于学习Oracle的问题,这其中有些问题是我在《循序渐进Oracle》一书的序言中回答过的,所以在这里将这段文字发布出来,供大家参考。

作一本书如同进行一次旅行,只不过一个是在现实世界,一个是在知识的海洋中。现在完成了整本书的写作,在大家开始阅读之前,是可以全面说一说这本书的时候了。

在2006年,我完成了《深入浅出Oracle》一书,但事实上,那一本书并没有写完,由于篇幅和时间的关系,很多计划好的内容并没有写出来,所以写作的愿望一直都没有停下来。于是,在新的一年内,我开始规划一本全新的书。

在《深入浅出Oracle》一书的序言中我曾经写道,开始的初衷是写一本入门的书给初学者看,可在写作过程中,那本书渐渐脱离了这个初衷,也有很多读者反映深入浅出的难度过大,于是一个循序渐进、由浅入深的构想慢慢浮现。

2007年4月在Oracle University演讲的时候,一个朋友曾经问到:既然你反复强调备份恢复的重要,为什么在《深入浅出Oracle》一书中却没有包含备份恢复的内容呢?
我当时的回答是,这些内容被包含在了我的新书《循序渐进Oracle》中。

这本书中有两个章节是和备份恢复相关的,分别是第七章《备份与恢复》和第八章《Oracle的闪回特性》。备份和恢复对于DBA来说重要性是第一位的,在这本书中也是一个重点,这七章中提供了很多可以实践的脚本和技巧,更对备份恢复的原理进行了探讨,这些探讨是从实践出发的,也希望其实践价值能够得到读者的认同;从Oracle9i到Oracle10g,Oracle一直在加强闪回特性的功能,而这一强大的新特性已经成功的简化了无数DBA的工作,《Oracle的闪回特性》就是针对这样内容的探索与阐释,这一章中不但介绍了闪回特性的用法与实践,还介绍了这一系列特性实现的内部机制与原理,希望这些能够有助于加强大家对于这些特性的理解与应用。

这本书的第十章也是被朋友们不断问及的,这一章的题目是《从Statspack到ADDM》。Statspack是Oracle10g以前最为广泛使用的Oracle性能诊断工具,我以前曾经写过一个系列文章介绍这个工具的使用,那篇文档在网络上广为流传。曾经有朋友在MSN上向我咨询文中的图表内容,他说"电信客户要我们按照你的STATSPACK文档来做报告",我听后深感欣慰,毕竟这些证明了我的劳动得到了认同;在那份文档之后,我曾经计划撰写一篇关于Statspack报告的分析文章,但是只公布了部分内容,其余的一直没有完成,也经常有朋友问我,什么时候能完成这部分的内容。

而说实话,我曾经一度放弃了对这一章内容的补充,因为Statspack这一工具在Oracle10g中完全可以被AWR等工具所替代,而构建于AWR之上的ADDM等特性更是极其智能与易用的。直到动笔写作这本书以后,开始重新审视这一章的内容,我忽然发现,如果跳出工具的范畴,忘掉Statspack或AWR,那么所有数据库的性能分析必然着眼于统计数据以及性能视图,从这个角度上开始的分析将具有持久以及跨越数据库版本的价值,于是这一章几乎被重新写作了。
那么对于这全新的一章,我也希望大家能够看到工具背后的意义,跨越表象理解本质,这将更加有助于大家的学习与提高。

第三章《Oracle的字符集》也是从之前的一篇文章改写而来,最初的文章写作于2004年,在这几年中,很多朋友不断提出了很多相关的问题,这促使我不断去回顾和补充这一篇文章,进而更加完善了相关内容,现在的这一章比原来的内容深入完善了很多,通过更本质的内容直观的分析了很多常见的问题,诸如"靠"自乱码问题、自定义字符、字符集文件的使用及作用等,通过这些新的补充,不仅原有的内容将变得更加容易理解,而且将更具有实际的参考意义。

这本书的最后一章是《故障诊断及分析方法》,这一章的内容最初曾经以《在数据库故障处理中引入故障树分析(FTA)的探索》为题,在2006年举行的"中国首届杰出数据库工程师评选"中作为终审论文进行答辩。这一章的内容可以被看作是一点方法论的探讨,我遇到过很多朋友向我提问说:虽然学到了很多知识,自己觉得技术水平上也有所提高,可是真正到诊断问题、处理故障的时候还是会觉得无从下手,甚至手足无措。这是什么原因导致的呢?这类情况的根源又何在呢?

经过思考,我认为这类问题的主要原因在于解决问题时缺乏一个明晰的思路和方法,这就好比空有满屋子的装备,但是不知道怎样配备到自己身上。如果我们能够找到一种行之有效的方法,将所有的知识装配成一个既有的知识体系,那么在处理实际问题时必将无往而不利。

这一章就是想解决这样一个问题,希望通过方法的讨论使大家能够形成一个稳定的解决问题的思路和方法,并且按照这个思路和方法将我们所学的知识整理武装起来,这样在面对困难时就能够快速地找到一条发现和解决问题之路。

在这篇文章的讨论过程中,曾经有专家问过我这样的问题:你这种方法只是一个理论的设想,还是在实际中能够有所应用?
我当时的回答是:实际上我在故障处理中一直是按这样一个思路在处理,后来当我思考怎样将思路转化为方法更容易为大家所学习借鉴时,发现了故障树分析法;我发现故障树分析法就正是我一贯的思维方式,两者契合得如此之好,所以我才将这种方法总结出来供大家参考。

这种方法来自于我在实践中的应用和总结,对我有效,也希望同样能够对大家有效。

当然,写作这本书还有一个更大的目的
我经常会遇到很多朋友向我提出类似的问题,那就是当一个初学者开始入门时,面对浩如烟海的Oracle文档与知识库,应该选择怎样的学习路径呢?
一个DBA又应该具备哪些基础知识和必备技能以达到初步胜任的目的?

我曾经经历过自我成长的艰难学习过程,也曾经担负过在短时间内培养过胜任DBA的职责,更有过多次大规模课堂培训的经验,所以我希望将这些经历以及经验总结出来,将我认为最重要的DBA必备的知识技能贯穿在一起,由浅入深、循序渐进的展现给读者,为其他的入门者指出一条学习之路。
这本书最重要的目的正在于此。

《深入浅出Oracle》出版一年以来,我收到了很多热心读者的反馈及建议。其中反映最为普遍的内容有两个,第一是Windows平台的相关内容太少,很多读者朋友使用的是Windows的测试、学习环境;第二是内容难度偏深

对于第一个问题我想说的是,虽然Windows是最为广泛使用的个人操作系统平台,但是作为企业数据库应用,Windows远远没有Linux/Unix使用的广泛,所以即使作为测试学习,我也希望我们的测试环境至少运行在Linux下。如果你真的希望所学的知识具有更广泛的应用,那么请尝试使用Linux平台;当然除了操作系统的一些命令差异外,进入数据库内部,不同平台的操作本质上并没有什么不同。回想起自己当初在一个4G硬盘的机器上折腾Windows和Linux两种操作系统的情形还历历在目,而那些尝试和学习对于自己的帮助的确是非常之大。
当然以上只是建议而已,本书中还是增加了很多Windows平台上的内容,希望这些变化能够使得更广泛的读者更容易的阅读本书的内容。

对于第二个问题,难度和一本书的定位和内容有关,我得承认上一本书的部分内容确实太关注于数据库的内部原理,这虽然使得读者更容易接近数据库的本质,但是其实用性难免降低,现在回顾那本书,如果再写一次,有些内容我必定不会再写入。对于一个作者,怎样选择对读者最有价值的内容、怎样控制行文的深度实在是一个难题。在这一本书中,我在这个方向上进行了更多的尝试,当然很多内容依然是极其深入的,但是这些深入更注重实效,也更加简练,而更多的深入探索体现在由点及面、由浅入深的拓展上,第一章《创建Oracle数据库》就是这样探索的一个代表,从数据库创建到数据库克隆,从传输表空间到跨平台迁移,我试图将大家的视野扩展到更广阔的领域。希望这些尝试是成功并且有益的。

经常有朋友会问我,我的新书是针对哪一个数据库版本来讲解的?
读过深入浅出一书的读者们可能会知道,我的写作一直都不是针对特定的版本进行的,也只有针对原理、功能的研究才能使自己所学到的知识具有长久的生命力,所以一直以来我的书都是跨越版本在进行讲解,将数据库技术在不同版本中的来龙去脉介绍清楚,从而使得读者能够了解Oracle的前世今生。
在这本书中,你可以看到很多技术在不同版本中的演进,以及这些演进所带来的性能或易用性上的提高。当然Oracle10g中的很多全新的特性在本书中都有详细的介绍,这也是本书的重点。

最后我还想说明的是,浅尝辄止的学习是无益的,随着Oracle市场份额的扩大和Oracle从业人员的增加,企业对于DBA的要求也越来越高,这是挑战也是机遇。真正能够下功夫来深入钻研的人必然可以获得更多的机会与机遇,而流于表面的学习往往无法满足企业的严格要求与竞争需要。所以,多一点的学习与积累从来都不会是一件坏事。这也正是本书写作过程中不断由点及面进行知识扩展的一个原因所在。

当然一本书是否有用,还要依赖读者的评判。我要感谢我的读者们在我的写作过程中对于本书的关注与支持,我还要感谢ITPUB(www.itpub.net)上的很多朋友,他们的建议、讨论与指正使得本书的很多章节趋于完善,在我的Oracle生涯中,ITPUB一直是我学习与进步的源泉。此外,由于作者的知识以及经验所限,书中存在错谬之处在所难免,在此诚挚的期待大家阅读后的指正。

最后的最后,我要感谢我的太太和即将出世的Baby,他们是上天对我最好的恩赐。

Eygle 2007-6-19 于北京


历史上的今天...
    >> 2011-10-29文章:
    >> 2010-10-29文章:
    >> 2008-10-29文章:
    >> 2006-10-29文章:
           游览的勇气 香山归来记
           香山赏红叶 北京秋意浓
    >> 2005-10-29文章:

无觅

By eygle on 2007-10-29 11:43 | Comments (4) | Books | 1649 |

4 Comments

哈哈
我个人觉得最好的学习方法是去构造一个生产环境
在生产环境中才能感受得到数据的重要性
我这二天就经历了
不过是SQLSERVER2000
数据不多


实践的经验当然是宝贵的:)

呵呵,我看这本书不打折哦,要到当当网买去

网上书店都有折扣的。


CopyRight © 2004~2020 云和恩墨,成就未来!, All rights reserved.
数据恢复·紧急救援·性能优化 云和恩墨 24x7 热线电话:400-600-8755 业务咨询:010-59007017-7040 or 7037 业务合作: marketing@enmotech.com