2023年12月15日发(作者:)

维普资讯
实用第一 智慧密集 基于ORACLE8i的大型数据库技术讲座之一 数据库优化篇 周渝斌 摘要本文通过对ORACLE8i系统结构和工作机理的阐述,总结了大型ORAC[ E数 据库的优化方法,这些方法包括对数据库系统的设计和调整,也包括进行业务 优化调整 关键词数据库-bLq ̄,ORACLE8i,大型数据库 一、引言 由丁ORACEI 关系型数据库的复杂管NN,制,任何一个 理 当用户提交一个SQL语句进行数据访问时,一般进行以 的三步过程:1)语法分析 首先进行SQI 语法错误检查. 发现错误后立即返回,然后进行SQL其享池检查.如果在 SQL共享池中找到相同的SQL语句.则小进行爵句分析.否 则立即进行SQL语法分析,形成SQL语法分析树.这是最费 使用ORACI E数据库的用户 特别是大型用户,在使用OR.a.- CI E的过程中.总是被些问题困扰.尤其是 些要求快速反 应的服务行业,如何加快数据检索至关重要.最典型的例子足 时间操作,也占用大量的资源:21数据对象检查通过字典 银行,如果一个用户在ATe4机前的每一步操作都需要等待30 秒或1分钟,肯定会带来用户的一片抱怨声一笔者根据自己的 缓冲区进行检查,判断访问的数据库对象是否存在,用户是否 有对访问的数据对象具有操作权限:3 J返回数据检查数据 经验.总结出几条提高大型数据库的操作速度的方法,其中有 些疗法涉及到的一些参数和程序,H有ORACALSi提供 库缓冲区是否有用户访问的数据,如果有则直接返回结果到用 户;否则,通过数据库读写进程(DBWR:到磁盘进行数据文 件读写,这是整个数据 问过程中非常费时的操作,因为磁头 二、ORACLE数据库的工作原理 ORACLE数据库是一个数据集台,是典型的关系数据库管 理系统(RDBMS).数据库不仅指物理上的数据,同时包括 要在高速旋转的磁盘上定位,当数据库没有管理好时,由数据 碎片造成的等待甚至不可忍受 如果用户访问的数据不在系统 全局区域SGA中,那么ORACLE只能通过磁盘数据文件读写 进行数据操作,包扦进行磁头扫描、定位.有时还会出现磁盘 I/O口的竞争和等待.多个用白和DBWR对系统资源的占用 等等 物理文件、内存区和进摆的集台数据库中的文件是存储在物 理文件(数据文件)巾的:数据在被使用时.先调人内存. ORACLE利用一块称为系统全局区(SySlem G]oba]Area: SGA)的主内存米管理用户间的数据共享;数据是通过一组后 台进程在SGA与数据文件之间进行数据读写 下图显 了数 据库服务器和数据文件之间的关系 进行数据库调整.首先要了解ORACI E数据库的工作原 三、大型ORACLE数据库的优化方法 从ORACI E的数据库工作原理可 看出.加快数据库访 问的 法.不外乎足以下几十方面:1)使用更大的内存区 SGA.大的SGA意味着 多的数据可以驻留在内存中.这样 服务器 嚣 裁减少了.在数据操作时埘磁盘的操作:21通过合理的数据库 物理设计半衡数据的I/0.减少系统的资源冲突:31高敏的 sQL语句,加快程序的执行时间:4I没置不同用户的资源使 用级别.提高数据库的服务性能;5)进行数据库业筹的优化 再组.使重组后的数据库在需要的时候能够提供良好的服务 I尽量利用多个cpu处理器来执行事务处理和查询 数据库 CPU的快速发展使得ORACLE越来越重视对多CPU的并 行技术的应用.一个数据库的访问工作可 用多个CPU相互 Compeer Programming Skills&Maimenance 2002 4 3