怎样成长为一个真正的Oracle DBA

Oracle分两大块,一块是开发,一块是管理javascript

开发主要是写写存储过程、触发器什么的,还有就是用Oracle的Develop工具作form。有点相似于程序员,须要有较强的逻辑思惟和创造能力,我的以为会比较辛苦,是青春饭;管理则须要对Oracle数据库的原理有深入的认识,有全局操纵的能力和紧密的思惟,责任较大,由于一个小的失误就会 down掉整个数据库,相对前者来讲,后者更看重经验。由于数据库管理的责任重大,不多公司愿意请一个刚刚接触Oracle的人去管理数据库。java

对于刚刚毕业的年轻人来讲,能够先选择作开发,有必定经验后转型,去作数据库的管理。固然,这个仍是要看人个的实际状况来定。程序员

2、学习方法数据库

个人方法很简单,就是:看书、思考、写笔记、作实验、再思考、再写笔记。看完理论的东西,本身静下心来想一想,多问本身几个为何,而后把所学和所想的知识点作个笔记;在想不通或有疑问的时候,就作作实验,想一想怎么会这样,一样的,把实验的结果记下来。思考和作实验是为了深刻的了解这个知识点。而作笔记的过程,也是理清本身思路的过程。学习的过程是使一个问题由模糊到清晰,再由清晰到模糊的过程。而每次的改变都表明着你又学到了一个新的知识点。缓存

学习的过程也是从点到线,从线到网,从网到面的过程。当点变成线的时候,你会有总豁然开朗的感受。当网到面的时候,你就是高手了。不少网友,特别是初学的人,一碰到问题就拿到论坛上来问,在问前,你有没有查过书,本身有没有研究过,有没有搜索一下论坛?这就叫思惟惰性。服务器

由别人来回答你的问题,会让你在短期内不费劲地弄懂这个知识点,然而经过本身的努力去研究它,不但会更深刻的了解这个知识点,更重要的是在研究的过程会提升你解决问题和分析问题的能力。总的来讲,没有钻研的学习态度,无论学什么东西,都不会成功的。 固然,初学的人不少时候是由于遇到问题时,无从下手,也不知道去×××资料,才会到论坛上提问题的。但我认为,在提问的时候,是否是能够问别人是如何分析这个问题?从哪里能够找到相关的资料?而不是这个问题的答案是什么?授人以鱼不如授人以渔。架构

下面我讲下,我处理问题的过程。首先要知道Oracle的官方网站:www.oracle.com。这里有Oracle的各类版本的数据库、应用工具和权威的官方文档。oracle

其次,还要知道http://metalink.Oracle.com/。这里是买了Oracle服务或是Oracle的合做伙伴才能够进去的,里面有不少权威的解决方案和补丁。框架

而后就是一些著名网站:asktom.Oracle.comwww.orafaq.net,www.dbazine.com。这里有不少遇到问题了的经验之谈。ide

若是是概念上的问题,第一时间能够找tahiti.Oracle.com,这里会给你最详细的解释。若是在运行的过程当中出了什么错误。能够去metalink看看。若是是想知道事务的处理的经验之谈。能够去asktom。固然。这里只是相对而言。

3、Oracle的体系

Oracle的体系很庞大,要学习它,首先要了解Oracle的框架。在这里,简要的讲一下Oracle的架构,让初学者对Oracle有一个总体的认识。

一、物理结构(由控制文件、数据文件、重作日志文件、参数文件、归档文件、密码文件组成)

控制文件:包含维护和验证数据库完整性的必要信息、例如,控制文件用于识别数据文件和重作日志文件,一个数据库至少须要一个控制文件。

数据文件:存储数据的文件。

重作日志文件:含对数据库所作的更改记录,这样万一出现故障能够启用数据恢复。一个数据库至少须要两个重作日志文件。 参数文件:定义Oracle例程的特性,例如它包含调整SGA中一些内存结构大小的参数。

归档文件:是重作日志文件的脱机副本,这些副本可能对于从介质失败中进行恢复很必要。

密码文件:认证哪些用户有权限启动和关闭Oracle例程。

二、逻辑结构(表空间、段、区、块)

表空间:是数据库中的基本逻辑结构,一系列数据文件的集合。

段:是对象在数据库中占用的空间。

区:是为数据一次性预留的一个较大的存储空间。

块:Oracle最基本的存储单位,在创建数据库的时候指定。

三、内存分配(SGA和PGA)

SGA:是用于存储数据库信息的内存区,该信息为数据库进程所共享。它包含Oracle服务器的数据和控制信息,它是在Oracle 服务器所驻留的计算机的实际内存中得以分配,若是实际内存不够再往虚拟内存中写。

PGA:包含单个服务器进程或单个后台进程的数据和控制信息,与几个进程共享的SGA正相反PGA是只被一个进程使用的区域,PGA 在建立进程时分配在终止进程时回收。

四、后台进程(数据写进程、日志写进程、系统监控、进程监控、检查点进程、归档进程、服务进程、用户进程)

数据写进程:负责将更改的数据从数据库缓冲区高速缓存写入数据文件。

日志写进程:将重作日志缓冲区中的更改写入在线重作日志文件。

系统监控:检查数据库的一致性若有必要还会在数据库打开时启动数据库的恢复。

进程监控:负责在一个Oracle进程失败时清理资源。

检查点进程:负责在每当缓冲区高速缓存中的更改永久地记录在数据库中时,更新控制文件和数据文件中的数据库状态信息。 归档进程:在每第二天志切换时把已满的日志组进行备份或归档。

服务进程:用户进程服务。

用户进程:在客户端,负责将用户的SQL语句传递给服务进程,并从服务器段拿回查询数据。

五、Oracle例程

Oracle 例程由SGA内存结构和用于管理数据库的后台进程组成。例程一次只能打开和使用一个数据库。

六、SCN(System Change Number)

系统改变号,一个由系统内部维护的序列号。当系统须要更新的时候自动增长,他是系统中维持数据的一致性和顺序恢复的重要标志。

4、深刻学习

管理:能够考OCP证书,对Oracle先有一个系统的学习,而后看Oracle Concepts、Oracle online document,对Oracle的原理会有更深刻的了解,同时能够开始进行一些专题的研究如:RMAN、RAS、STATSPACT、 DATAGUARD、TUNING、BACKUP&RECOVER等等。

开发:对于想作Oracle开发的,在了解完Oracle基本的体系结构以后,能够重点关注PL/SQL及Oracle的开发工具这一部分。PL /SQL主要是包括怎么写SQL语句,怎么使用Oracle自己的函数,怎么写存储过程、存储函数、触发器等。Oracle的开发工具主要就是 Oracle本身的Developer Suite(Oracle Forms Developer and Reports Developer这些),学会如何熟练使用这些工具。

介绍几个网站

http://tahiti.Oracle.comOracle的官方文档

http://metalink.Oracle.com/Oracle技术支持网站。须要购买Oracle服务才能有一个账号,才能登录,有大量的Knowledge Base,大量问题解决经验。

http://www.Oracle.comOracle的官方网站,能够在这里down Oracle的软件、官方文档和得到最新的消息

http://www.dbazine.com/Oracle的杂志  

相关文章
相关标签/搜索