DBA的工作职责是什么?每天DBA应该做哪些工作?稳定环境中的DBA该如何成长与优化?这是很多人都曾经提出过的问题,下面是我的观点和建议,供参考。
1. 实时监控数据库告警日志
作为一个DBA,或者哪怕仅仅是和Oracle数据库打交道的技术人员,你都必须知道告警日志是什么,在何处。
而对于DBA来说,实时的监控数据库的告警日志是必须进行的工作,监控并且应该根据不同的严重级别,发送不同级别的告警信息(通过邮件、短信),这可以帮助我们及时了解数据库的变化与异常,及时响应并介入处理。
2. 实时监控数据库的重要统计信息
实施监控对于数据库运行至关重要、要高度关注那些能够表征数据库重要变化的统计信息,并且据此发送告警信息。那么应当监控哪些统计信息呢?大家应当区别条件深入思考,对于单机、RAC环境等各不相同。
3. 部署自动的Statspack/AWR报告生成机制
每天检查前日的AWR报告,熟悉数据库的运行状况,做到对于数据库了如指掌。
4. 每天至少优化和熟悉一个Top SQL
根据AWR或Statspack报告,每天至少了解或熟悉一个Top SQL,能优化的要提出优化和调整建议。一个DBA应当对稳定系统中的SQL非常熟悉和了解,这样才可能在系统出现性能问题时见微知著,快速地作出判断和响应。
5. 部署完善的监控和数据采样系统
DBA应该对数据库部署完善的监控系统,并对重要信息进行采样,能够实时或定期生成数据库重要指标的曲线图,展现数据库的运行趋势。
6. 全面深入地了解应用架构
不了解应用的DBA是没有前途的DBA,对应用了解不深入的DBA算不上Expert,所以一定要深入了解应用。
在数据库本身变得更加自动化和简化之后,未来的DBA应该不断走向前端,加深对于应用的了解,从应用角度对数据库及全局进行把握和优化。
7. 撰写系统架构、现状、调整备忘录
根据对数据库的研究和了解,不断记录数据库的状况,撰写数据库架构、现状及调整备忘录,不放过任何可能的优化与改进的机会。