Linux 调试Oracle数据库性能问题

Linux 调试Oracle数据库性能问题,linux,oracle11g,Linux,Oracle11g,Oracle数据库运行缓慢,我一直在尝试查找瓶颈。我检查了AWR中的前5个事件,但没有获得一致的等待事件以了解问题 我有时注意到日志文件切换(私有串刷新不完整)等待事件,因此根据Oracle支持,我将“\u in\u memory\u undo”参数更改为FALSE 我仍然看不到任何改进。我还注意到服务器上的CPU负载约为45-50%,但看不出是哪个导致了问题。这是服务器上运行的唯一实例。我一直在通过vmstat、iostat、top、sar命令进行监控,与我们更好的工作环境相比,我看到平均负载

Oracle数据库运行缓慢,我一直在尝试查找瓶颈。我检查了AWR中的前5个事件,但没有获得一致的等待事件以了解问题

我有时注意到日志文件切换(私有串刷新不完整)等待事件,因此根据Oracle支持,我将“\u in\u memory\u undo”参数更改为FALSE

我仍然看不到任何改进。我还注意到服务器上的CPU负载约为45-50%,但看不出是哪个导致了问题。这是服务器上运行的唯一实例。我一直在通过vmstat、iostat、top、sar命令进行监控,与我们更好的工作环境相比,我看到平均负载很高。而且加载依赖于交换内存

不确定增加RAM是否能解决问题。请建议我如何继续?如果需要任何信息,请告诉我 版本:在CentOS(Linux)x86_64上11.2.0.3.0

这是最上面的命令输出

top - 13:16:03 up 312 days,  3:55,  5 users,  load average: 41.31, 41.86, 42.04
Tasks: 333 total,   2 running, 331 sleeping,   0 stopped,   0 zombie
Cpu(s): 25.1%us,  0.2%sy,  0.0%ni,  0.0%id, 74.7%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:  24608556k total, 24419868k used,   188688k free,     7712k buffers
Swap: 18874360k total, 14735196k used,  4139164k free,  3111048k cached



PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
23414 oracle    20   0 18.3g 492m  44m R 98.8  2.0 179:33.16 oracle
   58 root      20   0     0    0    0 S  4.0  0.0   1456:15 kswapd0
19146 oracle    20   0  216m 4548 2088 S  0.7  0.0 582:28.76 tnslsnr
24230 oracle    20   0 18.3g 1.2g 808m D  0.7  5.2   0:39.01 oracle
    1 root      20   0 19404  516  296 S  0.3  0.0  85:40.07 init
 5374 oracle    20   0 17.9g 7100 6236 S  0.3  0.0   2:16.30 oracle
27673 oracle    20   0 15220 1452  956 R  0.3  0.0   0:02.11 top

更多关于“慢”对你意味着什么的信息会很有帮助。所有的查询都很慢还是只有某些查询?你们到底观察到了什么是慢的?根据我的经验,当日志文件开关咬你们时,你们要么并没有足够大的重做日志,要么并没有足够的重做日志,或者两者都有。或者,重做日志位于速度非常慢的磁盘子系统上。或者,您没有足够的
dbwriter
进程。然而,你需要做更多的分析来确定这张处方中哪一部分(如果有的话)适合你的病症。我通常在Enterprise Manager数据库控制台中打开诊断包,并使用它快速收集SQL的性能问题。。。但是你必须授权它才能这么做。谢谢你的回复。Doug@The数据库对于所有查询都很慢。即使是从dual中选择*有时也需要3-5秒才能给出结果。John@We没有与sqls相关的问题,因为它们在其他环境中运行良好。我们最近增加了重做日志大小以减少日志切换。您能告诉我如何确认磁盘速度慢是这里的问题吗。