首页 > Linux操作系统 > Linux操作系统 > oracle 性能分析
1、 会话级:如果我们能够确定某个会话存在性能问题,用SQL_TRACE/10046进行SQL跟踪,了解执行计划、解析过程、会话中的等待事件。
2、 实例级:当无法确定哪个会话性能有问题,就需要从实例级别来分析问题的所在。
a、 整体性能评估时,查看动态视图v$sysstat,v$system_events等。Oracle10之前,statspack工具包是做实例级性能分析的首选工具,它定期收集数据库的性能信息,然后生成报告;在10g,AWR自动收集信息,采集周期是1小时,ADDM基于AWR的数据。
b、 及时分析时,使用ASH更容易定位到问题的所在。基于ASH的EM-Top Activity是最好性能分析的工具

数据库时间模型:
响应时间一般分为服务时间(Service time)和等待时间(Wait time),服务时间指进程占用CPU的时间,包括前台进程(Server process)和后台进程(Backgroud process),我们一般只关注前台进程占用的CPU time。等待时间包括很多类型,一般最常见的是IO等待和并发等待,IO等待包括sequential read,scattered read和log file sync等等,而并发等待主要是latch和enqueue。SQL execute elapsed time指用户进程执行SQL的响应时间,包含CPU time和wait time。
以下是Oracle数据库的时间模型:
Configuration :由于设置不当引起,比如enq: TX - allocate ITL entry
Application; 应用逻辑出问题引起,比如enq: TX - row lock contention
Commit: long file sync 引起
Concurrency: 其他重要并行原因引起,latch; buffer busy waits; library cache lock/pin
-----------------------------------------------------------------------------------------------来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/7399830/viewspace-741601/ ,如需转载,请注明出处,否则将追究法律责任。