数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

对OCP DBA证书的体会


发布日期:2019年04月12日
 
对OCP DBA证书的体会

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

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

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

第二门《数据库管理》可算上是ORACLE的基础课了也是核心课程课程中提到了许多在以后的课程中反复使用的概念与方法例如instance及相应的进程(pmonsmonarcdbw等)数据库的物理结构由dbf文件控制文件redo log文件archive文件等数据库的逻辑构成由tablespacesegmentextentblock等需要理解的是ORACLE的基本运行过程oracle读取parameter file 的设置在physical memory中构造instance 通过dbwr进程将SGA的database buffer 中的数据定期或不定期地写入datafile 同时也将sql指令由lgwr进程记录在redolog文件中系统定期将redolog文件copy成为archive文件系统为了transactional的需要提供了rollback segment 这样保证了read consistence 这一门的概念相当多令人觉得oracle的存储概念相当细例如对segment 的block还分了pctfree 和 pctuse 顺便也提到了row migrate 与row chain 的概念可见oracle对逻辑及物理对象的管理能够非常细致!再有scn不仅储存在control file 中还在datafile 的header 中scn的引入是为了保证系统各文件之间的协调与连惯本门许多命令的可选参数基本是不用记的太多了!也不怎么考这些参数在《性能调整》一门中则作了详细介绍!大家只要记住最基本的语句就行了!

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

在《网络管理》一门中最具实际应用意义的是net的设置及listener 的设置本门的命令使用还是非常多的例如在lsnctrconnection manger(cman) namesctl 方面ORACLE还自己做了一套与OSI 层网络结构相对应的协议栈 我想OSI有自己的网络结构CISCO也自己搞了一套网络结构现在发现ORACLE也有类似的我觉得可笑越发感觉OSI做的东西只供参考没有被大厂商所采纳我发现ORACLE产品做得相当完善精彩之处在于它的中间层结构集成了路由器才有的功能能做对ORACLE 服务的网络协议转换而且connection concentration 做得相当合理 Oracle 公司做一个相当于 DNS server 的 name server 组件 与microsoft DNS 服务器大同小异在网络安全授权与认证方面我发现CISCO与 oracle做得非常相似例如双方都有 kerberos radius 等的authentication 的应用 考这门的时候如果大家有路由知识有操作系统网络知识这门可说是相当简单的!也就是说对考过CISCO 及 Microsoft 认证的人会降低了不少难度!

在《性能调整》一门中 ORACLE的性能调整不能不令人歎服门类齐全功能完备对share pool的调整 细化为对dictionary cache library cache big pool的调整对physical I/O 的调整更细化为physical datafile DBW REDO LOG LGWR CKPT ARCHIVE SORT ROLLBACK SEGMENT等的调整令人不能不歎服同样是数据库管理系统SQL SERVER Sybase 甚至是db 都没有这么细!对SQL语句和 application design 的调整是本门最难的一部分如果大家以前对编译原理有相当认识会有不少帮助ORACLE 对多CPU 系统也专门作了优化如latch process mtslru等方面的参数设置都与此有关在这门中《数据库管理》当中学过的语句中一些不常用的选项在这门都作了详细的介绍例如建table 以及index中的nosort选项是为了减少排序的使用再如cache选项create 和alter table时加上cache是为了将table放在the mostrecentlyused end of LRU lists 以提高性能在《数据库管理》中提到的如analyze 命令的具体用法也作了深化指出与DBA_TABLE DBA_INDEX INDEX_STATS等表相关操作系统中建议采用raid 来提高磁盘使用效率将不同文件放在不同磁盘以减少读写磁盘等待时间等的概念在这里都提到了有一些操作系统使用的方法在ORACLE提供了相似的措施如stripe 磁盘能够提高效率本门提到的index的使用相当科学如建立逆向index以及 indexorganization table这些都符合人们的优化思维!大家如果对《数据库管理》一门中许多基础概念清晰理解学习本门时将受益菲浅例如 snapshot too old 的概念切不可以模稜两可!对于initora中的许多参数oracle认为非常重要大家要搞清楚例如large_pool_size的使用设置这一门对developer来说也有重要意义能使程序员更加注重从提高数据库程序运行效率的角度来编程从我个人角度来说这一门课是最值得看了是对所有概念的总结和升华

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

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

欢迎大家来信探讨!

上一篇:全新感受Oracle 9i

下一篇:Oracle用户数据字典以及查询表字段