`
kiddwyl
  • 浏览: 403540 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

诊断和解决CPU利用率过高的解决经历

阅读更多

相信熟悉Oracle的人经常会碰到一下几个问题:

1. CPU利用率过高

2. 磁盘争抢平凡(IO过高)

3. 执行存储过程中遇到和预计的时间相差很悬殊

以上这几个问题非常棘手,特别是第三点,特别是在金融行业,交易系统一般需要在晚上非交易时间内计算完庞大的数据,否则就会影响到第二天的交易

针对以上几个问题,我来讲一下在一起项目中碰到过的一次Procedure的经历

操作系统:Red Hat Linux 9
数 据 库:Oracle 9.2.0.4
问题描述:原本计算在30分钟运行完的Procedure,居然跑了2个半小时,而且明显CPU过高

首先我们通过查看alert*.log,并没有在运行过程当中出现任何的警告和错误信息

那么我们就要查看一下SQL到底在做些什么事情,查询SQL如下所示:

select sql_text,spid,b.program,process
    from v$sqlarea a,
             v$session b,
             v$process d
    where a.address = b.sql_address
         and a.hash_value = b.sql_hash_value
         and b.paddr = d.addr
         and d.spid in (进程ID);

进程ID我们可以通过TOP命令查看到

 得出有一条SQL语句在运行中竟然耗费了将近1.5小时的时间,并且CPU占用的非常大
 所以基本上可以断定是这条SQL语句造成的,所以我们可以通过以下2个方面来进行处理:

 首先我们通过查看v$session_wait来查看队列,SQL如下:

 SQL>select sid,event,p1,p1text from v$session_wait

 通过查看,大多都属于latch free状态,那么我们就查一下是什么原因产生了latch free状态,SQL如下:

 SQL>select spid from v$process where addr in (select paddr from v$session where sid in(.........));

 

分享到:
评论

相关推荐

    oracle性能诊断

    - **定义**:系统统计量反映了数据库整体层面的性能指标,如缓冲区命中率、CPU利用率等。 - **获取途径**:通过查询`v$sysstat`视图来获取系统统计量信息。 - **应用场景**:用于评估数据库的整体运行状态,帮助快速...

    云数据库十大经典案例

    在云数据库管理中,除了索引优化,还有其他多种经典案例,例如SQL优化、锁竞争、延迟问题、参数优化、连接数100%、CPU资源占用过高、IOPS达到100%、磁盘使用率100%、内存占用100%等问题的排查与解决。每一个案例都...

    云数据库的前世今生.pptx

    3. **基于容器化的云数据库**:随着容器技术的发展,如Docker,云数据库开始采用容器化部署,实现了更高的资源利用率和部署密度,但隔离性和性能仍需改进。目前,容器化云数据库仍在探索和完善阶段。 云数据库的...

    AIX入门与提高6

    - **性能指标**:CPU利用率、内存使用率、I/O等待时间等。 - **监控工具**:使用`topas`、`vmstat`等命令来实时监控系统状态。 - **调优策略**:通过调整系统参数、优化应用程序等方式提高系统性能。 #### 2. 高...

    JConsole监控JVM

    - **CPU使用**:展示CPU利用率,有助于识别是否存在CPU过载问题。 2. **内存**: - **堆**:详细展示堆内存的分配和使用,包括新生代(如PS Eden Space、PS Survivor Space)、老年代(如PS Old Gen)以及持久代...

    超大规模即时通讯系统性能优化探索及实践

    - **资源利用率**:包括CPU、内存、I/O等关键资源的使用情况,是评估系统整体性能的重要指标。 - **数据存储与通信效率**:数据的存储方式和通信机制直接影响系统的扩展性和性能。 为了有效地进行性能问题定位,...

    Network Operating System Evolution

    针对可能出现的问题,JUNOS提供了详尽的故障排除指南和工具,帮助网络工程师迅速定位和解决问题。同时,Juniper Networks实施了严格的发布流程和质量控制措施,确保每个版本的JUNOS软件都经过充分测试,达到最高的...

    电脑实习报告.docx

    【电脑实习报告】这篇文档是关于作者在暑期电脑城实习的经历和所学到的知识的总结。在实习过程中,作者深入了解到电脑销售行业的运作模式,包括产品的详细介绍、计算机硬件的组装和故障排查,以及与客户交流的技巧。...

    AIX_性能调整及维护案例2011.pdf

    通过调整这些参数,可以显著提高系统的内存利用率和性能。 **1.1.4 监控工具** - **ps**: 显示当前运行的进程信息,包括进程占用的内存情况。 - **sar**: 系统活动报告工具,提供系统资源使用情况的统计信息。 - *...

    浅谈电气自动化系统的应用及未来发展研究.pdf

    随着自动化技术的不断渗透,各行各业正经历着由传统人工操作向智能化、自动化的转变,极大地提升了工作效率、质量以及资源利用率,同时也使人们的生活更加便利。 电气自动化控制系统由DCS(分布式控制系统)系统的...

    腾讯大讲堂--TMySQL核心技术内幕

    随着互联网业务的爆炸式增长,传统的MySQL面临着海量数据运营的挑战,特别是在数据定义语言(DDL)操作、数据恢复和存储空间利用率方面。为了增强对MySQL的控制力,提高其在大规模数据环境下的表现,腾讯DBA团队基于...

    通过SQL 2005 系统表监控 SQL Server 的运行状况

    其中一种有效的方法就是利用SQL Server 2005提供的动态管理视图(Dynamic Management Views,简称DMVs)和动态管理函数(Dynamic Management Functions,简称DMFs)。这些工具可以提供有关服务器实例健康状况、诊断...

    orclePDF文档

    Enterprise Manager提供的主要功能包括监控数据库实例的状态、CPU利用率、活动会话数、SQL响应时间、诊断总结以及空间使用情况等。而SQL*Plus是一个命令行界面工具,它允许用户执行SQL命令和PL/SQL代码。 Oracle...

    NAS Student Resource Guide(中文)

    - **性能指标监控**:监控CPU利用率、磁盘I/O等关键性能指标。 - **故障诊断**:通过日志分析定位问题原因。 - **资源调度**:合理分配系统资源,避免瓶颈出现。 3. **数据保护策略**: - **备份与恢复**:制定...

    数据中心自动化体系建设方案

    数据中心自动化运维体系的构建是一项系统工程,其发展经历了多个阶段,每个阶段都有其特定的问题和解决策略。 1. **低效、随意性无规范阶段**:在这个阶段,数据中心面临的主要问题是运维活动的非标准化和随机性大...

    电梯模型plc控制系统设计

    6. 故障诊断与自修复:PLC系统具备自我诊断和错误恢复功能,能及时发现并解决潜在问题,减少停机时间。 7. 能效优化:通过PLC的智能控制,可以实现电梯的节能运行,比如空载补偿、多梯联动等策略。 总结来说,电梯...

    Java 开发--JSP网络故障管理平台(源代码+外文翻译+论文).rar

    这种平台的主要目的是监控、诊断和解决网络中的问题,以确保系统的稳定运行。在这个项目中,我们看到源代码、外文翻译和相关论文的结合,这为学习者提供了一个全面理解如何构建此类平台的机会。 首先,JSP的基础...

Global site tag (gtag.js) - Google Analytics