一、DBA技术
1、作为一个DBA,你必须要精通SQL命令、各种数据库架构、数据库管理和维护、数据库调优,必要的时候,还需要为开发人员搭建一个健壮、结构良好、性能稳定的数据库环境。
2、数据库是构建在操作系统之上的,你还需要精通系统技术。当然,完全不必要学习系统管理员那样高深的技术理论。
3、你还需要掌握服务器硬件、软件技术理论。便于数据库基于服务器问题出现的时候,能够及时提出解决方案。
4、还要理解数据库在服务器、系统软件中如何实现和运作的。
二、了解DBA职责:
1、监视数据库。
2、记录和统计系统和性能的表现技术信息。
3、构造数据库框架、配置数据库实例。
4、维护数据库网络安全,过滤非法查询信息。
5、及时备份数据库
6、利用备份,还原数据库,甚至是迁移数据库。
7、为开发人员定制、配置专用的测试服务器。
8、数据库技术最新的研发方向。
9、数据库调优。
10、完整熟悉数据库操作流程。
11、诊断数据库,找出数据库的不足之处和生成数据库解决方案。
12、完整培训数据库系统那个环境。
13、与系统管理员保持良好的合作关系。
14、创建有效的、定期维护的安全的数据库。
三、初级DBA学习
1、关系数据库理论
这是很多DBA的入门基础理论。目前市场上主流的数据库都是关系型数据库,当然关系型数据库理论也成为了DBA的基础技术理论。只有对于关系型数据库理论达到了一个层次,对于关系型数据库管理系统(RDBMS)才能更好地应用,无论是Oracle数据库,IBM的DB2,还是微软的SQL Server。目前,很多的大学都有关系型数据库理论的课程。推荐一本关系型数据库理论书籍,Elmasri and Navathe编写的数据库系统基础,Bejamin/Cummings Press。
2、系统学习SQL语句
对于DBA而言,使用得最多的还是SQL查询语句。因此,掌握SQL语言是非常必要的。只有当SQL查询语言,成为了一种你DBA生涯的职业习惯的时候,你才能真正意义上成为合格的DBA。在目前所有的数据库中,SQL查询语言全部通用。本质上来讲,SQL查询语言是DBA和数据库交互的必要工具。这里有一本非常好的书籍,《Oracle Database 11g完全参考手册》,属于DBA非常重要的技术参考文档。
3、逐渐参与基本的数据库管理工作
对于数据库管理而言,有两本比较好的书籍,《Oracle Database 11g DBA手册》和《Oracle Database 11g备份与恢复指导》。这都是Oracle比较好的技术文档,同时也是基本的数据库管理工作的理论基础。对于DBA而言,关系型数据库理论和SQl查询语言理论是DBA真正的技术理论基础,数据库管理工作更多的时候只是一种工具。而且,实践才是检验和提高DBA技术的唯一标准。从数据库日常管理工作中学习,从实践中提高,才是DBA成长的唯一出路。
4、继续学习数据库技术
参与Oracle培训,获得Oracle认证其实对于DBA而言,还远远不够。IT行业是一个技术更新速度非常频繁的行业。而DBA行业的技术更新,更是远胜于IT行业。以Oracle为代表的数据库厂商,都投入了大量的资金和资源到技术研发中去,Oracle的技术基本都是每三个就会进行一次大的更新。这也是很多的Oracle官方培训机构普遍采用PDF电子教材的根本原因所在。去阅读,去学习,去不断丰富自己的技术理论和实践能力。
5、不断尝试参与案例
对于DBA而言,日常的数据库管理工作,还只是基本职能之一。要想在DBA行业走得更远,丰富自己的技术实力才是王道。所以,尝试不断地去测试案例,不断地去数据库中寻找疑难杂症,不断地提出解决方案,从众多的解决方案中寻找优秀的方案,吸取经验,也是DBA学习的另外一种非常有效的手段。毕竟,日常的数据库管理都不会遇到太多的问题,需要自己去创建模型,自己去创建案例。当然,如果日常管理的数据库都能不断出现各种各样的问题,那说明你在DBA的道路上,还仍重而道远。
6、寻找良师
在DBA行业发展,一个优秀的引路人是DBA生涯最好的指明灯。他们往往能够在你的DBA生涯中,给予你比较宝贵的建议,传授给你比较好的经验的积累,使你在DBA的道路上,尽可能少地走弯路。
7、参与本地讨论组
目前,各种交互平台上,DBA技术讨论组非常多,甚至还有很多跨城市、跨国家的用户讨论组。这其中,本地讨论组是一种非常好的资源,很多时候还会举行线下的聚会,讨论数据库相关的话题。
四、中级DBA进阶
请记住,SQL语言、关系型数据库理论和基本的数据库管理任务,是作为一名初级DBA所必备的技术理论和实践基础。如果你已经成为初级DBA,并确信掌握了上面三种技术,而且也开始厌倦不断地阅读技术文档。那么接下来的建议将带你进入中级DBA的技术殿堂。
1、学习操作系统和服务器硬件
我们知道,数据库是建立在操作系统和服务器硬件之上的。操作系统,作为硬件和数据库之间交互的中间层,在日常的数据库维护工作中,也是经常遇到诸多疑难杂症的。如果是Unix操作系统则需要熟悉和掌握Unix命令行语句。如果是Windows Server操作系统,则需要学习操作系统的维护、管理和优化。当然,作为承载数据库和操作系统的服务器硬件,也是很有必要的。
2、学习一门开发语言
对于数据库而言,并不是单独存在的。作为后台运行的数据库,很多时候都有前端的操作界面和功能的实现。毕竟,并不是所有的软件开发者都精通数据库编程。特别在一些大型的IT企业,DBA往往都需要和软件开发程序员合作,搭建软件运行和数据存储的后台数据库。学习一门开发语言,能够让你很好地理解数据库开发在程序设计中的意义和作用。并能在和软件开发程序员的合作中,更好地实现程序员理想的功能。
3、取得认证
对于已经成为DBA的你而言,认证将不再作为DBA行业的敲门砖。更多的时候,认证对于初级DBA而言,是一种学习的过程,同时也是自我价值的实现过程。同时,在参与认证考试的时候,也能够从和其他DBA的交流中,学习一些从未接触过的技术或者经验。
成为一名中级DBA,OCP(Oracle Certified Professional)是你必须考取的认证。作为数据库行业的大佬,Oracle的技术实力是不言而喻的。而且,DBA行业的最高级别认证,也是属于Oracle认证体系的。
更重要的是,取得一门认证,对于你的DBA生涯的发展而言,是大有裨益的。所以,去取得认证吧。
4、获得技术资源库
对于DBA而言,Technet账户是必须的。这是众多DBA少有的技术、资源交流聚集地。在共享Oracle知识,分享Oracle资源的同时,也能够寻找并获取对你而言有价值的Oracle资源。
5、更多的交流
随着新一代互联网技术的兴起和发展,越来越多的新奇的交互手段层出不穷。即时交流工具、新闻组、论坛、irc、聊天室,都可以成为DBA们交流的舞台。但是,传统的新闻组和论坛,依然保有无可比拟的技术优势,可以回答你提出的数据库问题。真正优秀的交流社区,数据库高手们是乐意与你分享他们的技术经验的。
Usenet newsgroup------comp.databases.oracle.server和comp.databases.oracle.misc,这是两个世界性的Oracle数据库技术新闻组。当然,需要比较好的英文功底。
Quest Pipelines------中等的Pipelines,笔者的最爱。
五、成就高级DBA
高级DBA更多的时候,被人成为数据库专家。经过长期的学习和实践,你已经准备好像高级DBA发起冲刺了。如果准备好了,下面的内容将帮你在DBA的道路上走得更远。
1、阅读数据库技术文档
对于DBA而言,真正的技术宝库,就是数据库厂商给出的官方技术文档几乎所以的技术理论都涵盖到这些技术文档中。而且,原版的技术文章更具价值。目前市面上,几乎所有的数据库书籍都是技术文档的解读。当然,这需要你有过硬的英文阅读能力。而且,每个版本的技术文档都有区别。Oracle Database 11g就在Oracle Database 10g的基础上,加入了11g的新特征和新技术。当然,有的高级DBA并没有读过技术文档,这在很大程度上,只是特例。如果一个版本的技术文档,你通读至少12次以上,相信每次都会有新的感悟,你也会逐渐了解到数据库真正的技术核心价值。
2、探寻各个领域的专家之路
高级DBA几乎是数据库领域真正的专家。而涉及到数据库领域,备份与恢复、调优等领域很多。从最简单的开始,尝试了解全部的技术手段和解决问题方案,尝试成为这个领域的专家。之后再逐渐扩展到其他领域。对于IT行业而言,技术更新换代的速度非常快,而以Oracle为代表的数据库厂商,都拥有自己强大的数据库技术研发团队。几乎每3个月,Oracle技术就会更新一次。去学习,保持技术水平的领先性,你一定能成为数据库专家。
3、继续参与社会化媒体的讨论
经过长期的学习和实践,相信你已经积累了自己的社会化媒体DBA技术交流平台。积极地去参与数据库技术讨论,将会让你在DBA的道路上走得更远。如果一个平台没有什么有价值的技术讨论,不妨尝试换一个平台。
4、总结自己的技术经验
学习只是一个成长的经历,总结才能在不断学习中,找出自己的不足之处。所以,以学技术白皮书的方式,去尝试总结自己多年来所学到的技术和积累的经验。不断梳理数据库技术和理论架构,你会发现,自己技术的不足之处很难有所建树。针对这些不足之处可以适当得强化和提高。当你尝试总结的时候,你会吃惊地发现,曾经都快遗忘的技术理论又开始出现在脑海里,这是非常美妙的体验。
5、成为Oracle解决方案专家
对于DBA而言,不断积累遇到的数据库问题,甚至是故意破坏数据库以探寻数据库疑难问题,是每个DBA几乎都要经历的过程。高级DBA基本都是Oracle解决方案专家,能够根据Oracle数据库出现各种问题,很快地提出解决方案。
6、成为Oracle性能调优专家
Oracle数据库日常问题的解决、性能优化,几乎成为了每个雇用DBA企业都十分关注的问题。性能调优对于企业而言,能够在很大程度上节约企业的成本。一个Oracle性能调优专家能够在很大程度上,以最优的Oracle数据库解决方案来实现最好的Oracle数据库存储。
7、成为承载能力计划专家
评估一个数据库的承载能力,几乎成为了高级DBA的必修课。如何准确预估数据增长量、交易增长量,从而更好的规划、设计数据库的承载能力,以最优的软硬件配置实现企业利益的最大化,这才是高级DBA的价值所在。
8、关注新技术
虽然,在国内,新技术的实现需要一段很长的时间。但是,尽早掌握数据库新技术,对于高级DBA而言是非常必要的。总有大型的企业,需要不断革新和改进自己的数据库技术,这就要求高级DBA不断关注新技术,学习新技术。
制订学习计划
1、全面分析,正确认识自己。
准确找出自己的长处和短处,以便明确自己学习的特点、发展的方向,发现自己在学习中可以发挥的最佳才能。
2、结合实际,确定目标。
订计划时,不要脱离学习的实际,目标不能定得太高或过低,要依据:(1)知识、能力的实际;(2)“缺欠”的实际;(3)时间的实际;(4)教学进度的实际,确定目标,以通过自己的努力能达到为宜。
3、长计划,短安排。
要在时间上确定学习的远期目标、中期目标和近期目标。在内容上确定各门功课和各项学习活动的具体目标。学习目标可分为:(1)掌握知识目标;(2)培养能力目标;(3)掌握方法目标;(4)达到成绩(分数)目标。
长计划是指明确学习目标,确定学习的内容、专题,大致规划投入的时间;短安排是指具体的行动计划,即每周每天的具体安排和行动落实。
4、突出重点,不要平均使用力量。
所谓重点:一是指自己学习中的弱科或成绩不理想的课程或某些薄弱点;二是指知识体系中的重点内容。订计划时,一定要集中时间,集中精力保证重点。
5、计划要全面,还要与班级计划相配合。
计划里除了有学习的时间外,还要有进行社会工作、为集体服务的时间;有保证睡眠的时间;有文体活动的时间。时间安排上不能和班级、家庭的正常活动、生活相冲突。
6、安排好常规学习时间和自由学习时间。
常规学习时间(即基本学习时间):指的是用来完成老师当天布置的学习任务,“消化”当天所学知识的时间。
自由学习时间:指的是完成了老师布置的学习任务之后,所剩下的归自己支配的学习时间。在自由学习时间内一般可做两件事:补课和提高。补课是指弥补自己学习上的缺欠;提高是指深入钻研,发展自己的学习优势或特长。不管是补课还是提高,最好要围绕一个专题进行,这样做,学习比较容易见效果。
自由学习时间内所取得的学习效果,对改变学习现状具有重大的作用,因此这一时间的安排,应当成为制订学习计划的重点之一。
7、脑体结合,学习和其他活动应合理安排。
在安排计划时,不要长时间地从事单一活动。(1)学习和体育活动要交替安排。比如,学习了一下午,就应当去锻炼一会儿,再回来学习;(2)安排科目时,文科、理科的学习要错开,相近的学习内容不要集中在一起学习;(3)同一学科的材料,用不同的方法学习。
8、提高学习时间的利用率
时间是宝贵的,自觉提高时间利用效率,是每个中学生学习上进行自我修养的重要内容。(1)早晨或晚上,一天学习的开头和结尾时间,可安排着重记忆的科目,如英语科等;(2)心情比较愉快,注意力比较集中,时间较完整时,可安排比较枯燥的内容或自己不太喜欢的科目;(3)零星的或注意力不易集中的时间,可安排学习自己最感兴趣的学科或做习题。这样可以提高时间的利用率。
9、计划要留有余地。
10、注意效果,定期检查,及时调整。
检查内容:(1)计划中的学习任务是否完成?(2)是否基本按计划去做?(3)学习效果如何?(4)总结得失,找出偏差,分析原因,以利改进。从而实现自我管理,自我控制,自我激励、自我调整。
zuizhongyaodeshikanziji
什么是DBA