内外兼修:Oracle ACED熊军谈Oracle学习

编辑手记:熊军是中国西部第一位,也是到目前为止唯一的Oracle ACE总监,在这篇文章中熊军描述了他的学习过程和理念供大家参考。

ORACLE 的学习,就好比武侠小说中学武功。要从三方面入手:

1、内功:针以学习 ORACLE 来说,内功就是对基本概念的掌握,ORACLE 架构的深入理解,原理的掌握。如果有兴趣和时间,研究一下 Internal 的东西,这好比修习易筋经,需要极大的毅力和长期的坚持。

2、招式:如果光有内功,没有招式,则会陷入空有高深内力,却无从发招的尴尬。学习 ORACLE 也一样,还是需要掌握功能的使用,具体到 SQL 的使用,各个性能视图的使用,数据字典的使用。如果没有这些,在进行操作时,会有找不到无从下手的感觉。

3、实战经验:武侠世界中的高手,都是从无数次战斗中取得经验,再武功大进。学习 ORACLE 也一样,如果没有充分的实验,实际生产环境的实战,仍然只能说是只能入了 ORACLE 的门,算不上登入大堂。

另外,学习过程中,多做笔记,多思考。做任何事,都需要多思考,学习 ORACLE 也不例外。对 ORACLE 的众多的功能和知识点,我们要经常思考,这个功能有什么好处,适用于什么地方,不适用于什么地方,每个知识点之间的联系等等。

甚至是要站在超越 ORACLE的高度,去思考 ORACLE 为什么会这样设计。另外,好记性不如烂笔头,除非是天才,很多东西,久了就忘记了。比如前段时间做过 CLUSTER 表的实验,记录一下概要,定期回顾,则能够不断积累深入,温故并且知新:

对 CLUSTER 下的表,不能 TRUNCATE,只能 TRUNCATE CLUSTR,这样 TRUNCATE CLUSTR 时,将截断 CLUSTER 下的所有表。 DROP CLUSTER 时,如果 CLUSTER 下有表,则不能 DROP。只能将 CLUSTER 中所有的表 DROP 后,才能 DROP CLUSTER。

在ITPUB的一次访谈中,我也提到学习思路和方法,一并记录在这里供大家参考:ACE访谈之二 - 熊军:不积跬步,无以至千里 。

arron刘: 今天我们采访的是熊军先生,首先简单介绍一下自己,以及现在从事的工作。 magic007: 大家好,我叫熊军,网名老熊( http://www.laoxiong.net )。一直从事Oracle数据库专业技术服务工作,有近10年的Oracle数据库使用和技术顾问经验。所服务的对象包括电信、金融保险、政府机关以及制造业等多个行业的客户。目前在云和恩墨西南片区带领团队为客户提供专业数据库服务。 arron刘: 据我了解您获得了Oracle ACE这个荣誉称号,你能简单给我们介绍一下ACE这个称号么? magic007: ACE是Oracle公司为那些在Oracle技术领域,除了数据库还包括其他产品如中间件、JAVA等,颁发的一个荣誉称号。以表彰那些在Oracle技术领域内具有很强技术水平又乐于向技术社区分享技术的人。所以要成为ACE,需要两个条件,一是有有比较高的技术水平,二是乐于分享,在技术社会里面有一定的影响力。 arron刘: 您为什么会选择数据库这条路呢?这条路上您是怎样一步步提高自己的技术水平,成为Oracle ACE的? magic007: 我最早是从事IT系统运维的,数据库、主机、网络都要维护。随着业务量和数据量的增加,系统也越来越慢,就尝试去优化系统,优化系统最主要就是去优化数据库。而优化数据库就需要全面地深入地理解数据库。在优化的过程中,我不断地去学习数据库的知识,然后发现Oracle数据库提供了很多有趣的特性,利用这些特性来解决问题,给我带来了很多的满足感和成就感。这样逐渐对Oracle数据库产生了很强的兴趣,这样就有一种内在的动力去更深入地学习Oracle数据库。 在学习Oracle数据库的过程中,逐步提高自己技术水平主要有以下几点:

  • 对Oracle数据库有浓厚的兴趣。这个是很重要的一方面。
  • 学习Oracle的官方文档,最基本的有《Oracle Database Concepts》、《Oracle Database Performance Tuning Guide》、《Oracle Database Administrator's Guide》,这三份官方文档,对于各个版本我都反复去读。
  • 学习其他一些技术专家的书,包括Tom Kyte、Eygle的书等等。
  • 在学习和实验的过程中,将一些心得体会、学习方法记录在个人技术博客上,在博客上写技术文章,是对文章中涉及的知识进行总结、梳理的过程,这对提高技术水平有极大的帮助。
  • 在工作中不断思考,比如解决一个问题,需要从原理上去解释为什么,一个问题是否有多个解决方案,每种解决方案各有什么优缺点。在问题解决后,再把这些案例涉及的知识进行梳理,写成文档,在这种方式下,解决一个问题就能获得技术进步。
  • 从Oracle数据库论坛比如ITPUB中获得进步,在ITPUB上有一些很有价值的技术文章,以及有很多值得研究学习的案例,通过这些案例和文章学习其他人的思路和方法。

通过以上的一些方法,就逐渐地一步一步地提高了技术水平,并且通过在论坛上进行技术讨论,参与书籍的编写、通过个人博客进行分享,这些方式一定程度上提高了自己的影响力,最后获得ACE称号是水到渠成的事情。 arron刘: 据我了解您曾经独立开发除了Oracle 恢复软件ODU,您能简单介绍一下什么是ODU软件么?有什么主要功能?在数据库恢复中起到什么样的作用? magic007: ODU全称为Oracle Database Unloader,用于直接从Oracle数据库的数据文件中获取表数据。在各种原因造成的数据库不能打开时,用于抢救数据,最大限度地减少数据丢失。 ODU主要的功能有:

  • 不需要运行Oracle数据库软件,ODU直接读取数据库文件解析数据。
  • 支持ASM,能够直接从ASM磁盘中导出数据,即使相关的磁盘组不能成功mount。
  • 支持表被truncate后的数据恢复。支持表被drop后的数据恢复。
  • 支持在没有SYSTEM表空间和数据字典损坏的情况下恢复数据,在没有数据字典可用时,ODU能够自动判断数据的类型。
  • 支持对数据块的修改,在某些情况下通过修改数据块能够让不能打开的数据库打开。

ODU是一种非常规的数据恢复手段。在数据库损坏、数据意外删除,又没有有效备份的情况下进行数据抢救。是一种常规恢复方式的有力补充。也可以认为是恢复数据的最后一种手段。 arron刘: 成为了Oracle ACE以后除了收获荣誉以为,还有什么其他的收获呢?这个称号对于自己职业生涯的影响? magic007: 其他的收获主要在于,获得一种认同感和肯定,同时也能够有更多的机会认识更多同行业中的朋友。 对职业生涯的影响当然很大,这是因为ACE是对自己技术实力的一种认可,这对于自己能够进入到真正重视技术、以技术为竞争力的公司或团队都是非常有帮助的,并且也更能有机会与其他ACE或者是技术专家共事。 arron刘: 您目前的工作内容主要是什么?您是如何给自己进行定位的?未来的职业规划什么? magic007: 目前我的工作内容主要有两部分,其一是带领我们公司(云和恩墨)在西南片区的团队,协调技术资源,提高团队中其他成员的技术水平;其二是为客户提供专业的数据/数据库技术服务工作,包括数据库的规划设计、安装部署、版本升级、性能优化、故障处理、高可用性设计等等。 我对自己的定位还是一个技术工程师,一方面是因为这才能最大化地发挥我的价值和在技术方面的能力及作用,另一方面我个人的兴趣和爱好仍然是在技术方面。 未来的职业规划,其实从个人职业上讲,最近几年没什么规划,就是在现在的技术团队中,随着团队的进步而进步。只能说从技术上讲,需要一直紧跟技术趋势,同时根据IT行业发展趋势,为客户提供更好的技术服务,比如随着企业信息化的方展,数据越来越重要,我们不光是围绕着数据库,还要围绕着数据来进行工作,挖掘数据本身的价值。这需要一定的技术积累。 arron刘: 您认为一个数据库从业者工作中最应该做的事情,最应该注意的事情,最应该杜绝的想法? magic007: 我个人认为数据库从业者工作中最应该做的事情是,把所有的操作以相关的数据都记录下来,这是一笔很宝贵的财富。 最应该注意的事情自然是安全和测试。每一个操作,都尽可能地测试,因为一些操作看起来很简单,却可能产生不可预料的结果。对于安全,主要是指数据安全,做好备份,这是很重要的一道防线,只有在有备份的情况下,操作错误时才有回退的可能。 最应该杜绝的想法,对于这一点,我觉得是不要有工作有捷径的想法。工作的捷径来自于技术的积累和经验的积累。很多从业者喜欢从百度、goolge搜索到的具体的操作方法不加思考地拿来就用,这样虽然能够解决问题,但是这会导致自己缺乏思考,缺乏对知识的系统掌握。而工作上的捷径应该是来自于自己对知识的全面掌握之后还有经验的积累,通过自动化、或者是通过脚本、自行开发的工具来帮助提升工作效率。 arron刘: 对目前正在数据库道路上辛勤前行的朋友有哪些建议、忠告? magic007: 我的建议是对于数据库技术,需要真正对技术感兴趣,而不是仅仅把技术看成是谋生的手段,同时"不积跬步 无以至千里",对于后面一点,从我个人的经验来说,系统化的扎实的基础知识很重要,我所接触的技术高手,基本上都是基础知识非常扎实,只有在基础知识扎实的情况下,在2-3年之内,甚至是更短的时间内,成长为高级的DBA才是有可能的。所以,沉下心来,专心技术,拒绝浮躁,这就是我的建议。 arron刘:谢谢熊军的精彩内容,我们可以看到每一个牛人在成功背后总是有着不为人知的努力,不积跬步 无以至千里,希望大家对此共勉。

原文发布于微信公众号 - 数据和云(OraNews)

原文发表时间:2016-07-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java架构沉思录

知乎大V@Phodal:小白也能看懂的Web安全进阶指南

早先,我也是半个黑客,经常在学校的教务系统看妹子。通过 URL 注入的方式,可以轻松进入别人的个人信息页。后来,又通过某种方式发现了管理员的账号,管理员又没有修...

1082
来自专栏机器人网

Python程序员需要了解的10个资源

你是一名Python程序员。在知道其他语言后,通过Python入门,或通过阅读Python教程或类,直到您对基础知识足够自信为止,您已经获得了这一称号。那现在,...

853
来自专栏java一日一条

Java 消亡了?不!原因在这…

年复一年,关于”Java消亡了?”的疑问频繁涌现,然而,通过所有外部表现来看,Java仍活着,并且在发展。尽管许多新语言各领风骚,开发语言排行榜(TIOBE)上...

362
来自专栏FreeBuf

这是一款新出的黑客游戏《Hackmud》

近日一款黑客游戏出现在市面上并引发了大量的讨论,下面就来介绍并向大家推荐一下这款游戏。 游戏与现实世界 其实市面上出现的黑客游戏,有网页版的,有客户端版的。对于...

2388
来自专栏java一日一条

从“小白”到“白帽子黑客”的实用指南

早先,我也是半个黑客,经常在学校的教务系统看妹子。通过 URL 注入的方式,可以轻松进入别人的个人信息页。后来,又通过某种方式发现了管理员的账号,管理员又没有修...

782
来自专栏CSDN技术头条

总结|2016年编程方面的主流趋势

TechCrunch在去年一月时曾发布过一篇文章,预测2016年编程方面的主要趋势,但软件开发的世界总是变幻莫测,很难明确预测到会有哪些全新的开发语言、框架以及...

1768
来自专栏智能算法

总结:2016年编程方面的主流趋势

TechCrunch在去年一月时曾发布过一篇文章,预测2016年编程方面的主要趋势,但软件开发的世界总是变幻莫测,很难明确预测到会有哪些全新的开发语言、框架以及...

33310
来自专栏SDNLAB

Pingping Lin:ONOS-面向运营商网络的SDN操作系统

第五届中国未来网络发展与创新论坛12月10日-11日在南京盛大开幕,美国开放网络实验室(ON.Lab)技术总监Pingping Lin发表精彩演讲,以下为演讲实...

2927
来自专栏BestSDK

开始一个新的 app 时,我在想些什么

文|xiaoxiao image.png 几年工作下来,我越发觉得,做好一个产品,有太多可以共用借鉴的范式和模块,而每个模块,也大多有比较成熟的外部解决方案。撇...

26110
来自专栏java达人

网络攻击是如何运作的—一份完整的列表 ( 2 )

作者:PAUL CUCU 译者:java达人 来源:https://heimdalsecurity.com/blog/cyber-attack/(点击阅读原文...

1995

扫码关注云+社区