学习Oracle是一个漫长艰辛的过程。如果没有兴趣,只是被迫学习,那么是很难学好的。学习到一定程度的时候,要想进一步提高,就不得不接触很多Oracle之外的东西,如Unix,如网络、存储等。因此,要真的决心学好Oracle,就一定要有兴趣。有了兴趣,就会一切变得简单快乐起来。简单总结一下,那就是:兴趣、学习、实践。
如何入门是许多初学者最头疼的事情。Oracle涉及的方面太多了:SQL、管理、优化、备份恢复……那么从哪开始学好呢?如果在大学期间学过数据库理论,或有一定的数据库基础自然很好;如果没有的话,真的是个大问题。我个人认为还是应该从SQL语句学起。比较好的教材是Oracle OCP认证的《SQL and PL/SQL》。学习SQL的时候,尽可能坚持使用Oracle自带的工具:SQLPLUS。
有了一定的SQL基础后,就要尽可能的了解Oracle的体系结构,这就涉及到了Oracle管理的内容了。我学习的时候,机械工业出版社的《Oracle9i DBA手册》这本书对我的帮助挺大。或许现在都出11g版本的了吧。Oracle公司的《Oracle Concepts》是非常棒的书,对了解Oracle体系结构很有好处。每个Oracle版本都有对应的版本,可以认真多读几次,每次都会有新的收获。
公司的产品现在几乎都采用Oracle了,我们做维护的时候,备份与恢复是不得不接触的内容。数据量少的,比如20、30多个G,还可以考虑用exp/imp来备份与恢复,但数据量大了,这种方法就根本不适合了。于是学习Oracle备份与恢复技术也是必然的事情。大数据量情况下,Oracle建议用RMAN来进行数据的备份与恢复。目前市场上有很多数据库备份恢复软件,其实好多也是后台调用RMAN。清华大学出版社出版的《Oracle 9i RMAN 备份与恢复技术》是一本非常不错的介绍RMAN的书。
有了以上的基础,可以说已经入门了,对遇到的一些初级Oracle问题将不再束手无策。然而我们的学习之路仍然还很漫长。我们的用户可能经常抱怨数据库运行缓慢。这时,如果有一定的优化知识,那就好办了。有时你会看到优化前需要运行几个小时的作业,优化后也许几秒钟就能完成!Oracle9i的性能诊断工具包statspack、Oracle10g/11g的自动工作符合存储库AWR都是调优的好帮手。机械工业出版社出版的《Oracle9i STATSPACK高性能调整》是学习statspack不错的书。
在数据库体系结构、编程优化方面,有一本书非常棒,这就是世界顶级的Oracle专家Thomas Kyte编写的《Oracle9i&10g编程艺术》(英文名为“Expert Oracle Database Architecture”)。Tom以前还写了一本叫做《Expert One-on-One Oracle》的书,也非常的经典。这两本书被很多Oracle学习者视为宝典,如果想在Oracle上深入学习的话,强烈建议认真研读。
掌握了以上内容,或者基本掌握以上内容,那么你在很多人的眼里也是Oracle的高手了,解决公司产品中的数据库问题应该不成问题。不过Oracle还有很多高级内容可以进一步学习。这里列举一些,仅供感兴趣的同仁参考。
1. 高级复制技术
2. Oracle Real Application Cluster (RAC)
3. Data Guard
4. Oracle Stream
5. 数据仓库
6. Proc、OCI编程
以上列举的这些高级内容,参考资料主要是Oracle公司的电子文档。实话实说,上面的列的数据仓库、Proc、OCI编程,我一点也不熟悉。
在学习Oracle过程中,充分利用网络资源可以起到事半功倍的作用。
总之,Oracle最大的问题是复杂,复杂是Oracle的最大魅力。让我们为了驾驭Oracle而共同努力吧!