燃米美食网
您的当前位置:首页查找Oracle高消耗语句的方法_javascript技巧

查找Oracle高消耗语句的方法_javascript技巧

来源:燃米美食网


在运行下面的脚本之前需要先用生成AWR报告的SQL(程序脚本一般保存在$ORACLE_HOME下的rdbms/admin中,名称为awrrpt.sql,需要输入生成AWR报告的天数范围)找到开始和结束的snapshot编号:begin_snap和end_snap。
代码如下:
set line 1000
set linesize 200
set pagesize 2000
set long 999999
set echo on
set markup html on
select res.*
from (select to_char(d.end_interval_time,'yyyy-mm-dd'),
a.PARSING_SCHEMA_NAME,
c.MODULE,
a.sql_id,
a.execs as 执行次数,
ROUND(a.cpu_times / a.execs, 2) as 单次执行时间,
a.cpu_times as cpu消耗时间,
ROUND(a.cpu_times / b.sum_time * 100, 2) as 消耗cpu百分比,
a.buffer_gets as 逻辑读,
ROUND(a.buffer_gets / b.sum_buffer * 100, 2) as 逻辑读百分比,
a.disk_read as 物理读,
ROUND(a.disk_read / b.sum_disk * 100, 2) as 物理读百分比,
c.sql_fulltext
from (select PARSING_SCHEMA_NAME,
sql_id,
sum(EXECUTIONS_DELTA) AS execs,
round(sum(CPU_TIME_DELTA) / 1000000, 2) AS cpu_times,
round(sum(ELAPSED_TIME_DELTA) / 1000000, 2) AS elapsed_time,
sum(BUFFER_GETS_DELTA) AS buffer_gets,
sum(DISK_READS_DELTA) AS disk_read
from sys.WRH$_SQLSTAT wr, gv$instance i
where SNAP_ID <= &end_snap
and snap_id >= &begin_snap
and wr.INSTANCE_NUMBER = i.INSTANCE_NUMBER
and i.instance_number = &instance_number
group by PARSING_SCHEMA_NAME, wr.INSTANCE_NUMBER, sql_id) a,
(SELECT round(SUM(CPU_TIME_DELTA) / 1000000, 2) sum_time,
SUM(BUFFER_GETS_DELTA) sum_buffer,
sum(DISK_READS_DELTA) sum_disk
FROM sys.WRH$_SQLSTAT wr, gv$instance i
where SNAP_ID <= &end_snap
and snap_id >= &begin_snap
and wr.INSTANCE_NUMBER = i.INSTANCE_NUMBER
and i.instance_number = &instance_number) b,
v$sqlarea c,
dba_hist_snapshot d
where a.execs > 0
and a.sql_id = c.sql_id
and a.PARSING_SCHEMA_NAME <> 'SYS'
and d.snap_id = &end_snap
order by cpu消耗时间 desc) res
where rownum < 41;
exit

将脚本输出内容保存到记事本txt中,并将记事本的后缀名更改为.html,这样就可以输出以下的网页内容:

燃米美食网还为您提供以下相关内容希望对您有帮助:

oracle 视图不同用户慢

1. 权限与访问路径优化不同用户访问视图时,权限配置和访问路径的合理性直接影响查询效率。若用户B需访问用户A的视图,需通过GRANT SELECT ON 用户A.视图名称 TO 用户B显式授权,避免因权限验证失败导致的重复检查。同时,在用户B中创建同义词(如CREATE SYNONYM 用户B.视图别名 FOR 用户A.视图名称)可简化访

查找使用了dblink表的存储过程、函数与视图

输入Oracle数据库的连接信息(如用户名、密码、数据库地址等)。查找并查看结果 在工具界面中,选择需要查找的dblink表。点击“Search”按钮开始查找。查找完成后,在结果区域查看与dblink表关联的存储过程、函数、视图和同义词。生成SQL语句 如果需要将找到的dblink表创建为视图,可以点击“Generate SQL”按钮。

GraalVM社区版21.0.0发布,高性能跨语言虚拟机

本机映像方法句柄调用支持:添加了对本机映像的方法句柄调用支持,这增强了 GraalVM 在处理复杂方法调用时的灵活性和性能。Linux 平台 AWT 和 Swing 支持:为 Linux 平台添加了 AWT 和 Swing 支持,这使得开发者可以在 Linux 系统上运行基于这些图形库的 Java 应用程序。跟踪代理改进:改进了跟踪代理,...

php要会哪些东西

循环语句:掌握 for、while、do - while、foreach 等循环语句的使用,能够根据不同的需求选择合适的循环方式。二、函数和数组 函数:学会定义和使用自定义函数,理解函数的参数传递方式(值传递和引用传递),掌握函数的返回值处理,能够编写可复用的函数来提高代码的效率和质量。数组:熟悉 PHP 中数组的...

Java简单学习路线

第一阶段:Java基础语法 HelloWorld程序:掌握Java程序的基本结构与运行方式。常量与变量:理解常量定义规则及变量作用域。数据类型:学习基本类型(如int、double)与引用类型(如String)的区别。运算符:掌握算术、逻辑、位运算等操作。方法:学习方法定义、参数传递与返回值处理。流程控制语句:包括if-else...

IT职业技能图谱总结(随时更新)

一、运维工程师 运维工程师主要负责维护和管理IT基础设施,确保系统的稳定运行。所需技能包括:系统运维:熟悉Linux/Unix系统操作,掌握系统监控、性能调优、故障排查等技能。网络运维:了解TCP/IP协议,熟悉路由交换、防火墙配置等网络知识。数据库运维:掌握MySQL、Oracle等数据库的安装、配置、优化及故障处理...

使用PHP开发CMS的优势介绍与高效应用技巧分析

高效应用技巧分析 1. 启用缓存机制通过OPcache、Memcached或Redis等缓存技术减少数据库查询和代码解析次数,显著提升页面响应速度。例如,WordPress的WP Super Cache插件可生成静态HTML文件,降低服务器负载。2. 优化数据库性能定期清理冗余数据、优化索引结构,并使用慢查询日志分析性能瓶颈。例如,对MySQL数据库...

Java的学习路线导航

一、基础阶段 在基础阶段,你需要掌握Java语言的核心概念以及相关的基础知识。Java基础:包括Java语言的基本语法、数据类型、变量、运算符、控制结构(如循环和条件语句)、方法、类等。Mysql数据库:学习数据库的基本概念,掌握SQL语言,能够进行基本的数据库操作,如增删改查。Oracle数据库:与Mysql类似,...

java学习路线

二、数据库编程阶段SQL语句基础 数据定义语言(DDL):CREATE、ALTER、DROP表。数据操作语言(DML):INSERT、UPDATE、DELETE、SELECT(多表查询、分组、排序)。数据控制语言(DCL):GRANT、REVOKE权限管理。数据库系统 MySQL:安装配置、存储引擎(InnoDB、MyISAM)、事务隔离级别、索引优化。Oracle:企业级...

软件开发

Java SE 6.0核心语法归纳讲解,包括Java语言的特点、环境的配置、开发基本命令、类的定义技巧、方法调用过程、对象生成原理与内存分布、标识符、关键字和数据类型、运算符和表达式、Java商业运算要点、流程控制语句、Java数组和链表等算法和数据结构;同时掌握Eclipse开发工具的使用。熟练掌握Java核心语法 Java...

显示全文