论文部分内容阅读
随着市场的变化,中国电信集团营销思路从以“产品”为中心转向了以“客户”为中心。以前集团内部已经建立了诸多的支撑系统(如计费、CRM、渠道等),但是这些系统各自独立或重叠,为有效地解决目前各系统存在的数据孤岛、数据表现形式各异和系统接口繁杂等问题,各省公司开始建立运营数据仓储ODS(Operational Data Store)系统。ODS系统以业务系统数据以及其他相关数据作为基础数据源,凭借强大的Oracle数据库,采用科学的数据抽取、整理、存储等方法,实现跨平台的数据共享。然而,在系统开发过程中,缺乏对系统性能问题的全面考虑;数据库投入运营后,随着数据量的不断增加,数据存储分布会产生较大的变化。这些都会造成潜在的数据库性能问题。如何对数据库性能进行调整和优化己成为数据库研究领域的一个重要课题。本文首先通过对Oracle数据库体系结构进行理论研究,研究了物理存储结构、逻辑结构和实例(INSTANCE)架构,其中对数据库的核心部分INSTANCE中的共享池、数据缓冲区和日志缓冲区展开了细致的研究,然后针对CPU、系统I/O、内存、SQL语句和表分区提出了优化思路和策略。针对CPU,利用v$osstat视图和Oracle资源管理器,结合系统实时工作荷载,提出控制session占用资源等方法解决CPU过载;针对系统I/O,通过分析I/O形成原因,提出减少磁盘竞争、减少链接行和避免动态扩大回滚段三个方法解决I/O瓶颈;针对内存,通过合理配置SGA和PGA参数,提高系统各个命中率;针对SQL语句,通过分析SQL语句执行过程和表的访问顺序,提出合理选择关键字和安排表顺序的方法用于提高SQL语句的查询速度;针对大型表,利用范围分区、散列分区、列表分区和复合分区对其进行拆分,提高数据的可用性和查询效率,减轻管理负担。本文通过对电信ODS系统中的数据库实际优化试验,解决了系统中的全局热块冲突、内存异常、查询排序异常、ORA-60报错和大型SQL语句执行效率低下问题,改善和提高了数据库的响应时间和系统命中率,证明了论文中设计的各优化方案的合理性和正确性,具有一定的实践意义。本文提出的数据库优化方法不仅仅只适用于电信ODS系统,对于其他系统数据库的优化同样适用,可以给数据库管理员(DBA)在实际工作中提供参考和借鉴。