dba工作内容

时间:2023-03-09 01:29:17
dba工作内容

一、数据库管理员的工作内容

关键词:dba工作内容

转自:http://blog.sina.com.cn/s/blog_44e0d0490102won1.html

1、规划与建设:

1、数据库服务器环境的架构评估与规划。

服务器环境的架构规划与数据库以后的运作相关,当服务器环境的架构设计不良,
将会增加以后数据库性能的限制与维护的困难。
因此,DBA在整套系统规划初期,就必须针对数据库未来的成长需求、性能需求、商业考虑等方面,
来决定数据库运作上所需要的内存、硬盘、CPU、其他资源。

2、安装及升级数据库软件。

这是最基本的工作之一,在安装SQL Server软件时,务必了解不同选项所代表的意义,
在升级SQL Server软件前,要确认是否会影响到操作系统及应用程序。

3、数据库的创建与设置。

当安装完SQL Server软件后,就要创建数据库,此时要考虑数据库存储方式。

例如:索引、数据、表的存储位置,是否需要建立分区表。

也就是必须确认SQL Server的物理结构和逻辑结构,如何以最佳方式展现。

4、建立完善的备份计划。

数据库备份与恢复是DBA最重要的职责之一,当数据库损坏时,整个企业的运作会完全停止,
各方压力和关爱的电话会接踵而来,等着DBA将数据库在第一时间恢复,
而完善的备份计划是关键,因此,规划备份时必须考虑到系统的重要性、企业可承担的风险。

5、建立数据库安全管理规范。

需要将数据分门别类,将适当的数据提供给拥有适当权限的人。

2、营运与维护:
1、建立和维护数据库使用者、所有对象。

一旦新使用者必须存取数据库,或者原有使用者有权限变更需求时,DBA就必须按照安全管理规范,
给予适当的权限。当使用者有新增、修改、删除SQL Server对象时,DBA除了按照使用者的需求,做改动,
还需要给予适当的权限与存储摆放方式。

2、控制和监控:使用者对数据库的存取,以及数据库资源的使用状况。

通过SQL Server对象资源调度器,将使用者分成不同等级,依照等级的高低,提供不同的数据库资源。

所谓数据库资源包括:CPU使用量、内存使用率、联机时间等,通过触发器或存储过程,

来监控对数据库的存取,这样当不正常存取时,可以实时发出警报。

3、监控数据库的性能、存储状态、可用性。

一般数据库在运作中断前都会有一些细微的征兆,因此当征兆出现时,

如果能及时分析处理,就能避免不必要的中断损失。

4、检查数据库备份是否成功、是否有效。

当有了完善的备份计划后,就必须监控备份是否按照计划且成功的执行,
另外,还需要定期将备份进行恢复测试,以确保备份的可用性。

5、监控数据库安全。

善用SQL Server提供的Logon Trigger,确认或记录使用者的身份,避免数据的窃取,保护企业的安全。

3、故障排除与灾后恢复:

1、调整数据库性能。

数据库的性能可用与否,最终都是由数据库的执行效率、稳定性来判断的,

而性能问题在一开始设置时,往往不会显现出来,当运行一段时间后,可能由于外在环境、使用者增加、数据 快速积累、程序修改,甚至硬件设备老旧等因素,都会让数据库呈现疲态,

此时,性能调校对DBA就非常重要了。

2、灾后恢复。

数据库灾后恢复的定义很广泛,小到使用者的误操作,大到硬件损坏、天然灾害、其他不可预期的灾难,

造成数据库无法正常运行,DBA有责任在最短时间内将数据库恢复,

这也就是为什么规划备份、监控备份、定期测试备份非常重要的原因了。

二、数据库管理员的工作清单

1、每日例行工作:
每日数据库例行工作,以监控数据库正常运作为主要目的,基本例行工作应该包含以下项目:

1、确认所有SQL Server数据库状态正常。
A:从操作系统上检测SQL Server程序是否正常存在。
B:以正常方式登录所有数据库。

2、确认所有SQL Server是否能连接上,也就是是否正常监听。

3、检查操作系统空间使用状态、文件组(文件)的使用情况。
可利用SQL指令查询检查使用状况。

4、检查错误日志ErrorLog中的错误信息,并寻求解决方案。

5、检查数据库当日所有备份是否成功。

6、监控数据库运行状况。
此部分可利用系统监视器等工具,监控数据库运作状况。

2、每周例行工作:
每周的主要例行工作,除了依照数据库每日工作清单,寻求时机进行修正外,还有检查以下工作事项:

1、根据每日检查的表空间使用情况,找到数据增长很快的表,协调程序开发员, 并发现如下错误。
A:是否需要删除无用的历史数据。
B:是否需要扩展数据文件、日志文件。
C:是否需要收缩数据文件、日志文件。

2、是否有新增的失效对象、无效的索引。如果有,那么选择适当时机重建。

3、是否有数据碎片。

所谓数据碎片,可以理解为数据直接的空隙,可能是数据页内部的,也可能是数据页和数据页之间的,
这个碎片会导致访问同一个表时,扫描更多的数据页,占用更多的内存,会显著的降低数据库性能。

4、延续每日监控的数据库运行状况,按照需求修改数据库参数,针对没有效率的 SQL语句进行调优。

3、每月例行工作:
每月的主要例行工作,除了依照数据库每日检查工作清单以及每周检查工作,
需要寻求适当时机进行修改外,还要检查下列事项:

1、产生每月数据文件的增长报告。
可利用SQL语句来产生每月数据库增长报告,以及每月数据文件增长报告。

2、根据每日、每周的监控统计,进行空间管理改进方案。
所谓的空间管理改进方案,就是依照每日、每周的监控结果,针对性能较繁重的对象(表、索引),
进行特殊的空间改善,以提高性能(比如分区表)。

3、修正碎片。
根据本月每周的检查分析碎片情况,找到相应的解决方法。

4、每月至少检查一次是否有Chained Rows链接行。
分为两种类型:
A:行链接,主要造成的原因是每条数据太长,无法容纳在一个数据块里。
B:行迁移,主要是当数据更新时,造成每条数据过长,必须前移到另一个较大的数据块。

5、针对表及索引进行更新统计信息。

数据库执行SQL语句时,会依照统计信息分析结果来产生执行计划,
因此,统计信息的结果对数据库的性能影响占有相当大的分量。
每个月至少一次针对所有表、索引,进行更新统计信息。

6、寻找数据库性能调整的机会。
对比每天数据库性能的监控报告,确定是否有必要对数据库性能进行调整。

7、检查备份计划,测试备份的可用性。

检查备份计划的目的是,确认目前的备份计划是否符合实际需求。
比如,每月数据库的增长量是否会延长备份时间,而通常备份的时间是选择在系统不太繁忙时运行,
如果由于备份时间延长,而导致数据库系统的正常作业,这就必须针对备份计划进行调整。

因此,主要在于检查平时的备份计划是否可正常使用,当数据库损坏时,熟练执行数据库恢复的操作。