Oracle DBA责任重大,除基本的安装,部署数据库之外;日常运维的大部分工作还有两项:
一 监控数据库
DBA 透过对数据库不同部分、组件的实时监控,我们可以及时采取补救措施以及防患于未然的策略来保障数据库持续、稳定、健康平稳运行。因此系统监控对于DBA而言,同样重要。下面先描述数据库级别的监控,后描述系统级别监控。这些部分通常包括以下内容:
数据库告警日志的实时监控,绝大部分Oracle错误信息都会记录于此。因此(1)监控告警日志显得尤为重要。
(2)数据库实例状态监控
(3)数据库监听器的实时监控
(4)表空间的使用率实时监控
(5)闪回区或归档日志监控(如果有使用到闪回区,归档主要是针对归档空间空间问题,如不足,如用hang住)
(6)数据库备份或恢复监控
(7)无效对象的监控与处理
(8)操作系统CPU/IO/Memory监控
对于监控工具的选择Oracle OEM提供了完美的图形化界面以及设定阀值来实现自动预警。当然也可以自己编写shell脚本来定时完成。对于SQL server同样可以基于GUI来完成。比较好的工具大家可以借助于Toad,Spotlight,Myora等优秀工具获得包括sga,pga,top SQL,instance等等更为详细的信息。除了实时监控之外,定期巡检也是有必要的。这就好比机器或汽车,得进行定期的保养。这样子可以发现隐性的或未决的问题,以及如何改善当前数据库。
二 性能优化与调整
业务运行缓慢,客户抱怨不断。这是DBA们经常头疼的问题。尽管整体性能并不完全取决于数据库,但数据库仍然是至关重要的一环。而且性能的问题从整个业务需求分析,数据库架构设计的那一刻起直至数据库生命周期的终结。尤其是随着业务量的不断增加导致的性能问题日渐显现并表现的异常突出。正因此,对于一个优秀的DBA来讲,仅仅从数据库层面来把控性能是远远不够的;对存储,操作系统,网络,业务的了解与掌握才能对性能调整做到有的放矢,应用自如。深圳有句展现特区精神的口号,时间就是金钱,效率就是生命。同样适用于在线交易数据库系统。下面仅仅从数据库层面来谈谈性能调整与优化涉及到的方面。
(1)操作系统内核参数优化与调整
(2)基于不同的特性使用raid部署不同类型文件
(3)分开存储数据和索引文件以及均衡I/O
(4)调整数据库以及实例级别初始化参数
(5)使用分区表处理海量数据以及滑动窗口归档
(6)消除行链接与行迁移
(7)使用索引、提示或物化视图调整SQL访问负载
(8)调整优化器统计信息
(9)通过调整PL/SQL以提供性能
(10)使用并行技术提高性能
性能调优永远是个话题
也是DBA水平的最好体现
愿您还原本末,不再平庸,还是少年。