热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

Oracle11gAWR系列二:AWRsnapshot的管理-mysql教程

默认情况下,OracleDatabase每小时产生一次快照,并将统计信息在工作负载信息库中保留8天。如有必要,您可以使用DBMS_WORKLOAD_REPOSITORY包中的一些存储过程手动创建、删除和修改快照。要调用这些存储过程,用户必须授予DBA角色。1、创建快照:您

默认情况下,Oracle Database 每小时产生一次快照,并将统计信息在工作负载信息库中保留 8 天。如有必要,您可以使用 DBMS_WORKLOAD_REPOSITORY 包中的一些存储过程手动创建、删除和修改快照。要调用这些存储过程,用户必须授予 DBA 角色。 1、创建快照: 您

默认情况下,Oracle Database 每小时产生一次快照,并将统计信息在工作负载信息库中保留 8 天。如有必要,您可以使用 DBMS_WORKLOAD_REPOSITORY 包中的一些存储过程手动创建、删除和修改快照。要调用这些存储过程,用户必须授予 DBA 角色。


1、创建快照:


您可以使用 CREATE_SNAPSHOT 存储过程手动创建快照来捕获非自动生成快照的时间内的统计信息;


Syntax
DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT(
flush_level IN VARCHAR2 DEFAULT 'TYPICAL');


DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT(
flush_level IN VARCHAR2 DEFAULT 'TYPICAL')
RETURN NUMBER;




flush_level 参数
Flush level 可以是 'TYPICAL' 或 'ALL'

BEGIN
DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT ();
END;
/


当 flush_level 指定为默认的 typical 时,执行上述命令后实例的快照会立即创建。可以在 dba_hist_snapshot 视图中查看生成的快照。


23:03:53 sys@PROD> select SNAP_ID,BEGIN_INTERVAL_TIME,FLUSH_ELAPSED,SNAP_LEVEL from dba_hist_snapshot order by snap_id;


SNAP_ID BEGIN_INTERVAL_TIME FLUSH_ELAPSED SNAP_LEVEL
---------- ---------------------------------------- ------------------------------ ----------
SNAP_ID BEGIN_INTERVAL_TIME FLUSH_ELAPSED SNAP_LEVEL
---------- ---------------------------------------- ------------------------------ ----------
1 02-MAR-13 02.32.05.000 PM +00000 00:00:05.4 1
2 02-MAR-13 03.00.05.646 PM +00000 00:00:02.6 1
3 02-MAR-13 04.00.16.352 PM +00000 00:00:02.1 1
4 02-MAR-13 05.00.27.934 PM +00000 00:00:03.4 1
5 02-MAR-13 06.00.39.642 PM +00000 00:00:02.4 1
6 02-MAR-13 08.56.46.000 PM +00000 00:00:16.5 1
7 02-MAR-13 09.07.41.504 PM +00000 00:00:03.9 1
8 02-MAR-13 10.00.02.059 PM +00000 00:00:03.0 1
9 02-MAR-13 11.00.10.027 PM +00000 00:00:02.6 1
10 03-MAR-13 12.00.18.390 AM +00000 00:00:03.6 1
11 03-MAR-13 01.00.27.388 AM +00000 00:00:03.1 1
12 03-MAR-13 01.03.04.000 PM +00000 00:00:05.1 1
13 03-MAR-13 01.14.02.919 PM +00000 00:00:03.3 1
14 03-MAR-13 02.00.08.670 PM +00000 00:00:03.3 1
15 03-MAR-13 09.18.52.000 PM +00000 00:00:02.4 1
16 03-MAR-13 09.29.49.558 PM +00000 00:00:01.8 1
17 03-MAR-13 10.00.53.192 PM +00000 00:00:01.9 1
18 04-MAR-13 12.13.38.000 PM +00000 00:00:09.2 1
19 04-MAR-13 12.24.36.782 PM +00000 00:00:04.1 1
20 04-MAR-13 01.00.40.923 PM +00000 00:00:03.2 1
21 04-MAR-13 02.00.49.845 PM +00000 00:00:04.0 1
22 04-MAR-13 03.00.58.970 PM +00000 00:00:02.7 1
23 04-MAR-13 04.00.08.328 PM +00000 00:00:02.9 1
24 04-MAR-13 05.00.17.091 PM +00000 00:00:02.0 1
25 04-MAR-13 06.00.26.037 PM +00000 00:00:01.6 1
26 04-MAR-13 07.00.35.429 PM +00000 00:00:01.9 1
27 06-MAR-13 10.30.05.000 PM +00000 00:00:04.5 1
28 07-MAR-13 09.08.50.000 PM +00000 00:00:09.2 1
29 07-MAR-13 09.19.47.771 PM +00000 00:00:02.0 1
30 07-MAR-13 10.00.53.958 PM +00000 00:00:02.4 1




2. 删除快照


您可以使用 DROP_SNAPSHOT_RANGE 存储过程删除个范围内的快照。要查看快照的 snap_id 和 数据库 ID 的列表,请查看 DBA_HIST_SNAPSHOT 视图。例如,您可以删除上例中 snap_id 小于 20 的快照:


DBMS_WORKLOAD_REPOSITORY.DROP_SNAPSHOT_RANGE(
low_snap_id IN NUMBER,
high_snap_id IN NUMBER
dbid IN NUMBER DEFAULT NULL);




BEGIN
DBMS_WORKLOAD_REPOSITORY.DROP_SNAPSHOT_RANGE (low_snap_id => 1,
high_snap_id => 20, dbid => 220853307);
END;
/


23:10:05 sys@PROD> select SNAP_ID,DBID,BEGIN_INTERVAL_TIME,FLUSH_ELAPSED,SNAP_LEVEL from dba_hist_snapshot order by snap_id;


SNAP_ID DBID BEGIN_INTERVAL_TIME FLUSH_ELAPSED SNAP_LEVEL
---------- ---------- ---------------------------------------- ------------------------------ ----------
21 220853307 04-MAR-13 02.00.49.845 PM +00000 00:00:04.0 1
22 220853307 04-MAR-13 03.00.58.970 PM +00000 00:00:02.7 1
23 220853307 04-MAR-13 04.00.08.328 PM +00000 00:00:02.9 1
24 220853307 04-MAR-13 05.00.17.091 PM +00000 00:00:02.0 1
25 220853307 04-MAR-13 06.00.26.037 PM +00000 00:00:01.6 1
26 220853307 04-MAR-13 07.00.35.429 PM +00000 00:00:01.9 1
27 220853307 06-MAR-13 10.30.05.000 PM +00000 00:00:04.5 1
28 220853307 07-MAR-13 09.08.50.000 PM +00000 00:00:09.2 1
29 220853307 07-MAR-13 09.19.47.771 PM +00000 00:00:02.0 1
30 220853307 07-MAR-13 10.00.53.958 PM +00000 00:00:02.4 1

如果不指定 dbid 的值,则将使用本地数据库标示符作为默认的值。


在调用 DROP_SNAPSHOT_RANGE 存储过程时,属于指定快照范围时间段的 Active Session History (ASH) 数据也将清除。




3.修改快照设置
对于指定的数据库 ID,您可以调整快照生成的时间间隔、保留期限和捕获的 Top SQL,但是请注意,这会影响 Oracle Database 诊断工具的精确性。


INTERVAL 设置影响数据库自动生成快照的频率。RETENTION 设置影响数据库在工作负载信息库中存储快照的时间。TOPNSQL 设置影响针对每个 SQL 条件捕获的 Top SQL 的数量(Elapsed Time、CPU Time、Parse Calls、sharable Memory 和 Version Count)。此设置的值不受 statistics_level 和 flush_level 的影响,将会覆盖系统 AWR SQL 收集的默认行为。可以讲次设置的值设置为 MAXIMUM 来捕获 shared SQL area 中的全部 SQL 集合,这么做(将此值设置为一个非常高的值)可能会导致一定的空间和性能问题,因为将会收集和存储更多的数据。要调整这些设置,请使用 MODIFY_SNAPSHOT_SETTING 存储过程。例如:


Syntax
DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(
retention IN NUMBER DEFAULT NULL,
interval IN NUMBER DEFAULT NULL,
topnsql IN NUMBER DEFAULT NULL,
dbid IN NUMBER DEFAULT NULL);


DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(
retention IN NUMBER DEFAULT NULL,
interval IN NUMBER DEFAULT NULL,
topnsql IN VARCHAR2,
dbid IN NUMBER DEFAULT NULL);






BEGIN
DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS( retention => 43200,
interval => 30, topnsql => 100, dbid => 220853307);
END;
/


在本例中,快照的保留期限将设置为 43200 分钟(30天),快照间隔指定未 30 分钟,每个 SQL 条件的 Top SQL 数量指定为 100。如果指定未 NULL,则将保留现有设置。dbid 可选。如果您不指定dbid,则将使用本地数据库标示符作为默认值。您可以通过 DBA_HIST_WR_CONTROL视图查看数据库实例的当前默认值。


col snap_interval for a30
select * from dba_hist_wr_control;


DBID SNAP_INTERVAL RETENTION TOPNSQL
---------- ------------------------------ --------------------------------------------------------------------------- ----------

220853307 +00000 01:00:00.0 +00008 00:00:00.0 DEFAULT


http://blog.csdn.net/xiangsir/article/details/8652247

推荐阅读
  • 本文介绍了如何在MySQL中将零值替换为先前的非零值的方法,包括使用内联查询和更新查询。同时还提供了选择正确值的方法。 ... [详细]
  • 本文介绍了如何使用Power Design(PD)和SQL Server进行数据库反向工程的方法。通过创建数据源、选择要反向工程的数据表,PD可以生成物理模型,进而生成所需的概念模型。该方法适用于SQL Server数据库,对于其他数据库是否适用尚不确定。详细步骤和操作说明可参考本文内容。 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • 本文由编程笔记小编整理,介绍了PHP中的MySQL函数库及其常用函数,包括mysql_connect、mysql_error、mysql_select_db、mysql_query、mysql_affected_row、mysql_close等。希望对读者有一定的参考价值。 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • Java String与StringBuffer的区别及其应用场景
    本文主要介绍了Java中String和StringBuffer的区别,String是不可变的,而StringBuffer是可变的。StringBuffer在进行字符串处理时不生成新的对象,内存使用上要优于String类。因此,在需要频繁对字符串进行修改的情况下,使用StringBuffer更加适合。同时,文章还介绍了String和StringBuffer的应用场景。 ... [详细]
  • Oracle分析函数first_value()和last_value()的用法及原理
    本文介绍了Oracle分析函数first_value()和last_value()的用法和原理,以及在查询销售记录日期和部门中的应用。通过示例和解释,详细说明了first_value()和last_value()的功能和不同之处。同时,对于last_value()的结果出现不一样的情况进行了解释,并提供了理解last_value()默认统计范围的方法。该文对于使用Oracle分析函数的开发人员和数据库管理员具有参考价值。 ... [详细]
  • MyBatis错题分析解析及注意事项
    本文对MyBatis的错题进行了分析和解析,同时介绍了使用MyBatis时需要注意的一些事项,如resultMap的使用、SqlSession和SqlSessionFactory的获取方式、动态SQL中的else元素和when元素的使用、resource属性和url属性的配置方式、typeAliases的使用方法等。同时还指出了在属性名与查询字段名不一致时需要使用resultMap进行结果映射,而不能使用resultType。 ... [详细]
  • 本文详细介绍了在ASP.NET中获取插入记录的ID的几种方法,包括使用SCOPE_IDENTITY()和IDENT_CURRENT()函数,以及通过ExecuteReader方法执行SQL语句获取ID的步骤。同时,还提供了使用这些方法的示例代码和注意事项。对于需要获取表中最后一个插入操作所产生的ID或马上使用刚插入的新记录ID的开发者来说,本文提供了一些有用的技巧和建议。 ... [详细]
  • 本文介绍了一个在线急等问题解决方法,即如何统计数据库中某个字段下的所有数据,并将结果显示在文本框里。作者提到了自己是一个菜鸟,希望能够得到帮助。作者使用的是ACCESS数据库,并且给出了一个例子,希望得到的结果是560。作者还提到自己已经尝试了使用"select sum(字段2) from 表名"的语句,得到的结果是650,但不知道如何得到560。希望能够得到解决方案。 ... [详细]
  • 本文详细介绍了Spring的JdbcTemplate的使用方法,包括执行存储过程、存储函数的call()方法,执行任何SQL语句的execute()方法,单个更新和批量更新的update()和batchUpdate()方法,以及单查和列表查询的query()和queryForXXX()方法。提供了经过测试的API供使用。 ... [详细]
  • 高质量SQL书写的30条建议
    本文提供了30条关于优化SQL的建议,包括避免使用select *,使用具体字段,以及使用limit 1等。这些建议是基于实际开发经验总结出来的,旨在帮助读者优化SQL查询。 ... [详细]
  • 本文介绍了通过mysql命令查看mysql的安装路径的方法,提供了相应的sql语句,并希望对读者有参考价值。 ... [详细]
  • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
author-avatar
php枫羲
寂寞是一个人的修身养性
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有