作者/ Thomas Kyte

这是我在asktom上最经常收到的问题:我需要怎么做才能变成一个专家呢?关于Oracle,有这样的一个关键事物列表吗?这个问题看上去很难,但是答案很简单。

如果你仍然处于乳臭味干的状态(或只比那强一点),那你一定要看的就是《Oracle服务器概念指南》。不单单因为这是免费的,而且这也是帮你理解数据库怎么工作的必经之路。只有当你理解了,才能用到实处。如果你不理解的话,简单点说,你用得就始终不到位。知道事务处理到底是怎么完成的,知道锁定和并发控制是怎么工作的,数据库如何让数据留在盘上(redo, undo管理),这些都是有效使用数据库的关键。

如果你不知道谁在什么时候能看什么版本的数据,这些疑惑会越来越多,而数据会变得不完整。了解数据库是如何管理数据的,是让你知道如何写一段正确程序的唯一方法。

一旦你掌握了这些文件中的内容,我建议你看一看《2天手册》。无论对于开发者还是DBA来说,这是把你的积极性调动起来的好方法而且还能获得必要的知识。这里就可以找到《开发者两天手册》《DBA两天手册》。这些文档是能让你动起来的,虽然读了之后也不会成为专家,但你会知道你需要学习的东西有哪些。你至少会知道从特性方面到底有什么是可用的。

学完这些资料之后(读一个或两个都读),你可能想要继续某些总览指南——《2天性能》对于所有人都是必读的(接下来最终当然是《性能指南》)。

当你进行所有这些阅读的时候,也要记得和尽可能多的别人沟通。上论坛,开始问问题(一定要在读完指南之后!!),开始参与。我就是这么学的。闭门造车什么也学不来。把你脑中所想分享给别人,同时发现其他一起分享的人。你会发现你不光学到(有时也教到)了知识,有时候还能发现真正的好朋友。

假以时日,可能甚至是几年。半年、一年,甚至5年的时间都无法让你擅长做这件事。这需要时间,你需要各种各样的经验,遇到不同的情况,在很多问题上尝试并失败过,你才能做到真正的擅长。可能到了一年的时候,你感觉自己是个专家了,但是相信我,你还不是。再过四年你就会知道你明白的还很少,还有更多的需要学习。

关于Oracle我每天都能学到新的知识,那天我还学到了关于Total Recall的新知识,但其实还有更多,不光是技术上的,而我做Oracle已经很久了。

Thomas Kyte是Oracle公司核心技术集团的副总裁,从Oracle7.0.9版本开始就一直任职于Oracle公司,不过,其实他从5.1.5c版本就开始使用Oracle了。在进入Oracle公司之前,Kyte是一名系统集成人员,主要为美国军方和政府部门的客户构建大规模、异构数据库。Thomas Kyte就是主持Oracle Magazine Ask Tom专栏和Oracle公司同名在线论坛的那个Tom,他通过这一方式热心地回答困扰着Oracle开发人员和DBA的各种问题。