CN105701185A - 一种提高数据库性能的优化方法 - Google Patents

一种提高数据库性能的优化方法 Download PDF

Info

Publication number
CN105701185A
CN105701185A CN201610011250.4A CN201610011250A CN105701185A CN 105701185 A CN105701185 A CN 105701185A CN 201610011250 A CN201610011250 A CN 201610011250A CN 105701185 A CN105701185 A CN 105701185A
Authority
CN
China
Prior art keywords
sharedpool
value
buffercache
type
optimization method
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201610011250.4A
Other languages
English (en)
Inventor
熊常春
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Vcmy Technology Co Ltd
Original Assignee
Guangzhou Vcmy Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangzhou Vcmy Technology Co Ltd filed Critical Guangzhou Vcmy Technology Co Ltd
Priority to CN201610011250.4A priority Critical patent/CN105701185A/zh
Publication of CN105701185A publication Critical patent/CN105701185A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/217Database tuning

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种提高数据库性能的优化方法,S1、设置statistics_level的值,初始化参数;S2、显示oracle所建议的shared pool的大小;S3、判断reload-to-pins的值确定是否增加shared pool;S4、判断miss-ratio的值确定是否增加shared pool;S5、将经常访问的对象放入keep类型的buffer cache里,而将不常访问的大表放入recycle类型的buffer cache里,其他都将进入default类型的buffer cache里。本发明在联机状态下提高SQL命中率,提高缓存利用率,减少CPU使用率,总体提高数据库的性能。

Description

一种提高数据库性能的优化方法
技术领域
本发明涉及计算机技术领域,尤其涉及一种提高数据库性能的优化方法。
背景技术
随着ORACLE数据库规模的扩大,数据库用户人数的增加,以及数据量的增大,数据库性能问题越来越突出。问题来了,如何对ORACLE数据库性能进行调整与优化,使之在满足需求和业务安全的条件下,系统性能达到最佳和开销最小?现有技术主要采用共享SQL、设置保留区、BufferCache的设置优化的方法。
对于OLTP频繁执行大量的短事务或查询,会造成频繁访问解析树和数据字典。容易造成性能瓶径,所以优化共享池比优化数据库高速缓存更重要,首先要优化共享池。buffercache就是一块含有许多数据块的内存区域,为了能够加快处理数据的速度,oracle必须将读取过的数据缓存在内存里。所以BUFFER的性能也是数据库最重要的性能指标。
虽然说共享SQL语句可以提高命中率,但是SQL语句也可以共享1000次也叫共享,共享10次也叫共享。对于大多数人来说,肯定倾向于前者。那么如果sharedpool设置的太大的话,每次来一条新SQL就马上分配空间,然后就共享几次然后就一直占用着空间,那样子对空间是不是有很大的浪费?所以说,SharedPool不是越大越好。当SharedPool设置太小,就会发生ORA-04031错误。那么问题就来了,太大太小都不可以,那么就需要一个适当的大小。
当LibraryCache空间不足时,就会优先考虑挤出命中率低的SQL语句。有时候,一些SQL语句是间期性执行的,那么在下一次共享前就被挤出去了,又得重新来解析,是不是很亏,但是SharedPool设置太大又会出现上述情况。这时候,我们就可以把这种SQL语句KEEP在LibraryCache中,让他享有特权,不让其他人来挤掉他。
引入了ASMM(AutomaticSharedMemoryManagement)这样一个可以进行自我调整的组件,该组件可以自动调整sharedpoolsize、dbcachesize等SGA中的组件。只需要设置sga_target参数,则其他组件就能够根据系统的负载和历史信息自动的调整各个部分的大小。但是有一些热点块很容易被一个大块挤出去,所以靠自动调整内存是不足的,需要把这些经常用到的buffer保持在内存中。
发明内容
有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是提供一种提高数据库性能的优化方法,以解决现有技术的不足。
为实现上述目的,本发明提供了一种提高数据库性能的优化方法,其特征在于,包括以下步骤:
S1、设置statistics_level的值,初始化参数;
S2、显示oracle所建议的sharedpool的大小;
S3、对于librarycache来说,判断reload-to-pins的值,如果reload-to-pins大于0.01,则说明sharedpool设置过小,需要增加sharedpool;
S4、对于dictionarycache来说,判断miss-ratio的值,如果miss-ratio大于0.02,则说明sharedpool设置过小,需要增加sharedpool;
S5、将经常访问的对象放入keep类型的buffercache里,而将不常访问的大表放入recycle类型的buffercache里,其他没有指定buffercache类型的对象都将进入default类型的buffercache里。
上述的一种提高数据库性能的优化方法,其特征在于,所述步骤S1中statistics_level设置为typical(缺省值)或all,就能启动对sharedpool的建议功能,如果设置为basic,则关闭建议功能。
上述的一种提高数据库性能的优化方法,其特征在于,所述步骤S2具体显示的为oracle所估计的sharedpool的尺寸值以及在该估计的sharedpool大小下所表现出来的指标值。
本发明的有益效果是:
本发明在联机状态下提高SQL命中率,提高缓存利用率,减少磁盘I/O,减少CPU使用率,总体提高数据库的性能。
以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。
附图说明
图1是本发明的工作流程图。
具体实施方式
如图1所示,一种提高数据库性能的优化方法,其特征在于,包括以下步骤:
S1、设置statistics_level的值,初始化参数;
S2、显示oracle所建议的sharedpool的大小;
S3、对于librarycache来说,判断reload-to-pins的值,如果reload-to-pins大于0.01,则说明sharedpool设置过小,需要增加sharedpool;
S4、对于dictionarycache来说,判断miss-ratio的值,如果miss-ratio大于0.02,则说明sharedpool设置过小,需要增加sharedpool;
S5、将经常访问的对象放入keep类型的buffercache里,而将不常访问的大表放入recycle类型的buffercache里,其他没有指定buffercache类型的对象都将进入default类型的buffercache里。
本实施例中,所述步骤S1中statistics_level设置为typical(缺省值)或all,就能启动对sharedpool的建议功能,如果设置为basic,则关闭建议功能。
本实施例中,所述步骤S2具体显示的为oracle所估计的sharedpool的尺寸值以及在该估计的sharedpool大小下所表现出来的指标值。比如,estd_lc_time_saved_factor列的值,当该列值为1时,表示再增加sharedpool对性能的提高没有意义。当sharedpool为56M时,达到最佳大小。对于设置比56M更大的sharedpool来说,就是浪费空间,没有意义了。
对于步骤S5,如果没有指定buffer_pool短语,则表示该对象进入default类型的buffercache。因为数据库中总会存在一些“非常热”的对象,它们频繁的被访问。而如果某个时候系统偶尔做了一次大表的全表扫描,就有可能将这些对象清除出内存。为了防止这种情况的发生,我们可以设置keep类型的buffercache,并将这种对象都移入keepbuffercache中。
同样的,数据库中也总会有一些很大的表,可能每天为了生成一张报表,而只需要访问一次就可以了。但有可能就是这么一次访问,就将大部分的内存数据块清除出了buffercache。为了避免这种情况的发生,可以设置recycle类型的buffercache,并将这种偶尔访问的大表移入recyclebuffercache。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思做出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。

Claims (3)

1.一种提高数据库性能的优化方法,其特征在于,包括以下步骤:
S1、设置statistics_level的值,初始化参数;
S2、显示oracle所建议的sharedpool的大小;
S3、对于librarycache来说,判断reload-to-pins的值,如果reload-to-pins大于0.01,则说明sharedpool设置过小,需要增加sharedpool;
S4、对于dictionarycache来说,判断miss-ratio的值,如果miss-ratio大于0.02,则说明sharedpool设置过小,需要增加sharedpool;
S5、将经常访问的对象放入keep类型的buffercache里,而将不常访问的大表放入recycle类型的buffercache里,其他没有指定buffercache类型的对象都将进入default类型的buffercache里。
2.如权利要求1所述的一种提高数据库性能的优化方法,其特征在于,所述步骤S1中statistics_level设置为typical(缺省值)或all,就能启动对sharedpool的建议功能,如果设置为basic,则关闭建议功能。
3.如权利要求1所述的一种提高数据库性能的优化方法,其特征在于,所述步骤S2具体显示的为oracle所估计的sharedpool的尺寸值以及在该估计的sharedpool大小下所表现出来的指标值。
CN201610011250.4A 2016-01-08 2016-01-08 一种提高数据库性能的优化方法 Pending CN105701185A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610011250.4A CN105701185A (zh) 2016-01-08 2016-01-08 一种提高数据库性能的优化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610011250.4A CN105701185A (zh) 2016-01-08 2016-01-08 一种提高数据库性能的优化方法

Publications (1)

Publication Number Publication Date
CN105701185A true CN105701185A (zh) 2016-06-22

Family

ID=56226983

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610011250.4A Pending CN105701185A (zh) 2016-01-08 2016-01-08 一种提高数据库性能的优化方法

Country Status (1)

Country Link
CN (1) CN105701185A (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101989283A (zh) * 2009-08-04 2011-03-23 中兴通讯股份有限公司 一种数据库性能的监控方法和装置
CN102622441A (zh) * 2012-03-09 2012-08-01 山东大学 一种基于Oracle数据库的自动性能识别调优系统
CN103345518A (zh) * 2013-07-11 2013-10-09 清华大学 基于数据块的自适应数据存储管理方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101989283A (zh) * 2009-08-04 2011-03-23 中兴通讯股份有限公司 一种数据库性能的监控方法和装置
CN102622441A (zh) * 2012-03-09 2012-08-01 山东大学 一种基于Oracle数据库的自动性能识别调优系统
CN103345518A (zh) * 2013-07-11 2013-10-09 清华大学 基于数据块的自适应数据存储管理方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CUBSEE: ""oracle性能调优之--Share-Pool-调整与优化"", 《百度文库》 *
ZWL2388280: ""DBWN LGWR"", 《百度文库》 *

Similar Documents

Publication Publication Date Title
US10296508B2 (en) Systems and methods to manage online analytical and transactional processing for an in-memory columnar database
Whitman et al. Spatial indexing and analytics on Hadoop
CN101916302B (zh) 基于哈希表的三维空间数据自适应缓存管理方法及系统
CN103617131B (zh) 一种实现数据缓存的方法
CN104866434B (zh) 面向多应用的数据存储系统和数据存储、调用方法
CN106557578B (zh) 历史数据查询方法及系统
US9483513B2 (en) Storing large objects on disk and not in main memory of an in-memory database system
US10528553B2 (en) System and method for optimizing queries
US10445076B1 (en) Cache efficient reading of result values in a column store database
CN104573119A (zh) 云计算中面向节能的Hadoop分布式文件系统存储策略
CN103885728A (zh) 一种基于固态盘的磁盘缓存系统
EP3161671A1 (en) Managing data with flexible schema
US11734258B2 (en) Constraint data statistics
CN107168888B (zh) Nand闪存的映射表管理方法及其系统
CN105653720A (zh) 一种可灵活配置的数据库分层存储优化方法
CN111209296A (zh) 数据库访问方法、装置、电子设备及存储介质
CN104158897A (zh) 一种分布式文件系统中文件布局的更新方法
CN103631972B (zh) 一种列访问感知的数据缓存方法及系统
CN103399915A (zh) 一种搜索引擎索引文件的优化读取方法
CN104112024A (zh) 数据库的高性能查询方法和装置
CN103778064B (zh) 一种数据管理方法及装置
US10795876B2 (en) Processing query of database and data stream
CN105701185A (zh) 一种提高数据库性能的优化方法
US11151178B2 (en) Self-adapting resource aware phrase indexes
CN106549983B (zh) 一种数据库的访问方法及终端、服务器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20160622

RJ01 Rejection of invention patent application after publication