Oracle的awr的学习与整理


背景

本来想上周末进行一下总结和汇总
因为周末两天进行了一次长时间的培训.所以没有成行.
只能在工作之余找时间进行总结.
数据库部分自己一个不是很强.
其实也比较抗拒学习数据库相关的内容.
哎..

创建awr的snapshot以及生成awr报告

有时候想精确获得部分时间节点的快照信息, 可以先创建一个快照点.
call DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT();
然后执行:
SQL> @?/rdbms/admin/awrrpt.sql
用来生成awr的报告.
生成文档的目录在执行 sqlplus 命令的当前目录
注意尽量使用html方式, 比较好看好分析一些.
下载使用浏览器打开就可以了

awr的分析方法-菜鸟进阶级

Report Summary
第一部分是整体介绍, 会将系统信息 CPU内存服务名
以及这次AWR报告的时间, 系统信息描述出来.
也会有很多一眼能够看得到的信息,比如TOsql 等. 紧接着会有一个目录,基本上就是整个awr报告的骨干了: Report Summary
Wait Events Statistics
SQL Statistics
Instance Activity Statistics
IO Stats
Buffer Pool Statistics
Advisory Statistics
Wait Statistics
Undo Statistics
Latch Statistics
Segment Statistics
Dictionary Cache Statistics
Library Cache Statistics
Memory Statistics
Replication Statistics (GoldenGate, XStream)
Advanced Queuing
Resource Limit Statistics
Shared Server Statistics
Initialization Parameters
Active Session History (ASH) Report
ADDM Reports 详细分析如下: Wait Events Statistics
里面会有整个系统的信息比如:
Operating System Statistics - Detail
会把整个数据库的负载情况打印出来.
如果系统里面有多种应用可以交叉对比,避免是被其他应用干扰. SQL Statistics
SQL ordered by Elapsed Time
SQL ordered by CPU Time
SQL ordered by User I/O Wait Time
SQL ordered by Gets
SQL ordered by Reads
SQL ordered by Physical Reads (UnOptimized)
SQL ordered by Executions
SQL ordered by Parse Calls
SQL ordered by Sharable Memory
SQL ordered by Version Count
Complete List of SQL Text 这个里面基本是最精髓的部分了. 大部分SQL有没有问题可以从这里进行分析与查看.
执行次数, IO信息. 表信息,以及具体的SQL内容都有涉及. IO Stats
IO相关的信息.
如果有出现较大偏差,可以在这里进行着重查看. Latch Statistics
在 Oracle 数据库中, `Latch` 统计信息可用于监控系统中用于同步访问共享资源的 `Latches` 的性能。
`Latch` 统计信息可用于识别与等待事件相关的热点等待事件和性能瓶颈。
DBA 可以使用 `v$latch` 或 `v$latch_children` 视图检索 Latch 信息。
AWR报告里面也是存的一些核心共享资源争用的信息. Undo Statistics
如果有很多事务回退,后者是其他场景可以看这个内容. Segment Statistics
数据库段相关的统计信息
主要是 逻辑读,物理读.物理写,表扫描,数据块变化信息, 行级别锁等待, buffer busy waits等内容.
这一块里面其实东西挺多的, 很值得分析. 尤其是数据事务慢, 可能更这一块关系很大. Memory Statistics
内存状态信息. 如果配置不合理, 这Ian可以看到. 最后面一部分是ADDM的信息
ADDM(自适应数据库设计管理器)是 Oracle 数据库的一个强有力的性能优化工具。ADDM 可以自动分析数据库性能问题,并提供有关以下内容的建议: - 识别性能瓶颈
- 分析高负载 SQL 语句
- 优化关键性能指标(如 I/O 瓶颈、内存使用、CPU 使用情况等)
- 提供对数据库和实例级别的优化建议等

方神提供的几个SQL查询执行次数

# 查询当前内存中的SQL执行次数信息. 第一个时间是秒钟, 第二个时间是微秒.
select exec_nums,elapsed_time_s,elap_per_exec,sql_id,sql_text
from (select
sqt.exec exec_nums,
trunc(nvl((sqt.elap / 1000000), to_number(null)),2) elapsed_time_s,
trunc(decode(sqt.exec, 0,sqt.elap,(sqt.elap / sqt.exec)),2) elap_per_exec,
sqt.sql_id,
nvl(sqt.sql_text, to_clob(' ** SQL Text Not Available ** ')) sql_text
from (select dhs.sql_id,
sum(dhs.ELAPSED_TIME) elap,
sum(dhs.EXECUTIONS) exec,
max(SQL_TEXT) sql_text
from gv$sqlstats dhs
group by dhs.sql_id) sqt
order by exec_nums desc,elapsed_time_s desc,elap_per_exec desc)
where rownum <= 100;

# 查询AWR历史分析表中的数据信息.
with a as (select DBID from v$database),
c as (select min(snap_id) min_snap_id,max(snap_id) max_snap_id from dba_hist_snapshot where begin_interval_time >trunc(sysdate) - 12/24)
select exec_nums,elapsed_time_s,elap_per_exec,sql_id,sql_text
from (select sqt.exec exec_nums,
sqt.sql_id,
trunc(nvl((sqt.elap / 1000000), to_number(null)),2) elapsed_time_s,
trunc(decode(sqt.exec, 0, sqt.elap,(sqt.elap / sqt.exec )),2) elap_per_exec,
nvl(st.sql_text, to_clob(' ** SQL Text Not Available ** ')) sql_text
from (select a.dbid,
dhs.sql_id,
sum(dhs.elapsed_time_delta) elap,
sum(dhs.executions_delta) exec
from dba_hist_sqlstat dhs,a,c
where dhs.dbid = a.dbid
and dhs.snap_id >= c.min_snap_id
and dhs.snap_id <= c.max_snap_id
and dhs.executions_delta >= 1
group by a.dbid,dhs.sql_id) sqt,
dba_hist_sqltext st
where st.sql_id(+) = sqt.sql_id
and st.dbid(+) = sqt.dbid
order by exec_nums desc , elapsed_time_s desc,elap_per_exec desc)
where rownum <= 100;

Oracle的awr的学习与整理的更多相关文章

  1. ORACLE数据库AWR工具学习

    AWR(Automatic Workload Repository)即工作负载信息库,主要用于收集数据库运行状态的资料库,通过AWR报告可以分析ORACLE数据库的性能,从而给出优化策略. 图一:此图 ...

  2. Java 学习资料整理

    Java 学习资料整理 Java 精品学习视频教程下载汇总 Java视频教程 孙鑫Java无难事 (全12CD) Java视频教程 即学即会java 上海交大 Java初级编程基础 共25讲下载 av ...

  3. Mysql学习笔记整理手册

    目录 (1) str_to_date (2) 递归查询 (3) 排序问题 (4) 条件函数 (5) 列转行函数 (6) find_int_set (7) 类型转换函数 (8) 合并更新 继上一篇博客& ...

  4. UWP学习目录整理

    UWP学习目录整理 0x00 可以忽略的废话 10月6号靠着半听半猜和文字直播的补充看完了微软的秋季新品发布会,信仰充值成功,对UWP的开发十分感兴趣,打算后面找时间学习一下.谁想到学习的欲望越来越强 ...

  5. iOS 开发学习资料整理(持续更新)

      “如果说我看得比别人远些,那是因为我站在巨人们的肩膀上.” ---牛顿   iOS及Mac开源项目和学习资料[超级全面] http://www.kancloud.cn/digest/ios-mac ...

  6. DBN 入门学习资料整理

    建议按序阅读 1.Deep Learning 概述 Deep Learning(深度学习)学习笔记整理系列 : http://blog.csdn.net/zouxy09/article/details ...

  7. informatica 学习日记整理

    1. INFORMATICA CLIENT的使用 1.1 Repository Manager 的使用 1.1.1 创建Repository. 前提: a.在ODBC数据源管理器中新建一个数据源连接至 ...

  8. python学习笔记整理——字典

    python学习笔记整理 数据结构--字典 无序的 {键:值} 对集合 用于查询的方法 len(d) Return the number of items in the dictionary d. 返 ...

  9. Oracle 11g AWR和ADDM性能报告

    一.自动工作负载库(Automatic Workload Repository,AWR) 自动工作负载库(Automatic Workload Repository,AWR)是在Oracle公司提供的 ...

  10. iOS 学习资料整理

    iOS学习资料整理 https://github.com/NunchakusHuang/trip-to-iOS 很好的个人博客 http://www.cnblogs.com/ygm900/ 开发笔记 ...

随机推荐

  1. Java中常用不可变类

    Java中常用的不可变类是指一旦被创建,它们的值就不可更改的类.在实际开发中,使用不可变类时可以带来多种优点,比如线程安全.缓存.副本等.下面我们将介绍Java中常见的不可变类: 1.字符串(Stri ...

  2. 初窥门径代码起手,Go lang1.18入门精炼教程,由白丁入鸿儒,首次运行golang程序EP01

    前文再续,书接上回,前一篇:兔起鹘落全端涵盖,Go lang1.18入门精炼教程,由白丁入鸿儒,全平台(Sublime 4)Go lang开发环境搭建EP00,我们搭建起了Go lang1.18的开发 ...

  3. MySQL篇:第三章_详解DQL语言

    DQL语言的学习 基础查询 一.语法: SELECT 要查询的东西 [FROM 表名]; 类似于Java中 :System.out.println(要打印的东西); 特点: ①通过select查询完的 ...

  4. 云图说|华为云自研云数据库GaussDB NoSQL,兼容多款NoSQL接口的数据库服务

    摘要:云数据库GaussDB NoSQL是一款基于计算存储分离架构的分布式多模NoSQL数据库服务,兼容多款nosql接口,在灵活弹性.快速扩展方面做到了极致. 本文分享自华为云社区<云图说|华 ...

  5. M-SQL:超强的多任务表示学习方法

    摘要:本篇文章将硬核讲解M-SQL:一种将自然语言转换为SQL语句的多任务表示学习方法的相关论文. 本文分享自华为云社区<[云驻共创]M-SQL,一种超强的多任务表示学习方法,你值得拥有> ...

  6. 由浅入深,揭秘企业级OLAP数据引擎ByteHouse

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 在字节跳动各产品线飞速成长的过程中,对数据分析能力也提出了更高的要求,现有的主流数据分析产品都没办法完全满足业务要 ...

  7. Intellij IDEA 显示 access.log 日志

    先配置  SpringBoot 记录 access.log 日志,先让accesslog 显示出来

  8. .NET Moq mock internal类型

    问题 Can not create proxy for type xxx because type xxx is not accessible. Make it public, or internal ...

  9. Codeforces Round #669 (Div. 2) A、B题题解

    Problem A - Ahahahahahahahaha https://codeforces.com/contest/1407/problem/A 题意: 给定一个偶数数组(元素值 0,1),在删 ...

  10. 第四届蓝桥杯(2013)C/C++大学A组省赛题解

    第一题:高斯日记 大数学家高斯有个好习惯:无论如何都要记日记. 他的日记有个与众不同的地方,他从不注明年月日,而是用一个整数代替,比如:4210 后来人们知道,那个整数就是日期,它表示那一天是高斯出生 ...