暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

DBA是个什么?

DB SQL 学习号 2021-04-19
2891


    DBA是什么,DBA都会些什么,DBA能吃嘛  DBA是干什么的。灵魂三质问,下面说说我自己的心得体会。

    一、DBA是什么

Database Administrator(数据库管理员)是从事管理和维护数据库管理系统(DBMS)的相关工作人员的统称,主要负责业务数据库从设计、测试到部署交付的全生命周期管理。DBA的核心目标是保证数据库管理系统的稳定性、安全性、完整性和高性能。

但是需要区分一下DBA和数据库开发工程师(Database Developer):

a、数据库开发工程师的主要职责是设计和开发数据库管理系统和数据库应用软件系统,侧重于软件研发。

b、DBA的主要职责是运维和管理数据库管理系统,侧重于运维管理。

    二、DBA都会些什么

首先数据库技术链涉及了存储、网络、操作系统、中间件、应用程序。

所以需要DBA有深入的知识积累和学习技术的能力。因为你所遇见的问题多多少少并不是单一的数据库问题,有可能是其他方面的原因,导致数据库问题的出现。例如,存储阵列的故障,导致ASM挂起,ASM挂起导致Oracle数据库挂起,就这样发生了连锁反应,从而影响到正常的业务系统的运行。DBA需要综合知识储备,这样在问题确认上可以分清是数据库本身的问题还是非数据库的问题,比如存储、网络或是系统磁盘容量问题等等。由点及面,深入浅出,随着技术以及时代的不断高速发展,给DBA成长的时间越来越短,因此我们的学习效率也要更山一层楼。自己学习一定要多深入、多思考、多实践。实践是检验真理的唯一标准,这句话也适用于我们学习数据库技术的道路上。

    三、DBA是干什么的

DBA是驱动数据库成功应用、稳定运行、持续演进的关键力量。企业的核心是数据,数据的核心是数据库,而维护数据库的核心是DBA,DBA要遵守相关的职业规范,也要遵守职业道德。

总结DBA的六大“心”德:

责任心、进取心、沟通心、学习心、服务心、分享心

DBA的工作职责是什么?每天DBA应该做哪些工作?

1.实时监控数据库告警日志

这是必须进行的工作,并且应该根据不同的严重级别,发送不同级别的告警,及时了解数据库的变化与告警。

2.实时监控数据库的重要统计信息

实施监控对于数据库运行至关重要、能够表征数据库重要变化的统计信息,并且据此发送报警信息。那么应当监控哪些统计信息呢?大家可以思考一下,对于单机、RAC环境各不相同。

3.部署自动的Statspack/AWR/ASH/ADDM报告生成机制

每天检查前日的运行报告,熟悉数据库的运行状况,做到对于数据库了如指掌。

4.每天至少优化和熟悉一个Top SQL

根据AWR或Statspack报告,每天至少了解或熟悉一个Top SQL,能优化的要提出优化和调整建议

5.部署完善的监控和数据采样系统

DBA应该对数据库部署完善的监控系统,并对重要信息进行采样,能够实时或定期生成数据库重要指标的曲线图,展现数据库的运行趋势。

6.全面深入的了解应用架构

不了解应用的DBA是没有前途的DBA,对应用了解不深入的DBA算不上Expert,所以一定要深入了解应用。

7.撰写系统架构、现状、调整备忘录

根据对数据库的研究和了解,不断记录数据库的状况,撰写数据库架构、现状及调整备忘录,不放过任何可能的优化与改进的机会。

实用脚本补充:

@?rdbms/admin/awrrpt.sql是以前statspack的扩展,收集信息更详细,查看长期的数据库情况。

@?rdbms/admin/ashrpt.sql查看当前的数据库情况,因为ash是每秒从v$session进行进行取样,awr收集的数据要比ash多得多。

一般收集数据库信息的话要结合awr和ash。

@?rdbms/admin/addmrpt .sql相当于是驻留在oracle里的一位专家,是一个自我诊断引擎。产生symptom,problem,infomation,提供解决问题的建议,并自动修复一些具体的故障。

@?rdbms/admin/awrinfo.sql显示的都是awr的相关信息,包括快照信息、sysaux空间使用、awr组件、ash等信息。

AWR与ASH的最主要的区别在于:awr是平面的,全面的,ash是立体的,更侧重于session的event跟踪,

由于业务量大的数据库的event wait是瞬息万变,awr很可能会监控不到,为了弥补这个不足,ash才可以对session的event进行跟踪。

ASH与ADDM的区别在于:addm偶重于基于对当据库当前状态的分析,对存在的问题提供指导性的意见,可以说ash,addm是awr的补充,

awr全面地收集数据库的状态,但ash/addm是侧重要对收集的数据进行分析,并提供一些有益的建议。

既然企业将核心数据交给DBA管理维护我们就需要付出责任心,俗话说拿人钱财与人消灾,我们及要符合职业规范也要符合职业道德。

DBA的四大守则:

1、备份重于一切,我们必需知道,系统总是要崩溃的,没有有效的备份只是等哪一天死!开玩笑的说,唯一会使DBA在梦中惊醒的就是,没有有效的备份。

2、三思而后行,任何时候都要清楚你所做的一切,否则宁可不做!有时候一个回车,一条命令就会造成不可恢复的灾难,所以,你必需清楚确认你所做的一切,并且在必要时保护现场。

3、rm是危险的,要知道在UNIX/Linux下,这个操作意味着你可能将永远失去后面的东西,所以,确认你的操作!!!太多的人在 "rm -rf" 上悲痛欲绝。

4、制定遵守规范,良好的规范是减少故障的基础。所以,做为一个DBA,你需要来制订规范,规范开发甚至系统人员,这样甚至可以规避有意或是无意的误操作.减少数据库的风险。


简单总结一下:隐患险于明火,防范胜于救灾,责任重于泰山。这句话适用于DBA们,因为我们有的时候被当作救火队员。


文章转载自DB SQL 学习号,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论