昨天我发了一篇关于如何学习PG数据库的文章,没想到阅读量还挺高,这是不是说明PG很入DBA们的法眼?昨天令我十分高兴的是有几个朋友让我写一篇关于如何学习Oracle的文章。在目前的大形势下,还有不少朋友准备学习Oracle,这是一个十分积极的信号。Oracle这样优秀的数据库产品,怎么能随便抛弃。
数年前的数据库嘉年华上我做过一个关于DBA成长之路的分享,PPT还在,我想找个时间可以写一篇文章。今天时间关系我只是简单的聊几点建议。
学习Oracle当然要从安装一套Oracle学起,现在很多DBA都在吐槽国产数据库安装的繁琐,可能他们已经忘了第一次安装Oracle时的痛苦经历了吧,特别是安装Oracle RAC。如果有条件,建议初学者找到适当的环境安装一套Oracle RAC,没有集中式存储环境的朋友也不用怕,只要你有一台内存、磁盘容量都比较大的台式机,使用虚拟机你也能模拟出一套RAC环境来。
安装RAC的时候,你一定不能从网上找一篇攻略就开干,最好是学习Oracle官方的安装手册后,自己写出一个安装步骤来。当然如果你在虚拟机上安装RAC,可以参考一下网上的相关攻略。这个过程中不要怕麻烦,不要怕出问题,你要注意,你是在学习Oracle RAC的安装,而不是仅仅完成Oracle RAC的安装。这个过程中你遇到的问题越多,你的收获也将越大。如果你照着网上的攻略十分顺利地完成了这个工作,那么你只是干了一个活,并没有达到学习的目的。
完成安装后,你可以尝试用swingbench、SLOB、benchmarkSQL等压测工具给你的RAC加加压。swingbench是Oracle 英国公司开发的一个免费的Oracle专用压测工具,SLOB是一个压Oracle IO性能的工具。
接下来你可以开始看文档学习Oracle了。入门的书籍国内有不少朋友写过,你可以直接到京东上去去查找,这方面我的经验也不多,我是完全依靠Oracle官方文档学习Oracle的。因此我也十分推荐你学习Oracle官方文档。其实不仅仅是Oracle ,很多数据库的入门官方文档都相当不错。https://docs.oracle.com/en/database/oracle/oracle-database/23/index.html 是Oracle23C入门手册的文档入口,大家有兴趣可以去下载。按照入门手册,我们可以学习到Oracle的一些基本操作。
如果你以前有运维其他数据库的经验。完成入门后就需要去学习一些Oracle的基础概念了 。如果你真正想成为一个Oracle数据库的高手,我十分建议你多阅读一本官方手册《Oracle Concepts》,这本书400多页,不过内容读起来有点费劲,但是如果你有毅力看完,今后肯定会经常来翻阅这本书,寻找一些复杂问题的答案的。20年前一些年轻人跟我学Oracle的时候,我都是推荐这本书的。这本书的10g版本网上是能找到中文版的,当时一批Oracle DBA觉得这本书十分有价值,合作完成了翻译工作。
Oracle的OCP教材也是学习Oracle基本概念的十分好的基础性教材,OCP教材的内容更加丰富,还有相当多的视频资料,十分值得习惯看视频的当代年轻人。我在10多年前出版过三本Oracle的书,这三本书里对Oracle的一些基础概念和运维技巧结合一些实战案例做了一些分享,读起来可能会比较有趣。不太好的是,这些书针对的Oracle版本都偏低,基本上都是Oracle 10g或者之前的版本,不过大多数概念还是适用的。这三本书是《Oracle DBA优化日记》、《Oracle RAC日记》和《DBA的思想天空》,其中第三本书是比较系统地介绍Oracle的一些基本概念的。目前在网上可能能够下载到这些书的盗版的PDF文件,一些淘宝商店也在卖盗版的电子版,大家有兴趣可以去买一本看看。
David Litchfield的《The Oracle Hacker's Handbook: Hacking and Defending Oracle》也是一本介绍Oracle架构的十分好的书,大家有兴趣可以去下载看看,不知道国内有没有出版过。Jonathan Lewis大师的《Oracle Core Essential Internals for DBAs and Developers》则是另外一本学习Oracle基本概念的大作。
在看书过程中,你还需要学会DUMP的技术。通过这些DUMP去验证书里提到的一些数据结构,这样你会更加深入地理解Oracle。如果你想成为Oracle数据库的高手甚至大师,这些工作虽然繁琐耗时,但是还是十分必要的。
今天时间有限,我只能写到这里了。学习Oracle,完成我上面所说的仅仅是走出了关键的一步。后面该如何做,以后找时间继续写吧。