数据库管理员
数据库管理员(Database Administrator,简称DBA),是一个负责管理和维护数据库服务器的人。数据库管理员负责全面管理和控制数据库系统。
简介[ ]
DBA即数据库管理员,是一个负责管理和维护数据库服务器的人。数据库管理员负责全面管理和控制数据库系统。这个职位对不同的人意味着不同的意义。一个小的软件开发工作室和一个分工高度明细的大公司相比,DBA的职责来得更加宽泛一些。一个公司,不管它是自己开发应用软件,还是购买第三方的应用软件,只要涉及到数据库(有多少不涉及数据库的应用软件呢?数据库是商业的灵魂和大脑啊),就需要确定是否雇佣一个或几个DBA。知道DBA这个职位有哪些要求,对于企业内部这个职位的定义或者对于那些未来的DBA将是至关重要的。
职责[ ]
- 一般监视
- 监控数据库的警告日志。Alert.log,定期做备份删除。
- Linstener.log的监控,/network/admin/linstener.ora。
- 重做日志状态监视,留意视图v$log,v$logfile,该两个视图存储重做日志的信息。
- 监控数据库的日常会话情况。
- 碎片、剩余表空间监控,及时了解表空间的扩展情况、以及剩余空间分布情况,如果有连续的自由空间,手工合并。
- 监控回滚段的使用情况。生产系统中,要做比较大的维护和数据库结构更改时,用rbs_big01来做。
- 监控扩展段是否存在不满足扩展的表。
- 监控临时表空间。
- 监视对象的修改。定期列出所有变化的对象。%BB%B6 target="_new" class=innerlink>文件,有初始化参数文件、用户后台文件、系统后台文件
- 备份
对数据库的备份监控和管理数据库的备份至关重要,对数据库的备份策略要根据实际要求进行更改,数据的日常备份情况进行监控。由于我们使用了磁带库,所以要对legato备份软件进行监控,同时也要对rman备份数据库进行监控。
- 修改密码
规范数据库用户的管理定期对管理员等重要用户密码进行修改。对于每一个项目,应该建立一个用户。DBA应该和相应的项目管理人员或者是程序员沟通,确定怎样建立相应的数据库底层模型,最后由DBA统一管理,建立和维护。任何数据库对象的更改,应该由DBA根据需求来操作。
- SQL语句
对SQL语句的书写规范的要求一个SQL语句,如果写得不理想,对数据库的影响是很大的。所以,每一个程序员或相应的工作人员在写相应的SQL语句时,应该严格按照《SQL书写规范》一文。最后要有DBA检查才可以正式运行。
- 深层次管理和研究
DBA深层次要求一个数据库能否健康有效的运行,仅靠这些日常的维护还是不够的,还应该致力于数据库的更深一层次的管理和研究:数据库本身的优化,开发上的性能优化;项目的合理化;安全化审计方面的工作;数据库的底层建模研究、规划设计;各种数据类型的处理;内部机制的研究;ora-600错误的研究、故障排除,等等很多值得探讨的问题。ORACLE数据库管理员应按如下方式对ORACLE数据库系统做定期监控: 每天对ORACLE数据库的运行状态,日志文件,备份情况,数据 库的空间使用情况,系统资源的使用情况进行检查,发现并解决问题。每周对数据库对象的空间扩展情况,数据的增长情况进行监控,对数据库做健康检查,对数据库对象的状态做检查。每月对表和索引等进行Analyze,检查表空间碎片,寻找数据库 性能调整的机会,进行数据库性能调整,提出下一步空间管理计划。对ORACLE数据库状态进行一次全面检查。
日常管理[ ]
- 日常维护程序
- 检查已起的所有实例
- 查找一些新的警告日志
- 检查DBSNMP 是否在运行
- 检查数据库备份是否正确
- 检查备份到磁带中的文件是否正确
- 检查数据库的性能是否正常合理,是否有足够的空间和资源
- 将文档日志复制到备份的数据库中
- 要常看DBA 用户手册
- 晚间维护程序
- 收集VOLUMETRIC 的数据
- 每周维护工作
- 查找那些破坏规则的OBJECT
- 查找是否有违反安全策略的问题
- 查看错误地方的SQL*NET 日志
- 将所有的警告日志存档
- 经常访问供应商的主页
- 月维护程序
- 查看对数据库会产生危害的增长速度
- 回顾以前数据库优化性能的调整
- 查看I/O 的屏颈问题
- 回顾FRAGMENTATION
- 将来的执行计划
- 查看调整点和维护