Oracle常用工具使用 - AWR(oracle ora工具)
mhr18 2024-09-21 19:11 76 浏览 0 评论
WR(Automatic Workload Repository) 收集,处理和维护性能统计信息,以便进行问题检测和自我调整。收集的数据存储在内存和数据库中,并显示在报告和视图中。
AWR收集和处理的统计数据包括:
- 确定数据库段的访问和使用统计信息的对象统计信息。
- 基于活动时间使用情况的时间模型统计信息,显示在V$SYS_TIME_MODEL和V$SESS_TIME_MODEL视图中
- 在V$SYSSTAT和V$SESSTAT视图中收集的一些系统和会话统计信息
- 根据运行时间和CPU时间等标准,在系统中产生最高负载的SQL语句
- 活动会话历史记录(ASH)统计信息,表示最近会话活动的历史记录
下面介绍下awr相关内容。
1.1. 快照(STATISTICS_LEVEL)
默认情况下,Oracle数据库每小时生成快照,并在工作负载存储库中保留8天的统计信息。必要时,可以手动创建或删除快照并修改快照设置。
1.1.1. 创建快照(Snapshot)
默认情况下,Oracle数据库每小时自动生成一次快照。但是,可能想要手动创建快照,以捕获与自动生成快照不同的统计信息。
使用命令行界面创建快照
SQL> select *
from (select snap_id, dbid from DBA_HIST_SNAPSHOT order by snap_id desc)
where rownum <= 3;
SNAP_ID DBID
---------- ----------
419 243175950
418 243175950
417 243175950
SQL> BEGIN
DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT ();
END;
/
PL/SQL procedure successfully completed.
SQL> select *
from (select snap_id, dbid from DBA_HIST_SNAPSHOT order by snap_id desc)
where rownum <= 3;
SNAP_ID DBID
---------- ----------
420 243175950
419 243175950
418 243175950
通过视图DBA_HIST_SNAPSHOT查看,可以看到执行CREATE_SNAPSHOT存储过程可以立即生成快照。
1.1.2. 删除快照
默认情况下,Oracle数据库会自动清除已存储在AWR中超过8天的快照。但是,可能希望手动删除一系列快照以释放空间。
使用命令行界面删除快照
SQL> BEGIN
DBMS_WORKLOAD_REPOSITORY.DROP_SNAPSHOT_RANGE (low_snap_id => 400,
high_snap_id => 410,
dbid => 243175950);
END;
/
PL/SQL procedure successfully completed.
通过视图DBA_HIST_SNAPSHOT查看快照信息
SQL> select snap_id, dbid from DBA_HIST_SNAPSHOT where snap_id>=399 and snap_id<412 order by snap_id desc;
SNAP_ID DBID
---------- ----------
411 243175950
399 243175950
在此示例中,快照ID范围为400到410的快照将立即从数据库实例中删除,数据库标识为243175950.还会清除在此快照范围内捕获的任何ASH数据。
1.1.3. 修改快照设置
可以为指定的数据库ID调整快照生成的间隔,保留和捕获的Top SQL,但请注意,这会影响Oracle数据库诊断工具的精度。
使用命令行界面修改快照设置
使用MODIFY_SNAPSHOT_SETTINGS过程修改各种快照设置:
- INTERVAL设置会影响数据库自动生成快照的频率。
- RETENTION设置会影响数据库在AWR中存储快照的时间。
- TOPNSQL设置会影响要为每个SQL条件刷新的Top SQL的数量(经过时间,CPU时间,分析调用,可共享内存和版本计数)。
这个设置的值不受统计信息/刷新级别的影响,并且覆盖AWR SQL集合的系统默认行为。可以将此设置的值设置为MAXIMUM以捕获共享SQL区域中的完整SQL集,,尽管这样做(或通过设置值数量非常高)可能会导致可能的空间和性能问题,因为将会有更多的数据收集和存储。
修改配置如下:
BEGIN
DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS( retention => 43200,
interval => 30,
topnsql => 100,
dbid => 243175950);
END;
/
在此示例中,数据库标识为243175950的数据库的快照设置修改如下:
- 保留期限指定为43200分钟(30天)。
- 每个快照之间的间隔指定为30分钟。
- 要为每个SQL条件刷新的Top SQL数量指定为100。
使用DBA_HIST_WR_CONTROL视图,验证数据库的当前设置,如以下示例所示:
SQL> select snap_interval, retention from DBA_HIST_WR_CONTROL;
SNAP_INTERVAL RETENTION
-------------------------------------------- --------------------------------------------
+00000 01:00:00.0 +00008 00:00:00.0
snap_interval和保留值以以下格式显示:
+[days] [hours]:[minutes]:[seconds].[nanoseconds]
1.2. 生成awr报告
AWR报告显示了两个快照之间捕获的数据(或两个时间点)。AWR报告分为多个部分。报告的内容包含系统的工作负载概要,用于选定的快照范围。HTML报告包含了可以用来在各个部分之间快速导航的链接。下面我们主要介绍使用命令行方式手动生产awr报告的方法。
1.2.1. 生成本地数据库的AWR报告
利用SQL awrrpt.sql脚本生成一个HTML或文本报告,显示一系列快照ID的统计信息。
使用命令行界面在本地数据库实例上生成AWR报告:
1.在SQL提示符,输入
SQL> @$ORACLE_HOME/rdbms/admin/awrrpt.sql
2.指定生成的报告类型
Specify the Report Type
~~~~~~~~~~~~~~~~~~~~~~~
AWR reports can be generated in the following formats. Please enter the
name of the format at the prompt. Default value is 'html'.
'html' HTML format (default)
'text' Text format
'active-html' Includes Performance Hub active report
Enter value for report_type: html
默认是html格式。
3. 指定要列出快照ID的天数
Enter value for num_days: 2
此示例显示最近2天捕获的快照,直接回车键默认显示所有快照。
4.为生成AWR快照选择开始和结束快照ID
Enter value for begin_snap: 416
Begin Snapshot Id specified: 416
Enter value for end_snap: 417
End Snapshot Id specified: 417
5. 输入报告名称
按回车键生成默认报告名称
Enter value for report_name:
Using the report name awrrpt_1_416_417.html
生成名称为awrrpt_1_416_417.html的AWR报告,默认生成的位置为执行sqlplus命令时操作系统当前目录。
1.2.2. 生成特定数据库的AWR报告
awrrpti.sql SQL脚本生成HTML或文本报告,该报告使用特定数据库实例显示来自一系列快照ID的统计信息。此脚本使可以指定将为其生成AWR报告的数据库标识符和实例。
使用命令行界面生成特定数据库实例的AWR报告:
1.在SQL提示符,输入
SQL> @$ORACLE_HOME/rdbms/admin/awrrpti.sql
2.指定生成的报告类型
Specify the Report Type
~~~~~~~~~~~~~~~~~~~~~~~
AWR reports can be generated in the following formats. Please enter the
name of the format at the prompt. Default value is 'html'.
'html' HTML format (default)
'text' Text format
'active-html' Includes Performance Hub active report
Enter value for report_type: html
默认是html格式。
3.输入数据库标识符(dbid)和实例编号(inst_num)的值:
显示可用数据库标识符和实例编号的列表:
Instances in this Workload Repository schema
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DB Id Inst Num DB Name Instance Host
------------ ---------- --------- ---------- ------
* 243175950 1 CNDBA cndba host1
Enter value for dbid: 243175950
Using 243175950 for database Id
Enter value for inst_num: 1
Using 1 for instance number
Specify the number of days of snapshots to choose from
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Entering the number of days (n) will result in the most recent
(n) days of snapshots being listed. Pressing <return> without
specifying a number lists all completed snapshots.
4. 指定要列出快照ID的天数
Enter value for num_days: 2
此示例显示最近2天捕获的快照,直接回车键默认显示所有快照。
5.为生成AWR快照选择开始和结束快照ID
Enter value for begin_snap: 416
Begin Snapshot Id specified: 416
Enter value for end_snap: 417
End Snapshot Id specified: 417
6. 输入报告名称
按回车键生成默认报告名称
Enter value for report_name:
Using the report name awrrpt_1_416_417.html
生成名称为awrrpt_1_416_417.html的AWR报告,其数据库ID值为243175950。,默认生成的位置为执行sqlplus命令时操作系统当前目录。
1.2.3. 在Oracle RAC中为本地数据库生成AWR报告
awrgrpt.sql SQL脚本生成HTML或文本报告,该报告使用Oracle Real Application Clusters(Oracle RAC)环境中的当前数据库实例显示来自一系列快照ID的统计信息。
注意:
在Oracle RAC环境中,Oracle建议生成HTML报告(而不是文本报告),因为它更容易阅读。
使用命令行界面在本地数据库实例上生成Oracle RAC的AWR报告:
1.在SQL提示符,输入
SQL> @$ORACLE_HOME/rdbms/admin/awrgrpt.sql
2.指定生成的报告类型
Specify the Report Type
~~~~~~~~~~~~~~~~~~~~~~~
AWR reports can be generated in the following formats. Please enter the
name of the format at the prompt. Default value is 'html'.
'html' HTML format (default)
'text' Text format
'active-html' Includes Performance Hub active report
Enter value for report_type: html
默认是html格式。
3. 指定要列出快照ID的天数
Enter value for num_days: 2
此示例显示最近2天捕获的快照,直接回车键默认显示所有快照。
4.为生成AWR快照选择开始和结束快照ID
Enter value for begin_snap: 416
Begin Snapshot Id specified: 416
Enter value for end_snap: 417
End Snapshot Id specified: 417
5. 输入报告名称
按回车键生成默认报告名称
Enter value for report_name:
Using the report name awrrpt_1_416_417.html
生成名称为awrrpt_1_416_417.html的AWR报告,默认生成的位置为执行sqlplus命令时操作系统当前目录。
1.2.4. 在Oracle RAC中为特定数据库生成AWR报告
awrgrpti.sql SQL脚本生成HTML或文本报告,该报告使用在Oracle RAC环境中运行的特定数据库实例显示来自一系列快照ID的统计信息。此脚本可以指定数据库标识符和将为其生成AWR报告的数据库实例的逗号分隔列表。
使用命令行界面生成特定数据库实例的AWR报告:
1.在SQL提示符,输入
SQL> @$ORACLE_HOME/rdbms/admin/awrgrpti.sql
2.指定生成的报告类型
Specify the Report Type
~~~~~~~~~~~~~~~~~~~~~~~
AWR reports can be generated in the following formats. Please enter the
name of the format at the prompt. Default value is 'html'.
'html' HTML format (default)
'text' Text format
'active-html' Includes Performance Hub active report
Enter value for report_type: html
默认是html格式。
3.输入数据库标识符(dbid)和实例编号(inst_num)的值:
显示可用数据库标识符和实例编号的列表:
Instances in this Workload Repository schema
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DB Id Inst Num DB Name Instance Host
------------ ---------- --------- ---------- ------
* 243175950 1 CNDBA cndba host1
Enter value for dbid: 243175950
Using 243175950 for database Id
Enter value for inst_num: 1
Using 1 for instance number
Specify the number of days of snapshots to choose from
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Entering the number of days (n) will result in the most recent
(n) days of snapshots being listed. Pressing <return> without
specifying a number lists all completed snapshots.
4. 指定要列出快照ID的天数
Enter value for num_days: 2
此示例显示最近2天捕获的快照,直接回车键默认显示所有快照。
5.为生成AWR快照选择开始和结束快照ID
Enter value for begin_snap: 416
Begin Snapshot Id specified: 416
Enter value for end_snap: 417
End Snapshot Id specified: 417
6. 输入报告名称
按回车键生成默认报告名称
Enter value for report_name:
Using the report name awrrpt_1_416_417.html
生成名称为awrrpt_1_416_417.html的AWR报告,其数据库ID值为243175950。,默认生成的位置为执行sqlplus命令时操作系统当前目录。
相关推荐
- 甲骨文签署多项大型云协议,其一未来可贡献超300亿美元年收入
-
IT之家7月1日消息,根据甲骨文Oracle当地时间6月30日向美国证券交易委员会(SEC)递交的FORM8-K文件,该企业在始于2025年6月1日的202...
- 甲骨文获TEMU巨额合同,后者大部分基础设施将迁移至Oracle云
-
IT之家6月23日消息,Oracle甲骨文创始人、董事长兼首席技术官LarryEllison(拉里埃里森)在本月早些时候的2025财年第四财季和全财年财报电话会议上表示,Oracle...
- Spring Boot 自定义数据源设置,这些坑你踩过吗?
-
你在使用SpringBoot进行后端开发的过程中,是不是也遇到过这样的问题:项目上线后,数据库连接总是不稳定,偶尔还会出现数据读取缓慢的情况,严重影响了用户体验。经过排查,发现很大一部分原因竟然...
- 一个开箱即用的代码生成器(一个开箱即用的代码生成器是什么)
-
今天给大家推荐一个好用的代码生成器,名为renren-generator,该项目附带前端页面,可以很方便的选择我们所需要生成代码的表。首先我们通过git工具克隆下来代码(地址见文末),导入idea。...
- 低代码建模平台-数据挖掘平台(低代码平台的实现方式)
-
现在来看一下数据连接。·这里是管理数据连接的空间,点击这里可以新增一个数据连接。·输入连接名称,然后输入url,是通过gdbc的方式去连接的数据库,目前是支持mysql、oracle以及国产数据库达梦...
- navicat 17.2.7连接oracle数据库提示加载oracle库失败
-
系统:macOS15.5navicat版本:navicatpremiumlite17.2.7连接oracle测试报错:加载oracle库失败【解决办法】:放达里面找到程序,显示简介里面勾选“使...
- 开源“Windows”ReactOS更新:支持全屏应用
-
IT之家6月17日消息,ReactOS团队昨日(6月16日)在X平台发布系列推文,公布了该系统的最新进展,包括升级Explorer组件,支持全屏应用,从Wine项目引入了...
- SSL 推出采用全模拟内置混音技术的模拟调音台Oracle
-
英国调音台传奇品牌SolidStateLogic宣布推出Oracle——一款采用全模拟内置混音技术的调音台,在紧凑的AWS尺寸机箱内集成了大型调音台的功能。该调音台提供24输入和...
- 47道网络工程师常见面试题,看看有没有你不会的!
-
你们好,我的网工朋友。网络工程师面试的时候,都会被问到什么?这个问题其实很泛,一般来说,你肯定要先看明白岗位需求写的是什么。基本上都是围绕公司需要的业务去问的。但不可否认的是,那些最基础的概念,多少也...
- 汉得信息:发布EBS系统安装启用JWS的高效解决方案
-
e公司讯,从汉得信息获悉,近日,微软官方宣布InternetExplorer桌面应用程序将于2022年6月15日正式停用。目前大部分客户都是使用IE浏览器打开EBS的Form界面,IE停用后,只能使...
- 36.9K star ! 推荐一个酷炫低代码开发平台!功能太强!
-
前言最近在逛github,看看能不能搜罗到一些对自己有帮助的开源软件。不经意间看到一个高star的java开源项目:jeecg-boot。进入在线演示版一看,感叹实在是太牛了!此开源项目不管是给来学习...
- Linux新手入门系列:Linux下jdk安装配置
-
本系列文章是把作者刚接触和学习Linux时候的实操记录分享出来,内容主要包括Linux入门的一些理论概念知识、Web程序、mysql数据库的简单安装部署,希望能够帮到一些初学者,少走一些弯路。注意:L...
- 手把手教你在嵌入式设备中使用SQLite3
-
摘要:数据库是用来存储和管理数据的专用软件,使得管理数据更加安全,方便和高效。数据库对数据的管理的基本单位是表(table),在嵌入式linux中有时候它也需要用到数据库,听起来好难,其实就是几个函数...
- JAVA语言基础(java语言基础知识)
-
一、计算机的基本概念什么是计算机?计算机(Computer)全称:电子计算机,俗称电脑。是一种能够按照程序运行、自动高速处理海量数据的现代化智能电子设备。由硬件和软件组成、没有安装过任何软件的计算机称...
- 再见 Navicat!一款开源的 Web 数据库管理工具!
-
大家好,我是Java陈序员。在日常的开发工作中,常常需要与各种数据库打交道。而为了提高工作效率,常常会使用一些可视化工具进行操作数据库。今天,给大家介绍一款开源的数据库管理工具,无需下载安装软件,基...
你 发表评论:
欢迎- 一周热门
- 最近发表
-
- 甲骨文签署多项大型云协议,其一未来可贡献超300亿美元年收入
- 甲骨文获TEMU巨额合同,后者大部分基础设施将迁移至Oracle云
- Spring Boot 自定义数据源设置,这些坑你踩过吗?
- 一个开箱即用的代码生成器(一个开箱即用的代码生成器是什么)
- 低代码建模平台-数据挖掘平台(低代码平台的实现方式)
- navicat 17.2.7连接oracle数据库提示加载oracle库失败
- 开源“Windows”ReactOS更新:支持全屏应用
- SSL 推出采用全模拟内置混音技术的模拟调音台Oracle
- 47道网络工程师常见面试题,看看有没有你不会的!
- 汉得信息:发布EBS系统安装启用JWS的高效解决方案
- 标签列表
-
- oracle位图索引 (74)
- oracle批量插入数据 (65)
- oracle事务隔离级别 (59)
- oracle 空为0 (51)
- oracle主从同步 (55)
- oracle 乐观锁 (51)
- redis 命令 (78)
- php redis (88)
- redis 存储 (66)
- redis 锁 (69)
- 启动 redis (66)
- redis 时间 (56)
- redis 删除 (67)
- redis内存 (57)
- redis并发 (52)
- redis 主从 (69)
- redis 订阅 (51)
- redis 登录 (54)
- redis 面试 (58)
- 阿里 redis (59)
- redis 搭建 (53)
- redis的缓存 (55)
- lua redis (58)
- redis 连接池 (61)
- redis 限流 (51)