我一直有一个观点:程序是暂时的,而数据是永恒的。所以我一直都认为数据的重要性在很多企业中都远远高于应用程序,在多年的工作实践中努力做好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已不远了。

作者:陆炫志

出处:xuanzhi的博客 http://www.cnblogs.com/xuanzhi201111

您的支持是对博主最大的鼓励,感谢您的认真阅读。本文版权归作者所有,欢迎转载,但请保留该声明。

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

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

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

  2. 当年写的如何成为一名MSSQL DBA

    很多开发人员都想成为一名数据库培训,也有很多人一开始就把自己定位成为一名DBA,DBA究竟需要掌握些什么知识和技能呢?以下是我        做DBA工作和面试DBA时,整理的一些DBA方面的三十个问 ...

  3. MySQL DBA的KPI考核指标有哪些

    绩效考核是对一名员工所作工作的数量.质量.难度.强度.效率的量化考量.由于DBA的工作性质与纯粹的研发人员或运维人员有所区别,对DBA的KPI考核指标也有其特殊性.参考以往的经验和一些较大的DBA t ...

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

    本文转自http://www.searchdatabase.com.cn/showcontent_84382.htm 支持原创.尊重原创,分享知识! 在本系列文章中,笔者将谈一谈数据库管理员(DBA) ...

  5. [转载]DBA的特质第一部分:技术

    本文转自http://www.searchdatabase.com.cn/showcontent_84379.htm 支持原创.尊重原创,分享知识! 在本系列文章中,笔者将谈一谈数据库管理员(DBA) ...

  6. 无法用sysadmin权限的登录名登陆,sa密码忘了,管理员被锁在外面

    作为一名DBA,你的职责就是保证数据的安全,为了达到要求,你移除了BUILTIN\Administrators组,禁用了sa登录名,修改了服务器端口,删除了所有的sysadmin权限的登录名,你可以连 ...

  7. SQL Server DBA三十问【转】

    http://database.51cto.com/art/201110/298926.htm 很多开发人员都想成为一名DBA,也有很多人一开始就把自己定位成为一名DBA,DBA究竟需要掌握些什么知识 ...

  8. 【译】The Accidental DBA:Troubleshooting

    最近重新翻看The Accidental DBA,将Troubleshooting部分稍作整理,方便以后查阅.此篇是Part 3Part 1:The Accidental DBA:SQL Server ...

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

    张文升认为,PG无论在可靠性和性能方面都不输其它任何关系型数据库   张文升,探探DBA,负责探探的数据库架构.运维和调优的工作.拥有8年开发经验,曾任去哪儿网DBA.   9月24日,张文升将参加在 ...

随机推荐

  1. 决策树的基本ID3算法

    一  ID3算法的大致思想 基本的ID3算法是通过自顶向下构造决策树来进行学习的.我们首先思考的是树的构造从哪里开始,这就涉及到选择属性进行树的构造了,那么怎样选择属性呢?为了解决这个问题,我们使用统 ...

  2. WPF:将HTML RGB颜色值转化为Color对象的两种方式

    (1)方式一: Color color1 = (Color)System.Windows.Media.ColorConverter.ConvertFromString("#E0E0E0&qu ...

  3. VPN错误800、错误789

    VPN突然无法连接解决方法: 1. 单击“开始”,单击“运行”,键入“regedit”,然后单击“确定” 2. 找到下面的注册表子项,然后单击它:HKEY_LOCAL_MACHINE\System\C ...

  4. Redbean:入门(三) - Exec 以及 Query 以及 ConvertToBeans

    <?php //引入rb入口文件 include_once 'rb.php'; //定义dsn以及相关的数据 $dsn = 'mysql:host=localhost;dbname=hwibs_ ...

  5. DrawerLayout带有侧滑功能的布局类(2)

    ActionBarDrawerToggle: 在前一张中我们并没有使用drawLayout.setDrawerListener(); 对应的参数对象就是DrawerLayout.DrawerListe ...

  6. android开发系列之友盟统计集成

    相比大家都遇到这种情况,当我们的app上线之后,我们想要实时的跟踪了解到app里面的bug情况.新增用户情况.用户相关的行为属性情况等.但是如果自己在app里面去开发集成这些功能,一方面开发工作量还挺 ...

  7. iOS学习之UIControl

    一.UIControl初识      1.UIControl是有控制功能的视图(比如UIButton.UISlider.UISegmentedControl等)的父类. 只要跟控制有关的控件都是继承于 ...

  8. javascript常用方法函数收集

    收集了一些比较常用的javascript函数. 1.字符串长度截取 function cutstr(str, len) { var temp, icount = 0, patrn = /[^\x00- ...

  9. flask环境配置

    1.首先要看装python环境,最好是python 2.7版本的: 2.安装easy_install,至今也不确定这个东西是怎么装的,我先下载了一个ez_setup,用命令“python ez_set ...

  10. LoadRunner - 当DiscuzNT遇上了Loadrunner(中) (转发)

    当DiscuzNT遇上了Loadrunner(中) 在上文中,介绍了如果录制脚本和设置脚本执行次数.如果经过调试脚本能够正常工作的话,就可以设置并发用户数并进行压力测试了. 首先我们通过脚本编辑界面上 ...