论文部分内容阅读
随着信息技术时代的到来以及互联网的飞速发展,大量数据出现在人们眼前。在当前运行的大多数数据库管理系统(DBMS)中,主要是通过数据库管理员(DBA)手工管理。数据库中负载种类繁多,并且对资源的需求也不尽相同,这增加了对数据库进行管理的复杂性。DBMS通过自主计算、自我诊断、自我调节、自我修复,从而不需要过多人工管理,就能自主、高效率地运行。
鉴于以上几点,太原理工大学牛保宁老师提出了数据库系统负载自适应模型。该模型通过对数据库监控,预测,控制,增强DBMS的自主调节能力,提高数据库系统性能。此外,还可以帮助DBA及时发现问题、快速定位原因,解决问题。
本数据库负载自适应系统中,监测部件主要监测数据库用户的SQL操作对资源的消耗情况、Oracle数据库中的数据文件、模式对象,数据库系统的整体性能等信息,并将这些信息反馈给数据库负载自适应框架中的其它部件,其它部件根据这些信息判断自己对DBMS操作的正确性。
本文包涵以下几方面内容。首先,介绍Oracle数据库体系结构;介绍并分析在Oracle中使用的两种监控技术,即SQL_TRACE追踪技术和10046追踪技术。
其次,介绍数据库性能指标和监测对象。主要有吞吐量、用户响应时间、数据库命中率、内存使用、磁盘I/O、SQL语句的CPU和响应时间、SGA等。
最后,进行监测部件的设计与实现。该部件主要分为三部分,界面交互模块负责展示当前获取的数据信息,并执行用户的操作;数据收集模块负责获取吞吐量、响应时间、数据库命中率、内存使用、磁盘I/O、SQL语句等监控数据信息;信息存储模块,为其他部件提供监测数据的查询接口。
为在最大程度上降低对数据库系统性能的影响,监测部件采用以下措施:只追踪某个会话,而不追踪整个实例,减少了需要监测的数据;将监测数据保存在文件中,而不是保存在数据库中,节省了在数据库中操作的时间;系统监测部件只是将少部分必须在DBMS中执行的操作放在DBMS中执行,其余的操作均放在DBMS外部执行。