专业编程教程与实战项目分享平台

网站首页 > 技术文章 正文

数据库--DBA_数据库DBA管理工具字体如何变大

ins518 2025-09-02 22:44:01 技术文章 10 ℃ 0 评论

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}

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表