导航:首页 > 编程大全 > 数据库的维护者

数据库的维护者

发布时间:2023-06-26 17:04:40

1. 请问一下以后想从事DBA的工作,即数据库管理员,但是实力不够,需要怎样做呢

DBA数据库管理员要求:
近年来,我一直在和数据库管理员打交道,并直接面试了很多DBA职位。本文想概括一下IT行业对DBA的要求,以及国内DBA的新资现状。可以肯定地说,做一个高级DBA是很不错的职业。如果你打算成为一名DBA,那么希望本文起到抛砖引玉的作用。

什么是DBA

数据库管理员,英文是Database Administrator,简称DBA。这个职位对不同的人意味着不同的意义。一个小的软件开发工作室和一个分工高度明细的大公司相比,DBA的职责来得更加宽泛一些。一个公司,不管它是自己开发应用软件,还是购买第三方的应用软件,只要涉及到数据库(有多少不涉及数据库的应用软件呢?数据库是商业的灵魂和大脑啊),就需要确定是否雇佣一个或几个DBA。知道DBA这个职位有哪些要求,对于企业内部这个职位的定义或者对于那些未来的DBA将是至关重要的。下面我列出了DBA的一些职责:

安装和升级数据库服务器(如Oracle、Microsoft SQL server),以及应用程序工具。 数据库设计系统存储方案,并制定未来的存储需求计划。 一旦开发人员设计了一个应用,就需要DBA来创建数据库存储结构(tablespaces)。 一旦开发人员设计了一个应用,就需要DBA来创建数据库对象(tables,views,indexes)。 根据开发人员的反馈信息,必要的时候,修改数据库的结构。 登记数据库的用户,维护数据库的安全性。 保证数据库的使用符合知识产权相关法规。 控制和监控用户对数据库的存取访问。 监控和优化数据库的性能。 制定数据库备份计划,灾难出现时对数据库信息进行恢复 维护适当介质上的存档或者备份数据 备份和恢复数据库 联系数据库系统的生产厂商,跟踪技术信息。 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的大部分工作,包括:

数据库安装 数据库配置和管理 权限设置和安全管理 监控和性能调节 备份和恢复 解决一般的问题 中级DBA往往从业一年左右,熟悉某种操作系统环境下的数据库。因为对中级DBA来讲,Windows NT和Unix是有很大差别的。中级DBA对SQL比较熟悉,他们自己购买了几本数据库方面的书籍,并深入钻研。中级DBA往往同时兼任数据库程序员,他们的工作对性能、稳定性、安全性的追求基本上不是很高,往往配合高级DBA做一些例行工作。

高级DBA在国内是非常少的。他们购买了太多的数据库方面的英文资料,也许是托朋友从Amazon买的。相对于他们的报酬来讲,买书的钱是很少的一个比例。高级DBA一般都熟悉很多种操作平台下的几种大型数据库。他们知道各种不同数据库在不同环境下的优势和劣势,并能在数据库平台和数据库环境的选择方面做出决策。他们一般通晓系统架构和数据库设计,并能对数据库进行各种级别的优化。高级DBA一般都配有助手,他们更偏向做决策和计划。高级DBA往往在银行业、保险业、在线交易等对稳定性、安全性、性能都要求比较高的关键业务处理领域大显身手。

很多时候,是否取得数据库专家认证证书并不是很重要。我知道很多数据库厂商的培训只要你去了都会获得证书。有很多的公司提供商业化的培训,他们的服务质量也有好有劣。所以证书并不是特别地有意义。

几种流行的数据库系统

最"容易"的数据库系统-Microsoft SQL Server

如果你打算做一个DBA,建议你选择那些现在比较流行的数据库系统。这意味着你将有更多的就业机会、交流和培训机会,而且,流行自有流行的理由,你可以因此省心很多。当然,就业竞争压力也比较大。一般的入门者选择Microsoft SQL Server,这是非常适合中小型企业的数据库系统,熟悉Access的读者很容易就能初步使用Microsoft SQL Server,成为一个DBBS。 J
Microsoft SQL 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的薪资

有很多因素影响到你作为DBA的薪资:

你的经验和能力所决定的DBA等级 你所熟悉的数据库系统 你的个性特点和潜力 下面的表说明了国内DBA人员的基本薪资状况,并说明了DAB等级和你所熟悉的数据库系统怎样影响到DBA的薪资。当然,这只是我个人掌握的情况,只能在一定程度上代表行业的平均水平。

DBA等级数据库系统 初级DBA年薪(万元) 中级DBA年薪(万元) 高级DBA年薪(万元) Oracle 4 8 11 Microsoft SQL Server 3 5 8 IBM DB2 4 8 10 Sybase 3.5 6 8 Informix 4 7 10 注:每年按13个月计算。

2. 数据库实施、运行和维护什么意思

1. 数据库的实施

数据库的实施主要是根据逻辑结构设计和物理结构设计的结果,在计算机系统上建立实际的数据库结构、导入数据并进行程序的调试。它相当于软件工程中的代码编写和程序调试的阶段。
用具体的DBMS提供的数据定义语言(DDL),把数据库的逻辑结构设计和物理结构设计的结果转化为程序语句,然后经DBMS编译处理和运行后,实际的数据库便建立起来了。目前的很多DBMS系统除了提供传统的命令行方式外,还提供了数据库结构的图形化定义方式,极大地提高了工作的效率。
具体地说,建立数据库结构应包括以下几个方面:
l 数据库模式与子模式,以及数据库空间的描述。
l 数据完整性的描述。
l 数据安全性描述。
l 数据库物理存储参数的描述。
此时的数据库系统就如同刚竣工的大楼,内部空空如也。要真正发挥它的作用,还有必须装入各种实际的数据。

2. 数据库的试运行

当有部分数据装入数据库以后,就可以进入数据库的试运行阶段,数据库的试运行也称为联合调试。数据库的试运行对于系统设计的性能检测和评价是十分重要的,因为某些DBMS参数的最佳值只有在试运行中才能确定。
由于在数据库设计阶段,设计者对数据库的评价多是在简化了的环境条件下进行的,因此设计结果未必是最佳的。在试运行阶段,除了对应用程序做进一步的测试之外,重点执行对数据库的各种操作,实际测量系统的各种性能,检测是否达到设计要求。如果在数据库试运行时,所产生的实际结果不理想,则应回过头来修改物理结构,甚至修改逻辑结构。

3. 数据库的运行和维护

数据库系统投入正式运行,意味着数据库的设计与开发阶段的基本结束,运行与维护阶段的开始。数据库的运行和维护是个长期的工作,是数据库设计工作的延续和提高。
在数据库运行阶段,完成对数据库的日常维护,工作人员需要掌握DBMS的存储、控制和数据恢复等基本操作,而且要经常性地涉及物理数据库、甚至逻辑数据库的再设计,因此数据库的维护工作仍然需要具有丰富经验的专业技术人员(主要是数据库管理员)来完成。
数据库的运行和维护阶段的主要工作有:
l 对数据库性能的监测、分析和改善。
l 数据库的转储和恢复。
l 维持数据库的安全性和完整性。
l 数据库的重组和重构。

3. DBA是什么

DBA是数据库管理员。数据库管理员(Database Administrator,简称DBA),是从事管理和维护数据库管理系统(DBMS)的相关工作人员的统称,属于运维工程师的一个分支,主要负责业务数据库从设计、测试到部署交付的全生命周期管理。

DBA的核心目标是保证数据库管理系统的稳定性、安全性、完整性和高性能。

在国外,也有公司把DBA称作数据库工程师(Database Engineer),两者的工作内容基本相同,都是保证数据库服务7*24小时的稳定高效运转,但是需要区分一下DBA和数据库开发工程师(Database Developer):

1、数据库开发工程师的主要职责是设计和开发数据库管理系统和数据库应用软件系统,侧重于软件研发;

2、DBA的主要职责是运维和管理数据库管理系统,侧重于运维管理。

职业等级:

DBA的等级并不是很严格的。按照对数据库的掌握情况,简单地分成三个等级:初级Primary、中级Intermediate和高级Senior。

初级DBA又称为DBBS,是英文Database Baby Sitter的缩写。初级DBA常常是兼职的,他们往往同时是程序员或者兼任其他的工作。初级DBA往往把个人简历写得很棒,参与了很多和数据库有关的项目或工作。但是,这些项目或者工作往往是:第三方软件供应商已经安装并配置了数据库,他们只做一些监控的工作。

他们能处理一些简单的问题,但大多数时候他们向应用软件供应商求救。初级DBA更喜欢图形化的数据库管理或者监控工具,他们喜欢Access这样的桌面数据库简单易用,并把这些小型数据库的经验简单地应用到大型数据库相关的工作中。

4. 数据库管理员,(数据库)系统管理员,数据库拥有者三者之间的联系与区别是什么授权的SQL语句是什么

以土地为例:

系统管理员:城市规划局
数据管理员:开发商
数据库拥有者:国土资源局。
关系为:

数据库拥有者(国土资源局)拥有数据库生死存亡的最高权限。
系统管理员(城市规划局)拥有规划数据库作用的权限,如城市规划局划这一块用作工业,那一块用作商业另一个块用作居住区
数据管理员(开发商)是管理维护数据库这一块的实际执行人,如开发商按城市规划局的要求建成居住区,并设立物业管理处来管理社区一样。

exec sp_addlogin 'test' --添加登录
exec sp_grantdbaccess N'test' --使其成为当前数据库的合法用户
exec sp_addrolemember N'db_owner', N'test' --授予对自己数据库的所有权限
exec sp_revokedbaccess N'test' --移除对数据库的访问权限
exec sp_droplogin N'test' --删除登录
--添加用户: exec sp_addlogin '用户名','密码','默认数据库名'
--添加到数据库 exec sp_grantdbaccess '用户名','数据库名'
--分本权限 grant insert,select,update,delete on table1 to public

阅读全文

与数据库的维护者相关的资料

热点内容
aoe什么文件 浏览:111
高大上的网站是怎么样的 浏览:169
win10安装找不到ssd硬盘 浏览:610
js中addtag 浏览:702
cnc编程跟绘图哪个难学 浏览:96
新手做游戏编程用什么 浏览:793
oracel数据库恢复 浏览:403
c语音编程题怎么做 浏览:50
凯立德可升级2016 浏览:350
去哪里找猫咪app 浏览:251
qq86级 浏览:749
linuxtelnet代码 浏览:418
极品飞车17主程序 浏览:426
otg连接了怎么找不到文件 浏览:564
5s文件夹在哪里 浏览:740
一朵乌云图案是什么app 浏览:21
弥勒购物网站活动用例如何设计 浏览:510
什么梗的网站 浏览:98
win10账户文件存储在哪 浏览:310
同花花顺数据在线在哪里搞 浏览:368

友情链接