数据库管理员工作内容
数据库管理员岗位要求
一:数据库系统规划
1、硬件:在整套系统规划初期,要针对数据库将来的成长需求、性能需求、商业考虑,确定数据库运行需要的内存、硬盘、cpu及其他资源〔IOPS、网络带宽〕。
在做硬件规划时,考虑如何使用RAID,这些都会影响到数据库的性能。
2、 软件:选择操作系统、数据库产品、第三方工具。
3、 整体架构:依据数据库负载、重要程度,考虑使用单实例数据库、集、复制、镜像等高可用性、 可扩展性、负载均衡, 读写分别等策略。
二:数据库设计与开发
一般是在开发环境上进行的,可能接下来还会搬到uat环境,最终才是生产环境
1、表设计:来源于对业务有详尽的需求分析,从而对现实需求进行综合、归纳与抽象并形成完好的E-R图,再由E-R图转换为相应的规律模式(表、视图定义等,考虑范式要求)。
2、数据库存储方式设计:依据业务的初期、中期及后期,考虑合理的数据库存储规划,物理存储〔数据文件、日志文件要如何放置〕、规律存储方式〔索引、数据、要如何摆放,是否需啊哟建立分区表〕。
3、对开发人员的sql进行审核,优化sql
三:数据库建设:
1、安装、升级数据库软件,在安装软件时要了解不同选项的意义,在升级之前,要确定是否会影响到操作系统、应用程序。
安装:先把环境搭建好,诸如内核参数,环境变量,rmp包之类的都要搞定,一般要根据安装参考手册来设置。
尤其是部署生产环境,由于缺省值不肯定能满足需求,所以每一个参数都得结合其数据环境考量规划,这个需要肯定的阅历。
升级:由于会有各种bug,所以比较重要的是要考虑更新patch等之后产生的影响以及做好回退措施。〔白天监控数据库,晚上挑灯战bug〕。
2、数据库的创建和参数设置,安装之后要创建数据库,有些数据库参数是在创建时就要确定的,之后无法修改。创建数据库需要考虑应用程序的需求、操作熊的限制。
3、对开发人员的sql进行审核,优化sql
三:数据库建设:
1、安装、升级数据库软件,在安装软件时要了解不同选项的意义,在升级之前,要确定是否会影响到操作系统、应用程序。
安装:先把环境搭建好,诸如内核参数,环境变量,rmp包之类的都要搞定,一般要根据安装参考手册来设置。
尤其是部署生产环境,由于缺省值不肯定能满足需求,所以每一个参数都得结合其数据环境考量规划,这个需要肯定的阅历。
升级:由于会有各种bug,所以比较重要的是要考虑更新patch等之后产生的影响以及做好回退措施。〔白天监控数据库,晚上挑灯战bug〕。
2、数据库的创建和参数设置,安装之后要创建数据库,有些数据库参数是在创建时就要确定的,之后无法修改。创建数据库需要考虑应用程序的需求、操作熊的限制。
3、建立完善的备份打算,当数据库损坏时,将数据库在第一时间恢复,这依靠完善的'备份打算,要考虑到系统的重要性以及企业可承当的分险。
4、建立数据库安全性管理规范,将数据分类,给用户设置适当的权限。
四:运营维护〔运维〕:
1、建立、维护数据库用户和对象,根据安全性管理规范,给用户适当的存取权限。
2、保证数据库的完好性:数据库备份恢复。
许多时候我们无意中不当心删除了数据,给生产数据库带来严重的后果,所以DBA的细心以〔每一步操作都尽可能思前想后〕、数据库的定期备份是至关重要的。
数据库的备份策略:主要依靠于对数据丢失的容忍度来确定。也就是说合理的备份策略基于数据库恢复所需要的全部相关的因素,因此备份策略应具体情形具体分析。
数据库的备份方式:每种数据库自带的备份方式是必需要把握的,对于SQL Server需要搞清数据库的恢复模式以及全备,增量等方式,当然把握bcp指令也是很有必要的。对于Oracle,datapump,冷备,热备,rman备份几种最好都全部把握。而且有诸多第三方备份方式。
备份检查:定期监控数据库的备份、做灾备测试等,来确保数据库的备份与恢复是完好无
4、建立数据库安全性管理规范,将数据分类,给用户设置适当的权限。
四:运营维护〔运维〕:
1、建立、维护数据库用户和对象,根据安全性管理规范,给用户适当的存取权限。
2、保证数据库的完好性:数据库备份恢复。
许多时候我们无意中不当心删除了数据,给生产数据库带来严重的后果,所以DBA的细心以〔每一步操作都尽可能思前想后〕、数据库的定期备份是至关重要的。
数据库的备份策略:主要依靠于对数据丢失的容忍度来确定。也就是说合理的备份策略基于数据库恢复所需要的全部相关的因素,因此备份策略应具体情形具体分析。
数据库的备份方式:每种数据库自带的备份方式是必需要把握的,对于SQL Server需要搞清数据库的恢复模式以及全备,增量等方式,当然把握bcp指令也是很有必要的。对于Oracle,datapump,冷备,热备,rman备份几种最好都全部把握。而且有诸多第三方备份方式。
备份检查:定期监控数据库的备份、做灾备测试等,来确保数据库的备份与恢复是完好无
误的。
3、掌握、监控用户对数据库的存取状况、使用数据库资源的状况,
4、数据库监控、定期巡检:数据库运行状态、数据库性能、健康检查
通过对数据库不同部分、组件的实时监控,我们可以准时发觉问题,实行补救措施,通过这种防患于未然的策略,来保障数据库持续、稳定、健康平稳运行。
这些部分通常包括以下内容:
(1) 实时监控错误日志〔绝大部分错误信息都会记录在数据库告警日志,监控告警日志显得尤为重要〕;
(2) 服务器是否可用〔操作系统CPU/IO/Memory监控〕;
(3) 数据库实例状态监控〔数据库服务是否启用/中断〕;
(4) 数据库磁盘空间监控〔表空间的使用率实时监控〕;
(5) 闪回区或归档日志监控(假如有使用到闪回区,归档主要是针对归档空间空间问题,如缺乏会hang住)
(6) 数据库备份或恢复监控
(7) 无效对象的监控与处理;
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、升级/迁移
升级:通常是在本机进行,硬件不变,比方:更换操作系统、数据库的版本、打补丁。
迁移:通常是需要升级硬件,比方:更换新的服务器,所以把数据库搬到新的服务器上,
(9) 作业运行状态;
(10) 索引碎片检查;
(11) ……
可以选择图形化界面,以及设定阀值来实现自动预警。
当然也可以自己编写shell脚原来定时完成。
比较好的工具大家可以借助于Toad,Spotlight,Myora等优秀工具获得包括sga,pga,top SQL,instance等等更为具体的信息。
除了实时监控之外,定期巡检也是有必要的,这样可以发觉隐性的或未决的问题,以及如何改善当前数据库。
5、用户反馈出来的任何数据库问题,需要DBA去做处理,即便有时诊断出来并非数据库的问题。
6、升级/迁移
升级:通常是在本机进行,硬件不变,比方:更换操作系统、数据库的版本、打补丁。
迁移:通常是需要升级硬件,比方:更换新的服务器,所以把数据库搬到新的服务器上,
也有在本机“迁移”,只是为了移动数据库文件的位置。
迁移+升级:随着业务增长,对性能要求的提高,以及更新换代,需要升级不得不实施数据库迁移,不影响业务。
迁移也是一个比较耗大的工程,尤其是大型数据库,上TB级的。
比方使用导入导出,尽管操作指令一样,但大型数据库你得考虑的更多,可以考虑使用并行,如何优化这个过程的性能,事先预备好具体的操作步骤时完全有必要的。
不过许多时候,都是在迁移中做升级,也就是换了新的服务器,也换了软件版本。
五:调整数据库性能:
随着业务量的不断增加,业务运行缓慢,客户埋怨不断,导致性能问题表现的异样突出。
性能问题是从整个业务需求分析,数据库架构设计的那一刻起,直至数据库生命周期结束。
尽管整体性能并不完全取决于数据库,但数据库仍旧是至关重要的一环。不过仅仅从数据库层面来把控性能是远远不够的,对存储、操作系统、网络、业务的了解与把握,对性能调整做到有的放矢,应用自如。
下面仅仅从数据库层面来谈谈性能调整与优化涉及到的方面。
迁移+升级:随着业务增长,对性能要求的提高,以及更新换代,需要升级不得不实施数据库迁移,不影响业务。
迁移也是一个比较耗大的工程,尤其是大型数据库,上TB级的。
比方使用导入导出,尽管操作指令一样,但大型数据库你得考虑的更多,可以考虑使用并行,如何优化这个过程的性能,事先预备好具体的操作步骤时完全有必要的。
不过许多时候,都是在迁移中做升级,也就是换了新的服务器,也换了软件版本。
五:调整数据库性能:
随着业务量的不断增加,业务运行缓慢,客户埋怨不断,导致性能问题表现的异样突出。
性能问题是从整个业务需求分析,数据库架构设计的那一刻起,直至数据库生命周期结束。
尽管整体性能并不完全取决于数据库,但数据库仍旧是至关重要的一环。不过仅仅从数据库层面来把控性能是远远不够的,对存储、操作系统、网络、业务的了解与把握,对性能调整做到有的放矢,应用自如。
下面仅仅从数据库层面来谈谈性能调整与优化涉及到的方面。
操作系统内核参数优化与调整
基于不同的特性使用raid部署不同类型文件
分开存储数据和索引文件以及均衡I/O
调整数据库以及实例级别初始化参数
使用分区表处理海量数据以及滑动窗口归档
消除行链接与行迁移
使用索引、提示或物化视图调整SQL访问负载
调整优化器统计信息
通过调整PL/SQL以提供性能
使用并行技术提高性能
六:数据库故障排除〔灾后恢复〕
一是由于数据库软件及运行环境等产生的各种bug或隐性问题,
二是人为的问题通常也不在少数。
Troubleshooting是DBA常常面对的问题,因此,如何快速定位并解决这些问题也是衡量一个DBA水平的重要指标。
基于不同的特性使用raid部署不同类型文件
分开存储数据和索引文件以及均衡I/O
调整数据库以及实例级别初始化参数
使用分区表处理海量数据以及滑动窗口归档
消除行链接与行迁移
使用索引、提示或物化视图调整SQL访问负载
调整优化器统计信息
通过调整PL/SQL以提供性能
使用并行技术提高性能
六:数据库故障排除〔灾后恢复〕
一是由于数据库软件及运行环境等产生的各种bug或隐性问题,
二是人为的问题通常也不在少数。
Troubleshooting是DBA常常面对的问题,因此,如何快速定位并解决这些问题也是衡量一个DBA水平的重要指标。
下面列出几类较为较为常见的需要Troubleshooting的问题。
告警日志中的异样处理
监xx相关的异样处理
数据库备份恢复期间的异样处理
job运行异样的处理
数据库突发的异样处理,如数据库hang,某个时间段性能低下
集管理中的异样处理
数据库日志传送,恢复等异样处理
用户报告的异样处理
数据库安全的异样处理
告警日志中的异样处理
监xx相关的异样处理
数据库备份恢复期间的异样处理
job运行异样的处理
数据库突发的异样处理,如数据库hang,某个时间段性能低下
集管理中的异样处理
数据库日志传送,恢复等异样处理
用户报告的异样处理
数据库安全的异样处理
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论