2.4 数据库程序员的日常工作是什么?
从DBA的角度而言,DBA的工作职责基本包含以下几点:
●每日监控数据库以保证其可用性。
●收集系统统计和性能信息,以便做定向分析。
●配置和调整数据库实例,以便可以在应用程序特定要求下达到最佳性能。
●分析和管理数据库安全性。控制和监视用户对数据库的访问,必要时需要开启数据库的审计功能。
●制定备份恢复策略,保证备份的可用性。
●升级RDBMS软件,在必要时使用补丁。
●安装、测试和评估Oracle新的相关产品。
●设计数据库表结构。
●创建、配置和设计新的数据库实例。
●诊断,故障检测和解决任何数据库相关问题。在有必要时,需联系Oracle 支持人员以便使问题得到解决。
●确保监听程序正常运行。
●与系统管理员一起工作,保证系统的高可用。
DBA的工作内容包含以下几点:
1.实时监控数据库告警日志
对于DBA来说,实时地监控数据库的告警日志是必须进行的工作,监控并且应该根据不同的告警级别,发送不同级别的告警信息(通过邮件、短信),这有助于及时了解数据库的变化与异常,及时响应并介入处理。
2.实时监控数据库的重要统计信息和等待事件
实时监控对于数据库的运行至关重要。要高度关注那些能够代表数据库重要变化的统计信息,并且据此发送告警信息。监控哪些统计信息应当根据不同的环境来区别对待,对于单机、RAC环境等各不相同。
3.部署自动的AWR报告生成机制
每天要检查前一天的AWR报告(AWR报告是Oracle 10g下提供的一种性能收集和分析工具,它能提供一个时间段内整个系统资源使用情况的报告,通过这个报告,就可以了解一个系统的整体运行情况,这就像一个人的全面的体检报告),熟悉数据库的运行状况,做到对数据库了如指掌。
4.每天至少了解或熟悉一个Top SQL
根据AWR报告,每天至少了解或熟悉一个Top SQL,能优化的要提出优化和调整建议。一个DBA应当对稳定系统中的SQL非常熟悉和了解,这样才可能在系统出现性能问题时快速地作出判断和响应。
5.部署完善的监控系统,并对重要信息进行采样
DBA应该对数据库部署完善的监控系统,并对重要信息进行采样,能够实时或定期生成数据库重要指标的曲线图,展现数据库的运行趋势。
6.全面深入地了解应用架构
对于一名DBA而言,一定要深入了解应用。在数据库本身变得更加自动化和简化之后,未来的DBA应该不断走向前端,加深对于应用的了解,从应用角度对数据库及全局进行把握和优化。
7.撰写系统架构、现状、调整备忘录
根据对数据库的研究和了解,不断记录数据库的状况,撰写数据库架构、现状及调整备忘录,不放过任何可能的优化与改进的机会。
当然,DBA的工作内容远不止上面列出的这几点,像数据库安装、数据库备份、数据库恢复等都属于DBA的工作内容,这里不再详述。