有些DBA将性能监控等同于某些值超过某个阀值时进行自动报警, 但这是不够的. 对于数据库的性能监控, 我的感觉是要不停地收集性能数据, 并进行有效的展示, 和持续的关注与分析. DBA才是性能监控的关键资源, 任何工具只能发挥数据收集及展示的功能, 但如果没有好的工具, DBA资源就不能很好地发挥作用.

    oramon是自行开发的一个Oracle性能收集工具, WebChart是自行开发的一个Web图表展示平台. 过节的第一天, 改造了一下oramon, 并编写了一个scanomon的程序, 形成了一个轻量级的性能监控解决方案.

    oramon会将重要的性能数据写两份, 一份是文本方式分析用的, 另一份是给scanomon用的. scanomon会将oramon收集的数据实时地装载到性能数据库中. 然后用WebChart进行可定制的灵活展示(如将所有数据库的Load Average和Active Session个数, 显示到一个页面中). 然后DBA才能对数据库的性能十分了解, 做到有把握的数据库运行.

    oramon收集的信息, 都是从实践中总结提炼出来的性能数据, 可以十分有效地发作用. 现在管理的数据库用的就是这套简单的解决方案, 所有的性能问题都能被及时发现, 并最终得到解决.