论文部分内容阅读
Oracle数据库是目前世界范围内大型商用环境使用最广泛的数据库。数据库的稳定运行是保证各大企业业务正常运行的一项核心内容。数据库在内存中的运行又是数据库稳定运行的核心。在数据库的维护过程中,理解数据库内存故障的来源并及时解决数据库内存故障意义重大。能够自动分析日志文件,自动判断故障原因,并提供解决方案的专家系统对于减少人为判断失误,提高解决问题的效率很有帮助。本文首先阐述了系统开发中所需要的关键技术。包括专家系统的相关理论,介绍了专家系统的概念和发展,探讨了专家系统的组织结构,知识库和推理机在专家系统中的作用,以及其它模块的一般功用。介绍了C#语言的概念和特点。以及C#和.net框架的关系。然后探讨了Oracle数据库内存组织结构。研究了Oracle内存的基本组成,内存分配和释放的机制,在堆和块级别上的内存的工作模式,子池在内存中的地位和作用,保留区域的作用。并在上述理论基础上,结合实际生产中遇到的案例,讨论了触发故障的可能原因和解决方案。最后,使用C#.net作为开发语言,Oracle数据库作为后台数据库,开发了一个自动地分析日志并提供建议的专家系统。介绍了各个模块的函数设计,工作流程,逻辑规则以及数据库表的设计。系统包含知识库和数据库管理模块,诊断信息获取模块,诊断推理模块,人机接口模块。其中,知识库总结了近两年内全中国范围内客户遇到的数十个真实案例的触发原因和最终解决方案,诊断推理模块设计了二十余条逻辑规则,对信息获取模块获得的数据进行分析,找出解决方案。这部分还展示了系统的操作界面。使用实际案例对系统进行了验证,总结了验证的结果。