WEB开发网
开发学院数据库Oracle 做Oracle的和作茶叶蛋的没有本质的区别 阅读

做Oracle的和作茶叶蛋的没有本质的区别

 2007-08-15 12:38:36 来源:WEB开发网   
核心提示: 就这样,我清楚DBWR,LGWR,CPKT,semphare,Latch,做Oracle的和作茶叶蛋的没有本质的区别(3),DB BUFFER、Log Buffer、log file、data file、Control file、lock是如何精确协作的,block里面是什么结构,也许每个

就这样,我清楚DBWR,LGWR,CPKT,semphare,Latch,DB BUFFER、Log Buffer、log file、data file、Control file、lock是如何精确协作的,block里面是什么结构,事务如何实现,各种等待事件什么会发生。

结果直到去年8月的一天,突然要和公司的同事一起去为一家单位做异地容灾方案,各种原理我都清楚,只是用的oracle 8.0.5和HP-UX 11i的组合,硬件是吓人的hp superdome。oracle 8.0.5版本我没有用过,虽然整个过程很顺利,我还以为oracle 8.0.5还要用x window来图形安装,像个笑话。开始苦苦实践,身经百战才能够所向披靡。

接着我像很多人一样,分析了Oracle物理实现方面的问题,特别是control file,data file,log file,各种文件的结构和关系,加上原来的不少经验,备份与恢复方面的各个概念和内容、为什么要这样做,很easy。这是我的又一次提升。

更接着我从Oracle体会到了Hash算法、B+树、List的作用和实现,如何实现高速查找的,虽然书本上早就看过。这个时候我也明白了Oracle是如何解析和执行SQL语句的,于是虽然我还看执行计划,还看执行计划所化的IO代价和CPU代价,但是和过去的感觉已经不可同日而语了,这又是一次提升。

又是在去年那段时间,我看了scaling oracle 8i这本书,明白了硬件结构上很多东西,加上这两天明白了Linux内核是如何实现的,特别是如何调度进程、如何实现semphare,latch,lock、如何测量CPU和IO性能。以前所不能够理解的东西,如java和weblogic调优方面,一下子明白了很多,我觉得这是我从事IT行业技术上的最大提升。

这段时间我一直在想,Oracle就像一个公司(说国家这句话可能有点大了)一样,你要规划公司的运作和发展方向,你要预防不可预料的事情发生,你要评估公司的运作效率,改进公司的工作流程和方法。持续改进,才是适应形势的发展。但是你永远也不可作最精确的评估公司的运行效率(也没有意义),假如公司被整理井井有条,做什么事都是严格按照所谓科学的东西来做,那么公司很可能就会出问题,有时候出点乱子才是活力的象征。Oracle何尝不是如此。运作一件事情其实也是工程,很多东西需要平衡和折衷。

更有一个滑稽的念头冒了出来,做Oracle的,和作茶叶蛋的,其实也没有本质的区别。只不过做Oracle的门槛高了一点而已。都是在前人和自己经验的基础上,进行不断升华和总结(参考Oracle公司发展史,今天我们以为很基本的功能如事务、表锁定、行锁定直到ops,rac,data guard都是很多年来一点一点实现和挖掘出来的,一边抽象、一边挖掘)。做好茶叶蛋也需要很多工夫细微观察和总结的,也可以发财的。不知道这个算不算提升。

大繁至简,很多不同的领域也许是有相通之处的,也许可以简单用几句话来表达出来。虽然我有些关于方法方面的观点没有说,看过这篇文章,也许每个都有自己的观点,每个人经历不同,感受和体会就不同。

上一页  1 2 3 

Tags:Oracle 茶叶蛋 没有

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接