首先结合软件生命周期、项目的开展,数据库的生命周期大致可分为这么几个阶段:

其中“规划”、“开发”、“实施”所要做的主要工作如下:

1. 规划:在立项后,对于数据库平台的软硬件选型,以及大致的数据库架构。
1.1 配置多少台服务器,服务器的内存大小/磁盘空间、IOPS/CPU核数/网络带宽等;
1.2 选择的操作系统/数据库产品/第三方工具,及相应版本;
1.3 整体架构,比如是否考虑:HA, Scale out, load balance, 读写分离等策略。

2. 开发:开发的工作,通常是在开发/测试环境上进行的,测试结束后搬到生产环境。
2.1 数据库设计;
2.2 SQL编程及调试;
2.3 开发过程中的SQL优化。

3. 实施:开发的数据库程序到生产环境的部署。到这里,基本是项目上线了。后面就进入了运维阶段。
3.1 前期规划时数据库物理架构的部署;
3.2 开发/测试完成的数据库程序部署。

接下来,对于运维工程师来说,这是你的主要工作了,我们详细介绍下:

一. 数据库运维做些什么?
从上面的图来看,运维是项目上线后的工作。看看从项目上线开始,运维都做了什么。
1. 部署环境
1.1 数据库安装(如果服务器太多,可以选择静默安装);
1.2 参数配置(操作系统、数据库实例、数据库参数);
1.3 权限分配(登录、数据库用户权限)。

2. 备份/还原
对于数据库来说,有个可用的备份是非常重要的,防止有数据损坏,用户误操作等造成的数据丢失。保证了数据的存在,运维才有意义,否则其他工作做的再好也是白搭。

3. 监控
对于运维来说,首先要保证数据库的运行,然后就是运行中系统的性能。所以监控主要分为这两点:
3.1 数据库运行状态,有没有什么数据库中断或异常、错误或警告?
3.2 数据库性能,有没有什么性能问题或者性能隐患?

4. 故障处理
在监控过程中发现,或者系统用户反馈出来的数据库错误或者警告,进行诊断并修复。

5. 性能优化
在监控过程中发现,或者系统用户反馈出来的数据库性能问题,进行优化。

6. 容灾
容灾只是手段,最终还是为了保证系统的可用性,通常选择的策略有:故障转移集群、镜像、日志传送、异地备份等。
如果在实施时,已经部署了容灾策略,那么这时只要做一些状态监视即可。
也有系统是在上线一段时间之后,才补充部署容灾策略的。

7. 升级/迁移
7.1 升级
通常是在本机进行,硬件不变,比如:更换操作系统、数据库的版本、打补丁;
7.2 迁移
通常是需要升级硬件,比如:更换新的服务器,所以把数据库搬到新的服务器上;
也有在本机“迁移”,只是为了移动数据库文件的位置。
7.3 迁移+升级
不过很多时候,都是在迁移中做升级,也就是换了新的服务器,也换了软件版本。

8. 健康检查
通常叫做巡检或者Health Check。可能是每天、每月、每年的。
事实上如果把巡检的内容做到每天、每小时、甚至每X分钟,那就是一个准实时的系统监控。

9. 系统用户反馈的数据库问题
用户反馈出来的任何数据库问题,需要DBA去做处理,即便有时诊断出来并非数据库的问题。
从广义上来看,除去数据库开发外的其他任务,都应该算在运维职责之内。

问:那么数据库运维到底都有哪些日常任务?
答:把上面的每项任务要做的事情一个个罗列出来就可以了。
比如,3.1 数据库运行状态监控包括:
(1) 数据库服务器是否可用;
(2) 数据库服务是否启用/中断;
(3) 磁盘空间;
(4) 错误日志检查;
(5) 数据库一致性检查;
(6) 作业运行状态;
(7) 索引碎片检查
(8) ……
后面会逐个分解各项任务的详细清单。

二. 如何解决数据库运维过程中的问题?
运维过程中遇到问题时,如果能够通过自己/他人的经验解决,那么固然好;

但如果没有解决思路的话,通常是这样去查:
1. 查日志:操作系统/数据库/应用程序日志中,有没有相关的错误/信息提示;
2. 查错误号:官方文档/网友分享中,有没有解决方案;
3. 如果都没有找到,那么就中奖了,自己分析不出就团队分析,团队分析不出找官方支持,当然有的时候,官方支持也不是一定能解决。

注意:对于在线系统,这么慢慢查下去,时间可能消耗太久,会影响用户体验。通常是优先快速解决问题,那怕只是用临时应急方案,以保证系统的可用性,然后再去分析根本原因,以彻底解决,防止下次再发生。

http://www.yunweipai.com/archives/3959.html

本文转自 yard521 51CTO博客,原文链接:http://blog.51cto.com/tangyade/1854144,如需转载请自行联系原作者

数据库运维都要做些什么?相关推荐

  1. oracle数据库运维一般做什么,数据库运维都做些什么呢?

    本篇文章讲述如何大家轻松认知到数据库运维都做些什么,其中有许多小细节,所以请大家仔细阅读哦~ 一. 数据库生命周期 结合软件生命周期.项目的开展,数据库的生命周期大致可分为这么几个阶段. 1. 规划计 ...

  2. 运维工程师到底都在做些什么?

    我们群里最近讨论500台服务器安装系统的问题.我特意找了一篇高人写的文章来与大家分享,希望对大家能有所帮助哈!(以下为作者原文,未加任何修改哈) 看到chinaunix最近出的门户网站运维板块veyr ...

  3. 洞若观火 - 让ZONE做你数据库运维的眼睛

    云和恩墨自主研发的数据库级性能监控与性能分析工具 - ZONE,是综合众多客户使用常规监控工具的综合体验,并结合云和恩墨专家十数年优化经验推出的一款数据库运维产品.通过主机层.数据库层多个维度的性能信 ...

  4. 2020,分布式架构会给传统数据库运维带来哪些变化?

    摘要:分布式架构可能是近几年最火的话题.从集中式.SOA到分布式架构,本文回顾了这些年金融行业经历的架构演变:结合当下一些较典型的分布式数据库的实现原理,分析了分布式数据库的三个发展阶段.分布式数据库 ...

  5. 【运维工程师主要做哪些工作】运维工程师

    运维工程师主要做哪些工作 既然工作目标是保证系统的安全稳定运行,那么我们的工作就是围绕着这个目标转.我们需要: 1.构建系统监控体系 没有监控就等于是瞎子,系统出了问题都不知道,要是哪天支付宝不能支付 ...

  6. 什么是运维?运维开发需要做哪些事情?

    什么是运维?下面和千锋广州小编一起来看看吧! 运维顾名思义就是运行维护,运维工程师就是要做好生产系统的稳定运行维护工作.是不是很好理解?但是光这一句稳定运行,需要运维工程师们具备各方面的能力,以至于一 ...

  7. 海量数据及多云环境下,数据库运维、分布式转型、国产化改造实践丨DAMS峰会(文末有福利)

    随着大数据与云原生的相互碰撞,各技术领域的新一波挑战和创变正以迅雷之势向我们宣战.利用云原生技术的简便快捷.动态调度.按需伸缩等优势,如何加速大数据基础软件和系统的迭代更新频率.确保整体环境的最终一致 ...

  8. 海量数据及多云环境下,数据库运维、分布式转型、国产化改造实践丨DAMS峰会

    随着大数据与云原生的相互碰撞,各技术领域的新一波挑战和创变正以迅雷之势向我们宣战.利用云原生技术的简便快捷.动态调度.按需伸缩等优势,如何加速大数据基础软件和系统的迭代更新频率.确保整体环境的最终一致 ...

  9. 讲师专访丨21CN成思敏:优秀DBA必备的技能和素养和云数据库运维

    由云和恩墨主办的「DTC之数据库技术实战线上峰会」每周四都会邀请业内外技术大咖进行一小时的线上主题分享.本期,我们邀请到了21CN DBA主管.技术专家.数据库架构师成思敏老师,带来题为<云数据 ...

最新文章

  1. C#生成CHM文件(应用篇)之代码库编辑器(5)【总结、程序、源代码】
  2. pycharm安装scrapy失败_运行Scrapy程序时出现No module named win32api问题的解决思路和方法...
  3. 基于WINCE6.0下载multiple XIP镜像文件
  4. 在operator =中要处理“自我赋值”
  5. LeetCode 2125. 银行中的激光束数量
  6. JS-内置对象内置构造函数事件-拖拽轮播图无缝滚动
  7. Java(1-15)
  8. [转]python中去掉字符串中的\xa0、\t、\n
  9. 使用Calendar增加日期
  10. asp.net MVC4, Ninject auto-mating
  11. 用计算机进行进制换算方法,计算机进制怎么转换?计算机进制换算方法
  12. 全球首场神经影像人机对决:AI战胜25位医界“最强大脑”!
  13. android 本地图片模糊,Android端图片模糊的实现原理及方案
  14. c语言学习-判断一个数是否能被3整除
  15. 【Visual C++】游戏开发笔记二十五 最简化的DirectX 11开发环境的配置
  16. Python数据分析第三期--简述Pandas
  17. 错误信息403-服务器拒绝执行该请求,营造良好氛围 掀起活动高潮
  18. LateX 全文(局部)字体大小设置
  19. Python分布式爬虫框架Scrapy实战
  20. linux系统下编译fpga工程,【工程师分享】整合Xilinx PetaLinux工程编译和Open Source U- Boot/Linux编译...

热门文章

  1. 一加6升级Android9.0,一加6正式推送安卓9.0固件更新 6T确认11月5日发布
  2. mac 无法安装 恶意软件_如何从Mac删除恶意软件和广告软件
  3. iOS获取视频图片(视屏截图)
  4. I3D (inflated 3D)是什么?
  5. 质量管理(新旧)七种工具
  6. [元带你学NVMe协议] ZNS 架构: 解决传统SSD问题的高性能存储栈设计
  7. 怎么创业赚取你人生第一桶金????
  8. 本地安装运行HiC数据可视化容器higlass-docker
  9. PHP摘桃子,幼儿园中班健康活动《摘桃子》
  10. gcc中的-w -W和-Wall选项