终于把 OCP DBA 的课程都考完了 累啊!总的来说ORACLE的认证值得考 本人有CCNP MCSE证书 但通过DBA的
考试 觉得不仅加深了对现代数据库的了解 还丰富了计算机科学的知识结构 我觉得 从某种角度来说 ORACLE数据库甚至具备一些 *** 作系统的功能 ORACLE的考试 要记住的东西相当多 考试要求基本上是以原始的命令行方式 而不是图形界面 *** 作 因此表的名字 以及相应的scripts相当多是要求记住的 整个DBA考试 光书中提到的table就有数百个之多 我想这主要是因为过去ORACLE主要是在UNIX系统上运行的 可供使用的图形界面软件不多!这也相应地增加了考试的难度!整个考试重点在于对
概念的理解 对细节考得不是太多 我想国外的考试都是这样吧!例如问lock contention 的原因是什么?然而 oracle的概念可是五花八门 数不胜数! 最初一门SQL是基础 这门不难 只要多点上机实践 一般都没问题 但是pl/sql的许多概念 例如触发器等 要弄清楚 如果有数据库开发的基础 这门课是小菜一碟! 第二门 《数据库管理》 可算上是ORACLE的基础课了 也是核心课程 课程中提到了许多在以后的课程中反复使用的概念与方法 例如 instance及相应的进程(pmon on arc dbw 等) 数据库的物理结构由dbf文件 控制文件 redo log文件 archive文件等 数据库的逻辑构成由tablespace segment extent block等 需要理解的是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 的设置 本门的命令使用还是非常多的 例如在lsnctr connection 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 mts lru等方面的参数设置都与此有关 在这门中 《数据库管理》当中学过的语句中一些不常用的选项 在这门都作了详细的介绍 例如 建table 以及index中的nosort选项 是为了减少排序的使用 再如 cache选项 create 和alter table时加上cache是为了将table放在the most recently used end of LRU lists 以提高性能 在《数据库管理》中提到的如 yze 命令的具体用法也作了深化 指出与DBA_TABLE DBA_INDEX INDEX_STATS等表相关 *** 作系统中建议采用raid 来提高磁盘使用效率 将不同文件放在不同磁盘 以减少读写磁盘等待时间等的概念 在这里都提到了 有一些 *** 作系统使用的方法 在ORACLE提供了相似的措施 如stripe 磁盘 能够提高效率 本门提到的index的使用 相当科学 如建立逆向index 以及 index anization table这些都符合人们的优化思维!大家如果对《数据库管理》一门中许多基础概念清晰理解 学习本门时将受益菲浅 例如 snapshot too old 的概念 切不可以模棱两可!对于init ora中的许多参数 oracle认为非常重要 大家要搞清楚 例如large_pool_size的使用 设置 这一门对developer来说也有重要意义 能使程序员更加注重从提高数据库程序运行效率的角度来编程 从我个人角度来说 这一门课是最值得看了 是对所有概念的总结和升华 在我看来 只要花上三个月时间认真看书 通过OCP DBA的考试应该没问题的 再有 就是要直接看英文书 这样才能节省时间 关于DBA考试的中文书没有哪本不是翻译过来的 有的错漏百出! 从实践角度来看 真正能在工作中用到的知识 也许也就考试肉容的 %左右 但ORACLE在实现这些功能的方法 代表了许多IT厂商实际应用的思路与模型 理解ORACLE的原理 有利于理解其它IT行业产品的使用 欢迎大家来信探讨! lishixinzhi/Article/program/Oracle/201311/18233
评论列表(0条)