下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

数据库运维都做些什么呢?

作者:课课家教育     来源: http://www.kokojia.com点击数:2005发布时间: 2017-06-28 16:00:22

标签: 数据系统运维

本篇文章讲述如何大家轻松认知到数据库运维都做些什么,其中有许多小细节,所以请大家仔细阅读哦~

     一. 数据库生命周期

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

数据库运维都做些什么呢?_数据_系统_运维_课课家教育

  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 权限分配(登录、数据库用户权限)。

  数据库定义1:

数据库,简单来说是本身可视为 电子化的 文件柜——存储电子 文件的处所,用户可以对文件中的数据进行新增、截取、更新、删除等操作。

     数据库,简单来说是本身可视为 电子化的 文件柜——存储电子 文件的处所,用户可以对文件中的数据进行新增、截取、更新、删除等操作。

  数据库指的是以一定方式储存在一起、能为多个用户共享、具有尽可能小的 冗余度的特点、是与应用程序彼此独立的数据 集合。

  在 经济管理的日常工作中,常常需要把某些相关的数据放进这样的“仓库”,并根据管理的需要进行相应的处理。

  例如, 企业或事业单位的人事部门常常要把本单位职工的基本情况(职工号、 姓名、 年龄、 性别、 籍贯、 工资、 简历等)存放在表中,这张表就可以看成是一个数据库。有了这个"数据仓库"我们就可以根据需要随时查询某职工的基本情况,也可以查询工资在某个范围内的职工人数等等。这些工作如果都能在计算机上自动进行,那我们的人事管理就可以达到极高的水平。此外,在 财务管理、 仓库管理、生产管理中也需要建立众多的这种"数据库",使其可以利用 计算机实现财务、仓库、生产的自动化管理。

  数据库定义2:

  数据库是依照某种数据模型组织起来并存放二级存储器中的数据集合。这种数据集合具有如下特点:尽可能不重复,以最优方式为某个特定组织的多种应用服务,其数据结构独立于使用它的应用程序,对数据的增、删、改、查由统一软件进行管理和控制。从发展的历史看,数据库是数据管理的高级阶段,它是由文件管理系统发展起来的。

     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) 索引碎片检查

      后面会逐个分解各项任务的详细清单。

  三. 运维过程中的问题解决

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

  但如果没有解决思路的话,通常是这样去查:

  1. 查日志:操作系统/数据库/应用程序日志中,有没有相关的错误/信息提示;

  2. 查错误号:官方文档/网友分享中,有没有解决方案;

  3. 如果都没有找到,那么就中奖了,自己分析不出就团队分析,团队分析不出找官方支持,当然有的时候,官方支持也不是一定能解决。

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

     小结:相信大家阅读完毕本篇文章收获不小吧?当然如果大家还想了解更多相关方面的详细内容请登录课课家教育平台仔细哦~

赞(1)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程