ITPUB名人堂第二期

感谢ITPUB将我选为名人堂第二期的嘉宾,其他废话就不多说了,下面是访谈内容。
杨总:
您好!很高兴有这个机会能对您进行采访,本次我们准备了以下一些问题需要您来解答,谢谢。
问题1:现在大家都是开始玩微博了,现在累计有两千多篇技术博客文章,您这么多年仍然坚持着每天至少一篇博客的好习惯,是什么样的一种动力让您这么多年一直坚持写下来呢?
答:其实我开始写博客的时候,博客已经流行一段时间了。一开始根本没有想过要申请一个博客,直到有一天自己通过查询文档解决了一个比较复杂的问题后,才发现自己面临一个问题:如果不把这个解决问题的步骤记录下来,那么过不了多长时间,很可能就会忘记一些关键的步骤,那么下次即使碰到同样的问题,对自己来说仍然可能需要重头开始。而如果将其保存在文本文件中,那么时间久了,查找起来就会很不方便,而当时的博客恰好可以满足我的需要,于是我的博客也就这样诞生了。
刚开始的时候手头现有的值得记录的东西较多,于是博客更新的就比较勤。有一段时间比较忙,博客的更新也就基本上停顿了。但是慢慢我发现,如果不去更新博客,那么自己就会相应的比较懒,而工作之外花在学习Oracle上的时间也会随之减少。意识到这一点后,我恢复了博客的更新,并给自己定下了每天更新一篇的目标,于是我的博客变成了督促我每天学习Oracle知识,总结Oracle经验的工具。刚开始的时候坚持可能确实比较困难,但是坚持的时间越长,就越不会轻易放弃。当坚持的时间超过了一年,更新博客就已经变成一种习惯了。

问题2:您写的博客文章包含的内容很丰富,现在有很多人都将您的博客作为oracle的百科全书了。通过您多年的DBA工作经验,对数据库的开发和维护您有哪些方面的体会?
答:其实我是从数据库开发做起,经历了开发DBA的阶段,最终成为一个管理DBA的。因此可能涉猎过的东西比较杂一些,显得博客里面的东西比较多。其实绝大部分东西还都是很基础的东西,至于“百科全书”更是不敢当了。要说是“百科全书”应该是Oracle的官方文档,是metalink。
数据库开发主要涉及建模、表的逻辑和物理结构设计、PL/SQL代码编写、性能优化等方面。而管理或维护DBA的任务包括逻辑备份、物理备份、恢复、迁移和升级等。虽然从工作范围上,二者可以明确区分,但是很多时候很难界定到底属于开发范畴还是管理范围。而且如果想要数据库的后期维护成本小,前期的设计非常重要。也就是说如果DBA在设计物理逻辑结构的时候多考虑一些后期维护工作,就可以把很多复杂且烦琐的维护工作消除在设计阶段。

问题3:凭借您这么多年的工作经历,目前ORACLE数据库在国内的使用在哪些领域,使用oracle数据库方面有什么优势,以及未来您觉得数据库的发展方向是什么?
答:Oracle目前这么大的市场占有率,只要是具有一定数据规模的行业,都会存在Oracle的身影。
如果要说Oracle数据库的优势,最主要还是体现在大数据量OLTP环境中,Oracle特有的锁机制和多版本读一致性,最大限度提升了系统所能承载的并发用户数。而对于小数据量的情况或OLAP环境中,Oracle并没有绝对的优势。
数据库的发展方向我无法预测,不过Oracle数据库的发展方向却比较明显。Oracle数据库会越来越智能、所集成的功能会越来越强大,而数据库和存储的一体化(Exadata)很可能是今后几年Oracle发展的主要方向。

问题4:现在有很多人都在说Oracle数据库现在越来越稳定,功能越来越先进,越来越自动,于是断言DBA这个行业将要逐渐消亡,请问您对此有何看法?DBA的前景如何?
答:说DBA行业将要逐渐消亡显然是杞人忧天,确实Oracle很稳定,而且随着新版本新功能的不断增加,使得原本很多需要人工设置的工作都可以自动完成了。但是我想问一个问题,大家可能都会使用类似crontab + shell + rman的方式每天自动备份数据库,但是有人会通过shell + rman来自动进行数据库的恢复吗?Broker早就支持DATA GUARD的STANDBY数据库自动FAILOVER,但是在产品环境中设置成自动FAILOVER的,我还从来都没有见过。
我到是觉得Oracle还远远不够自动。从8i到11g,看看Oracle的自动化做了哪些:内存空间的自动管理、UNDO空间自动管理、存储参数自动管理、RMAN备份和归档存放的自动管理、统计信息自动收集、AWR数据自动采集,最多在加上一个存储自动管理ASM。
同样看看从8i到11g,DBA所需要掌握的知识发生了哪些变化:RAC从最早的OPS发展到CLUSTER 到最新的GI,基本上一个大版本就会发生一次重大的结构上的改变;DATA GUARD从最早的 PHYSICAL发展到LOGICAL再到SNAPSHOT;数据复制从最早的ADVANCED REPLICATION发展到STREAM到现在GOLDENGATE;SQL提示从HINT到OUTLINE到SQL BASELINE;导入导出工具从EXP/IMP到EXPDP/IMPDP;统计信息工具从ANALYZE到DBMS_STATS;定时任务从JOB到SCHEDULER;性能数据从STATSPACK到AWR。这些还只不过是数据库已有功能的升级和变迁,在加上每个版本所增加的大量新特性,DBA到底是轻松了还是需要学习更多的知识就一目了然了吧。事实上,Oracle自动化的功能也不能掉以轻心,如果不了解实现的细节,一旦出现问题就可能造成严重的后果。
当然随着Oracle越来越自动化,以及很多图形工具使得日常管理越来越傻瓜化,可能会对初级DBA的职位有一定危险,如果Oracle都升级到了11g,你还抱着8或9的东西不放,那么被淘汰也是早晚的事情了。既然上了Oracle这个快行道,就义无反顾的走下去吧。

问题5:针对oracle数据库的学习,有哪些经验可以给大家分享一下?
答:如果能耐得下心,就去看Oracle的官方文档,从Concept看起,把Administrator、Backup and restore、Performance Tuning 等基础的东西看完,把里面所有能尝试的操作亲手做一遍,基本上就算是入门了。以后在有针对性的去看一下工具、高可用、开发、网络、安全之类的文档。这种方式的好处是基础比较扎实,而且获取信息的正确性更可控(官方文档同样存在错误,不过数量很少,初学者可无视),但是缺点也很明显,前期进度比较慢。因此前期可以去类似ITPUB这种专业论坛,多参与交流,多和别人沟通,有利用自己水平的更快提高。

问题6:通过看您的博客文章,发现您对oracle数据库的知识点掌握得很细,您对兴趣驱动型的知识学习和市场驱动型的知识学习,怎么评价?您觉得自己属于哪种类型?对将要进入这个行业的年轻人有什么寄予?
答:个人认为无论动机是什么,只要能保证积极主动的学习并且能保持相当长的一段时间,都会有所收获。只不过一般来说,如果是兴趣驱动的,那么主动性和持久性都会更好一些,如果学习、研究、探索都变成一种享受,那么想要提高水平只不过是水到渠成的事情了。
无论你是因为何种原因出于何种目的进入到Oracle数据库这个行业,希望你在Oracle学习的过程中培养出对Oracle的兴趣来,否则等待你的会是痛苦的且永不休止的学习过程。其实不只是数据库,任何一个行业都是一样的,想要获得成功而不想付出努力是行不通的。

This entry was posted in NEWS. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *