好用的Oracle DBA为什么这么难找?
这不但是很多CIO的痛,也是很多IT主管搅尽脑汁也解决不了的问题。可那么多从ORACLE培训班拿到OCP认证的人跑哪里去了呢?
小白是一个拥有OCP证照,且对数据库本身的架构、运作原理有一定了解的数据库管理员。原以为一切都没问题的,无奈小白刚一就任,就面临到替换公司数据库系统主机的问题。小白没有程序开发与主机系统管理等经验,小白是那种一毕业就去考OCP的证照,接着做Oracle DBA的人,因此,一就任就面临到不少挑战。
数据库系统在小白接手后,一直有一堆怪怪的问题发生。
问题在那?没有主机系统维护经验的小白虽然知道数据库系统本身的运作并不够顺畅,但却一直找不到问题的症结点,时间一久,他便成了大家“攻击”的对象。而且情况愈来愈严重。一开始,大伙只有在数据库出问题时,才会去找小白;到后来,只要一发生问题,不论那个问题跟数据库是否有明显的关连,大伙的第一个动作就是,把问题推到数据库或小白身上。
该状况让小白的工作愈来愈难做。理由是,小白既不懂管理主机系统,也不会撰写程序,当大家都枪口一致的说“一切都是是小白的责任”时,完全搞不懂状况的他,也只能摸摸鼻子,把这黑到发亮的锅子背下来。他苦撑了一年后离去,至今他仍不敢跟别人说他有OCP的证照。
小白那届培训班共有25个学员,当初随班考取OCP认证的大约有15人,在几年职场洗涤后,现在大概只剩下6个人从事与Oracle DBA相关的工作。这6个人中,有三个人是以主管的身份“兼作”Oracle DBA。Oracle DBA在IT职场的阵亡率很高。主要的问题在于,造成Oracle数据库发生问题的原因,经常不单只从数据库而来。
列如 小白估计遇到问题其实单纯只因数据库而导致的问题并不多,有一大半的问题是因为系统主机等硬件过于老旧而造成的问题,另外三分之一的问题则来自于程序撰写,如SQL语法撰写习惯不好等。
以SQL语法撰写习惯不好来说,当数据库的Loading还很轻的时候,这些有问题的SQL语法并不会对数据库或系统造成太大的影响,但是当数据库的数据成长急遽或主机负载将满时,上述的SQL语法,就像是一锅粥中的老鼠屎,会直接影响到整个数据库系统的运作效能。
只不过,教育培训中心提供的Oracle数据库课程,并没有教导Oracle数据库系统以外的知识,因此,非数据库本身所造成的营运问题,初任DBA一职的新人多没有能力掌控。
所以,当一个企业说他们找不到称职的或好用的Oracle DBA时,他们可能不是在说找不到“懂”数据库的人,其实考得到OCP认证,我想对数据库或多或少都有一定程度的了解,他们应该是指:他们找不到人可以用全观的角度,来解析、处理与解决导致数据库无法正常运维的原因。
企业如何选择一个对的Oracle DBA呢?
大部份的企业对Oracle DBA的需求,一开始多半是以维持数据库的正常运作以及协助数据库进行数据备份等工作为主,因此,找有大型主机系统管理经验,有存储管理经验者尤佳,或者了解操作系统原理与运作的人来做。因为,Oracle 数据库运作的不正常,经常是因为系统出状况,找具有系统管理经验的人员做DBA,在一定程度上应该已经能比“只”懂数据库的信息人员,还会比较快得找到问题。此外,也比较能避免数据库出现宕机等状况。
其次,有的企业在找Oracle DBA的时候,希望找那种了解数据处理流程的人,以便大大翻整一下既有数据库内的数据,以及优化数据传递与分析。例如写一些store Function、triger、建DB_link等工作。在这种状况下找有程序开发经验的人,特别是对数据库存取上有实际程序开发经验的人,他们除对数据与数据结构的本身有一定的敏感度,也比较熟悉客户的需求,知道该如何翻整数据库。
要特别注意的是,鱼与熊掌不可兼得,同时兼俱系统管理与程序开发等两种技术能力的人少之又少,因此,在进行DBA的招募前,建议企业先想好自己要的是哪一种人才。不过,不论你找的是那一种Oracle DBA,我都不太建议找一个只有OCP认证但无其它工作经验的人来做DBA。因为这意味着,企业要落实数据库管理的阵痛期可能会拉得很长,而且阵痛的过程中DBA也很是辛苦。
那么做为要走Oracle DBA 的人该如何走呢?
通过上面的了解大家心里该有明晰了吧
1 首先要对ORACLE 数据库深厚了解,运行机制和原理,备份恢复,性能调整和安全审计
2 对操作系统要知道 Linux,Windows 2003 Data Center 知道配置,监控,日志
3 对存储过程有所了解 PL/SQL T-SQL MySQL 语法和对应的存储过程,触发器,视图,复制发布能够看得明白,能转换为ORACLE的PL-SQL
4 存储设备 RAID 磁盘柜,磁带机
5 对应用服务器有必要了解 Weblogic TomCate Apache IIS6.0 知道配置,性能和日志
6 对JAVA ,ASP,C# 开放语言和J2EE,NETWORK2.0 有所了解 知道语法和运行原理
7 英语 英语起码能看和写,虽然实际工作中运用得很少很少