下面从6个方面描述数据库管理员(DBA)的工作内容、职责范围:

一:数据库系统规划
1、硬件:在整套系统规划初期,要针对数据库未来的成长需求、性能需求、商业考虑,决定数据库运行需要的内存、硬盘、cpu及其他资源(IOPS、网络带宽)。
在做硬件规划时,考虑如何使用RAID,这些都会影响到数据库的性能。
2、 软件:选择操作系统、数据库产品、第三方工具。
3、 整体架构:根据数据库负载、重要程度,考虑使用单实例数据库、集群、复制、镜像等高可用性、 可扩展性、负载均衡, 读写分离等策略。

二:数据库设计与开发
一般是在开发环境上进行的,可能接下来还会搬到uat环境,最后才是生产环境
1、表设计:来源于对业务有详尽的需求分析,从而对现实需求进行综合、归纳与抽象并形成完整的E-R图,再由E-R图转换为相应的逻辑模式(表、视图定义等,考虑范式要求)。
2、数据库存储方式设计:根据业务的初期、中期及后期,考虑合理的数据库存储规划,物理存储(数据文件、日志文件要如何放置)、逻辑存储方式(索引、数据、要如何摆放,是否需啊哟建立分区表)。
3、对开发人员的sql进行审核,优化sql

三:数据库建设:
1、安装、升级数据库软件,在安装软件时要了解不同选项的意义,在升级之前,要确定是否会影响到操作系统、应用程序。

安装:先把环境搭建好,诸如内核参数,环境变量,rmp包之类的都要搞定,一般要按照安装参考手册来设置。
尤其是部署生产环境,由于缺省值不一定能满足需求,所以每一个参数都得结合其数据环境考量规划,这个需要一定的经验。

升级:由于会有各种bug,所以比较重要的是要考虑更新patch等之后产生的影响以及做好回退措施。(白天监控数据库,晚上挑灯战bug)。

2、数据库的创建和参数设置,安装之后要创建数据库,有些数据库参数是在创建时就要决定的,之后无法修改。创建数据库需要考虑应用程序的需求、操作熊的限制。
3、建立完善的备份计划,当数据库损坏时,将数据库在第一时间恢复,这依靠完善的备份计划,要考虑到系统的重要性以及企业可承担的分险。
4、建立数据库安全性管理规范,将数据分类,给用户设置适当的权限。

四:运营维护(运维):
1、建立、维护数据库用户和对象,按照安全性管理规范,给用户适当的存取权限。
2、保证数据库的完整性:数据库备份恢复。

很多时候我们无意中不小心删除了数据,给生产数据库带来严重的后果,所以DBA的细心以(每一步操作都尽可能思前想后)、数据库的定期备份是至关重要的。

数据库的备份策略:主要依赖于对数据丢失的容忍度来决定。也就是说合理的备份策略基于数据库恢复所需要的所有相关的因素,因此备份策略应具体情形具体分析。

数据库的备份方式:每种数据库自带的备份方式是必须要掌握的,对于SQL Server需要搞清数据库的恢复模式以及全备,增量等方式,当然掌握bcp命令也是很有必要的。对于Oracle,datapump,冷备,热备,rman备份几种最好都全部掌握。而且有诸多第三方备份方式。

备份检查:定期监控数据库的备份、做灾备测试等,来确保数据库的备份与恢复是完整无误的。

3、控制、监控用户对数据库的存取情况、使用数据库资源的情况,
4、数据库监控、定期巡检:数据库运行状态、数据库性能、健康检查

通过对数据库不同部分、组件的实时监控,我们可以及时发现问题,采取补救措施,通过这种防患于未然的策略,来保障数据库持续、稳定、健康平稳运行。

这些部分通常包括以下内容:

(1) 实时监控错误日志(绝大部分错误信息都会记录在数据库告警日志,监控告警日志显得尤为重要);
(2) 服务器是否可用(操作系统CPU/IO/Memory监控);
(3) 数据库实例状态监控(数据库服务是否启用/中断);
(4) 数据库磁盘空间监控(表空间的使用率实时监控);

(5) 闪回区或归档日志监控(如果有使用到闪回区,归档主要是针对归档空间空间问题,如不足会hang住)

(6) 数据库备份或恢复监控

(7) 无效对象的监控与处理;

(8) 数据库一致性检查;
(9) 作业运行状态;
(10) 索引碎片检查;
(11) ……

可以选择图形化界面,以及设定阀值来实现自动预警。
当然也可以自己编写shell脚本来定时完成。

比较好的工具大家可以借助于Toad,Spotlight,Myora等优秀工具获得包括sga,pga,top SQL,instance等等更为详细的信息。
除了实时监控之外,定期巡检也是有必要的,这样可以发现隐性的或未决的问题,以及如何改善当前数据库。

5、用户反馈出来的任何数据库问题,需要DBA去做处理,即便有时诊断出来并非数据库的问题。
6、升级/迁移

升级:通常是在本机进行,硬件不变,比如:更换操作系统、数据库的版本、打补丁。

迁移:通常是需要升级硬件,比如:更换新的服务器,所以把数据库搬到新的服务器上,也有在本机“迁移”,只是为了移动数据库文件的位置。

迁移+升级:随着业务增长,对性能要求的提高,以及更新换代,需要升级不得不实施数据库迁移,不影响业务。

迁移也是一个比较耗大的工程,尤其是大型数据库,上TB级的。
比如使用导入导出,尽管操作命令一样,但大型数据库你得考虑的更多,可以考虑使用并行,如何优化这个过程的性能,事先准备好详细的操作步骤时完全有必要的。

不过很多时候,都是在迁移中做升级,也就是换了新的服务器,也换了软件版本。

五:调整数据库性能:
随着业务量的不断增加,业务运行缓慢,客户抱怨不断,导致性能问题表现的异常突出。

性能问题是从整个业务需求分析,数据库架构设计的那一刻起,直至数据库生命周期结束。
尽管整体性能并不完全取决于数据库,但数据库仍然是至关重要的一环。不过仅仅从数据库层面来把控性能是远远不够的,对存储、操作系统、网络、业务的了解与掌握,对性能调整做到有的放矢,应用自如。
下面仅仅从数据库层面来谈谈性能调整与优化涉及到的方面。
      操作系统内核参数优化与调整
      基于不同的特性使用raid部署不同类型文件
      分开存储数据和索引文件以及均衡I/O
      调整数据库以及实例级别初始化参数
      使用分区表处理海量数据以及滑动窗口归档
      消除行链接与行迁移
      使用索引、提示或物化视图调整SQL访问负载
      调整优化器统计信息
      通过调整PL/SQL以提供性能
      使用并行技术提高性能

六:数据库故障排除(灾后恢复)

一是由于数据库软件及运行环境等产生的各种bug或隐性问题,
二是人为的问题通常也不在少数。
Troubleshooting是DBA经常面对的问题,因此,如何快速定位并解决这些问题也是衡量一个DBA水平的重要指标。
下面列出几类较为较为常见的需要Troubleshooting的问题。
      告警日志中的异常处理
      监听器相关的异常处理
      数据库备份恢复期间的异常处理
       job运行异常的处理
      数据库突发的异常处理,如数据库hang,某个时间段性能低下
      集群管理中的异常处理                     
      数据库日志传送,恢复等异常处理 
      用户报告的异常处理
      数据库安全的异常处理

SQL Server 数据库管理员(DBA)的工作内容相关推荐

  1. SQL Server数据库语法篇(付费内容限时开放)

    SQL Server基础语法 一. 数据库的基本操作(命令操作) 1.1 创建数据库 1. create database 数据库名字 -- create databse mi-- 创建数据库并设置文 ...

  2. java连接sql server数据库的代码如何改成连接mysql_连接sqlserver数据库代码

    Sql Server的JDBC测试程序与远程连接 参考文献: 1.MySql与oracle的JDBC测试程序 2.查看sqlserver的端口号 代码示例 在我的机器上安装了多个版本的sqlserve ...

  3. 人人都是 DBA(V)SQL Server 数据库文件

    SQL Server 数据库安装后会包含 4 个默认系统数据库:master, model, msdb, tempdb. SELECT [name],database_id,suser_sname(o ...

  4. c井语言和SQL第一章上机1,第一章 SQL Server 数据库基础复习内容(上机)

    上机课程总目标 在本学期中,将模拟开发一套学员信息管理系统,用来管理学员的个人基本资料,老师资料,学生成绩,课程信息等教学相关内容,以实现学校的信息自动化,提高工作效率. 该系统包括学生档案管理.学生 ...

  5. SQL Server数据库中超级管理员账号保护方法

    提到sa弱口令,我们首先就会想到,许多数据库都有1个类 似的超级管理员账号,比如:Oracle是"system"和"sys",Sybase也是"sa& ...

  6. SQL Server数据库超级管理员账号防护知识

    提到sa弱口令,我们首先就会想到,许多数据库都有1个类似的超级管理员账号,比如:Oracle是"system"和"sys",Sybase也是"sa&q ...

  7. sql server 数据库忘记sa账户密码/ 无管理员账户解决办法

    一.计算机超级管理员账户有数据库的管理员权限 用管理员账户登录数据库,直接修改sa账户密码即可. 二.数据库中没有管理员权限的账户 SQL Server 2005/2008提供了针对该情况的更好的灾难 ...

  8. 工作学习笔记——用SQL语句新建SQL SERVER数据库、数据库用户以及登录名

    查阅了一些资料,对几个概念先有了个大概的认识.登录名用来连接SQL SERVER数据库,也就是连接字符串里USER ID的值.同一个登录名可以操作很多数据库,只需要这些数据库中有拥有操作权限的数据库用 ...

  9. 《转》VMware vSphere 5.1 学习系列之四:安装 SQL Server 数据库

    为什么80%的码农都做不了架构师?>>>    目 录 一.    vCenter Server数据库的配置要求    1 准备 vCenter Server 数据库    1 vC ...

最新文章

  1. MBZUAI大学招生了,Michael Jordan、Raj Reddy等大佬授课
  2. javascript之回调函数小知识
  3. tp5怎么生成短链接_请问在tp5中怎样才能使用url函数?
  4. python非阻塞多线程socket_Python实现web服务器之 单进程单线程非阻塞实现并发及其原理...
  5. 腾讯视频下载官方_腾讯视频评论在哪
  6. ASV2011新功能逐个数
  7. Python爬取淘宝商品类目
  8. 大楼通信综合布线系统_详解综合布线系统
  9. 微信小程序实现登录Java前后端分离
  10. 腾讯云IM服务端API集成踩坑记录(一)账号管理调试
  11. html5 自动格式化,VSCode插件JS-CSS-HTML Formatter自动格式化代码
  12. 【奥斯卡理财星体系 第五章】丨手把手教你从零开始搭建资产配置
  13. VUE中自定义步骤条
  14. 关于python使用pip install 安装包,Geany无法找到包的问题
  15. Mac下command+R和shift+command+R的区别,在线恢复模式的选择
  16. 部署AlphaSSL
  17. 机器人导航(仿真)(二)——amcl定位
  18. 【镜像取证篇】DD和E01镜像格式区别(简)
  19. 浅谈Web安全技术----RBI
  20. STL和FIG文件的结构

热门文章

  1. 毕为手机用什么软件连接台式计算机,TeamViewer功能使用,实现手机远程遥控电脑...
  2. Centos7 查看开机启动项命令
  3. elastix环境变量设置
  4. 【工作】汇报技巧和注意事项
  5. 大计基编程题(第十周)
  6. 论文精读《BEVDet: High-Performance Multi-Camera 3D Object Detection in Bird-Eye-View》
  7. 数组10——数组的压缩存储2——上三角阵的压缩存储
  8. 计算机二级WPS 选择题(模拟和解析十一)
  9. 深入理解线程池 ThreadPoolExecutor
  10. Python将对象的值传给列表,打印列表返回<__main__.Card object at 0x000001AA99E4E438>