学习做 DBA 的过程中学习unity需要精通c#么哪些知识

2008年 总版技术专家分年内排行榜第二
2010年 总版技术专家分年内排行榜第四2009年 总版技术专家分年内排行榜第五2007年 总版技术专家分年内排行榜第六
2008年9月 Oracle大版内专家分月排行榜第二2008年8月 Oracle大版内专家分月排行榜第二2008年4月 Oracle大版内专家分月排行榜第二
2007年5月 Oracle大版内专家分月排行榜第三
2013年7月 MS-SQL Server大版内专家分月排行榜第一2009年3月 Oracle大版内专家分月排行榜第一2009年2月 Oracle大版内专家分月排行榜第一
2013年9月 MS-SQL Server大版内专家分月排行榜第二2013年8月 MS-SQL Server大版内专家分月排行榜第二2009年4月 Oracle大版内专家分月排行榜第二2009年1月 Oracle大版内专家分月排行榜第二2004年10月 MS-SQL Server大版内专家分月排行榜第二
2009年7月 荣获微软MVP称号2010年7月 荣获微软MVP称号2008年7月 荣获微软MVP称号
2005年2月 Delphi大版内专家分月排行榜第一
本帖子已过去太久远了,不再提供回复功能。写给想进入DBA职业的同学 - CSDN博客
写给想进入DBA职业的同学
写给想进入DBA职业的同学
有人问起DBA职业的一些问题,于是就整理一下个人的一些看法与建议,供同学们参考。
1、数据库管理与开发职位&&&&& 数据库管理与开发其实是数据库两个不同的方向。&&&&& 数据库管理就是我们通常说的DBA,主要工作是做数据库安装、管理、调优、备份,主要技术点是除了对数据库本身比较熟悉外,还要对硬件(主机、存储、网络)、操作系统有较好的理解,否则很难做到资深。&&&&&&数据库开发是一个比较泛的说法,一般人理解是指涉及到数据库应用的开发,如常见的数据库用oracle,sqlserver,mysql,开发语言用java,.net,php等等的项目开发。&&&&& 还有一种说法是采用数据库系统上的语言进行开发工作,这类一般是指专注于数据库技术开发的人员,如ETL工程师(数据库抽取、传输、加载,是数据仓库应用的一部份),如果系统中的存储过程非常多,那也可能会设置专注从事数据库存储过程逻辑的开发工程师。&&&&& 有些大型公司,对数据库应用比较深入,可能会设置专业的DBA从事开发顾问工作,主要责任是与项目组一起进行系统的数据库结构设计、SQL相关的开发优化,这类DBA要求对系统业务有一定了解,对数据库开发与优化也比较熟悉,对这种职位每个公司的名称可能不一样,有些公司还是称为DBA或数据库开发工程师,阿里巴巴公司称为开发DBA或应用DBA。
2、应届毕业生与DBA职位&&&&& 应届毕业生要从事DBA工作门坎比较高,因为DBA职位是需要有一定实践经验的人员,应届生很难录用,除非你的特长刚好是公司需要的:比如说你在学校从事的项目或课题中有较深入的数据库相关应用,你在数据库方向又有很好的理解。或者你没有做过DBA,但是学校里参与设计过数据库系统,对数据库实现原理很了解。&&&&& 表面上看DBA是从事数据库管理工作,不需要软件开发技能,但是随着个人的发展,你需要经常与开发人员打交道,需要写代码模拟开发人员访问数据库的CASE,还需要做一些新技术的测试学习,所以在DBA成长的过程中,开发技能也是必不可少的。实际上,90%的DBA都是从事了一段时间开发工作后才转型为DBA岗位。&&&&& 所以对于应届生,我不建议直接挑战DBA岗位,最好还是先从事一段时间开发工作,如果对数据库管理的工作比较感兴趣,可以在工作过程中不断学习数据库知识,帮助团队解决数据库的问题,当决定转型为DBA或者是工作中有明确的DBA需求后,再选择从数据库概念、功能、管理、开发、调优逐步系统的学习数据库知识,多做测试与实践,在专业论坛中处理更多的问题。
3、是否应该参加数据库培训&&&&& 对于OCP与DBA相关的培训,我前几年也考试通过OCP,目的只是为了提高自己的ORACLE基础知识,希望自己能更系统一点的了解ORACLE数据库,全部是自学后参加考试,后来没有去拿证,因为拿证要交很大的一笔培训费用。数据库相关培训的价格应该都不低,外界的认可度也没以前好,因为现在OCA与OCP的考试基本上很容易通过。去参加数据库培训也并不一定能学到多少东西,更重要的是个人的兴趣与环境。如果你真想提高自己,而且有经济基础,那可以选择参加数据库培训,但前提是你要具备一定的基础再去,因为培训的时间一般很短,要想在培训的时间内消化基本上不太可能,所以最好先拿OCA或OCP的试题测试一下自己的能力,如果你连题目的意思都不理解或者里面的概念都没听过那还是花一些时间再自学一下吧。&&&&& OCP相关的认证对于国企或许会有点用,如果你有好的背景或就业渠道,肯定会有价值,这个我就不好发表言论了。
4、数据库学习方法&&&&& 关于数据库学习的方法,一定要理论加实践,光看书是没用的,而且会让人感觉投入多收益少,开始时多做测试,掌握常用的功能,在工作中或网络上解决实际的问题,学习别人解决问题的方法,对于不理解或不熟悉的知识点自己要亲自实践,解决的问题多了,自然就会感觉水平提高。接着会发现水平提高得越来越慢,这时反过来从更基础的层面系统的学习数据库知识,把一些以前没理解的问题从基础学习后再REVIEW一次。经过这两个阶段你差不多就算是入行了。
5、关于网络上一些很INTERNAL的文章&&&&& 网络上经常有许多深入数据库底层相关的文章与讨论,让很多初学者望而却步,这些知识很难掌握,但并不表示这些知识很重要,因为我们学习知识主要目的是解决问题,而不是表现自己。所以建议初学者不需要花时间去了解那些数据库不太公开的技术内容,因为这些内容变化得较快,实践当中也遇到得较少,很多也是BUG问题,对于大部人或文章作者更多也可能只是猜测或者片面的介绍(当然,有些作者还是研究得很深入也很系统),所以就算你了解了也不确定什么时候能用上,并且知识不用就很容易忘记。等有一天你正式当上DBA后,并且开始管理超过TB级的数据库时,再去讨论这些所谓INTERNAL的知识吧。
叶正盛(MKing)我的新浪微博
本文已收录于以下专栏:
相关文章推荐
原帖:http://www.itpub.net/thread--1.html
1.安装和升级数据库服务器,以及应用程序工具构建和配置网络环境.
编者按:本文由360副总监、奇舞团负责人月影编写,文中解释了什么是前端工程师,前端工程师的发展之路、前景、需要的知识体系、以前前端工程师的学习与成长等内容,在最后,还提到了关于在校大学生学习前端的一些...
命令格式:ping ip地址 -l 字节数注:上面的命令中 l 是字母l,不是数字1网速等于≈(发送的字节数/返回的时间[毫秒])K字节以上计算的结果速为字节(byte),不是我们通常说的位(bps)...
为什么oracle的内置函数中没有leftstr,rightstr之类的字符串函数(substr使用说明大全)使用ORACLE的人应该都用过oracle中的substr函数,函数作用就不说了。subs...
本文转载自:/post/to-be-a-good-frontend-engineer.html前端工程师是做什么的?前端工程师是互联网时代软件产品研发中不可缺...
写给想成为前端工程师的同学们
原文:/post/to-be-a-good-frontend-engineer
前端工程师是做什么的?
前端工程师是互联...
原文地址:http://www.blogjava.net/vanadies10/archive//349153.html  写给想加入淘宝的在校同学--广州实习生招聘感想2011淘...
纷纷的雨季送来了别离,一年又一年,又一大批学生即将离开学校,结束学生生涯,开启人生的另一个征程!回首自己走过的路,总结了下,写点东西出来,不敢说是忠告或是什么经验,但是至少没坏处!
他的最新文章
讲师:吴岸城
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)重要性/DBA[数据库管理员]
DBA一个小的软件开发工作室和一个分工高度明细的大相比,DBA的职责来得更加宽泛一些。一个公司,不管它是自己开发应用软件,还是购买第三方的应用软件,只要涉及到数据库(有多少不涉及数据库的应用软件呢?数据库是商业的灵魂和大脑啊),就需要确定是否雇佣一个或几个DBA。知道DBA这个有哪些要求,对于企业内部这个职位的定义或者对于那些未来的DBA将是至关重要的。
职业技能/DBA[数据库管理员]
数据库管理员技术是指DBA执行一项任务时所需要的技能。在数据库环境的管理与维护中,技术任务可归结成许多不同的分类。下面列出了一名DBA应掌握的一些技术(排名不分先后)。理解数据备份/恢复与灾难恢复
恢复已损坏的数据库是每一个DBA应掌握的最重要的技能。DBA需要完全理解数据库所有可能的备份与恢复方法,以及不同备份方法与不同恢复策略的对应关系。此外,DBA还需要与业务部门合作,一起确认业务需求,明确用户能够容忍的数据丢失底线。此外,业务用户还需要确定在系统故障情况下,他们的业务能够维持多长时间。理解这些需求可以帮助DBA开发出一个满足业务用户要求的/恢复方法。一个优秀的DBA要定期测试备份与恢复流程,保证他们有能力恢复业务数据,满足企业所规定的业务数据丢失与恢复要求。
工具集的使用
所谓工具集,指是的他们要有一组用于执行不同DBA任务的脚本。这个工具集应该包含不同的小代码片段,它们可以快速诊断问题或执行一个特定的任务。这些工具脚本应该按DBA的活动类型归类,如备份、索引维护、性能优化、容量管理等。由于总是会执行新任务、发现新问题或找到其他人开发的好用脚本,因此一个优秀的DBA会不断地给这个工具集增加新脚本。此外,他还应该了解网上哪里能够找到一些免费的工具和脚本。一个好的DBA知道什么时候可以利用其他人编写的脚本,从而节省自己的时间和改进自己的工具集。
知道从哪里获得帮助
即使是大牛,也不可能是无所不知的,每个人都有需要寻求帮助或建议的时候。而知道从何处寻找建议是很重要的。如果一个数据库实例不能按预期方式运转,那么快速寻找新问题的解决方法也是一个重要能力。一个好的DBA知道如何快速地在网上查找一个未知问题的解决方法。此外,他们也可能已经知道了一些非常不错的网站,也知道业界专家会提供一些好建议,同时知道什么时候应该忽略一些不好的建议。你可能想象不到,确实有一些建议不值得参考。
知道如何使用原生性能工具
以举例,性能是一个关键的问题,因此DBA需要知道如何修复故障和监控性能问题。有许多第三方性能监控工具可以帮助DBA优化性能。如果DBA只使用第三方工具,而不会使用SQL&Server自带的原生工具来监控性能,那么相信很快就会出现问题。虽然使用第三方工具来监控性能也很不错,但是DBA一定要理解SQL自带的一些原生工具,如SQL&Server&Profiler、Database&Engine&Tuning&Advisor、Dynamic&ManagementViews、系统/扩展的存储过程、Extended&Events等。许多第三方工具实际上在使用这些底层的原生工具。因此,理解这些自带的原生工具将有利于增强DBA使用第三方工具的经验。
研究新版本
在技术领域中,没有什么是一成不变的。每隔两三年,主流数据库厂商都会发布一个大版本的更新。DBA应该紧跟新版本所作的修改,它们可能有许多变化方法,最好的方法是迟早介入这个过程。测试版开放后马上下载和安装,尽快掌握第一手使用经验。一名好的DBA总是走在学习排头兵,总是会第一时间安装和测试新版本。这样他们就可以尽早理解新特性,然后提出一些合理的新建议,帮助组织更好地利用新版本数据库。
理解代码最佳实践方法
DBA应该了解如何编写高效的。有许多糟糕的编码实践方法会导致拙劣的性能。一名好的DBA要能够理解和识别这些糟糕的编码实践方法,知道如何修改这些烂代码,让它们变成高效代码。此外,他们还要记录下写代码的最佳实践方法,并且将这些实践方法分享给其他人。
持续不断地学习
数据库及其涉及面非常广。DBA很难理解一个技术的方方面面。DBA需要持续学习如何管理数据库。这个学习过程有很多方法。其中之一就是参加正式培训。但是,并非人人都有这样充裕的事件和金钱,也并非人人都能够放下手头工作专门出去参加正式的培训。但是,还有许多其他方法可以获得培训,而且大多数还是免费的。一名好的DBA一定要订阅一些定期发布数据库新技巧和新文章的社区网站。此外,他还应该加入一些用户组织,可以在周末参加一些当地的免费沙龙活动。
数据库安全性
安全性是一个热门话题。DBA应该完全掌握如何实现数据库的安全访问。他们应该理解操作系统身份验证和数据库身份验证的区别,以及它们各自的使用场合。他们应该理解如何使用数据库角色来管理不同类型用户的安全配置。他们应该理解连接数据库的端口与协议。此外,他们还应该理解如何加密整个数据库,或者一个数据库中一个表的某一个字段,同时理解关于加密数据的各种问题。
数据库设计
决定数据库性能的一个关键问题是数据库设计。DBA需要理解关于数据库设计的各个方面。他们要能够理解设计好坏的。他们需要理解为什么使用正确的外键约束、主键、检查约束和使用数据类型能够保持数据库的数据完整性和实现高效的数据查询与更新。
数据库索引是提高应用程序检索和更新数据速度的重要环节。DBA需要知道索引的工作原理。他们应该知道聚簇索引和非聚簇索引的区别,知道这些索引的物理存储方式。DBA应该知道如何在执行计划中使用这些索引。他们应该理解如何找到索引的使用统计、理解索引碎片及如何发现丢失的索引。他们应该知道如何维护索引,以及索引统计信息对于查询引擎的重要作用。
容量监控与规划
数据库往往要使用大量的资源,包括、内存、I/O及。DBA应该理解如何监控数据库所需要的不同主机的用量。他们应该能够理解这些资源在不同时间的使用情况,以及利用历史使用数据来规划未来的容量需求。在监控过程中,DBA应该能够预见到容量规划会在将来什么时候出现问题,然后采取必要的措施保持数据库不会因为容量限制而出现中断。
数据库许可证
不同的产品有许多不同的许可证授权方式。而且,同一款产品本身又有许多不同的版本。DBA应该理解所负责的数据库版本的不同授权模式。他们应该能够提供指导如何通过合理购买授权来减少数据库总拥有成本,以及如何合理利用授权方法来降低未来版本的升级成本。
尽可能实现自动化
DBA每天都需要执行许多的日常任务。其中一些任务需要每天执行,而另一些则每周、每月或每年执行。一名好的DBA需要理解如何高效地安排自己的时间。其中一种方法是建立工作流程,这些日常任务的自动执行。通过实现日常任务的自动化执行,DBA就可以用更多的时间去关注于数据库环境管理中遇到的严重问题。
本文只是表达了笔者个人对于DBA应具备的重要特质的看法。你具备的特质越多,作为DBA的你就越优秀。成为一名成功DBA的关键是不断地学习与提高,努力去掌握更多关于如何管理和维护数据库环境的知识。
性格要求/DBA[数据库管理员]
很多时候管理人员都忽视了DBA的个性特点,他们只关注DBA的。实际上,上面谈到的每个职责都意味着:DBA需要跟各种人员打交道,这些人员可能是销售商、用户、开发人员或者管理人员。这说明:DBA必须具有下面的个性特点:自信心、好奇心、坚韧的意志力、老练、自我驱动、注意细节,为什么这些个性特点很重要呢?
我就有几个缺乏自信心的部下,他们反复问我一些事无巨细的问题,他们没有信心哪怕做最小的决定。他们也缺乏工作的主动性。这对于初级DBA来说可能问题不太大,但对于那些高级DBA来说,如果他们缺乏自信心,他们又可以依赖谁帮他们决策呢?在DBA的面试中,即使你不能回答某个技术问题,你也要表现出足够的自信心。最致命的不是不知道问题的答案,而是不知道从哪儿得到答案。
几乎所有的数据库系统都在不停地更新。但并不是所有的更新都有技术文档。对于好的DBA来说,好奇心是必需的。没有好奇心和求知欲的DBA总是等待有人告诉他们答案。而一个求知欲强的DBA将安装最新版本的数据库系统,并立即开始搜寻那些哪怕是细微的功能和性能上的差异和增强,从而改进自己的工作。应试时一个必然问及的问题是:你手头有哪些?你如何使用它们?毫无疑问,如果你只回答了数据库的文档,或者你甚至没有读过他们,你的"股票市值"将大大下降。好奇心会驱使DBA们理解数据字典(Data&Dictionary)、管理工具(Tools)或者其他支持包(Packages)。
DBA常常会碰到棘手的问题。寻找答案是一个需要坚韧意志力、可以经受摔打的个性特点。我常常在一些讨论组或者论坛上看到DBA们提出的问题,这些问题往往是提问者自己可以解决的,如果他们具有坚韧的个性特点,并努力寻求问题的答案。
自我驱动对每个人都是很重要的,对DBA尤其如此。DBA要能想办法使问题出现,而不是等待问题的出现。自驱力强的DBA常常设法取得或者自己写一些必要的脚本(Script)来监控包括数据表大小(Table&Size)、表空间使用(Tablespace&Usage)等项目,这些项目如果被忽视,他们将遇到麻烦。应试的时候DBA们常常被问及在PL/SQL、SQL或者SQL*PLUS方面的经验,这些问题将把你从从来没有编写过自己需要的脚本的那些DBA们区分开。
不用说和用户,就是和程序员和管理人员打交道,也需要你足够老练。一个一点不会处事的DBA不会为你做什么好事,只会在你的部门点燃敌对情绪的烈火。老练是这样一种能力,你劝告某个人到地府去,哈哈,最后这个人怀着渴望的心情去了。很多时候,开发者、管理者、用户,他们会提出毫无道理的需求,DBA们需要老练地引导、修正它们的要求,说服他们。在应试时,你的应对就很能说明你是否老练。
最后说说注意细节,这种性格倾向非常重要。注意细节的DBA们衣着整洁,有自己的,在应试前对应聘的单位做过调查。注意细节的DBA们深入了解数据库的内核,并能理解视图、表之间的关系。
职业等级划分/DBA[数据库管理员]
数据库管理员DBA的等级并不是很严格的。按照对数据库的掌握情况,我简单地分成三个等级:初级Primary、中级Intermediate和高级Senior。
初级DBA又称为DBBS,是英文Database&Baby&Sitter的。初级DBA常常是兼职的,他们往往同时是程序员或者兼任其他的工作。初级DBA往往把写得很棒,参与了很多和数据库有关的项目或工作。但是,这些项目或者工作往往是:第三方软件供应商已经安装并配置了数据库,他们只做一些监控的工作。他们能处理一些简单的问题,但大多数时候他们向应用软件供应商求救。初级DBA更喜欢图形化的数据库管理或者监控工具,他们喜欢Access这样的桌面数据库简单易用,并把这些小型数据库的经验简单地应用到大型数据库相关的工作中。
初级DBA是最好区分的。而中级DBA和高级DBA就不太好区分。他们的差别在于经验的不同和个性特点、能力方面的差异。中级DBA比较多,他们可以胜任高级DBA的大部分工作,包括:
1、数据库安装;
2、数据库配置和;
3、权限设置和安全管理;
4、监控和性能调节;
5、备份和恢复;
6、解决一般的问题;
中级DBA往往从业一年左右,熟悉某种操作系统环境下的数据库。因为对中级DBA来讲,Windows&NT和Unix是有很大的。中级DBA对SQL比较熟悉,他们自己购买了几本数据库方面的书籍,并深入钻研。中级DBA往往同时兼任数据库程序员,他们的工作对性能、稳定性、安全性的追求基本上不是很高,往往配合高级DBA做一些例行工作。
高级DBA在国内是非常少的。他们购买了太多的数据库方面的英文资料,也许是托朋友从Amazon买的。相对于他们的报酬来讲,买书的钱是很少的一个比例。高级DBA一般都熟悉很多种操作平台下的几种大型数据库。他们知道各种不同数据库在不同环境下的优势和劣势,并能在数据库平台和数据库环境的选择方面做出决策。他们一般通晓系统架构和数据库设计,并能对数据库进行各种级别的优化。高级DBA一般都配有助手,他们更偏向做决策和计划。高级DBA往往在银行业、保险业、等对稳定性、安全性、性能都要求比较高的关键业务处理领域大显身手。
很多时候,是否取得数据库专家认证证书并不是很重要。我知道很多数据库厂商的培训只要你去了都会获得证书。有很多的公司提供商业化的培训,他们的服务质量也有好有劣。所以证书并不是特别地有意义。
职业常用系统/DBA[数据库管理员]
最“容易”的数据库系统-Microsoft&SQL&Server
如果你打算做一个DBA,建议你选择那些比较流行的数据库系统。这意味着你将有更多的就业机会、交流和培训机会,而且,流行自有流行的理由,你可以因此省心很多。当然,就业竞争压力也比较大。一般的入门者选择Microsoft&SQL&Server,这是非常适合中小型企业的数据库系统,熟悉Access的读者很容易就能初步使用Microsoft&SQL&Server,成为一个DBBS。
Microsoft&&Server&7.0的报价,5用户版1399美金,增加用户时,127美金每用户。
最“难”的数据库-Oracle
如果你有机会接触到Oracle,那可是个好机会。Oracle是目前最看好的数据库厂商,由于其强大的功能和可配置、可管理能力,Oracle&DBA的薪资一般比其他数据库管理员的薪资要高。而且,Oracle在大中型企业的关键应用也更加普遍了。Oracle可以运行在Windows&NT、Sun&Solaris、Linux等平台下。很多情况下要求你不仅仅熟悉NT,还要你熟悉Unix;而且Oracle不太友善的界面和成箱的Oracle产品资料可能也是一个障碍。
Oracle&8i标准版的报价,如果运行在Windows&NT,附带JServer和interMedia,支持5个并发用户,报价是3925美金每CPU。增加并发用户时,785美金每用户。增加附加的命名用户时,392.5美金每用户。
数据库系统的-IBM&UDB/DB2
作为30年数据库研究的成果,IBM&DB2确实称得上“数据库系统的贵族”。不管是小型商业系统,还是大的银行系统,用DB2都是可以高枕无忧的。当前推出的新版DB2&6.1,管理和调节工具更加卓越和便于使用。DB2&可以运行在Intel架构上,也可以运行在IBM的S/390大型计算机上。如果你所在的行业对IBM的机器特别地称道,建议你学习IBM&DB2。
DB2有两种版本:工作组版和企业版。工作组版999美元每服务器,外加249美元每个并发用户。而企业版是12500美元每个CPU,不限并发用户。
以Java为中心的数据库-Sybase&Adaptive&Server&Enterprise(ASE)&12.0
即将发布的Sybase&ASE&12.0,直接面向Java程序员。这种以Java为中心的数据库系统,为那些准备在Java平台下构建企业应用的企业来说,将是最好的选择。但是ASE称不上一个数据库领域的领先者,尽管相对于它以前的版本已经改进很多,并支持多个CPU和更多的并发,还有很多的新的特性。但Sybase的风光似乎已经不再。
值得期盼的Informix&Centaur
有时候“第一”只是你的对手需要等待更长的时间去赶上你。这正是1997年创立的Informix所面临的。Informix公司是率先将多媒体特性加入到关系数据库系统的大型数据库厂商之一。但是如今,IBM、Oracle、Sybase都已经跨越了这个概念。所以,Informix不得不寻求新的支撑来使自己区别于其他数据库厂商。这就是Informix&Centaur的目标。Informix&Centaur结合了Informix&Dynamic&Server&7.3的对象-关系数据库和Informix&Universal&Data&Option&9.1,意在获得更好的适应性和多媒体支持。详情如何,我们拭目以待!
职责/DBA[数据库管理员]
拥有大容量和复杂数据库的公司通常任命数据库,根据所用的应用程序和软件系统来指导数据库分析员和程序员。数据库管理员必须与科学技术和数据库系统的新发展齐头并进,以不断改进数据库运行。通过使当地运用信息技术于数据库管理系统,数据库管理员能够显著地最大化,降低风险和成本。数据库管理员的主要职责有以下几个方面。设计
数据库管理员帮助确定:
数据库设计,包括字段、表和关键字段;
资源在辅助存储设备上是怎样使用的,怎样增加和删除文件及记录,以及怎样发现和补救损失。
监控数据库的警告日志。Alert.log,定期做备份删除。
Linstener.log的监控,/network/admin/linstener.ora。
重做日志状态监视,留意视图v$log,v$logfile,该两个重做日志的信息。
监控数据库的日常会话情况。
碎片、剩余表空间监控,及时了解表空间的扩展情况、以及剩余空间分布情况,如果有连续的自由空间,手工合并。
监控回滚段的使用情况。生产系统中,要做比较大的维护和数据库结构更改时,用rbs_big01来做。
监控扩展段是否存在不满足扩展的表。
监控临时表空间。
监视对象的修改。定期列出所有变化的对象。%BB%B6&target="_new"&class=innerlink&;文件,有初始化参数文件、用户后台文件、文件。
安装和升级数据库服务器(如Oracle、Microsoft&SQL&server),以及应用程序工具。
数据库设计系统存储方案,并制定未来的存储需求计划。
一旦开发人员设计了一个应用,就需要DBA来创建数据库存储结构(tablespaces)。
一旦开发人员设计了一个应用,就需要DBA来创建数据库对象(tables,views,indexes)。
根据开发人员的反馈信息,必要的时候,修改数据库的结构。
登记数据库的用户,维护数据库的安全性。
保证数据库的使用符合知识产权相关法规。
控制和监控用户对数据库的存取访问。
监控和优化数据库的性能。
制定数据库备份计划,灾难出现时对数据库信息进行恢复。
维护适当介质上的存档或者备份数据。
备份和恢复数据库。
联系数据库系统的,跟踪技术信息。
对数据库的备份监控和管理数据库的备份至关重要,对数据库的备份策略要根据实际要求进行更改,数据的日常备份情况进行监控。由于我们使用了磁带库,所以要对legato备份软件进行监控,同时也要对rman备份数据库进行。
规范数据库用户的管理定期对管理员等重要用户密码进行修改。对于每一个项目,应该建立一个用户。DBA应该和相应的项目管理人员或者是程序员沟通,确定怎样建立相应的数据库底层模型,最后由DBA统一管理,建立和。任何数据库对象的更改,应该由DBA根据需求来操作。
对SQL语句的书写规范的要求一个SQL语句,如果写得不理想,对数据库的影响是很大的。所以,每一个程序员或相应的工作人员在写相应的SQL语句时,应该严格按照《SQL书写规范》一文。最后要有DBA检查才可以正式运行。
最终用户服务和协调
数据库管理员规定用户访问权限和为不同用户组分配。如果不同用户之间互相抵触,数据库管理员应该能够协调用户以最优化。
数据库安全
数据库管理员能够为不同的数据库管理系统用户规定不同的访问权限,以保护数据库不被未经授权的访问和破坏。例如,允许一类用户只能检索数据,而另一类用户可能拥有更新数据和删除记录的权限。
深层次管理和研究
DBA深层次要求一个数据库能否健康有效的运行,仅靠这些日常的维护还是不够的,还应该致力于数据库的更深一层次的管理和研究:数据库本身的优化,开发上的性能优化;项目的合理化;安全化审计方面的工作;数据库的底层建模研究、规划设计;各种数据类型的处理;内部机制的研究;ora-600错误的研究、故障排除,等等很多值得探讨的问题。ORACLE数据库管理员应按如下方式对ORACLE数据库系统做定期:
⑴每天对ORACLE数据库的运行状态,日志文件,备份情况,数据库的空间使用情况,系统资源的使用情况进行检查,发现并解决问题。
⑵每周对数据库对象的空间扩展情况,数据的增长情况进行监控,对数据库做健康检查,对对象的状态做检查。
⑶每月对表和等进行Analyze,检查表空间碎片,寻找数据库性能调整的机会,进行数据库性能调整,提出下一步空间管理计划。对ORACLE数据库状态进行一次全面检查。
日常工作/DBA[数据库管理员]
每日工作数据库管理员⑴确认所有的INSTANCE状态正常登陆到所有数据库或例程,检测ORACLE后台。
⑵检查文件系统的使用(剩余空间)。如果文件系统的剩余空间小于20%,需删除不用的文件以释放空间。
⑶检查日志文件和trace文件记录alert和trace文件中的错误。连接到每个需管理的系统使用‘telnet’对每个数据库,cd到bdump目录,通常是$ORACLE_BASE//bdump使用Unix‘tail’命令来查看alert_.log文件,如果发现任何新的ORA-错误,记录并解决。
⑷检查数据库当日备份的有效性。对RMAN备份方式:检查第三方备份工具的备份日志以确定备份是否成功;对EXPORT备份方式:检查exp日志文件以确定备份是否成功;对其他备份方式:检查相应的日志文件。
⑸检查数据文件的状态状态不是“online”的数据文件,并做恢复。Select&file_name&from&dba_data_files&where&status=’OFFLINE’。
⑹检查表空间的使用情况SELECT&tablespace_name,max_m,count_blocks&free_blk_cnt,sum_free_m,to_char(100*sum_free_m/sum_m,‘99.99’)||‘%’ AS&pct_free&FROM(SELECT&tablespace_name,sum(bytes)/&AS&sum_m&FROM&dba_data_files&GROUP&BY&tablespace_name),&(SELECT&tablespace_name&AS&fs_ts_name,max(bytes)/&AS&max_m,count(blocks)&AS&count_blocks,sum(bytes/)&AS&sum_free_m&FROM&dba_free_space&GROUP&BY&tablespace_name)WHERE&tablespace_name&=&fs_ts_name
⑺检查剩余表空间SELECT&tablespace_name,sum&(blocks)&as&free_blk,&trunc(sum&(bytes)/())as&free_m,max&(bytes)/(1024)as&big_chunk_k,count(*)as&num_chunks&FROM&dba_free_space&GROUP&BY&tablespace_name;
⑻监控数据库性能,运行bstat/estat生成系统报告或者使用statspack收集统计数据;
⑼检查数据库性能,记录数据库的cpu使用、IO、buffer命中率等等&使用vmstat,iostat,glance,top等命令;
⑽日常出现问题的处理。
⑴控数据库对象的空间扩展情况根据本周每天的检查情况找到空间扩展很快的数据库对象,并采取相应的措施--删除---扩表空间alter&tablespace&add&datafile"size---调整数据对象的存储参数next&extent&pct_increase
⑵监控数据量的增长情况根据本周每天的检查情况找到记录数量增长很快的数据库对象,并采取相应的措施--删除历史数据---扩表空间alter&tablespace&add&datafile"size,
⑶系统健康检查以下,内容:init.ora&controlfile&redo&log&file&archiving&sort&area&size&tablespace(system,temporary,tablespace&fragment)&datafiles(autoextend,location)&object(number&of&extent,next&extent,index)&rollback&segment&logging&&tracing(alert.log,max_dump_file_size,sqlnet)&⑷检查无效的数据库对象SELECT&owner,object_name,object_type&FROM&dba_objects&WHERE&status=’INVALID’。
⑸检查不起作用的约束&SELECT&owner,constraint_name,table_name,&constraint_type,status&FROM&dba_constraints&WHERE&status&=&‘DISABLED’AND&constraint_type&=‘P‘
⑹检查无效的trigger&SELECT&owner,trigger_name,table_name,status&FROM&dba_triggers&WHERE&status&=‘DISABLED’
⑴Analyze&Tables/Indexes/Cluster&analyze&table&estimate&statistics&sample&50&percent;
⑵检查表空间碎片根据每月每周的检查分析数据库情况,找到相应的解决方法;
⑶寻找数据库性能调整的机会比较每天对数据库性能的,确定是否有必要对数据库性能进行调整;
⑷数据库性能调整如有必要,进行性能调整;
⑸提出下一步空间管理计划根据每周的监控,提出空间管理的改进方法。
日常管理/DBA[数据库管理员]
这篇文档有很详细的资料记录着对一个甚至更多的ORACLE数据库每天的,每月的,每年的运行的状态的结果及检查的结果,在文档的附录中你将会看到所有检查,修改的SQL和PL/SQL代码。
每日维护程序A检查已起的所有实例;B查找一些新的警告日志;
C检查是否在运行;
D检查数据库备份是否正确;E检查备份到磁带中的文件是否正确;F检查数据库的性能是否正常合理,是否有足够的空间和资源;G将文档日志复制到备份的数据库中;H要常看DBA用户手册、晚间维护程序;I收集VOLUMETRIC的数据。每周维护工作A.查找那些破坏规则的OBJECT
B.查找是否有违反的问题
C.查看错误地方的SQL*NET日志&D.将所有的警告日志存档E.经常访问供应商的主页月维护程序A.查看对数据库会产生危害的增长速度B.回顾以前数据库优化性能的调整C.查看I/O的屏颈问题D.回顾FRAGMENTATIONE.将来的执行计划F.查看调整点和维护&
维护过程/DBA[数据库管理员]
A.查看所有的实例是否已起,确定数据库是可用的,把每个实例写入日志并且运行日报告或是运行。当然有一些操作我们是希望它能自动运行的。可选择执行:用ORACLE管理器中的‘PROBE’事件来;
B.查找新的警告日志文件1.联接每一个操作管理系统2.使用‘TELNET’或是可比较程序3.对每一个管理实例,经常的执行$ORACLE_BASE//bdump操作,并使其能回退到控制数据库的SID。4.在提示下,使用UNⅨ中的‘TAIL’命令查看alert_.log,或是用其他方式检查文件中的警告日志5.如果出现过的一些ORA_ERRORS又出现,将它记录到数据库恢复日志中并且仔细的研究它们,这个数据库恢复日志在〈FILE〉中;
C.查看DBSNMP的运行情况检查每个被管理机器的‘DBSNMP’进程并将它们记录到日志中。在UNⅨ中,在命令行中,键入ps–ef|grep&dbsnmp,将回看到2个DBSNMP进程在运行。如果没有,重启DBSNMP。
D.查数据库备份是否成功;E.检查备份的磁带文档是否成功;
F.检查对合理的性能来说是否有足够的资源1.检查在表中有没有剩余空间。对每一个实例来说,检查在表空间中是否存在有剩余空间来满足当天的预期的需要。当数据库中已有的数据是稳定的,数据日增长的平均数也是可以计算出来,最小的剩余空间至少要能满足每天数据的增长。A)运行‘FREE.SQL’来检查表空间的剩余空间。B)运行‘SPACE.SQL’来检查表空间中的剩余空间百分率2.检查回滚段,回滚段的状态一般是在线的,除了一些为复杂工作准备的专用段,它一般状态是离线的。a)每个数据库都有一个回滚段名字的列表。b)你可以用V$ROLLSTAT来查询在线或是离线的回滚段在状态。c)对于所有回滚段的存储参数及名字,可用DBA_ROLLBACK_SEGS来查询。但是它不如V$ROLLSTAT准确。3.识别出一些过分的增长查看数据库中超出资源或是增长速度过大的段,这些段的存储参数需要调整。a)收集日数据大小的信息,可以用‘ANALYZE5PCT.SQL’。如果你收集的是每晚的信息,则可跳过这一步。b)检查当前的范围,可用‘NR.EXTENTS.SQL’。c)查询当前表的大小信息。d)当前索引大小的信息。e)查询增长趋势。4.确定空间的范围。如果范围空间对象的NEXT_EXTENT比表空间所能提供的最大范围还要大,那么这将影响数据库的运行。如果我们找到了这个目标,可以用‘ALTER&TABLESPACE&COALESCE’调查它的位置,或加另外的数据文件。A)运行‘SPACEBOUND.SQL’。如果都是正常的,将不返回任何行。5.回顾,,,硬件资源论点的过程A)检查CPU的利用情况,进到x:.htm=&system&metrics=&CPU利用页,CPU的最大限度为400,当CPU的占用保持在350以上有一段时间的话,我们就需要查看及研究出现的问题。G.将存档日志复制到备用数据库中,如果有一个备用数据库,将适当的存档日志复制到备用数据库的期望位置,备用数据库中保存最近的数据。H.经常查阅DBA用户手册,如果有可能的话,要广泛的阅读,包括DBA手册,行业杂志,新闻组或是邮件列表。
大部分的数据库产品将受益于每晚确定的检查进程的运行。A.收集VOLUMETRIC数据1.分析计划和收集数据更准确的分析计算并保存结果。a)如果你现在没有作这些的话,用‘MK&VOLFACT.SQL’来创建测定体积的表。b)收集晚间数据大小的信息,用‘ANALYZE&COMP.SQL’。c)收集统计结果,用‘POP&VOL.SQL’。d)在空闲的时候检查数据,可能的话,每周或每个月进行。一般用MS&EXCEL和ODBC的联接来检查数据和图表的增长。
A.查找被破坏的目标1.对于每个给定表空间的对象来说,NEXT_EXTENT的大小是相同的,如12/14/98,缺省的NEXT_EXTENT的DATAHI为1G,DATALO为500MB,INDEXES为256MB.A)检查NEXT_EXTENT的设置,可用‘NEXTEXT。SQL’。B)检查已有的EXTENTS,可用‘EⅪSTEXT。SQL’。2.所有的表都应该有唯一的主键a)查看那些表没有主键,可用‘NO_PK.SQL’。b)查找那些是没有发挥作用的,可用‘DIS_PK.SQL’。c)所有作索引的主键都要是唯一的,可用‘NONUPK。SQL’来检查。3.所有的索引都要放到索引表空间中。运行‘MKREBUILD_IDX。SQL’4.不同的环境之间的计划应该是同样的,特别是测试环境和成品环境之间的计划应该相同。a)检查不同的2个运行环境中的数据类型是否一致,可用‘DATATYPE.SQL’。b)在2个不同的实例中寻找对象的不同点,可用‘OBJ_COORD.SQL’。c)更好的做法是,使用一种工具,象寻求软件的计划管理器那样的工具。B.查看是否有危害到安全策略的问题。C.查看报错的SQL*NET日志。1.客户端的日志。2.服务器端的日志。D.将所有的日志存档E.供应商的主页1.ORACLE供应商。
月维护A.查看对数据库会产生危害的增长速度
1.从以前的记录或报告中回顾段增长的变化以此来确定段增长带来危害B.回顾以前数据库优化性能的调整1.回顾一般ORACLE数据库的调整点,比较以前的报告来确定有害的发展趋势。C查看I/O的屏颈问题1.查看前期数据库文件的活动性,比较以前的输出来判断有可能导致屏颈问题的趋势。D.回顾FRAGMENTATIONE.计划数据库将来的性能1.比较ORACLE和操作系统的CPU,,,及的利用率以此来确定在近期将会有的一些资源争夺的趋势
2.当系统将超出范围时要把性能趋势当作服务水平的协议来看F.完成调整和维护工作1.使修改满足避免系统资源的争夺的需要,这里面包括增加新资源或使预期的停工。
薪资/DBA[数据库管理员]
有很多因素影响到你作为DBA的:
你的经验和能力所决定的DBA等级;你所熟悉的数据库系统你的个性特点和潜力。
职业前景/DBA[数据库管理员]
数据库作为整个的一部分,它的表现直接受服务器、操作系统、存储、网络、应用程序中的质量、数据库设计的质量、以及其它诸多因素的影响,这些因素加在一起非常复杂,经验起着非常重要的作用。因此一个好的DBA除了知识作为基础,经验的多寡、见识的薄广,往往决定了是否合格与优秀。
从另外一个角度说,Oracle工作领域对实践经验和独立工作能力要求较高,没有经过大量的动手实践是很难胜任Oracle相关工作的。
正是由于上述原因,其职场现状是DBA职位不易进入,而用人单位很难找到合适的从业人员,人员缺口非常大。
也正是由于上述原因,随着工作年限的增长,DBA的经验在增加,就像医生一样,其价值会越来越高,可以逐步成长为资深Oracle&DBA、系统构架师、信息主管(CIO)等等,而不会出现许多软件开发从业人员在一定年龄后面临的转行问题。
另外,从职业前景看,从事Oracle&DBA有着更多的职场机遇。一般而言,系统中的软硬件都是、、等业界一流厂商提供的,在与厂商谈判、合作、测试、实施、维护、优化等等过程中,会产生许多极佳的职场机遇,这一点是从事开发工作很难比拟的。
从DBA的工资统计数据看,随着工作经验的积累,DBA工资的增长幅度会远大于其它的计算机方向。工作的稳定性上看,系统的复杂性和经验的重要性已经决定了DBA职位的不可替代性。
从知识的积累、更新和替代角度看,数据库的根基始终没变,变的是不断增强的功能和不断扩展的应用范围。因此,在不同时期所学的知识和获得的经验是叠加和累积的关系,而不像IT许多其他职业方向那样“唯一不变的是变化”,其知识是东风压倒西风还是西风压倒东风的关系。
因此,Oracle&DBA职业是一个高挑战和高回报的,有一定能力的和聪明的技术人员应该挑战自我,进入这个被二十多年事实不断证明的越来越有前景的职业。
&|&相关影像
互动百科的词条(含所附图片)系由网友上传,如果涉嫌侵权,请与客服联系,我们将按照法律之相关规定及时进行处理。未经许可,禁止商业网站等复制、抓取本站内容;合理使用者,请注明来源于。
登录后使用互动百科的服务,将会得到个性化的提示和帮助,还有机会和专业认证智愿者沟通。
此词条还可添加&
编辑次数:22次
参与编辑人数:8位
最近更新时间: 15:24:59
申请可获得以下专属权利:
贡献光荣榜

我要回帖

更多关于 学习unity需要精通c#么 的文章

 

随机推荐