网站首页 > 技术文章 正文
1.dba_hist_sqltext
是 Oracle 数据库中的一个数据字典视图,它存储了 AWR (Automatic Workload Repository) 收集的历史 SQL 语句文本信息
2.dba_hist_sqlstat
是 Oracle AWR (Automatic Workload Repository) 中的一个关键视图,用于存储 SQL 语句的执行统计信息的历史数据。它通常与 dba_hist_sqltext 结合使用,用于分析 SQL 性能趋势
3.dba_hist_snapshot
存储 AWR 快照的时间信息
要求:oracle数据库查询出执行过对指定表的sql语句,并展示具体的sql,执行时间,用户名,执行次数等
方法1:使用 AWR 历史数据
SELECT
s.*,t.*,h.*
FROM
dba_hist_sqlstat s
JOIN
dba_hist_sqltext t ON s.sql_id = t.sql_id
JOIN
dba_hist_snapshot h ON s.snap_id = h.snap_id
AND s.dbid = h.dbid
AND s.instance_number = h.instance_number
WHERE
LOWER(t.sql_text) LIKE '%表名%'
AND h.begin_interval_time > SYSDATE - 30 -- 查询最近30天的数据
ORDER BY
h.begin_interval_time DESC;
方法2:使用 V$SQL 视图(当前共享池中的 SQL)
SELECT
/*+paralle(4)*/ -- 这是一个优化器提示,表示使用4个并行进程执行查询
sql_text, -- SQL 语句文本
to_char(last_active_time, 'YYYY-MM-DD HH24:MI:SS') AS execution_time, -- 格式化最后执行时间
parsing_schema_name, -- 执行SQL的用户名
module, -- 执行SQL的应用程序模块
executions -- 执行次数
FROM
v$SQL -- 动态性能视图,包含共享SQL区中的SQL语句
WHERE sql_text LIKE %表名% -- 查找包含特定表名的SQL
AND ( -- 以下条件筛选特定类型的SQL语句
sql_text LIKE %UPDATE%
OR sql_text LIKE %INSERT%
OR sql_text LIKE %DELETE%
OR sql_text LIKE %ALTER%
OR sql_text LIKE %CREATE%
OR sql_text LIKE %DROP%
)
AND last_active_time >= SYSDATE-90 -- 只查询最近90天的记录
ORDER BY last_active_time DESC; -- 按最后执行时间降序排列
4 .动态生成的SQL语句,用于截断指定表的分区
ALTER TABLE ${tableName} TRUNCATE PARTITION ${partitionName}
- 上一篇: 如何使用 SQL 视图和子查询进行复杂查询
- 下一篇: 如何避免写出'一次性'代码
猜你喜欢
- 2025-09-02 如何使用 SQL 视图和子查询进行复杂查询
- 2024-11-08 oracle update 批量更新数据提示单行子查询返回多个行如何解决
- 2024-11-08 Oracle笔记4-多表查询 oracle多表查询语句
- 2024-11-08 Sql常用子句查询 sql语句的子查询
你 发表评论:
欢迎- 09-0613.通过Excel导出数据库中的维值_数据库exp导入导出数据
- 09-06做数据分析时,SQL需要达到以下水平
- 09-06Java开发指南:JDK21下载、安装及目录解析,轻松开启编程之旅
- 09-06hive存储过程_hive存储过程环境变量
- 09-06Maven常用命令_maven常用命令有哪些
- 09-06JDK从8升级到21的问题集_jdk更新到几了
- 09-06Oracle狂刷存在感 NRF展会惊艳四座
- 09-06哪些软件支持UDI标签的生成与验证
- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- Oracle RAC (76)
- oracle恢复 (77)
- oracle 删除表 (52)
- oracle 用户名 (80)
- oracle 工具 (55)
- oracle 内存 (55)
- oracle 导出表 (62)
- oracle约束 (54)
- oracle 中文 (51)
- oracle链接 (54)
- oracle的函数 (58)
- oracle面试 (55)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)