`
tylgl
  • 浏览: 54929 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

如何调整Oracle数据库服务器的性能

阅读更多
1.1 为Oracle数据库服务器规划系统资源
  据已有计算机可用资源, 规划分配给Oracle服务器资源原则是:尽可能使Oracle服务器使用资源最大化,特别在Client/Server中尽量让服务器上所有资源都来运行Oracle服务。

  1.2 调整计算机系统中的内存配置

多数操作系统都用虚存来模拟计算机上更大的内存,它实际上是硬盘上的一定的磁盘空间。当实际的内存空间不能满足应用软件的要求时,操作系统就将用这部分的磁盘空间对内存中的信息进行页面替换,这将引起大量的磁盘I/O操作,使整个服务器的性能下降。为了避免过多地使用虚存,应加大计算机的内存。

  1.3 为Oracle数据库服务器设置操作系统进程优先级

  不要在操作系统中调整Oracle进程的优先级,因为在Oracle数据库系统中,所有的后台和前台数据库服务器进程执行的是同等重要的工作,需要同等的优先级。所以在安装时,让所有的数据库服务器进程都使用缺省的优先级运行。

  ◆2、调整内存分配

  Oracle数据库服务器保留3个基本的内存高速缓存,分别对应3种不同类型的数据:库高速缓存,字典高速缓存和缓冲区高速缓存。库高速缓存和字典高速缓存一起构成共享池,共享池再加上缓冲区高速缓存便构成了系统全程区(SGA)。SGA是对数据库数据进行快速访问的一个系统全程区,若SGA本身需要频繁地进行释放、分配,则不能达到快速访问数据的目的,因此应把SGA放在主存中,不要放在虚拟内存中。内存的调整主要是指调整组成SGA的内存结构的大小来提高系统性能,由于Oracle数据库服务器的内存结构需求与应用密切相关,所以内存结构的调整应在磁盘I/O调整之前进行。

  2.1 库缓冲区的调整

  库缓冲区中包含私用和共享SQL和PL/SQL区,通过比较库缓冲区的命中率决定它的大小。要调整库缓冲区,必须首先了解该库缓冲区的活动情况,库缓冲区的活动统计信息保留在动态性能表v$librarycache数据字典中,可通过查询该表来了解其活动情况,以决定如何调整。Select sum(pins),sum(reloads) from v$librarycache; Pins列给出SQL语句,PL/SQL块及被访问对象定义的总次数;Reloads列给出SQL 和PL/SQL块的隐式分析或对象定义重装载时在库程序缓冲区中发生的错误。如果sum(pins)/sum(reloads) ≈0,则库缓冲区的命中率合适;若sum(pins)/sum(reloads)>1, 则需调整初始化参数 shared_pool_size来重新调整分配给共享池的内存量。

  2.2 数据字典缓冲区的调整

  数据字典缓冲区包含了有关数据库的结构、用户、实体信息。数据字典的命中率,对系统性能影响极大。数据字典缓冲区的使用情况记录在动态性能表v$librarycache中,可通过查询该表来了解其活动情况,以决定如何调整。Select sum(gets),sum(getmisses) from v$rowcache; Gets列是对相应项请求次数的统计;Getmisses 列是引起缓冲区出错的数据的请求次数。对于频繁访问的数据字典缓冲区,sum(getmisses)/sum(gets)<10%~15%。若大于此百分数,则应考虑增加数据字典缓冲区的容量,即需调整初始化参数shared_pool_size来重新调整分配给共享池的内存量。

2.3 缓冲区高速缓存的调整

  用户进程所存取的所有数据都是经过缓冲区高速缓存来存取,所以该部分的命中率,对性能至关重要。缓冲区高速缓存的使用情况记录在动态性能表v$sysstat中,可通过查询该表来了解其活动情况,以决定如何调整。

  Select name,value from v$sysstat

  where name in ('dbblock gets','consistent gets','physical reads');

  dbblock gets和consistent gets的值是请求数据缓冲区中读的总次数。physical reads的值是请求数据时引起从盘中读文件的次数。从缓冲区高速缓存中读的可能性的高低称为缓冲区的命中率,计算公式:

  Hit Ratio=1-(physical reds/(dbblock gets+consistent gets))如果Hit Ratio<60%~70%,则应增大db_block_buffers的参数值。db_block_buffers可以调整分配给缓冲区高速缓存的内存量,即db_block_buffers可设置分配缓冲区高速缓存的数据块的个数。缓冲区高速缓存的总字节数=db_block_buffers的值*db_block_size的值。 db_block_size 的值表示数据块大小的字节数,可查询 v$parameter 表:select name,value from v$parameter where name='db_block_size'; 在修改了上述数据库的初始化参数以后,必须先关闭数据库,在重新启动数据库后才能使新的设置起作用。

  ◆3、调整磁盘 I/O

  磁盘的I/O速度对整个系统性能有重要影响。解决好磁盘I/O问题,可显著提高性能。影响磁盘I/O的性能的主要原因有磁盘竞争、I/O次数过多和数据块空间的分配管理。

  为Oracle数据库服务器创建新文件时,不论是表空间所用的数据文件还是数据事务登录所用的日志文件,都应仔细考虑数据库服务器上的可用磁盘资源。如果服务器上有多个磁盘,则可将文件分散存储到各个可用磁盘上,减少对数据库的数据文件及事务日志文件的竞争,从而有效地改善服务器的性能。对于不同的应用系统都有各自的数据集,应当创见不同的表空间分别存储各自应用系统的数据,并且尽可能的把表空间对应的数据文件存放在不同的磁盘上,这种从物理上把每个应用系统的表空间分散存放的方法,可以排除两个应用系统竞争磁盘的可能性。数据文件、事务日志文件分别存放在不同的磁盘上,这样事务处理执行的磁盘访问不妨碍对相应的事物日志登记的磁盘访问。如果有多个磁盘可用,将两个事物日志成员放在不同的磁盘驱动器上,就可以消除日志文件可能产生的磁盘竞争。应把一个应用的表数据和索引数据分散存放不同表空间上,并且尽量把不同类型的表空间存放在不同磁盘上,这样就消除了表数据和索引数据的磁盘竞争。

  ◆4、调整数据库服务器的回滚段

  回滚段是一个存储区域,数据库使用该存储区域存放曾经由一个事务更新或删除的行的原始数据值。如果用户要回滚一个事务所做的改变,那么数据库就从回滚段中读回改变前的数据并使该事务影响的行改变为它们的原状态。回滚段控制着数据库处理事务的能力,因而在数据库成功中起着关键性的作用,不管数据库的其它部分设计得多好,如果它设计得不合理,将会严重影响系统的性能。建立和调整回滚段的原则如下。

  4.1 分离回滚段

  分离回滚段是指单独为回滚段创建一个以上的表空间,使回滚段与数据字典、用户数据、索引等分离开来。由于回滚段的写入与数据和索引的写入是并行进行的,因此将它分离出来可以减少I/O争用。如果回滚段与数据不分离,倘若要某个表空间脱机或撤消,那么在该表空间中的各个回滚段没有全部脱机之前,不能将这个表空间脱机或撤消。而一旦该表空间不可用,则该表空间中的所有回滚段也不能使用,这将浪费所有分配的磁盘空间。所以,独立回滚段可使数据库管理变得容易。回滚段的经常性收缩,使得表空间的自由块更容易形成碎片。分离回滚段可以减少数据库表空间的碎片产生。

  4.2 创建不同大小的回滚段群

  对于一些联机事物处理,他们一般是频繁地对少量数据进行修改,创建许多小的回滚段对之有利。每一个事物的入口项只能限于一个回滚段,回滚段应该充分大以容纳一个完整的事物处理,因此对一些较大型事物,需要较大型的回滚段。极个别脱机处理事物会产生大量的回滚信息,这时需要一个特大号的回滚段来处理。根据这些理论,在Oracle数据库服务器中针对上述3种事物处理创建三组:小事物组、较大事物组、特大事物组等大小不同的回滚段群,并且将之分散到3个不同的表空间上,群内大小相同,应能满足该组事物处理的最大要求。
分享到:
评论

相关推荐

    oracle数据库性能优化.pdf

    oracle数据库性能优化.pdforacle数据库性能优化.pdforacle数据库性能优化.pdforacle数据库性能优化.pdforacle数据库性能优化.pdf

    Oracle数据库服务器IO高的分析方案和案例探讨.pdf

    IO 响应时间是衡量 Oracle 数据库服务器性能的重要指标。一般来说,如果单个 IO 的响应时间在 20 毫秒以内,是可以接受的,较好的性能应该在 10 个毫秒以下,越低越好。超过 20 毫秒的单个 IO 响应时间,则可认为...

    ORACLE数据库服务器性能优化技术.pdf

    ORACLE数据库服务器性能优化技术.pdf

    调整Oracle应用系统性能的原则和方法

    Oracle数据库服务器是整个系统的核心,它的性能高低直接影响整个系统的性能,为了调整Oracle数据库服务器的性能,主要从以下几个方面考虑:调整操作系统以适合Oracle数据库服务器运行、调整内存分配、调整磁盘 I/O、...

    Oracle数据库应用系统调优方法

    Oracle数据库服务器是整个系统的核心,它的性能高低直接影响整个系统的性能,为了调整Oracle数据库服务器的性能,主要从以下几个方面考虑:调整操作系统以适合Oracle数据库服务器运行、调整内存分配、调整磁盘 I/O、...

    Linux配置大页内存对Oracle数据库服务器的性能提升

    Linux配置大页内存对Oracle数据库服务器的性能提升详解

    Oracle数据库性能优化浅析

    对于数据库系统来说, 优化是一件非常重要的工作, 本文从SQL查询的内部原理、 oracle数据库服务器处理SQL的原理、oracle数据库 s q l 优化 原则 、 oracle SQL 怎 么优化几个方面对oracle 数据库 的性能优化进行了...

    Linux平台下监控Oracle数据库性能

    在单一的应用环境或业务相对简单的系统下, 系统性能问题, 瓶颈所在往往是不言自明, 解决问题的前提--定位问题是比较容易解决的, 但在一个...本文仅就此问题对Linux平台下各应用系统对Oracle数据库的使用情况作一探讨。

    Oracle数据库学习指南

    Oracle2: 1. 《Oracle8 优化技术》摘录 (第一章 安装) 2. 《Oracle8 优化技术》摘录 (第二章 内存-CPU) 3. 《Oracle8 优化技术》摘录 (第三章 输入-输出) 4. EXP、IMP 命令详解 ...52. 自动备份Oracle数据库

    Oracle数据库10g自我管理功能之自动性能诊断

    本白皮书论述了Oracle新性能诊断和监控技术的基础架构和部件,该技术内置于数据库服务器中,并通过OracleEM实现外部化。本白皮书介绍的主要组件包括自动工作负载信息库 (AWR)、自动数据库诊断监控程序 (ADDM) 和 ...

    Oracle数据库防火墙使用经验及数据库安全管理的思考.pdf

    数据库防火墙可以部署在应用服务器和数据库服务器之间,也可以部署在数据库服务器上。常见的部署模式包括Appliance Mode、DPE、SPA、URA、Local Monitor和Remote Monitor等。 四、监控模式 Oracle Database ...

    ORACLE数据库巡检模板.doc

    CPU 利用率部分将对数据库服务器的 CPU 利用率进行检查,以确保数据库服务器的性能。 此外,该模板还包括修改记录、分发者、职位、审阅记录、相关文档等信息,以便于追踪文档的变更记录和管理。 该模板的使用可以...

    Oracle数据库巡检报告.doc

    * I/O 性能检查:检查数据库服务器的磁盘 I/O 性能,确保磁盘 I/O 的速度和效率。 * 内存性能检查:检查数据库服务器的内存使用率,确保内存资源的合理分配。 Oracle 数据库检查 Oracle 数据库检查是巡检报告的第...

    Oracle数据库参数设置.doc

    ORACLE数据库参数主要包括磁盘I/O,回滚段、RODO日志、SGA参数,适当调整ORACLE数据库的参数可以提高系统性能,但不恰当的调整也会降低系统的性能。ORACLE数据库的参数,一部分可以通过执行SQL语句或ORACLE的工具DBA...

    ORACLE数据库10G标准版

    Oracle数据库10g标准版管理您所有的数据,允许您所有的应用程序充分利用Oracle数据库提供的历经考验的性能、安全性和可靠性。还能够与Oracle数据库10g企业版完全向上兼容,当您的使用需求增长时保护您的投资。

    监控Oracle数据库的常用shell脚本

    "监控Oracle数据库的常用shell脚本" 监控Oracle数据库的常用shell脚本是DBA日常工作中不可或缺的一部分。本文将分享8个常用的shell脚本,涵盖了数据库实例的可用性、监听器的可用性、表空间的使用情况、无效对象的...

    基于Linux和虚拟化平台的Oracle数据库迁移.pdf

    基于Linux和虚拟化平台的Oracle数据库迁移是指将Oracle数据库从Windows操作系统迁移到基于Linux和虚拟化平台的操作系统,以提高系统的性能、可靠性、稳定性和安全性。这种迁移方案可以满足医院业务系统对性能、可靠...

    构建最高可用Oracle数据库系统 Oracle 11gR2 RAC管理、维护与性能优化

    15.3.3 DML语句性能调整 15.3.4临时表空间的调整 15.3.5日志文件的调整 15.3.6 UNDO表空间的调整 15.4应用系统 15.4.1应用拆分 15.4.2 SQL执行过程 15.4.3 SQL解析 15.4.4 SQL优化 15.4.5 SQL行源生成 ...

    解密Oracle数据库引擎原理

    在1992年,Oracle发布了第七个版本,引入了名为“Oracle Parallel Server”的分布式数据库架构,这使得Oracle数据库能够在多个服务器上同时运行,提供更高的性能和可靠性。 随着互联网的迅速发

Global site tag (gtag.js) - Google Analytics