当前位置:  数据库>oracle

Oracle性能问题诊断一例

    来源: 互联网  发布时间:2017-05-08

    本文导语: 今天一打开数据库,我还什么事情都没做,就发现硬盘灯狂转。这是为啥?初步判定是Oracle的计划任务在运行,但是哪个在运行,还不知道。 所以,第一步先判断后台在跑什么东西:select * from v$session_longops where sofar totalwork 从...

今天一打开数据库,我还什么事情都没做,就发现硬盘灯狂转。这是为啥?初步判定是Oracle的计划任务在运行,但是哪个在运行,还不知道。

所以,第一步先判断后台在跑什么东西:
select * from v$session_longops where sofar totalwork

从这个可以了解到大部分信息,包括:
1、session信息:sid,serial#
2、执行内容:target_desc
3、执行进度:sofar/totalwork
4、开始时间:start_time
5、执行用户:username
6、sql信息:sql_id,sql_address,sql_hash_value





根据以上内容,其实我就已经可以强制停止这个的sql了,但是还得找出这个源头,也就是“责任人”--谁执行了这个sql。

于是,第二个步骤就是根据上面的第五点:执行用户,去找该用户下对应的计划任务或job:

1、job:
select * from user_jobs
2、计划任务:
select * from user_scheduler_jobs;


从这里我知道了发起人及具体发起的那个执行点。
接下来的事情就简单了,先确认下这个定时处理的是什么内容,如果没有用或对当前环境无关紧要,则关闭job或计划任务:
exec dbms_job.broken(21,true);

exec dbms_scheduler.disable('AUTO_SPACE_ADVISOR_JOB');--这是例子



当然,有时候不是直接关闭就行了,还得看下为何会产生这么大的磁盘扫描。这个时候就要去看sql的执行计划,搞清原因,然后对其优化。这次我本地产生这个问题的原因其实很简单,因为导入dmp的时候没有指定索引,索引后台处理的时候都是走的全表扫描,导致出现这个情况。

最后,关闭之后,还有做一件事情,就是把正在执行的过程停止掉:
alter system kill session 'sid,serial#'


    
 
 

您可能感兴趣的文章:

  • Oracle 11g自动诊断信息库(Automatic Diagnostic Repository,ADR)概述
  • Oracle常见错误诊断
  • Oracle 数据库(oracle Database)性能调优技术详解
  • Oracle收购TimesTen 提高数据库软件性能
  • 关于提高Oracle数据库性能的四个错误认识
  • 用Oracle动态性能视图采集查询调优数
  • Oracle性能究极优化 上第1/2页
  • 用PHP连mysql比oracle数据库性能好
  • Oracle性能究极优化 下
  • 保持Oracle数据优良性能的技巧分享
  • 100分寻求最优化的连接oracle的java程序,请给我讲出理由,我是初学者,在做项目时不想让连接oracle影响我的程序性能
  • Oracle数据库应用程序性能优化探究
  • oracle 使用递归的性能提示测试对比
  • 善用Oracle表空间设计提升数据库性能
  • Oracle性能究极优化
  • Oracle SQL性能优化系列学习一
  • Oracle SQL性能优化系列学习三
  • Linux平台下如何监控Oracle数据库的性能
  • Oracle SQL性能优化系列学习二
  • 性能陷阱:Oracle表连接中范围比较
  • 基于Oracle的高性能动态SQL程序开发
  • 浅谈Oracle性能优化可能出现的问题
  • 如何保持Oracle数据库的优良性能
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 问一个简单的问题,我装了oracle 8.05,我并没有发有发现JDBC这个目录,是不是我要下载jdbc for oracle。
  • Linux下的Oracle安装问题(非常问题)
  • Oracle 10g中导出到Oracle 9的问题小结
  • oracle JDBC的问题
  • Suse linux使用oracle问题
  • 请教: Javaswing 和 Oracle JDBC thin 连接的问题
  • oracle版本问题
  • 关于oracle的一个恼火的小问题!
  • Javabeen+oracle的问题
  • 安装ORACLE的问题
  • 再问java 连接oracle 问题,急!
  • Oracle 监听内存泄露问题
  • Oracle乱码问题
  • oracle环境变量保存问题求教
  • Oracle高级官员回答Sun雇员的问题
  • 请问一个oracle的jdbc问题
  • Jsp连接Oracle的问题 ???
  • oracle的job不能运行问题的解决方法
  • 请教JSP与ORACLE连接问题。
  • JAVA连接ORACLE问题(100分)
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • unix/linux知识 iis7站长之家
  • Oracle 数据库开发工具 Oracle SQL Developer
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle EBS R12 支持 Oracle Database 11g
  • Oracle 10g和Oracle 11g网格技术介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,