Oracle 9i 数据库性能调优技术-20

合集下载

Oracle 9i 和 10g 高性能调优

Oracle 9i 和 10g 高性能调优

Oracle 9i 和10g 高性能调优介绍让我们从安装所需要的检查的事物开始来讨论oracle的优化。

调优环境调优的环境是什么?是一个你的调优努力能起作用的一种环境。

调整oralce数据库的所必需的东西⏹好多软件工具⏹训练有素的人⏹分段的测试环境⏹生产环境的一个副本○真实的和期望的生产环境。

在成长快速或者需求改变时,这些环境是经常不同的。

○经可能的使得数据库的大小/内容一致。

在不能完全满足这样的要求时,至少开发和测试数据库应该同生产数据库成比例○统计表是一样的吗?统计表可以拷贝,或者同生产数据库使用同样的时间间隔执行可用工具调整和监控数据库的优秀软件很多。

OEM有很多非常有用的小组件。

Spotlight擅长于对繁忙系统的视频和信息进行实时监控。

两者对调整数据库物理和SQL代码的性能分析都是非常有用的。

也有许多其他的工具可用。

在调整过程中最重要的工具是developer和administrators。

那是为什么你读这本书的原因。

最好的软件工具也意味着是最昂贵的,当然这也不是说较为便宜的工具是无用的了。

通常,越贵的软件为你所做的事情越多。

然而,有时候自动为你做了某些工作,你不理解其内部机制。

你的工具集未必比经过良好训练,经验丰富的数据库管理员和开发人员作得更好。

训练有素的人好的训练有其恰当的地方。

作为系统管理员或者开发者,数据库管理员趋向于有root权限。

每一种训练都有其优缺点。

开发者除了编码SQL,创建数据模块之外,所了解的知识越来越多。

系统管理员对unix之类的操作系统知识具有广泛的了解,关注的是oracle数据库的物理存储的调优。

开发者关注的是数据库模型和创建更为高效的SQL代码方面的优化。

幸的是,事情不总是如此。

有时候开发者趋向于把调优SQL代码和数据模型负担看着是数据库管理的负责范围。

这样就会导致混乱。

分段的环境你需要尽可能多的实验环境。

作为DBA,你不能期望在一个在线的生产数据库上进行调优工作。

oracle数据库性能调优

oracle数据库性能调优

oracle数据库性能调优⼀:注意WHERE⼦句中的连接顺序:ORACLE采⽤⾃下⽽上的顺序解析WHERE⼦句,根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些可以过滤掉最⼤数量记录的条件必须写在WHERE⼦句的末尾.尤其是“主键ID=?”这样的条件。

⼆: SELECT⼦句中避免使⽤ ‘ * ‘:ORACLE在解析的过程中, 会将'*' 依次转换成所有的列名, 这个⼯作是通过查询数据字典完成的, 这意味着将耗费更多的时间。

简单地讲,语句执⾏的时间越短越好(尤其对于系统的终端⽤户来说)。

⽽对于查询语句,由于全表扫描读取的数据多,尤其是对于⼤型表不仅查询速度慢,⽽且对磁盘IO造成⼤的压⼒,通常都要避免,⽽避免的⽅式通常是使⽤索引Index。

三:使⽤索引的优势与代价。

优势:1)索引是表的⼀个概念部分,⽤来提⾼检索数据的效率,ORACLE使⽤了⼀个复杂的⾃平衡B-tree结构. 通常,通过索引查询数据⽐全表扫描要快. 当ORACLE找出执⾏查询和Update语句的最佳路径时, ORACLE优化器将使⽤索引. 同样在联结多个表时使⽤索引也可以提⾼效率. 2)另⼀个使⽤索引的好处是,它提供了主键(primary key)的唯⼀性验证.。

那些LONG或LONG RAW数据类型, 你可以索引⼏乎所有的列. 通常, 在⼤型表中使⽤索引特别有效. 当然,你也会发现, 在扫描⼩表时,使⽤索引同样能提⾼效率.代价:虽然使⽤索引能得到查询效率的提⾼,但是我们也必须注意到它的代价. 索引需要空间来存储,也需要定期维护, 每当有记录在表中增减或索引列被修改时, 索引本⾝也会被修改. 这意味着每条记录的INSERT , DELETE , UPDATE将为此多付出4 , 5 次的磁盘I/O . 因为索引需要额外的存储空间和处理,那些不必要的索引反⽽会使查询反应时间变慢.。

⽽且表越⼤,影响越严重。

使⽤索引需要注意的地⽅:1、避免在索引列上使⽤NOT , 我们要避免在索引列上使⽤NOT, NOT会产⽣在和在索引列上使⽤函数相同的影响. 当ORACLE”遇到”NOT,他就会停⽌使⽤索引转⽽执⾏全表扫描.2、避免在索引列上使⽤计算.WHERE⼦句中,如果索引列是函数的⼀部分.优化器将不使⽤索引⽽使⽤全表扫描.举例:代码如下:低效:SELECT … FROM DEPT WHERE SAL * 12 > 25000;⾼效:SELECT … FROM DEPT WHERE SAL > 25000/12;3、避免在索引列上使⽤IS NULL和IS NOT NULL避免在索引中使⽤任何可以为空的列,ORACLE性能上将⽆法使⽤该索引.对于单列索引,如果列包含空值,索引中将不存在此记录. 对于复合索引,如果每个列都为空,索引中同样不存在此记录. 如果⾄少有⼀个列不为空,则记录存在于索引中.举例: 如果唯⼀性索引建⽴在表的A列和B列上, 并且表中存在⼀条记录的A,B值为(123,null) , ORACLE将不接受下⼀条具有相同A,B值(123,null)的记录(插⼊). 然⽽如果所有的索引列都为空,ORACLE将认为整个键值为空⽽空不等于空. 因此你可以插⼊1000 条具有相同键值的记录,当然它们都是空! 因为空值不存在于索引列中,所以WHERE⼦句中对索引列进⾏空值⽐较将使ORACLE停⽤该索引.代码如下:低效:(索引失效) SELECT … FROM DEPARTMENT WHERE DEPT_CODE IS NOT NULL;⾼效:(索引有效) SELECT … FROM DEPARTMENT WHERE DEPT_CODE >=0;4、注意通配符%的影响使⽤通配符的情况下Oracle可能会停⽤该索引。

oracle数据库性能调整与优化

oracle数据库性能调整与优化

Oracle9i数据库性能调整与优化V1.0在数据库成熟应用的时代,数据库的性能优化已经演变为一项相当严密的系统工程。

作为企业IT基础设施的核心部件之一,数据库并不是孤立的系统,它与网络、操作系统、存储等硬件系统紧密相连,这种与其他IT部件的多重连接特性决定了数据库性能优化是一门综合技术。

数据库性能优化的实现路径和IT系统管理架构越来越密不可分。

Oracle9i数据库在内部特性方面有着非常大增强,其中一个最令Oracle DBA兴奋莫过于可以动态设置全部Oracle SGA控制参数。

与8i不同是,原来都将初始化参数放到一个文本文件中,并且在数据库启动时候读取,Oracle9i却可以通过ALTER DATABASE 和ALTER SYSTEM命令复位全部Oracle参数。

在9i前,如果想对Oracle数据库处理模式作一些改变话,Oracle管理员必须关闭数据库并且重新设置INIT.ORA文件中参数,然后重新启动数据库。

对于白天使用OLTP 模式运作,晚上切换到数据仓库模式Oracle数据库来说,这种重新设置是经常做。

对于需要停止和重新启动Oracle数据库来修改参数来说,Oracle9i在这方面有明显加强,它令实现数据库连续可用目标变得更加简单。

定义:SGA:(System Global Area)是Oracle Instance的基本组成部分,在实例启动时分配。

是一组包含一个Oracle实例的数据和控制信息的共享内存结构。

主要是用于存储数据库信息的内存区,该信息为数据库进程所共享(PGA不能共享的)。

它包含Oracle 服务器的数据和控制信息,它是在Oracle服务器所驻留的计算机的实际内存中得以分配,如果实际内存不够再往虚拟内存中写。

理论上SGA可占OS系统物理内存的1/2——1/3。

SGA几个很重要的特性:1、SGA的构成——数据和控制信息,我们下面会详细介绍;2、SGA是共享的,即当有多个用户同时登录了这个实例,SGA中的信息可以被它们同时访问(当涉及到互斥的问题时,由latch和enquence控制);3、一个SGA只服务于一个实例,也就是说,当一台机器上有多个实例运行时,每个实例都有一个自己的SGA尽管SGA来自于OS的共享内存区,但实例之间不能相互访问对方的SGA区。

(Oracle管理)Oracle9i 应用系统优化

(Oracle管理)Oracle9i 应用系统优化

1、优化前提应用系统方案制定准确,对应用系统运行环境分析合理、正确,在数据库服务器性能、存储空间、网络带宽等方面的配置能够达到系统运行要求.2、优化目标● 响应时间与吞吐量平衡● 临界资源2.1 响应时间与吞吐量平衡根据应用类型的不同,性能优化的目标不同:在线事务处理系统OLTP)把吞吐量定义为性能指标;决策支持系统(DSS)把响应时间定义为性能指标。

响应时间响应时间=服务时间+等待时间系统吞吐量系统吞吐量指在给定的时间内所完成的工作量。

有以下两种技术:● 以相同的资源来完成更多的工作(减少服务时间);● 通过减少整个响应时间来更快完成工作。

等待时间当竞争增强的时候,某个任务的服务时间也许保持不变,但它的等待时间将增长。

我们开发的系统一般为OLTP和DSS的复合系统,侧重于OLTP,在硬件允许的情况下最好能够将运行数据库、分析数据库分离。

2.2 临界资源诸如CPU、内存、I/O容量、网络带宽等资源,都是减少时间的关键因素。

性能好坏取决于以下因素:● 可用资源的数量● 需要该资源的客户方的数目● 客户方等待资源所消耗的时间● 客户保持资源的时间长短随着请求单元的增加,服务时间也增加。

为了处理这种情形,用户可以选择:● 通过限制请求的速率,从而维护可接受响应时间● 还可通过增加资源数目,如CPU和硬盘(增加资源的前提是应用系统设计良好,并且已经做了充分的优化)3、优化阶段从实际做的项目过程来看,除了系统安装优化外,系统优化往往都是在系统实施、运行时才考虑,其实到这阶段做系统优化的局限性比较大,因为系统架构设计都成型、固化,大幅度调整设计的代价非常昂贵,一般只能在局部领域做优化,只能通过重新分配内存或优化I/O来或多或少地提高性能,实际上优化应该贯穿系统设计、开发、安装、测试、运行整个过程。

3.1 设计阶段为了达到最佳的效果,优化工作应当从设计阶段进行,而不是在系统实施后进行。

在数据库设计阶段,个人认为需要注意如下几个方面:● 业务对象不能建立在系统表空间;● 索引表空间和业务表空间分开;● 将LOB类型的字段与其它的类型分开;● 根据应用系统功能确定是否要采用冗余字段;● 正确的主键字段的选择,建议采用数字,不推荐使用复合主键;3.2 开发、测试阶段在开发实现阶段,个人认为需要注意如下几个方面:● 执行sql使用变量绑定的方式,尽可能的保留在共享内存中,提高sql命中率;● 多表关联查询时采用有效的连接顺序;● 尽可能的降低客户端和服务器的网络数据交互,某个业务功能点需要频繁和数据库交互的,建议采用存储过程、临时表实现;● 根据查询条件建立必要的索引,查询条件中使用oracle函数建立相对应的函数索引,数据值范围较小的采用位图索引● 多张表关联查询时,有时可采用先查询符合条件对应的表中关键字,然后通过关键字再查询对应表中相关信息;● 频繁访问,较少更新的数据量较小的表信息可采用缓存的方式;● 在实现批量更新、插入时,要采用jdbc批量执行方法,并且调整对应的fetchsize参数。

调整优化Oracle 9i数据库的性能

调整优化Oracle 9i数据库的性能

调整优化Oracle 9i数据库的性能
何月顺;丁秋林
【期刊名称】《计算机应用与软件》
【年(卷),期】2004(021)006
【摘要】介绍调整和优化Sun SPARC Solaris系统平台上的Oracle 9i数据库服务器的一些相关命令和方法.
【总页数】3页(P10-11,40)
【作者】何月顺;丁秋林
【作者单位】南京航空航天大学,南京,210016;东华理工学院,抚州,344000;南京航空航天大学,南京,210016
【正文语种】中文
【中图分类】TP311.13
【相关文献】
1.Oracle 9i数据库的性能调整和优化 [J], 尹成国
2.基于Oracle 9i数据库的查询优化 [J], 廖建华
3.Oracle 9i数据库性能优化 [J], 姚树春;朱艳琴
4.索引调整优化Oracle 9i工作性能的研究 [J], 谷小秋;李德昌
5.浅议如何调整优化Oracle 9i数据库的性能 [J], 胡铁峰
因版权原因,仅展示原文概要,查看原文内容请购买。

Oracle 数据库性能调整

Oracle 数据库性能调整
通过v$SHARED_POOL_RESERVED 统计,使REQUEST_MISSES=0 ;REQUEST_FAILURES=0或停止增长。
? 数据库缓冲区高速缓存(Block Buffers & Block Size(Bytes):
当缓冲区高速缓存命中率:
select name ,value from v$sysstat where name in(‘db block gets’,’consistent gets’,’physical reads’);
Select class,count from v$waitstat where class in(‘system undo header’,’system undo block’,’undo header’,’undo block’);
2. 减少回滚段的竞争
检测动态性能表v$waitstat确定回滚段的竞争是否降低性能;
Oracle 数据库性能调整
Oracle 数据库性能调整
默认的init<SID>.ora是由系统自动安装在$ORACLE_BASE/admin/<SID>/pfile下的默认初始参数:
? 共享池(Shared Pool Size(Bytes):共享池包括库高速缓存、数据字典高速缓存和服务器控制结构。必须将这个值设得足够大,以确保有足够的可用空间来装载和存储 PL/SQL块和SQL语句。(根据数据库服务器的内存大小来设定此值,也可接受却省值)。越使用处存储过程和触发器,共享池要求更多。
? 通常建立4个以上的回滚段(并发事务÷4)
3. 减少多进程服务器的进程竞争:
? 减少调度程序竞争
select network “protocol”,sum(busy)/(sum(busy)+sum(idle)) “totobusy rate” from v$dispatcher group by network;

ORACLE 性能优化

ORACLE 性能优化

ORACLE 数据库性能优化参考书目:《ORACLE 9i Database Performance Tuning Guide and Reference》《ORACLE 9i Database Reference》《ORACLE 9i SQL Reference》《ORACLE 9i Database Administrator’s Guide》一、数据库实例创建过程参数确定在创建数据库实例过程中,需要确定以下几个参数:1. 数据块大小(DB_BLOCK_SIZE)该参数指明了ORACLE所处理的数据存贮于数据文档以及SGA内存中的数据块大小。

该参数的可选择的范围为:4k,8k,16k,32k,64k。

对于OLTP系统而言,取值可以为4K或8K,对于DSS系统而言,则可以取较大的数据,如32K或64K 建议统一取8K(即8192)说明DB_BLOCK_SIZE的大小将影响创建表时的EXTENT的大小。

例如指定db_block_size=16K,某表空间的EXTENT MANAGEMENT 为local autoallocate,则其系统将extent的大小最小指定为1M.所以将可能导致空间的浪费。

2. 字符集(Character set)该参数确定数据库以何种字符集来存贮CHAR以及V ARCHAR、V ARCHAR2等字符类型的值。

对于ORACLE数据字典中的字符(如表及字段的COMMENT 内容)具有同样的作用。

因此需要考虑如字符集的使用。

对于国际项目,因为数据库中的comment内容(包括表及字符、存贮过程中的中文字符等内容)可能性需要以中文存贮,而用户业务数据使用的字符可能性是使用本地的语言,基于此,该参数需要选择支持UNICODE的字符编码的字符集。

目前ORACLE9i支持以下二种UNICODE字符集:⏹UTF8⏹AL32UTF8建议统一取AL32UTF83. 扩展段管理(EXTENT MANAGEMENT)该参数指明表空间中的扩展段的管理方式。

Oracle9i性能调整

Oracle9i性能调整

索引与性能
IOT创建语句 create table t1 (x int primary key,y int,x int) organization index; 减小IO数量,但是bug较多。 位图index 适合选择性不强的情况,专为DSS系统设计。锁定块 ,不适合OLPT系统。 加速创建INDEX nologging-注意备份 并行创建
系统资源的调整-IO
IO系统的监控 iostat -xn 以看出系统在单位时间内的读写次数以及吞吐能力 Dbfile的io控制 CREATE TABLE sum_read_writes AS SELECT SUM(phyrds) phys_reads, sum(phywrts) phys_wrts FROM V$FILESTAT; TTITLE ' DATAFILE DISK I/O REPORT' COLUMN name FORMAT a35 COLUMN phyrds FORMAT 999,999,999 COLUMN phywrts FORMAT 999,999,999 COLUMN read_pct FORMAT 999.99 COLUMN write_pct FORMAT 999.99 SELECT name, phyrds, phyrds * 100 / srw.phys_reads read_pct, phywrts, phywrts * 100 / srw.phys_wrts write_pct FROM sum_read_writes srw, v$datafile df, v$filestat fs WHERE df.file# = fs.file# ORDER BY phyrds desc; DROP TABLE sum_read_writes; clear columns TTITLE off

Oracle+9i+整体性能优化

Oracle+9i+整体性能优化

Oracle 9i 整体性能优化概述草稿之一:调整争用2.1 优化维护 42.2 诊断LATCH竞争 42.2.1 概念 42.2.2 是否存在latch争用 52.2.3 检查Latch是否主要竞争 52.2.4 DBA关注的latch内容 52.3 诊断FREE LIST竞争 62.3.1 概念 62.3.2 是否存在free list争用 62.3.3 确定free list 争用的段 72.3.4 优化free list争用 72.4 诊断LOCK竞争 82.4.1 概念 82.4.2 可能引起lock contention的原因 82.4.3 锁解决办法 92.4.4 死锁 92 调整争用争用:每当一个Oracle 进程试图访问一个Oracle结构,但由于该结构正由另一个进程结构使用而未能成功访问到它时,就发生对Oracle资源的争用。

常见的有latch、Free List 、lock争用。

主要维护的争用有:Latch(锁存器):可作为内存性能的指标,说明内存需要调整。

λFreeλ List:会导致繁忙表上的DML操作性能很差。

Lock:会遇到彻底的暂停,产生巨大的性能影响。

λ2.1优化维护维护时,主要通过检查,判断存在的latch和free list争用是否合理,不合理,则启动相应的优化工作。

而lock,在遇到问题的时候,可作为维护参考,平时不进行太多的维护(或从应用上考虑优化)。

(除了定期去$ORACLE_HOME/admin/$ORACLE_SID/udump查看死锁情况外)2.2诊断latch竞争2.2.1概念Latch是简单的、低层次的序列化技术,用以保护SGA中的共享数据结构,比如并发用户列表和buffer cache里的blocks信息。

一个服务器进程或后台进程在开始操作或寻找一个共享数据结构之前必须获得对应的latch,在完成以后释放latch。

不必对latch本身进行优化,如果latch存在竞争,表明SGA的一部分正在经历不正常的资源使用。

Oracle数据库性能优化技术

Oracle数据库性能优化技术

06 性能诊断
创建一个数据库—建库
这里最需要关注的是sga+pga 占物理内存的比例是否合理,建议不要超过60%,同时需要关注是否有 内存抖动。 对于unix操作系统,比如aix和hp-ux,文件系统缓存默认比例都很高,建议调低,因为对于数据库来说有 专门的sga就够了,再使用文件系统缓存会导致操作系统内存资源紧张进而产生交换,这时性能问题就不 可避免了, 对于 HP 11iv3 以上的版本, filecache_min 和 filecache_max 控制,注意单位为字节数, 也可以 写百分比: kctune -u -s filecache_max=10% kctune -u -s filecache_min=5% AIX 5 可用 而在11.23中,则使用dbc_max_pct和dbc_min_pct参数来控制 kctune -u -s dbc_max_pct=10 kctune -u -s dbc_min_pct=5
时间 connection management call elapsed time 建立数据库 session 连接和断开的耗时 failed parse elapsed time 解析失败,例如由于 ORA-4031 hard parse (sharing criteria) elapsed time 由于无法共享
dba_advisor_* dba_hist_* dba_feture_* dba_high_water_mark_* dba_tab_stats_history
03 性能诊断
04 性能诊断
awr报告关键指标
05 性能诊断
awr --- DBTIME
Elapsed 为两个快照点在自然时间上的跨度 DB TIME = 所有前台进程花费在数据库调用上的总和时间:包括CPU时间、IO Time、和其他一系列非空 闲 等待时间,cpu on queue time

oracle数据库性能调整和优化涉及到那些问题

oracle数据库性能调整和优化涉及到那些问题

Oracle 数据库性能调整和优化涉及到那些问题数据库应用的类型是复杂的,有大量用户同时更新数据库的联机事务处理应用(如银行储蓄系统)、对海量数据进行查询并生成报告的数据仓库应用(如分析商场销售数据的决策支持系统)、在互联网上大量用户同时查询和更新数据的联机事务处理应用(如网上银行应用)等等。

为了满足与适应各种各样的商业应用,使各种不同的应用在不同的环境下都能达到最优的状态,Oracle 数据库系统提供了大量的非常灵活的可调节内容。

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

优化策略一般包括服务器操作系统参数调整、数据库参数调整、网络性能调整、应用程序SQL语句分析及设计等几个方面,其中应用程序的分析与设计是在信息系统开发之前完成的。

分析评价Oracle数据库性能主要有数据库吞吐量、数据库用户响应时间两项指标。

数据库用户响应时间又可以分为系统服务时间和用户等待时间两项,即“数据库用户响应时间=系统服务时间+用户等待时间”。

因此,获得满意的用户响应时间有两个途径:一是减少系统服务时间,即提高数据库的吞吐量;二是减少用户等待时间,即减少用户访问同一数据库资源的冲突率。

数据库性能优化包括如下几个部分:∙调整数据结构的设计这一部分在开发信息系统之前完成,程序员需要考虑是否使用Oracle数据库的分区功能,对于经常访问的数据库表是否需要建立索引等。

∙调整应用程序结构设计这一部分也是在开发信息系统之前完成的。

程序员在这一步需要考虑应用程序使用什么样的体系结构,是使用传统的Client/Server两层体系结构,还是使用Browser/Web/Database的三层体系结构。

不同的应用程序体系结构要求的数据库资源是不同的。

∙调整数据库SQL语句应用程序的执行最终将归结为数据库中的SQL语句执行,因此SQL 语句的执行效率最终决定了Oracle数据库的性能。

Oracle公司推荐使用Oracle语句优化器(Oracle Optimizer)和行锁管理器(Row-Level Manager)来调整优化SQL语句。

ORACLE 9i数据库优化

ORACLE 9i数据库优化

ORACLE 9i数据库优化1、内存内存是影响Oracle运行速度的一个重要的指标,在Oracle中的内存,主要是由SGA 和PGA组成。

SGA(系统全局区)其主要功能可以用下面的图进行说明:PGA(程序全局区)PGA是数据库服务器内存中为单个用户进程分配的专用的内存区域,是用户进程私有的,不能共享。

我们对于内存设置的原则是让可用内存得到充分的利用,对全局区的配置,要视具体情况而定。

Oracle对SGA的管理能力不超过1.7G。

所以总的物理内存在4G以下。

SGA的大小为物理内存的50%—75%。

对于64位的小型系统,Oracle数据库对SGA的管理超过2G的限制,SGA设计在一个合适的范围内:物理内存的50%—70%,当SGA过大的时候会导致内存分页,影响系统性能。

2、交换区设计当物理内存在2G以下的情况下,交换分区swap为物理内存的3倍,当物理内存>2G的情况下,swap大小为物理内存的1—2倍。

3、数据库连接类型选择Oracle数据库有专用服务器连接类型和多线程服务器MTS连接类型。

对于批处理服务,需要专用服务器连接方式,而对于OLTP服务则MTS的连接方式比较合适。

由于采用MTS后,可以通过配置网络服务实现某些特定批处理服务采用专用服务器连接方式,所以数据库设计时一般采用MTS类型。

4、数据库SGA及用户会话参数配置数据库SGA可以采用手工配置或按物理内存比例配置,在数据库初始设计阶段采用按比例配置方式,在实际应用中按系统调优方式修改SGA。

可以适当调SGA参数,例(以安全为例):SGA的共享池调大,JAVA池调小,对于采用B/S结构的程序可以把SGA的共享池调小,JAVA池调大。

A、ORACLE816数据库默认安装时,其用户数为40,每个用户分配内存64K,建议适当调大。

B、ORACLE9数据库默认安装时,其用户数为700,每个用户分配内存512K,建议适当调小。

5、数据库回滚段配置在Oracle9i数据库中,设计Undo表空间取代以前版本的回滚段表空间。

浅议如何调整优化Oracle 9i数据库的性能

浅议如何调整优化Oracle 9i数据库的性能

浅议如何调整优化Oracle 9i数据库的性能胡铁峰【摘要】随着计算机网络技术的不断发展,其在各个领域中的应用也越来越广泛,与此同时数据库也随之获得了广泛应用。

在互联网上的诸多数据库当中,Oracle 9i数据库以其自身诸多的优点,受到业界一直的好评和认可。

然而,在实际运行过程中,经常会出现一些瓶颈问题,从而影响了Oracle 9i数据库的运行。

为此,应采取相应的策略对Oracle 9i数据库的性能进行调整优化。

首先对Oracle 9i数据库进行概述,进而分析了Oracle 9i数据库常见的资源问题,并在此基础上提出Oracle 9i数据库的优化调整策略。

【期刊名称】《黑龙江科技信息》【年(卷),期】2012(000)022【总页数】1页(P86-86)【关键词】Oracle;9i;数据库;优化调整;性能【作者】胡铁峰【作者单位】中国联合网络通信有限公司长春市分公司,吉林长春130000【正文语种】中文【中图分类】TP311.13Oracle 9i是当前业界内最为简单、完整、智能化的用于互联网上协作各种应用的软件基础架构。

其实质上就是Oracle 9i Database、Application Server以及Developer Suite的完整集成。

现如今,随着软件逐渐成为一种托管服务,Oracle9i以其在自身的高可靠性、高所伸缩性以及高智能化,将会成为互联网上高质量电子商务服务实现的关键软件。

Oracle 9i在8i的基础之上又增添了许多新的功能和特性,这些功能和特性主要体现在以下几个方面上:其一,实现连续的数据可用性。

Oracle 9i极大程度地扩展了其在互联网数据库可用性方面的地位,具体包括:全球领先的数据保护环境、联机数据演变、准确的数据库修复以及自我服务错误更正等功能;其二,可伸缩性和性能。

Oracle 9i不仅允许电子商务扩展到千万用户,而且用户每小时都能完成数百万的事物处理。

具体包括:可伸缩的绘画状态管理、电子商务优化等等;其三,提供端到端的安全体系结构。

Oracle 数据库性能调优的一些经验与体会

Oracle 数据库性能调优的一些经验与体会

Oracle 数据库性能调优的一些经验与体会[摘要] 本文主要介绍在HP8500服务器上实现Oracle 9i数据库管理工作中性能调优的方法与系统参数调整的原则。

[关键字] 共享池,缓存,栓锁,重写日志,回滚段,临时表空间,检查点,I/O从事数据库系统维护工作已经有一段时间了,多少有一些工作工作经验,想与大家作个交流。

数据库性能调节与优化是DBA(数据库管理员)的一项重要工作。

DBA如何才能把这项工作做好哪?首先,购买功能和性能更强的硬件是性能问题的一种解决办法,我们把Oracle 数据库安装运行于HP8500服务器,应用服务器采用HP ML570。

但是,硬件往往非常昂贵,且随着软件的升级和复杂化,数据的增加,再好的硬件也会过时。

DBA 必须最好地利用现有的硬件资源,想其他办法提高系统的性能。

一.O racle 数据库性能调优方法Oracle 给出了DBA 应当采用的性能调节的5大步骤。

一般而言,在所有的情况下,都应从第1步开始,以避免在解决问题的过程中又产生新的问题。

在此同时,也应注意到,随着步骤的深入,调节所影响的范围和深度也在加大。

下面是调节的步骤:1. 优化设计:调节系统结构设计和应用系统的设计。

2. 优化应用程序:在很多情况下,写的很差的查询语句是性能问题的根源。

DBA 应当在鼓励开发人员调整SQL 查询语句的性能。

(前两个步骤通常是系统体系结构设计者和应用程序开发人员的责任;但是,DBA也可能参与应用程序的优化。

)3.优化内存结构。

在应用程序调节后,恰当的配置和调节内存结构会对应用和数据库有极大的性能影响。

Oracle 应当有足够的空间分配给SQL/PLSQL、数据字典缓冲区、数据缓冲区、重做日志缓冲区以获取高的性能。

这些体现在以下几个方面:A.对已存在于内存中的数据库数据更快的查询。

B.减少RDBMS 对SQL 不必要的分析。

C.消除操作系统的页面交换,特别是将SGA交换到磁盘。

4. 优化I/O:Oracle 设计成防止I/O 负面地影响应用系统的性能。

oracle性能调优篇--Oracle9i 的查询优化

oracle性能调优篇--Oracle9i 的查询优化

oracle性能调优篇----Oracle9i 的查询优化本文描述了Oracle 的查询优化程序,它是数据库的关键组件,能让Oracle 的用户获得极佳的执行性能。

Oracle 的查询优化技术在功能上无与伦比,本文详细讨论了查询优化的所有重要领域。

简介什么是查询优化程序?查询优化对于关系数据库的性能,特别是对于执行复杂SQL 语句的性能而言至关重要。

查询优化程序确定执行每一次查询的最佳策略。

例如,查询优化程序选择对于指定的查询是否使用索引,以及在联接多个表时采用哪一种联接技术。

这类决策对SQL 语句的执行性能有很大的影响,查询优化对于每一种应用程序都是关键技术,应用程序涉及的范围从操作系统到数据仓库,从分析系统到内容管理系统。

查询优化程序对于应用程序和最终用户是完全透明的。

由于应用程序可能生成非常复杂的SQL 语句, 查询优化程序必须精心构建、功能强大,以保障良好的执行性能。

例如,查询优化程序可转换SQL 语句,使复杂的语句转换成为等价的但执行性能更好的SQL 语句。

查询优化程序的典型特征是基于开销。

在基于开销的优化策略中,对于给定查询生成多个执行计划,然后对每个计划估算开销。

查询优化程序选用估算开销最低的计划。

Oracle 在查询优化方面提供了什么?Oracle 的优化程序可称是业界最成功的优化程序。

基于开销的优化程序自1992 年随Oracle7 推出后,通过10 年的丰富的实际用户经验,不断得到提高和改进。

好的查询优化程序不是基于纯粹的理论假设及谓词在实验室中开发出来的,而是通过适合实际用户需求开发和磨合出来的。

Oracle 的查询优化程序比任何其他查询优化程序在数据库应用程序的应用都要多,而且Oracle 的优化程序一直由于实际应用的反馈而得到改进。

Oracle 的优化程序包含4 大主要部分(本文将在以下章节详细讨论这些部分):SQL 语句转换:在查询优化中Oracle 使用一系列精深技术对SQL 语句进行转换。

提高ORACLE数据库性能优化策略

提高ORACLE数据库性能优化策略

提高ORACLE数据库性能优化策略作为一名幼儿相关工作者,多年来一直致力于幼儿教育领域,见证了幼儿教育的蓬勃发展。

如今,信息技术在教育行业的应用越来越广泛,数据库性能优化成为提高教育信息化水平的重要一环。

本文将以ORACLE数据库为例,为大家介绍一些提高数据库性能的优化策略。

一、合理规划数据库表结构1.选择合适的字段类型:在设计数据库表时,合理选择字段类型至关重要。

例如,如果一个字段的值只包含数字,那么可以使用NUMBER 类型,而不是VARCHAR类型。

这样可以提高数据的存储效率。

2.设置合理的数据表分区:对于大量数据的表,可以考虑使用分区技术。

分区可以提高查询效率,减少锁竞争,降低维护成本。

在实际应用中,可以根据业务需求和数据特点,选择合适的分区策略。

3.使用合适的索引:索引可以提高查询速度,但过多或不当的索引会影响数据库性能。

在设计索引时,应充分考虑查询需求,创建合适的索引。

同时,定期监控索引的使用情况,根据实际效果调整索引策略。

二、优化查询语句1.避免使用SELECT:尽量避免使用SELECT查询所有字段,而是通过指定需要查询的字段名称,减少数据的传输量。

2.使用JOIN替代子查询:在适当的情况下,使用JOIN操作可以提高查询效率。

同时,尽量减少子查询的使用,以降低数据库的负担。

3.合理使用聚合函数:在查询中,尽量使用聚合函数(如COUNT、SUM、MAX等)进行数据统计,可以提高查询效率。

4.利用缓存:对于频繁查询且数据变化不频繁的统计数据,可以考虑将查询结果缓存到内存中,减少数据库的访问次数。

三、数据库维护与监控1.定期优化表:通过使用ORACLE的优化工具,如DBMS_UTILITY.ANALYZE_TABLE,定期分析表的统计信息,以便更好地优化表的结构和性能。

2.定期重建索引:随着时间的推移,索引可能会因为数据的增删改而发生碎片化。

定期重建索引可以提高查询效率。

3.监控数据库性能:通过使用ORACLE的性能监控工具,如AWR报告,监控数据库的性能,发现并解决潜在的性能问题。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。


20-5
Copyright © Oracle Corporation, 2002. All rights reserved.
Workshop Database Configuration
• • • • • •
The database consists of a sample schema. Users log in as oltp or dss depending on the nature of their work. End users have access to sample schema objects. There are seven tablespaces: system, undotbs, temp, users, indx, sample, tools. The DBA account is system/oracle. The sys account is sys/oracle.
Summary
In this lesson, you should have learned how to: • Follow the Oracle tuning methodology:
– Collect and review statistics. – List the objectives for enhanced performance before modifications. – Modify the instance and the database. – Re-collect and review new statistics. – Compare the new results with the objectives.
20-8
Copyright © Oracle Corporation, 2002. All rights reserved.
Workshop Scenarios
Choose from the following scenarios: • Shared pool • Buffer cache • Redo log buffer • Indexes • Rollback segments / undo tablespace
20-10
Copyright © Oracle Corporation, 2002. All rights reserved.
Generating a Workshop Load
To run the workshop load: • Open the WORKSHOP group • Select the desired workload:
– Four users (current) – Twenty Users (future)
20-11
Copyright © Oracle Corporation, 2002. All rights reserved.
Results
• •
Present your conclusions and findings. Demonstrate the effectiveness of the tuning strategy and what effect the changes to the instance and database parameters had on overall performance.
Workshop Overview
Copyright © Oracle Corporation, 2002. All rights reserved.
Objectives
After completing this lesson, you should be able to do the following: • Use the Oracle tuning methodology to diagnose and resolve performance problems • Use Oracle tools to diagnose performance problems • Understand the goals of the workshop
20-3
Copyright © Oracle Corhts reserved.
Company Information

Small startup company
– Shares a Sun server with 10 other companies – Presently has four employees that use the database
• •
Sort area size Assorted
20-9
Copyright © Oracle Corporation, 2002. All rights reserved.
Collecting Information
To perform a physical investigation of your workshop database environment, collect statistics by using: • The v$ dynamic performance views • • • Data dictionary views Table statistics Statspack
20-2
Copyright © Oracle Corporation, 2002. All rights reserved.
Approach to Workshop
• • •
Group-oriented and interactive Intensive hands-on diagnosis and problem resolution Proactive participant involvement
• • •
Looking to expand shortly to 20 database users System was set up by a part-time trainee DBA System performance is very slow
20-4
Copyright © Oracle Corporation, 2002. All rights reserved.
20-7
Copyright © Oracle Corporation, 2002. All rights reserved.
Choosing a Scenario
• • • •
Open the WORKSHOP group. Select the icon for the chosen scenario. Script then makes the relevant changes. The database is left up and running.
20-6
Copyright © Oracle Corporation, 2002. All rights reserved.
Workshop Procedure
1. 2. 3. 4. 5. 6. 7.
Choose a scenario. Create a Statspack report. Run the workload generator. Create a Statspack report. Determine what changes should take place. Implement the changes. Return to the second step to check that the changes have made an improvement. 8. When the changes have improved performance, choose another scenario.

Implement Oracle architectural options for enhancing performance.
20-13
Copyright © Oracle Corporation, 2002. All rights reserved.
– – – – What was done and why? What were the results? Are there still any issues pending? What would you do differently?
20-12
Copyright © Oracle Corporation, 2002. All rights reserved.
Physical Workshop Configuration
Each client account is set up in the following manner: • All workshop files are located in E:\Labs\Wkshop • All the data files are located at E:\ORANT\ORA92\ORADATA\ORCL The E:\ORANT\ORA92\ADMIN\ORCL\BDUM directory is used for instance-specific trace files.
相关文档
最新文档