你所在的位置: 首页 > Oracle > OCP >
最新开班 班级 报名状态
8月17日 RHCSA脱产班 已报满
10月13日 RHCE周末班 已报满
11月18日 RHCSA脱产班 已报满
11月2日 RHCSA周末班 已报满
12月2日 红帽专题班 已报满
12月16日 红帽专题班 已报满
12月23日 红帽专题班 已报满
3月03日 RHCSA脱产班 热招中
4月23日 RHCSA脱产班 热招中
7月24日 红帽RHCE暑假 热招中
  • 博赛网络ICT就业班热招中
  • 博赛推出Oracle OCM实战课程

Oracle认证心得:OCP DBA过关

时间:2013-12-11 10:22 作者:Superthink 点击:

终于把OCPDBA的课程都考完了,累啊!总的来说ORACLE的认证值得考。本人有CCNP、MCSE证书,但通过DBA的考试,觉得不仅加深了对现代数据库的了解,还丰富了计算机科学的知识结构。我觉得,从某种角度来说,ORACLE数据库甚至具备一些操作系统的功能。

  ORACLE的考试,要记住的东西相当多,考试要求基本上是以原始的命令行方式,而不是图形界面操作,因此表的名字,以及相应的scripts相当多是要求记住的,整个DBA考试,光书中提到的table就有数百个之多,我想这主要是因为过去ORACLE主要是在UNIX系统上运行的,可供使用的图形界面软件不多!这也相应地增加了考试的难度!整个考试重点在于对概念的理解,对细节考得不是太多,我想国外的考试都是这样吧!例如问lockcontention的原因是什么?然而,oracle的概念可是五花八门,数不胜数!

  最初一门SQL是基础。这门不难,只要多点上机实践,一般都没问题,但是pl/sql的许多概念,例如触发器等,要弄清楚。如果有数据库开发的基础,这门课是小菜一碟!

  第二门,《数据库管理》。可算上是ORACLE的基础课了,也是核心课程,课程中提到了许多在以后的课程中反复使用的概念与方法。例如,instance及相应的进程(pmon,smon,arc0,dbw0,等)。数据库的物理结构由dbf文件,控制文件,redolog文件,archive文件等。数据库的逻辑构成由tablespace,segment,extent,block等。需要理解的是ORACLE的基本运行过程,oracle读取parameterfile的设置在physicalmemory中构造instance,通过dbwr进程将SGA的databasebuffer中的数据定期或不定期地写入datafile,同时也将sql指令由lgwr进程记录在redolog文件中,系统定期将redolog文件copy成为archive文件,系统为了transactional的需要,提供了rollbacksegment,这样保证了readconsistence。

  这一门的概念相当多,令人觉得oracle的存储概念相当细,例如对segment的block还分了pctfree和pctuse,顺便也提到了rowmigrate与rowchain的概念,可见oracle对逻辑及物理对象的管理能够非常细致!再有,scn不仅储存在controlfile中,还在datafile的header中,scn的引入是为了保证系统各文件之间的协调与连惯。本门许多命令的可选参数基本是不用记的,太多了!也不怎么考,这些参数在《性能调整》一门中则作了详细介绍!大家只要记住最基本的语句就行了!

  第三门,《备份与恢复》。如果对操作系统备份与恢复有了解的话,会有一定的帮助,但oracle的备份与恢复难点在于对逻辑对象的操作,例如,对table的操作可用import与export命令。而rman是重点。Oracle的备份与恢复有相当多的分类,令人眼花缭乱,有archivelog和noarchivelog,完全备份与不完全备份,只读表空间的备份,介质恢复,等等。由此可见,oracle的备份比操作系统的备份复杂多了!

  在《网络管理》一门中,最具实际应用意义的是net8的设置及listener的设置。本门的命令使用还是非常多的,例如在lsnctr,connectionmanger(cman),namesctl方面。ORACLE还自己做了一套与OSI7层网络结构相对应的协议栈,我想OSI有自己的网络结构,CISCO也自己搞了一套网络结构,现在发现ORACLE也有类似的,我觉得可笑,越发感觉OSI做的东西只供参考,没有被大厂商所采纳。我发现ORACLE产品做得相当完善,精彩之处在于它的中间层结构集成了路由器才有的功能,能做对ORACLE服务的网络协议转换,而且connectionconcentration做得相当合理。Oracle公司做一个相当于DNSserver的nameserver组件,与microsoftDNS服务器大同小异。在网络安全授权与认证方面,我发现CISCO与Oracle做得非常相似,例如双方都有kerberos,radius等的authentication的应用。

  考这门的时候,如果大家有路由知识,有操作系统网络知识,这门可说是相当简单的!也就是说对考过CISCO及Microsoft认证的人,会降低了不少难度!

  在《性能调整》一门中,ORACLE的性能调整不能不令人叹服。门类齐全,功能完备。对sharepool的调整,细化为对dictionarycache,librarycache,bigpool的调整;对physicalI/O的调整,更细化为physicaldatafile,DBW0,REDOLOG,LGWR,CKPT,ARCHIVE,SORT,ROLLBACKSEGMENT等的调整。令人不能不叹服,同样是数据库管理系统,SQLSERVER2000,Sybase,甚至是db2都没有这么细!对SQL语句和applicationdesign的调整,是本门最难的一部分,如果大家以前对编译原理有相当认识,会有不少帮助。ORACLE对多CPU系统也专门作了优化,如latch,process,mts,lru等方面的参数设置都与此有关。在这门中,《数据库管理》当中学过的语句中一些不常用的选项,在这门都作了详细的介绍。例如,建table以及index中的nosort选项,是为了减少排序的使用。再如,cache选项,create和altertable时加上cache是为了将table放在themost-recently-usedendofLRUlists以提高性能。在《数据库管理》中提到的如analyze命令的具体用法也作了深化,指出与DBA_TABLE,DBA_INDEX,INDEX_STATS等表相关。操作系统中建议采用raid来提高磁盘使用效率,将不同文件放在不同磁盘,以减少读写磁盘等待时间等的概念,在这里都提到了。有一些操作系统使用的方法,在ORACLE提供了相似的措施,如stripe磁盘,能够提高效率。本门提到的index的使用,相当科学,如建立逆向index,以及index-organizationtable这些都符合人们的优化思维!大家如果对《数据库管理》一门中许多基础概念清晰理解,学习本门时将受益菲浅,例如snapshottooold的概念,切不可以模棱两可!对于init.ora中的许多参数,oracle认为非常重要,大家要搞清楚,例如large_pool_size的使用、设置。这一门对developer来说也有重要意义,能使程序员更加注重从提高数据库程序运行效率的角度来编程。从我个人角度来说,这一门课是最值得看了,是对所有概念的总结和升华。

  在我看来,只要花上三个月时间认真看书,通过OCPDBA的考试应该没问题的。再有,就是要直接看英文书,这样才能节省时间。关于DBA考试的中文书没有哪本不是翻译过来的,有的错漏百出!

  从实践角度来看,真正能在工作中用到的知识,也许也就考试肉容的30%左右。但ORACLE在实现这些功能的方法,代表了许多IT厂商实际应用的思路与模型,理解ORACLE的原理,有利于理解其它IT行业产品的使用。

(责任编辑:Superthink)

评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)