如何做好一名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已不远了。
作者:陆炫志 出处:xuanzhi的博客 http://www.cnblogs.com/xuanzhi201111 您的支持是对博主最大的鼓励,感谢您的认真阅读。本文版权归作者所有,欢迎转载,但请保留该声明。 |
如何做好一名DBA【转】的更多相关文章
- 做为一名dba你应该知道这些数据恢复
1.将备份数据 拉取到本地虚拟机上 进行恢复(千万不要把数据直接恢复到生产中,除非迫不得已!!) 2.在本地虚拟机上恢复之后,导出需要恢复的数据. 3.在本地虚拟机上恢复做恢复测试. ...
- 当年写的如何成为一名MSSQL DBA
很多开发人员都想成为一名数据库培训,也有很多人一开始就把自己定位成为一名DBA,DBA究竟需要掌握些什么知识和技能呢?以下是我 做DBA工作和面试DBA时,整理的一些DBA方面的三十个问 ...
- MySQL DBA的KPI考核指标有哪些
绩效考核是对一名员工所作工作的数量.质量.难度.强度.效率的量化考量.由于DBA的工作性质与纯粹的研发人员或运维人员有所区别,对DBA的KPI考核指标也有其特殊性.参考以往的经验和一些较大的DBA t ...
- [转载]DBA的特质第二部分:性格
本文转自http://www.searchdatabase.com.cn/showcontent_84382.htm 支持原创.尊重原创,分享知识! 在本系列文章中,笔者将谈一谈数据库管理员(DBA) ...
- [转载]DBA的特质第一部分:技术
本文转自http://www.searchdatabase.com.cn/showcontent_84379.htm 支持原创.尊重原创,分享知识! 在本系列文章中,笔者将谈一谈数据库管理员(DBA) ...
- 无法用sysadmin权限的登录名登陆,sa密码忘了,管理员被锁在外面
作为一名DBA,你的职责就是保证数据的安全,为了达到要求,你移除了BUILTIN\Administrators组,禁用了sa登录名,修改了服务器端口,删除了所有的sysadmin权限的登录名,你可以连 ...
- SQL Server DBA三十问【转】
http://database.51cto.com/art/201110/298926.htm 很多开发人员都想成为一名DBA,也有很多人一开始就把自己定位成为一名DBA,DBA究竟需要掌握些什么知识 ...
- 【译】The Accidental DBA:Troubleshooting
最近重新翻看The Accidental DBA,将Troubleshooting部分稍作整理,方便以后查阅.此篇是Part 3Part 1:The Accidental DBA:SQL Server ...
- 专访探探DBA张文升:PG在互联网应用中同样也跑的很欢畅
张文升认为,PG无论在可靠性和性能方面都不输其它任何关系型数据库 张文升,探探DBA,负责探探的数据库架构.运维和调优的工作.拥有8年开发经验,曾任去哪儿网DBA. 9月24日,张文升将参加在 ...
随机推荐
- 基于OWIN WebAPI
http://www.cnblogs.com/Irving/p/4607104.html http://www.cnblogs.com/xishuai/p/aspnet-webapi-owin-oau ...
- C#使用SQL存储过程完整流程
存储过程就是固化在SQL数据库系统内部的SQL语句,这样做的好处是可以提高执行效率.提高数据库的安全性.减少网络流量.接下来就讲解如何在数据库中建立一个存储过程. 打开SQL2055数据库,展开“数据 ...
- 第三章 设计程序架构 之 设计实现Windows Azure 角色生命周期
1. 概述 Windows Azure 是微软的云计算平台.用于 在微软数据中心 通过全局网络 生成.发布和管理应用程序. 本章内容包括 startup tasks 以及 实现 Start, Run ...
- jquery Mobile应用第2课《构建跨平台APP:jQuery Mobile移动应用实战》连载二(简单的QWER键盘)
在jQuery Mobile的布局中,控件大多都是单独占据页面中的一行,按钮自然也不例外,但是仍然有一些方法能够让多个按钮组成一行,比如说在范例6-5中就利用按钮分组的方法使4个按钮并列在一行中,如图 ...
- openSUSE13.1 Yast 中所有软件图形化界面无法打开,问题原因: Ruby
因为使用rvm安装了新的Ruby,而openSUSE13.1的YaST又是用Ruby的.....解决方案暂时没有
- WPF工作笔记:本地化支持、主进程通知、两种最常用异步编程方式
1.本地化支持 (1)重写控件默认的依赖属性LanguageProperty FrameworkElement.LanguageProperty.OverrideMetadata( typeof(Fr ...
- C++中int *p[4]和 int (*q)[4]的区别
这俩兄弟长得实在太像,以至于经常让人混淆.然而细心领会和甄别就会发现它们大有不同. 前者是指针数组,后者是指向数组的指针.更详细地说. 前: 指针数组;是一个元素全为指针的数组.后: 数组指针;可以直 ...
- IOS中 如何去除Tabview里面cell之间的下划线
可以利用Tabview的separatorStyle属性来设置,选择其中的UITableViewCellSeparatorStyleNone 即可去除cell之间的下划线 self.tableView ...
- 十一、从头到尾彻底解析Hash 表算法
在研究MonetDB时深入的学习了hash算法,看了作者的文章很有感触,所以转发,希望能够使更多人受益! 十一.从头到尾彻底解析Hash 表算法 作者:July.wuliming.pkuoliver ...
- iOS 初级数据持久化
数据持久化 什么是数据持久化? 数据的永久存储 为什么要做数据持久化::存储在内存中的数据,程序关闭,内存释放,数据丢失,这种数据是临时的 数据持久化的本质:数据保存成文件,存储到程序的沙盒中 一.沙 ...