`
hongyiqiye
  • 浏览: 90172 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

oracle数据库分析响应时间

 
阅读更多

--查看数据库响应状况
select *
  from SYS.V_$SYSMETRIC
where METRIC_NAME IN ( 'Database CPU Time Ratio',
'Database Wait Time Ratio')
   AND INTSIZE_CSEC = (select max(INTSIZE_CSEC) from
SYS.V_$SYSMETRIC)

--查看数据库的总性能
select *
  from sys.v_$sysmetric_history
where metric_name = 'Database CPU Time Ratio'
order by 1

--获得数据库整体性能效率的最大、最小和平均值
select CASE METRIC_NAME
         WHEN 'SQL Service Response Time' then
          'SQL Service Response Time (secs)'
         WHEN 'Response Time Per Txn' then
          'Response Time Per Txn (secs)'
         ELSE
          METRIC_NAME
       END METRIC_NAME,
       CASE METRIC_NAME
         WHEN 'SQL Service Response Time' then
          ROUND((MINVAL / 100), 2)
         WHEN 'Response Time Per Txn' then
          ROUND((MINVAL / 100), 2)
         ELSE
          MINVAL
       END MININUM,
       CASE METRIC_NAME
         WHEN 'SQL Service Response Time' then
          ROUND((MAXVAL / 100), 2)
         WHEN 'Response Time Per Txn' then
          ROUND((MAXVAL / 100), 2)
         ELSE
          MAXVAL
       END MAXIMUM,
       CASE METRIC_NAME
         WHEN 'SQL Service Response Time' then
          ROUND((AVERAGE / 100), 2)
         WHEN 'Response Time Per Txn' then
          ROUND((AVERAGE / 100), 2)
         ELSE
          AVERAGE
       END AVERAGE
  from SYS.V_$SYSMETRIC_SUMMARY
where METRIC_NAME in
       ('CPU Usage Per Sec', 'CPU Usage Per Txn', 'Database CPU Time Ratio',
        'Database Wait Time Ratio', 'Executions Per Sec',
        'Executions Per Txn', 'Response Time Per Txn',
        'SQL Service Response Time', 'User Transaction Per Sec')
ORDER BY 1

--查看究竟是什么类型的用户活动影响数据库的响应速度,找到相应的主要花费时间处理的部分
select case db_stat_name
         when 'parse time elapsed' then
          'soft parse time'
         else
          db_stat_name
       end db_stat_name,
       case db_stat_name
         when 'sql execute elapsed time' then
          time_secs - plsql_time
         when 'parse time elapsed' then
          time_secs - hard_parse_time
         else
          time_secs
       end time_secs,
       case db_stat_name
         when 'sql execute elapsed time' then
          round(100 * (time_secs - plsql_time) / db_time, 2)
         when 'parse time elapsed' then
          round(100 * (time_secs - hard_parse_time) / db_time, 2)
         else
          round(100 * time_secs / db_time, 2)
       end pct_time
  from (select stat_name db_stat_name, round((value / 1000000), 3) time_secs
          from sys.v_$sys_time_model
         where stat_name not in ('DB time', 'background elapsed time',
                'background cpu time', 'DB CPU')),
       (select round((value / 1000000), 3) db_time
          from sys.v_$sys_time_model
         where stat_name = 'DB time'),
       (select round((value / 1000000), 3) plsql_time
          from sys.v_$sys_time_model
         where stat_name = 'PL/SQL execution elapsed time'),
       (select round((value / 1000000), 3) hard_parse_time
          from sys.v_$sys_time_model
         where stat_name = 'hard parse elapsed time')
order by 2 desc

--等待时间中的等待事件,等待的文件,等待的对象
select sql_id,
       event as "等待事件",
       time_waited,
       owner,
       object_name as "等待的对象",
       current_file# as "等待的文件",
       current_block#
  from sys.v_$active_session_history a, sys.dba_objects b
where a.current_obj# = b.object_id
   and time_waited <> 0

--前5位用户I/O等待最高的SQL语句
select *
  from (select sql_text, sql_id, elapsed_time, cpu_time, user_io_wait_time
          from sys.v_$sqlarea
         order by 5 desc)
where rownum < 6

--查看等待事件来找出等待和瓶颈,找出大部分的整体等待时间
select WAIT_CLASS,
       TOTAL_WAITS,
       round(100 * (TOTAL_WAITS / SUM_WAITS), 2) PCT_WAITS,
       ROUND((TIME_WAITED / 100), 2) TIME_WAITED_SECS,
       round(100 * (TIME_WAITED / SUM_TIME), 2) PCT_TIME
  from (select WAIT_CLASS, TOTAL_WAITS, TIME_WAITED
          from V$SYSTEM_WAIT_CLASS
         where WAIT_CLASS != 'Idle'),
       (select sum(TOTAL_WAITS) SUM_WAITS, sum(TIME_WAITED) SUM_TIME
          from V$SYSTEM_WAIT_CLASS
         where WAIT_CLASS != 'Idle')
order by 5 desc

--最新的一个小时等待类型
select a.sid,
       b.username,
       a.wait_class,
       a.total_waits,
       round((a.time_waited / 100), 2) time_waited_secs
  from sys.v_$session_wait_class a, sys.v_$session b
where b.sid = a.sid
   and b.username is not null
   and a.wait_class != 'Idle'
order by 5 desc

--找出耗费资源比较多的SQL语句
SELECT first_load_time,
       SQL_TEXT,
       buffer_gets,
       executions,
       buffer_gets/executions AVG
FROM   v$sqlarea
WHERE  executions>0
AND    buffer_gets > 100000
ORDER BY 5

--找出需要大量缓冲读取(逻辑读)操作的查询
select *
  from (select sql_text,
               buffer_gets,
               dense_rank() over(order by buffer_gets desc) buffer_gets_rank,optimizer_cost
          from v$sql)
where buffer_gets_rank <= 10

--V$SQL是内存共享SQL区域中已经解析的SQL语句。
--列出使用频率最高的5个查询
select sql_text, executions
  from (select sql_text,
               executions,
               rank() over(order by executions desc) exec_rank
          from v$sql)
where exec_rank <= 5

--消耗磁盘读取最多的sql
select disk_reads, sql_text
  from (select sql_text,
               disk_reads,
               dense_rank() over(order by disk_reads desc) disk_reads_rank
          from v$sql)
where disk_reads_rank <= 5

分享到:
评论

相关推荐

    深入分析Oracle数据库的响应时间.pdf

    深入分析Oracle数据库的响应时间 Oracle数据库作为关系型数据库的领头羊,具有独特的技术优势,在响应时间的分析和优化方面具有重要的意义。本文从数据库系统级和SQL语句级两个方面进行了深入的分析,旨在帮助...

    Oracle数据库无响应故障的处理.pdf

    对于Oracle数据库无响应故障的处理,首先需要准确判断故障的具体表现形式和影响范围,然后结合故障现象进行深入分析,找出可能导致故障的根本原因。针对不同的故障原因,采取相应的措施进行修复。例如,如果是由于...

    Oracle数据库服务器IO高的分析方案.docx

    ### Oracle数据库服务器IO高的分析方案 #### 前言 在日常运维中,经常会遇到Oracle数据库服务器出现IO过高的情况,这种情况可能导致业务系统的响应速度变慢,甚至影响正常服务的提供。本文旨在深入探讨Oracle...

    实例异常之Oracle数据库无响应故障的处理

    **Oracle数据库无响应故障**,指的是数据库实例无法响应客户端发起的请求,客户端提交SQL后长时间等待数据库实例返回结果,甚至无法建立连接。此类故障的现象主要包括: 1. **Oracle进程等待资源或事件**:此类现象...

    Oracle数据库慢分析

    ### Oracle数据库慢分析 #### 概述 在Oracle数据库管理与优化过程中,遇到性能瓶颈时,最常见的一种问题就是数据库响应变慢。这种现象通常被称为“慢数据库”问题。为了有效地解决这类问题,Oracle提供了详细的...

    Oracle数据库服务器IO高的分析方案和案例探讨.pdf

    IO 响应时间是衡量 Oracle 数据库服务器性能的重要指标。一般来说,如果单个 IO 的响应时间在 20 毫秒以内,是可以接受的,较好的性能应该在 10 个毫秒以下,越低越好。超过 20 毫秒的单个 IO 响应时间,则可认为...

    Oracle数据库日常运维及应急故障处理手册

    Oracle数据库作为一款高性能的大型关系数据库管理系统,广泛应用于各行业的关键业务中。随着业务规模的扩大和数据量的增长,数据库运维和故障应急处理变得尤为重要。本文档即为Oracle数据库的日常运维及应急故障处理...

    自动安装Oracle数据库

    通常,这样的脚本会包含初始化参数、响应文件、安装包路径等信息,以控制Oracle数据库的全自动安装流程。 自动安装Oracle数据库的步骤通常包括以下部分: 1. **环境准备**:确保系统满足Oracle的硬件和软件要求,...

    Oracle数据库详细讲解

    Oracle数据库提供了丰富的监控工具和性能指标,如AWR(Automatic Workload Repository)、ASH(Active Session History)等,用于分析数据库的工作负载、会话活动、资源消耗情况,帮助DBA定位性能瓶颈,优化数据库...

    oracle数据库调优配置

    本文将深入探讨Oracle数据库调优配置中的两种常见方案,旨在帮助数据库管理员(DBA)提升系统的响应速度和资源利用率。 #### 方案一:参数调整与优化 在Oracle数据库中,合理设置初始化参数是提高系统性能的基础。...

    用智能优化限制提高Oracle数据库性能

    在IT行业的数据库管理领域,Oracle数据库因其强大的功能和广泛的适用性而备受青睐。然而,随着数据量的激增和业务复杂度的提升,如何优化Oracle数据库的性能成为了IT专业人士关注的焦点。本文将深入探讨“用智能优化...

    oracle数据库跟踪工具

    总的来说,Oracle数据库跟踪工具SQLTracker是DBA和开发人员的强大助手,通过其丰富的功能和直观的界面,能够有效地诊断和优化Oracle数据库的性能,提高应用程序的响应速度,同时减少维护成本。对于任何使用Oracle...

    LIB图书管理系统 java oracle数据库

    《LIB图书管理系统:Java与Oracle数据库的协同应用》 在信息技术日益发达的今天,图书管理系统的建设已经成为图书馆信息化建设的重要组成部分。"LIB图书管理系统"就是这样一款利用Java编程语言与Oracle数据库相结合...

    ORACLE数据库日常巡检内容报告

    - **响应时间**:监控数据库响应用户请求的速度。 - **Redo日志空间延迟**:如果写入Redo日志速度慢,可能会影响性能。 - **锁资源**:识别和解决锁争用问题,避免阻塞其他会话。 - **回滚段等待**:高比例的...

    Oracle数据库备份与恢复.pdf

    ### Oracle数据库备份与恢复 #### 一、Oracle数据库概述 Oracle数据库是一款由甲骨文公司开发的关系型数据库管理系统,以其卓越的性能、可扩展性和安全性在全球范围内被广泛应用。Oracle数据库的特点包括: - **...

    jsp+oracle数据库开发与实例

    5. 数据报表:通过JSP页面实现对Oracle数据库中数据的复杂查询和分析,生成报表。 通过学习《jsp+oracle数据库开发与实例》及其配套资源,开发者可以提升在Web应用开发中的数据库操作能力,了解如何在JSP中有效地...

    Java用JDBC实现对Oracle数据库操作

    标题“Java用JDBC实现对Oracle数据库操作”主要涉及Java编程语言如何利用Java Database Connectivity (JDBC) API来与Oracle数据库进行交互。JDBC是Java中用于与各种数据库通信的标准接口,而Oracle数据库是一个广泛...

    Oracle数据库.pdf

    ### Oracle数据库核心知识点详解 #### Oracle数据库概述 Oracle数据库是由美国甲骨文公司(Oracle Corporation)研发的一款基于SQL(Structured Query Language)的关系型数据库管理系统。它以其强大的数据处理...

    oracle数据库性能优化.pdf

    Oracle数据库性能优化是确保系统高效运行的关键环节,尤其是在大数据量和高并发的环境中。Oracle数据库因其先进、完整和集成的特性,在市场中占据主导地位,因此深入理解和掌握Oracle的优化技术至关重要。 首先,...

Global site tag (gtag.js) - Google Analytics