如何做好一名DBA【转】

我一直有一个观点:程序是暂时的,而数据是永恒的。所以我一直都认为数据的重要性在很多企业中都远远高于应用程序,在多年的工作实践中努力做好DBA的工作。而要做好一名DBA,必须要清楚作为一名DBA的职责。DBA最重要的工作是保证数据的安全与完整,另外重要的职责是协调开发部门部署相对最优性能的数据环境。

DBA的职责归纳起来主要有以下方面:

1.数据服务器安装与升级

数据库系统相应版本的安装需要与开发人员沟通确定,在开发人员熟悉的数据库系统版本与有更好性能的版本选择中,结合实际应用,从DBA的角色思考给出选择建议,确定数据库系统版本后实施安装与升级。

2.应用系统数据层面评估、数据库存诸结构设计、创建数据对象

了解清楚应用系统的功用目的,评估相关数据存诸量可能达到的数量级,根据架构师的架构分析给出相应的数据库存诸设计,并提出尽可能减少数据库负担的架构建议,比如负载均衡、增加Cache层等,确定相关架构后创建相关的数据对象,配合开发部门搭建开发环境。

3.根据开发人员反馈信息,作相关配合工作,必要时调整数据库结构

在开发部门进行系统开发的过程中,随时跟进数据库读写方面的情况,检测开发人员的数据库相关操作语句的优劣性,给出改进意见。根据开发人员的反馈信息,作出相应的配合反馈。在系统开发完成之后,进行相关的负载、安全测试,检测性能并按实际给出调整程序建方式或调整数据库结构。

4.数据库用户及数据库安全维护

分配用户及权限给应用系统使用,在系统进入生产应用之后,做好日常的安全维护工作。

5.监控与优化数据库性能,协调开发人员优化应用系统

对生产环境中的应用系统的数据操作情况进行监控,分析并找出性能低下或有安全隐患的数据库操作语句,反馈给开发人员,给出改进意见。结合服务器运行情况,与系统管理员对CPU、内存、硬盘等硬件运行情况进行评估,按实际情况整改,使数据服务器与应用系统结合运行情况达到最优。

6.制定与执行数据库备份/恢复/迁移计划

随着应用系统的运行,数据会不断地增加,除了随时注意硬盘空间配额是否足以应对一定时期的数据增量外,还要制定相应的数据备份/恢复/迁移计划,特别是备份工作是每日都必不可少的,保证相对完整的数据副本是DBA日常最基本的工作内容之一。针对应用系统制定可用性较高的恢复/迁移计划,保证在需要的情况下,不对应用系统作修改或仅作稍微的修改便能做好应用系统层的恢复或迁移工作。

7.随时准备应对灾难性措施

要能应对灾难性的问题,在做上面的第6点基本上,收集各方面的信息以及与服务器系统管理员的日常协调十分必要。很多时候灾难性的冲击不光是来自数据层面的,还有系统以及硬件方面等。所以作为一名DBA需要与服务器系统管理员以及应用系统架构师时常保持良好的沟通协作,除了要有足够的经验做好预防措施,还要随时准备应对降临的灾难性冲击后的迅速恢复。

8.制定及做好每日/每周/每月的工作计划

周工作以及月工作除掉计划安排之外,细分下来便是每日的工作,一般来说每日的工作主要有:

1)确保数据服务器运转正常,数据库状态正常

2)查看数据库日志,查看跟踪文件,看是否有异常

3)检查服务器盘状态,空间是否够用

4)检查备份是否正常

5)监测性能,如有性能下降,排查原因

6)填写DBA日志

除了日常的工作,系统运行达到一定的时期后,需要与相关部门商议是否对新老数据进行分割,根据数据库性能的历史数据,提供相应的分析报告,以及性能优化计划。

9.了解与学习更新相关的技术信息,以应对各种可能出现的问题

技术的发展是日新月异的,一名好的DBA应该随时了解相关有用的技术信息,对已投入使用的数据库软件,关注官方的技术动态以及Bug公告等。根据公司的实际情况,筛选有用的新技术,应用于对系统的性能提升或增添安全性等。

只要做好了以上几点,富于责任心并具备良好的执行力,相信这样的人离一个好的DBA已不远了。

时间: 2024-10-13 11:37:03

如何做好一名DBA【转】的相关文章

往后余生做一名DBA!

现在在公司担任数据库开发工程师一职位,主要工作是根据业务写MSSQL的存储过程,可以学到SQL Service 的SQL编程,会使用系统函数,系统表,系统存储过程,临时表的使用,以及各种SQL(DML,DDL等),会根据不同的业务情况,组装不同的SQL语句,使用各种SQL技巧得到想要的数据!好了,技术并不难,难点是在业务需求的沟通和交流,以及对业务知识的理解,感谢公司给我这份工作,不过公司对这个岗位的要求是往项目经理的方向发展,而我对公司的业务越来越不感冒,所有才有这篇博客------往后余生做

做好一名linux运维工程师

如何做好一个合格的运工程师,运维工程师前景怎么样呢?就这些问题,与大家交流一下.首先对于运维工程师的要求是十分严苛的了,运维工程师不但要针对不同的问题做出响应,而且需要不断的补充自己的知识面,并不继提高自己的.与时俱进,不断学习新的技术.在运维工程师初级阶段,合格优秀运维人员要休现出积极的主动性与责任心,在面对陌生的业务时,要主动快速的学习业务对认识,并拓展相应的知识范畴,以便能够足够胜任并做支独立维护.在这个阶段基础知识要十分炸实,并不断充实自己的.形成自己的知识体系. 在运维逐步的发展阶段中

做为一名dba你应该知道这些数据恢复

1.将备份数据   拉取到本地虚拟机上 进行恢复(千万不要把数据直接恢复到生产中,除非迫不得已!!)   2.在本地虚拟机上恢复之后,导出需要恢复的数据.   3.在本地虚拟机上恢复做恢复测试. 4.如果可以恢复 把数据复制到生产环境进行恢复.

如何成为一名合格的DBA

最近,由于工作的缘故接触到了很多想要成为一名DBA或是已经接触了数据库一段时间想要往DBA方向发展的朋友,但是总体上感觉大家可能对DBA的工作内容和如何成为一名合格的DBA并不是十分的了解,所以就有了想写一篇文章,就我十多年来从事DBA工作中所获得的一些感悟,来和大家分享一下.首先,要声明的是,这仅仅是我的一家之言,并不是标准答案,如果这篇文章对你有帮助我会十分的高兴,如果你觉得这篇文章写的并不好,也请你不要生气. 那么我们就先来说说什么是DBA,DBA是英文Database Administr

MySQL DBA的KPI考核指标有哪些

绩效考核是对一名员工所作工作的数量.质量.难度.强度.效率的量化考量.由于DBA的工作性质与纯粹的研发人员或运维人员有所区别,对DBA的KPI考核指标也有其特殊性.参考以往的经验和一些较大的DBA team(如阿里巴巴80多人的DBA队伍)的做法,对一名DBA的绩效大致可以从以下四个方面进行考核: 一.数据库高可用(权重30%) 1. 保持数据库高可用性是DBA最重要的职责之一.因为每一次故障都会给组织带来很大的损失,绝大多数线上系统都要求提供24*7服务. 2. 以年度考评为例,可以对一名DB

The Accidental DBA:Troubleshooting

最近重新翻看The Accidental DBA,将Troubleshooting部分稍作整理,方便以后查阅.此篇是Part 3Part 1:The Accidental DBA:SQL Server BackupPart 2:The Accidental DBA:Troubleshooting Performance一.Wait Statistics Analysis当SQL Server执行一项任务,如果它需要等待(页面释放锁.从磁盘读取页面到内存.事务日志写入),SQL Server会记录

[转载]DBA的特质第二部分:性格

本文转自http://www.searchdatabase.com.cn/showcontent_84382.htm 支持原创.尊重原创,分享知识! 在本系列文章中,笔者将谈一谈数据库管理员(DBA)所应该具备的一些特质.在上一篇文章中,我介绍了一名DBA应有的技术特质.在本文中,我会将介绍让一个人成为优秀DBA的宝贵性格特质. 性格特质 什么是性格特质?它是指一个人所拥有的与众不同的品质或特征.性格特质更多是关于DBA在工作中表现出来的激情.行为方式.态度和情感.一名好的DBA会综合利用自己的

做DBA必须学会,不会会死的11个Linux基本命令

数据库绝大部分运行在Linux与UNIX平台,随着X86平台的运算能力逐渐接近甚至超过小型机,以及在去IOE的大潮下,运行在Linux平台的数据库环境越来越多. Linux系统庞大而复杂,经过总结,做为一名DBA,一些基本管理.网络管理.进阶应用.性能诊断.管道复杂应用.硬件相关传感命令都需要掌握,这篇文章,专门来讲做为一名DBA,必须学会的11个基本应用命令. 1. ls命令 Ls命令是Linux中最常用的命令,是list的缩写,缺省下ls命令是列出当前目录的清单,如果ls指定其他目录,就会显

专访探探DBA张文升:PG在互联网应用中同样也跑的很欢畅

张文升认为,PG无论在可靠性和性能方面都不输其它任何关系型数据库 张文升,探探DBA,负责探探的数据库架构.运维和调优的工作.拥有8年开发经验,曾任去哪儿网DBA. 9月24日,张文升将参加在北京举办的线下活动,分享PostgreSQL在互联网应用的一些经验.值此,他分享了个人的一些经历,以及对PG的一些看法. 想和这些大咖面对面聊PG吗?点击这里>>>免费报名 正文: 初接触PG,“What?什么是PG?”一脸懵圈——张文升用时下比较流行的一个词儿形容当时的心情,而且他们的Team也是