`

关系型数据库(Oracle)性能优化(一)

 
阅读更多

    为了保证Oracle数据库运行在最佳的性能状态下,在信息系统开发之前就应该考虑数据库的优化策略。

    优化策略一般包括服务器操作系统参数调整数据库参数调整网络性能调整应用程序SQL语句分析及设计等几个方面。


    分析评价Oracle数据库性能主要有数据库吞吐量数据库用户响应时间两项指标。数据库用户响应时间又可以分为系统服务时间和用户等待时间两项,即:数据库用户响应时间=系统服务时间+用户等待时间   

    因此,获得满意的用户响应时间有两个途径:

      一是减少系统服务时间,即提高数据库的吞吐量;

      二是减少用户等待时间,即减少用户访问同一数据库资源的冲突率。     


一、硬件方面


    数据库的硬件配置:CPU、内存、网络条件。


    1. CPU:在任何机器中CPU的数据处理能力往往是衡量计算机性能的一个标志,并且ORACLE是一个提供并行能力的数据库系统,在CPU方面的要求就更高了,如果运行队列数目超过了CPU处理的数目,性能就会下降,我们要解决的问题就是要适当增加CPU的数量了,当然我们还可以将需要许多资源的进程KILL;

       CPU是服务器的一项重要资源,服务器良好的工作状态表现为在工作高峰时CPU的使用率高于90%。如果空闲时间CPU使用率就在90%以上,说明服务器缺乏CPU资源;如果工作高峰时CPU使用率仍然很低,则说明服务器CPU 资源还比较充足。   

  2. 内存:衡量机器性能的另外一个指标就是内存的多少了,在ORACLE中内存和我们在建数据库中的交换区进行数据的交换,读数据时,磁盘I/O必须等待物理I/O操作完成,在出现ORACLE的内存瓶颈时,我们第一个要考虑的是增加内存,由于I/O的响应时间是影响ORACLE性能的主要参数。

         内存参数的调整主要是指Oracle数据库的系统全局区(SGA)的调整。SGA主要由3部分构成:共享池、数据缓冲区、日志缓冲区。共享池由两部分构成:共享SQL区和数据字典缓冲区。共享SQL区是存放用户SQL命令。

  3. 网络条件:NET*SQL负责数据在网络上的来往,大量的SQL会令网络速度变慢。比如10M的网卡和100的网卡就对NET*SQL有非常明显的影响,还有交换机、集线器等等网络设备的性能对网络的影响很明显,建议在任何网络中不要试图用3个集线器来将网段互联。


     调整操作系统参数 

        例如:运行在Unix操作系统上的 Oracle数据库,可以调整 Unix数据缓冲区的大小、每个进程所能使用的内存大小等参数。

    调整硬盘I/O

        数据库管理员可以将组成同一个表空间的数据文件放在不同的硬盘上,做到硬盘之间I/O 负载均衡。

    调整服务器内存分配 

        内存分配是在信息系统运行过程中优化配置的。数据库管理员根据数据库的运行状况不仅可以调整数据库系统全局区(SGA区)的数据缓冲区、日志缓冲区和共享池的大小,而且还可以调整程序全局区(PGA区)的大小。


  OS参数的设置

  下表给出了OS的参数设置及说明,DBA可以根据实际需要对这些参数进行设置

  内核参数名

  说明

  bufpages

  对buffer空间不按静态分配,采用动态分配,使bufpages值随nbuf一起对buffer空间进行动态分配。

  create_fastlinks

  对HFS文件系统允许快速符号链接

  dbc_max_pct

  加大最大动态buffer空间所占物理内存的百分比,以满足应用系统的读写命中率的需要。

  dbc_min_pct

  设置最小动态buffer空间所占物理内存的百分比

  desfree

  提高开始交换操作的最低空闲内存下限,保障系统的稳定性,防止出现不可预见的系统崩溃(Crash)

  fs_async

  允许进行磁盘异步操作,提高CPU和磁盘的利用率

  lotsfree

  提高系统解除换页操作的空闲内存的上限值,保证应用程序有足够的可用内存空间。

  maxdsiz

  针对系统数据量大的特点,加大最大数据段的大小,保证应用的需要。(32)

  maxdsiz_64bit

  maximum process data segment size for 64_bit

  Maxssiz

  加大最大堆栈段的大小。(32_bit)

  maxssiz_64bit

  加大最大堆栈段的大小。(64_bit)

  Maxtsiz

  提高最大代码段大小,满足应用要求

  maxtsiz_64bit

  原值过大,应调小

  Minfree

  提高停止交换操作的自由内存的上限

  Shmem

  允许进行内存共享,以提高内存的利用率

  Shmmax

  设置最大共享内存段的大小,完全满足目前的需要

  Timeslice

  由于系统的瓶颈主要反映在磁盘I/O上,因此 降低时间片的大小,一方面可避免因磁盘I/O不畅造成CPU的等待,从而提高了CPU的综合利用率。另一方面减少了进程的阻塞量。

  unlockable_mem

提高了不可锁内存的大小,使可用于换页和交换的内存空间扩大,用以满足系统对内存管理的要求。



 

分享到:
评论

相关推荐

    Oracle数据库语句性能优化方法.pdf

    Oracle 数据库性能优化是关系型数据库管理系统中的一项关键技术。随着数据量的不断增加和应用系统的复杂性增加,数据库性能的优化变得越来越重要。本文将讨论 Oracle 数据库语句性能优化的方法,从系统设计阶段的...

    浅析Oracle数据库的性能优化.pdf

    Oracle数据库是全球广泛应用的关系型数据库之一,其性能直接影响到整个系统的运行效率。本文将浅析Oracle数据库的性能优化,主要关注数据库服务器性能和数据库配置两个关键领域。 首先,数据库服务器性能是决定整体...

    大型关系型数据库优化探讨.pdf

    Oracle数据库作为一种广泛应用的大型关系型数据库管理系统,在众多行业中扮演着至关重要的角色。然而,在实际应用过程中,由于多种因素的影响,Oracle数据库往往无法达到最佳性能状态。为了提高数据库系统的整体效率...

    Oracle数据库性能优化 盖国强著

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统之一,其性能优化是DBA(数据库管理员)和系统管理员关注的重要领域。盖国强先生的《Oracle数据库性能优化》一书深入浅出地探讨了这个主题,旨在帮助读者理解...

    oracle数据库性能优化 合集 中文

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统,其性能优化是一项关键任务,直接影响到系统的响应速度、资源利用率和整体稳定性。本合集包含了11个文档,全面涵盖了Oracle数据库性能优化的各种方面,旨在...

    关系型数据库的(优化)工作原理

    本文将深入探讨关系型数据库的工作原理及其优化策略,主要关注Oracle和MySql这两种主流数据库。 首先,我们要理解关系型数据库的基础——SQL(结构化查询语言)。SQL是用于操作关系数据库的标准语言,包括数据查询...

    oracle数据库性能优化与内部原理解析

    Oracle数据库是关系型数据库管理系统(RDBMS),其内部由多个层次构成,包括实例(Instance)、数据库(Database)、表空间(Tablespace)、数据文件(Datafile)、段(Segment)、区(Extent)以及数据块(Data ...

    浅谈ORACLE数据库的性能优化.pdf

    Oracle数据库作为一款广泛应用于管理信息系统、企业数据处理、互联网和电子商务领域的关系型数据库管理系统,其性能优化对于确保系统的稳定性和高效运行至关重要。随着数据量的快速增长,数据库性能优化成为数据库...

    Oracle数据库性能优化技术.pdf

    Oracle作为广泛应用的大型关系型数据库,其性能直接影响到系统的整体效率。优化策略主要围绕减少磁盘访问,以获取所需数据,并通过对比优化前后的响应时间、吞吐量、可用性、命中率和内存利用率等指标来评估和指导...

    大型数据库 oracle11g数据库

    Oracle 11g数据库是Oracle公司推出的一款企业级关系型数据库管理系统,被广泛应用于各种规模的企业和组织中,尤其在大型数据存储、管理和分析方面表现出卓越的能力。中南大学的这个课程显然旨在帮助初学者理解和掌握...

    Oracle 数据库性能优化与运维最佳实践

    Oracle数据库是全球广泛使用的大型企业级关系型数据库管理系统,它在处理复杂的数据操作和高并发事务处理方面表现出色。然而,随着数据量的增长和业务需求的增加,数据库性能优化成为了一个至关重要的任务。"Oracle...

    Oracle数据库性能分析

    Oracle数据库是一个复杂且功能强大的关系型数据库管理系统(RDBMS),其核心组件包括实例和数据库文件。理解Oracle的体系结构对于优化性能至关重要。 - **实例**: 包括后台进程和内存结构,如共享池(Shared Pool)、...

    ORACLE数据库设计与优化

    Oracle数据库是全球广泛使用的大型关系型数据库系统之一,它在数据存储、处理和管理方面具有强大的功能。本主题主要探讨Oracle数据库的设计原则和优化策略,以提升系统的性能和效率。 一、数据库设计基础 1. 规范化...

    Oracle9i 数据库性能优化

    Oracle9i 是 Oracle 公司推出的一款功能强大的关系型数据库管理系统(RDBMS)。随着业务规模的增长和技术的发展,Oracle9i 的性能优化成为了提高系统响应速度、提升用户体验的关键环节。性能优化主要包括对数据库...

    《Oracle数据库性能优化实践指南》PDF

    《Oracle数据库性能优化实践指南》是一本专注于Oracle数据库性能调优的专业书籍,旨在帮助读者深入理解和掌握如何在实际环境中提升Oracle数据库的运行效率。Oracle数据库是全球广泛使用的大型企业级数据库管理系统,...

    Oracle数据库性能优化.rar

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统之一,其性能优化是DBA(数据库管理员)和系统管理员的重要工作内容。本教程"Oracle数据库性能优化"旨在帮助用户掌握提高Oracle数据库效率的关键技术和策略。 ...

    航空结算系统基于oracle数据库的性能优化.pdf

    Oracle数据库作为一款功能强大的关系型数据库管理系统,其性能优化对于保障航空结算系统的稳定运行至关重要。 1. Oracle数据库概述 Oracle数据库,起源于1970年代的关系型数据库技术,它通过理解数据间的关联,...

    3篇Oracle数据库性能优化的论文

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统,其性能优化对于企业级应用至关重要。这篇摘要将探讨三篇关于Oracle数据库性能优化的论文,包括“Oracle 10G 数据库性能优化的研究”、“Oracle 10g数据库...

    Oracle数据库性能优化的艺术 资深专家文平新作)

    Oracle数据库作为业界广泛使用的大型关系型数据库管理系统,其性能优化对于企业的业务运行至关重要。这本书从硬件、软件以及实际应用的多个角度出发,系统地介绍了数据库性能优化的策略和技巧。 首先,硬件层面的...

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

    ORACLE 数据库服务器性能优化技术 ORACLE 数据库服务器性能优化技术是指通过合理分配计算机资源、调整系统运行参数来提高 ORACLE 数据库服务器性能的过程。该技术包括调整 CPU 参数、服务器内存分配、硬盘 I/O、...

Global site tag (gtag.js) - Google Analytics