Oracle应用产品性能调整实例分析
oracle性能分析报告

Oracle性能分析报告1. 引言Oracle是一种高效的关系数据库管理系统,但在使用过程中可能会遇到性能问题。
本文将介绍如何通过分析Oracle性能来识别并解决潜在的问题。
2. 数据收集要进行性能分析,首先需要收集相关数据。
以下是一些常用的数据收集方法:- 监视系统参数:使用Oracle自带的工具,如AWR报告和ASH报告,可以监视系统参数的变化和性能指标。
- 分析SQL语句:通过跟踪和分析执行时间较长的SQL 语句,可以找到性能瓶颈所在。
- 监视数据库等待事件:通过查看等待事件的情况,可以了解系统的瓶颈。
- 监视资源利用率:监视CPU、内存和磁盘等资源的利用率,以了解系统的健康状况。
3. 数据分析收集到数据后,需要对数据进行分析以识别性能问题。
以下是一些常用的数据分析方法: - 比较不同时间段的性能指标:通过比较不同时间段的性能指标,可以发现系统的变化和趋势。
- 查找长时间运行的SQL语句:通过识别执行时间较长的SQL语句,可以找到潜在的性能问题。
- 分析等待事件:通过查看数据库等待事件的情况,可以确定系统的瓶颈所在。
- 分析资源利用率:通过监视资源利用率,可以确定系统是否存在资源瓶颈。
4. 性能优化通过数据分析,可以确定性能问题的原因。
以下是一些常用的性能优化方法:- 优化SQL查询:对执行时间较长的SQL语句进行优化,如增加索引、重写查询等。
- 调整系统参数:根据系统的需求,调整相关的系统参数,如缓冲区大小、并发连接数等。
- 优化存储结构:对表的存储结构进行优化,如分区、索引等。
- 调整硬件配置:根据系统的需求,调整硬件配置,如增加CPU、内存等。
5. 总结通过以上的步骤,可以对Oracle数据库的性能进行分析和优化。
收集相关数据、分析数据、识别问题、优化性能是一个迭代的过程,需要不断调整和优化。
只有对Oracle性能进行持续监测和优化,才能确保系统的高效运行。
以上是关于Oracle性能分析报告的步骤和方法的介绍。
Oracle实例调优-调整PGA与临时段

FROM V$SQL s, V$SQL_WORKAREA wa
WHERE s.address = wa.address
GROUP BY sql_text
HAVING sum(onepass_executions+multipasses_executions)>0;
SELECT TO_NUMBER(DECODE(sid, 65535, NULL, sid)) sid,
• 提高可管理性:
– 无需设置 *_AREA_SIZE 参数 – DBA 设置一个内存目标: PGA_AGGREGATE_TARGET
• 提高性能:
– PGA内存真的是返回给操作系统. – 内存分配给操作以最大化吞吐量. – 最大限度地提高整体工作负载的变化动态调整内
存的内存利用率. – 在执行过程中,操作适应它的内存使用.
– direct path read temp – direct path write temp
13-11
PGA的目标咨询统计
ESTD_PGA_CACHE_HIT_PERCENTAGE
Over allocation zone
• V$PGA_TARGET_ADVICE 预测高速缓存命中百分比如何 在V $ PGASTAT演变中显示.
• WORKAREA_SIZE_POLICY:
– 可选 – 在实例或会话级,可以动态修改 – 针对一个特定的会话,允许回落静态SQL内存管理
13-7
设定PGA_AGGREGATE_TARGET初期
• 保留可用内存的20%给其他应用程序. • 请保留80%的内存给Oracle实例. • 对于 OLTP:
• 工作区的概念:
– 通过一个内存密集型操作分配一个内存,处理它的输入 数据
Oracle自带性能分析报告工具-awr介绍和分析报告

Oracle自带性能分析工具-AWR介绍和分析华三通信技术1 Oracle 10g的AWR性能优化工具简介AWR (Automatic Workload Repository)既自动工作负载信息库是Oracle10g新提供的收集数据库统计信息的置工具。
它比之前的statspack有显著的改进,收集的信息也更多、更全面,使用方法也更简单。
它主要采集与性能相关的统计数据,并从那些统计数据中导出性能量度,以跟踪潜在的问题,如包括AWR存区,历史数据存储文件和ASH等部件。
AWR报告的容繁多,官方文档也没有对所有参数给出说明。
AWR产生的报表包括以下几部分。
报表具体容参见如下插入的对象。
1、Report SummeryCache sizesLoad profileInstance Efficiency Percentages (Target 100%)Shared Pool StatisticsTop 5 Timed Events2、RAC StatisticsGlobal Cache Load ProfileGlobal Cache Efficiency Percentages (Target local+remote 100%)Global Cache and Enqueue Services - Workload CharacteristicsGlobal Cache and Enqueue Services - Messaging Statistics3、Wait Events StatisticsTime Model StatisticsWait ClassWait EventsBackground Wait EventsOperating System StatisticsService StatisticsService Wait Class Stats4、SQL StatisticsSQL ordered by Elapsed TimeSQL ordered by CPU TimeSQL ordered by GetsSQL ordered by ReadsSQL ordered by ExecutionsSQL ordered by Parse CallsSQL ordered by Sharable Memory SQL ordered by Version CountSQL ordered by Cluster Wait Time Complete List of SQL Text5、Instance Activity StatisticsInstance Activity StatsInstance Activity Stats - Absolute Values Instance Activity Stats - Thread Activity 6、IO StatsTablespace IO StatsFile IO Stats7、Buffer Pool Statistics8、Advisory StatisticsInstance Recovery StatsBuffer Pool AdvisoryPGA Aggr SummaryPGA Aggr Target StatsPGA Aggr Target HistogramPGA Memory AdvisoryShared Pool AdvisorySGA Target AdvisoryStreams Pool AdvisoryJava Pool Advisory9、Wait StatisticsBuffer Wait StatisticsEnqueue Activity10、Undo StatisticsUndo Segment SummaryUndo Segment Stats11、Latch StatisticsLatch ActivityLatch Sleep BreakdownLatch Miss SourcesParent Latch StatisticsChild Latch Statistics12、Segment StatisticsSegments by Logical ReadsSegments by Physical ReadsSegments by Row Lock WaitsSegments by ITL WaitsSegments by Buffer Busy WaitsSegments by Global Cache Buffer Busy Segments by CR Blocks ReceivedSegments by Current Blocks Received 13、Dictionary Cache StatisticsDictionary Cache StatsDictionary Cache Stats (RAC)14、Library Cache StatisticsLibrary Cache ActivityLibrary Cache Activity (RAC) 15、Memory StatisticsProcess Memory SummarySGA Memory SummarySGA breakdown difference 16、Streams StatisticsStreams CPU/IO UsageStreams CaptureStreams ApplyBuffered QueuesBuffered SubscribersRule Set17、Resource Limit Stats18、init.ora Parameters19、Global Enqueue Statistics20、Global CR Served Stats21、Global CURRENT Served Stats22、Global Cache Transfer Stats2 AWR配置2.1 AWR统计数据的缺省配置AWR 实质上是一个 Oracle 的置工具,它采集与性能相关的统计数据,并从那些统计数据中导出性能量度,以跟踪潜在的问题。
ORACLE数据库性能优化

(三)(三)优化 I/O 操作 I/O 优化被安排在内存优化之后,通过内存的优化,可以是 I/O 冲突减少,在此情况下, 可以通过一些调整以使 I/O 性能进一步提高。 对于新系统,应自顶向下分析 I/O 需求,确定所需要的资源。而对于已存在的系统应采 用自底向上的方法: 1.1.了解系统的磁盘数量。 2.2.了解 ORACLE 使用的磁盘数量。 3.3.了解应用系统的 I/O 类型。 4.4.了解 I/O 操作是针对文件系统还是原始设备。 5.5.了解对象在磁盘上的分布。 可以通过如下方法检查 I/O 问题: 检查系统 I/O 的使用:可以使用操作系统提供的工具来监视整个系统对磁盘 文件的访问,可以将大量访问磁盘的应用与 ORACLE 的相关文件分别存放。在 UNIX 系统中可以通过 sar –d 来获得有关数据。在 WINDOWS NT 中 可 通 过 性 能监视器查看。 检查 ORACLE 的 I/O 的使用:对于 ORACLE ,可以通过下列视图来获得相 关的信息: File Type Where to Find Statistics Database Files V$FILESTAT Log Files V$SYSSTAT, V$SYSTEM_EVENT, V$SESSION_EVENT Archive Files V$SYSTEM_EVENT, V$SESSION_EVENT Control Files V$SYSTEM_EVENT, V$SESSION_EVENT 可以通过如下的方法来解决 I/O 问题: 减少磁盘竞争: 磁盘竞争:当多个进程同时访问同一个磁盘时就会产生磁盘竞争。要减 少高负荷磁盘的访问,可以将高访问量的文件移到低负荷的磁盘上。 分离 Redo 日志文件和数据文件:ORACLE 总是经常的访问 Redo 日志 文件和数据文件,将二者放在一起,可能会增加磁盘冲突。 条带化表数据:条带化,就是将一个大表的数据分布到不同磁盘的不同 数据文件中,这样也可以减少磁盘冲突。 分离表和索引:这并不是必须的,由于索引和表的读取是串行的,也可 以做到将表和索引放在一起而不发生磁盘冲突。 磁盘条带化:就是将一个大表的数据分布到不同磁盘的不同数据文件中,条 带化允许不同的进程同时访问一个表的不同部分。 这尤其对随机访问一个表的多行 很有帮助。条带化可以是磁盘的 I/O 负载平衡。有两种条带化方法。 手动方法:利用表空间以及分区表的方式。
ORACLE数据库性能的调整

ORACLE数据库性能的调整摘要由于oracle具备功能和灵活性突出的优越性,因此它是一个功能极其强大和灵活关系型的数据系统。
在数据库的应用类型上是较为复杂的,不同类型的应用对其系统的要求也是不同的,所以为了能够满足不同类型的应用系统,就必须对系统性能进行定期的诊断和调整,以此来提高系统的运行效率。
关键词 oracle;数据库;优化和调整中图分类号tp311 文献标识码a 文章编号1674-6708(2010)22-0187-02随着数据库在信息领域的不断推广,数据库产品也逐渐增多,其中oracle数据库产品在整个数据库产品的应用中占有较为主要的部分,接近1/2,而且还有不断上升的趋势。
因此,对于oracle数据库性能的调整和优化问题也是人们所关注的问题,本文就oracle数据库性能的调整进行了相应的探讨。
1 性能调整与优化概述目前,性能调整作为一项活动在进行,活动可以通过优化应用程序、修改系统参数和改变系统配置来有效的改变系统的性能。
其中性能的调整主要包括了对硬件配置、操作系统和数据库管理系统的配置的调整,并且对所访问的组件的应用进行详细的分析和优化。
性能优化主要是指具备目的性的对所需调整的组件进行有效的改善,使数据库的吞吐量逐渐变大,所对应的响应时间逐渐达到最小化。
对于数据库性能的调整和优化来说,要尽可能的减少磁盘访问,从中获取所需的数据,数据库性能的调整和优化在一定程度上说是相互循环的,想要性能达到相应的优化目的,就必须进行适当的性能调整,最后再查看优化的结果,通过这种反复的检查,最终达到较为满意的结果。
2 数据库系统性能评价指标2.1 系统吞吐量系统的吞吐量是指在单位时间内数据库所完成的sql语句的数目,这主要是以每秒钟的事务量来进行表示。
想要有效的提高系统的吞吐量,就必须通过减少服务时间,并在相同的资源环境内做更加多的工作,或者减少总的响应时间,从而使工作能够做的更加快。
2.2 用户响应时间用户的响应时间主要是指用户在提交sql语句以后来获取相应的结果集的第一行所需要的时间,并且根据应用做出相应的反应时间,这个时间一般都是使用毫秒和秒来进行表示。
Oracle数据库性能优化分析

中图分 类 号 : P T
文献 标 识码 : A
文 章编 号 : 0 8 9 5 2 1 ) 3 0 2 — 3 1 0 - 2 X( 0 1 0 — 1 1 0
摘要: 随着网络的普及, 电子商务技术得到了迅速 发展 各个站点的访问量随之增大 , ・ 数据库规 模也不断扩大, 数据库系统的性能
2 系统 调整 、
4 通 过 添 加 显示 图来测 试 系统 的响应 时 间 、
31 案一 : .方 不采 用任 何 优化 技 术来 测试 系 统 的性 能 1创 建 用户 : 认存 储 在 ues 空间 内; . 默 sr 表
一
2 数据准备: 建数据表, . 创 包括 三 张数 据 字典 , 张业 务 表 , 两 个 用 户表 , 张 表存 在 六个 关 联 。 中主 业 务 表 ( rgn表 ) 六 其 D al
问题就越来越被广泛关注。 因此, 如何对数据库进行优化至关重 本 文 对这一问 要口 针 题使用0al ̄ rce
酶啦豫I 鸯募
l f l 研究对象进行研究。 通
过索引 划分表空间、 优化 回滚段、 等技术, 分区 对数据库的存储 结构 和存储路 径进行优化 , 对数据库性能进行测试, 寻找一套最佳 关键词: 数据库优化 分莲 索引 回滚段
很 多因素都 会影 响服务 :J Oal  ̄ L re 的性 能: r l e Oae c 实例的调整 、 操 字 段 , 后确 定 预 索 引字 段 的 选 择 性 并 对选 择 性 高 的 字段 设 置 索 最
作系统 、 件 以及 由用户所产生 的数 据库 负载等 等 。 多 因素 都可 能 引 。 硬 很 确定 索 引的选 择 性 , 以有两 种 方 法 : 可 手工 测量 和 自动测 量 。
Oracle应用产品性能调整实例分析_OK

2021/9/2
6
调整数据库
• 收集应用数据库运行的统计数据(utlB/Estat, V$patameter),调整数据库初始化 参数
• 分析数据库对象(Analyze The Database) • 利用Package Pinning 策略 • 提高缓存命中率(Hit Ratio) • 减少资源竞争(Resource Contention) • 数据块的大小(DB Block Size)
2021/9/2
20
系统反应慢
• 问题现象:
– 应用系统反应非常慢,就连登录到应用系统就需5分钟,打开一 FORM需3分钟
• 问题检查:
– 用vmstat 查,有15个“Running”的OS进 – CPU idle一直为0 – 用nmon/topas查,发现有14个运行的RGRARG进程,大部分运行
2021/9/2
25
接收事务处理等非常慢(Cont.)
– drop index inv.mtl_system_items_n9; – Create index inv.mtl_system_items_u1(inventory_item_id,organiziotn_id)
• 结果:系统恢复正常 • 问题分析:
• 检查索引发现对MSI表新建了索引:
– MTL_SYSTEM_ITEMS_N8 (organization_id, item_type,segment1) – MTL_SYSTEM_ITEMS_N9 (organization_id)
• 采取的办法: – alter table inv.mtl_material_items drop primary key; – drop index inv.mtl_system_items_u1; – drop index inv.mtl_system_items_n8;
ORACLE性能AWR报告的使用和分析

ORACLE性能AWR报告的使用和分析Oracle性能AWR报告(Automatic Workload Repository)是Oracle 数据库提供的一个强大的性能诊断工具,可以帮助管理员识别和解决数据库性能问题。
AWR报告收集和保存数据库的性能指标和统计信息,以便在需要时进行分析和比较。
本文将介绍AWR报告的使用和分析过程,包括如何收集AWR报告、AWR报告的内容和结构、及如何分析AWR报告。
一、收集AWR报告AWR报告只能在Oracle数据库中收集,首先需要启用AWR功能。
在Oracle数据库中,AWR功能默认是开启的。
你可以使用以下命令查看AWR 功能是否已经开启:```SELECT name FROM v$statname WHERE name LIKE '%AWR%';```如果显示了AWR相关的统计项,则表示AWR功能已经启用。
要收集AWR报告,需要按照以下步骤操作:1. 连接到数据库,在SQLPlus或类似的工具中执行以下命令,以开启AWR快照:```EXECDBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT(;```2.执行一段时间(建议至少30分钟)的正常工作负载。
3.再次执行以下命令,以关闭AWR快照:```EXECDBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT(;```4.通过以下命令查看AWR报告的快照ID:```SELECT snap_id FROM dba_hist_snapshot ORDER BY snap_id;```5.选择要分析的快照ID,使用以下命令生成AWR报告:``````根据提示输入快照ID和报告类型(HTML或文本),即可生成AWR报告。
二、AWR报告的内容和结构AWR报告提供了丰富的性能指标和统计信息,以帮助诊断数据库性能瓶颈。
AWR报告通常包括以下几个部分:1.报告概述:包含报告生成的时间、数据库版本、报告周期等信息,并提供了一个整体的性能评估。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
“WHAT” : 问题的特性是什么? 其相关的组件是什么? “WHERE”: 问题在什么地方发生? “WHEN”: 问题在什么时候发生? “EXTENT”: 问题影响的用户或地点是什么? 多少功能受 影响? 问题是否孤立? “PRIORITY”: 问题的相关重要性有多高? 设立基于用户需求的性能目标 基于实际环境所能达到的性能 不同模块/组件之间存在相互影响的关系,找到产生问题的 主要原因
性能调整常用方法
用OS工具来发现问题,找到最费时的OS进程,并关联到 相应的ORACLE Session
– – – – –
Vmstat Iostat Ps Top(nmon/topas) sar
检查是否有“死”(defunct)进程和运行时间异常长并 消耗大量系统资源的进程 通过运行Utlbstat/utlestat 报告来调整数据库 用OEM工具找出性能瓶颈 确定费时的SQL语句,具体有下列几种办法:
– –
–
OEM top session $FND_TOP/admin SQL scripts V$sqlarea, V$sqltext
性能调整常用方法(Cont.)
–
select sid,serial# from v$session where paddr = (select addr from v$process where spid=&ospid); select spid from v$process where addr=(select paddr from v$session where sid=&orasid); select request_id,oracle_process_id from apps.fnd_concurrent_requests where request_id=&request_id;
–
–
定期“Purge”过时的工作流数据和并发请求
性能调整常用方法(Cont.)
及时安装上ORACLE建议的,特别是强制性PATCH Metalink是一个非常有用的工具,遇到性能问题建议 先在Metalink上查一查,大部分的问题应该都有了解 决方案 调整SQL语句/视图等 Log iTAR来获得技术支持 及时联系硬件供应商以获得帮助 性能问题的差异性
– –
Analyze table/index compute statistics; exec fnd_stats.gather_schema_statistics('& Appl_shortname') 运行并发:“Gather Schema/Table/Column statistics” 运行并发:“Analyze All Index Column Statistics“
Paging和Swapping
CPU 进程
调整SQL(执行计划)
发现耗时/资源的SQL(Expensive SQL) 跟踪(Tracing)
CBO统计/索引/视图/嵌套/表连接
High-Water Mark
监控网络
网络流量监控工具
– – –
ping ARP netstat等
客户端PC
–
–
–
select sid,s.serial#,ername,s.status,pid,spid, s.program from v$session s,v$process p where s.paddr=p.addr and spid = &spid;
性能调整常用方法(Cont.)
定期进行CBO统计,具体有下列几种办法:
定期调整
用户数增加 数据量增加
上线模块增加
第三方软件的加入 客户化报表/程序增加 使用时间
性能调整阶段
“Why” – 找到性能问题瓶颈,检查问题真正 的原因
“How” 产品性能调整概要介绍 性能调整常用方法
应用产品性能调整实例分析
性能目标
– –
性能问题的相关性
–
分清三种类型的应用问题
在线事务处理 后台批量数据处理
应用报表
四个领域(AREAS)的调整
调整数据库 调整服务器
调整SQL(执行计划)
调整/监控网络
调整数据库
收集应用数据库运行的统计数据(utlB/Estat, V$patameter),调整数据库初始化参数
分析数据库对象(Analyze The Database)
利用Package Pinning 策略 提高缓存命中率(Hit Ratio) 减少资源竞争(Resource Contention) 数据块的大小(DB Block Size)
调整服务器
磁盘I/O 内存
– –
现象一样,可能形成的原因不一样,解决的方法也不一样 用户的实际情况不一样,同一原因,其影响程度也不一样
内容
应用产品性能调整概要介绍 性能调整常用方法
应用产品性能调整实例分析
应用产品性能调整实例分析
应用产品性能调整实例分析
张春辉
资深技术工程师
内容
应用产品性能调整概要介绍 性能调整常用方法
应用产品性能调整实例分析
应用产品性能调整概要介绍
问题的定义 分清三种类型的应用问题
四个领域(AREAS)的调整
定期调整 性能调整阶段
问题的定义
精确地定义是解决问题的关键
– –
–
– –
性能调整常用方法(Cont.)
–
trace (生成SQL的执行计划):
alter system set timed_statistics=true; initSID.ora: sql_trace=true; dbms_system.set_sql_trace_in_session(&sid,& serial,true); Profile Option:(AR: Enable SQL trace,INV:Debug Trace,MRP:Trace Mode,OE:Debug Trace,PO:Enable Sql Trace) 定义并发程序“Check trace on”