Oracle应用产品性能调整实例分析
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
“WHAT” : 问题的特性是什么? 其相关的组件是什么? “WHERE”: 问题在什么地方发生? “WHEN”: 问题在什么时候发生? “EXTENT”: 问题影响的用户或地点是什么? 多少功能受 影响? 问题是否孤立? “PRIORITY”: 问题的相关重要性有多高? 设立基于用户需求的性能目标 基于实际环境所能达到的性能 不同模块/组件之间存在相互影响的关系,找到产生问题的 主要原因
– –
Analyze table/index compute statistics; exec fnd_stats.gather_schema_statistics('& Appl_shortname') 运行并发:“Gather Schema/Table/Column statistics” 运行并发:“Analyze All Index Column Statistics“
性能目标
– –
性能问题的相关性
–
分清三种类型的应用问题
在线事务处理 后台批量数据处理
应用报表
四个领域(AREAS)的调整
调整数据库 调整服务器
调整SQL(执行计划)
调整/监控网络
调整数据库
收集应用数据库运行的统计数据(utlB/Estat, V$patameter),调整数据库初始化参数
– –
–
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;
定期调整
用户数增加 数据量增加
上线模块增加
第三方软件的加入 客户化报表/程序增加 使用时间
性能调整阶段
“Why” – 找到性能问题瓶颈,检查问题真正 的原因
“How” – 分析原因,找到解决问题的办法
内容
应用产品性能调整概要介绍 性能调整常用方法
应用产品性能调整实例分析
性能调整常用方法
用OS工具来发现问题,找到最费时的OS进程,并关联到 相应的ORACLE Session
– – – – –
Vmstat Iostat Ps Top(nmon/topas) sar
检查是否有“死”(defunct)进程和运行时间异常长并 消耗大量系统资源的进程 通过运行Utlbstat/utlestat 报告来调整数据库 用OEM工具找出性能瓶颈 确定费时的SQL语句,具体有下列几种办法:
性能调整常用方法(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”
分析数据库对象(Analyze The Database)
利用Package Pinning 策略 提高缓存命中率(Hit Ratio) 减少资源竞争(Resource Contention) 数据块的大小(DB Block Size)
调整服务器
磁盘I/O 内存
应用产品性能调整实例分析
张春辉
资深技术工程师
内容
应用产品性能调整概要介绍 性能调整常用方法
应用产品性能调整实例分析
应用产品性能调整概要介绍
问题的定义 分清三种类型的应用问题
四个领域(AREAS)的调整
定期调整 性能调整阶段
问题的定义
精确地定义是解决问题的关键
– –
–
– –
–
–
–
select sid,s.serial#,s.username,s.status,pid,spid, s.program from v$session s,v$process p where s.paddr=p.addr and spid = &spid;
性能调整常用方法(Cont.)
定期进行CBO统计,具体有下列几种办法:
– –
现象一样,可能形成的原因不一样,解决的方法也不一样 用户的实际情况不一样,同一原因,其影响程度也不一样
内容
应用产品性能调整概要介绍 性能调整常用方法
应用产品性能调整实例分析
应用产品性能调整实例分析
–
–
定期“Purge”过时的工作流数据和并发请求
性能调整常用方法(Cont.)
及时安装上ORACLE建议的,特别是强制性PATCH Metalink是一个非常有用的工具,遇到性能问题建议 先在Metalink上查一查,wk.baidu.com部分的问题应该都有了解 决方案 调整SQL语句/视图等 Log iTAR来获得技术支持 及时联系硬件供应商以获得帮助 性能问题的差异性
Paging和Swapping
CPU 进程
调整SQL(执行计划)
发现耗时/资源的SQL(Expensive SQL) 跟踪(Tracing)
CBO统计/索引/视图/嵌套/表连接
High-Water Mark
监控网络
网络流量监控工具
– – –
ping ARP netstat等
客户端PC