Oracle数据库AWR的使用实例详解

上次我们介绍了:Oracle数据库AWR的组成及工作原理的详细介绍,本文我们详细介绍一下AWR的使用,接下来就让我们来一起了解一下这部分内容。

AWR由ORACLE自动产生,但是也可以通过DBMS_WORKLOAD_REPOSITORY包来手工创建、删除和修改。可以使用desc命令查看该包中的过程。下面只介绍几个常用的:

1.手工创建一个快照

  1. SQL> select count(*) from wrh$_active_session_history;  
  2.  
  3. COUNT(*)  
  4.  
  5. ----------  
  6.  
  7. 317  
  8.  
  9. SQL> begin  
  10.  
  11. 2 dbms_workload_repository.create_snapshot();  
  12.  
  13. 3 end;  
  14.  
  15. 4 /  
  16.  
  17. PL/SQL 过程已成功完成。  
  18.  
  19. SQL> select count(*) from wrh$_active_session_history;  
  20.  
  21. COUNT(*)  
  22.  
  23. ----------  
  24.  
  25. 320 

2.手工删除指定范围的快照

  1. SQL> select * from wrh$_active_session_history where snap_id = 96;  
  2.  
  3. SNAP_ID DBID INSTANCE_NUMBER SAMPLE_ID SAMPLE_TIME  
  4.  
  5. ---------- ---------- --------------- ---------- ----------------------------  
  6.  
  7. 96 1160732652 1 236930 06-10月-07 11.26.04.562 上午  
  8.  
  9. 96 1160732652 1 236930 06-10月-07 11.26.04.562 上午  
  10.  
  11. 96 1160732652 1 236930 06-10月-07 11.26.04.562 上午  
  12.  
  13. SQL> begin  
  14.  
  15. 2 dbms_workload_repository.drop_snapshot_range(low_snap_id => 96, high_snap_id => 96, dbid => 1160732652);  
  16.  
  17. 3 end;  
  18.  
  19. 4 /  
  20.  
  21. PL/SQL 过程已成功完成。  
  22.  
  23. SQL> select * from wrh$_active_session_history where snap_id = 96;  
  24.  
  25. 未选定行 

3.修改采集时间和统计信息保留时间

  1. PROCEDURE MODIFY_SNAPSHOT_SETTINGS  
  2.  
  3. 参数名称类型输入/输出默认值?  
  4.  
  5. ------------------------------ --- 
  6.  
  7. RETENTION NUMBER IN DEFAULT  
  8.  
  9. INTERVAL NUMBER IN DEFAULT  
  10.  
  11. TOPNSQL NUMBER IN DEFAULT  
  12.  
  13. DBID NUMBER IN DEFAULT 

通过修改retention参数可以修改awr信息的保留期限。默认的是七天,最小的值是一天。如果把retention设置为零,自动清除就关闭了.如果awr发现sysaux空间不够,它通过删除那些最老部分的快照来重新使用这些空间.同时,也会给dba发一条警告,告诉sysaux空间不够了(在警告日志中)。

通过修改interval参数可以修改awr信息的采样频率。最小的值是10分钟,默认的是60分钟.典型的值是10,20,30,60,120等等。把interval设为0则关闭自动捕捉快照.如将收集间隔时间改为30 分钟一次。并且保留5天时间(注:单位都是为分钟):

  1. SQL> select *from dba_hist_wr_control;  
  2.  
  3. DBID SNAP_INTERVAL RETENTION TOPNSQL  
  4.  
  5. ---------- ------------------ -------------------------- -----------  
  6.  
  7. 1160732652 +00000 01:00:00.0 +00007 00:00:00.0 DEFAULT  
  8.  
  9. SQL> exec dbms_workload_repository.modify_snapshot_settings(interval=>30, retention=>5*24*60);  
  10.  
  11. PL/SQL 过程已成功完成。  
  12.  
  13. SQL> SELECT *from dba_hist_wr_control;  
  14.  
  15. DBID SNAP_INTERVAL RETENTION TOPNSQL  
  16.  
  17. ---------- ------------------- ------------------------- -----------  
  18.  
  19. 1160732652 +00000 00:30:00.0 +00005 00:00:00.0 DEFAULT  
  20.  
  21. SQL> 

4.设置基线

基线(baseline)是一种机制,这样你可以在重要时间的快照信息集做标记。一个基线定义在一对快照之间,快照通过他们的快照序列号识别.每个基线有且只有一对快照。

一次典型的性能调整实践从采集量度的基准线集合、作出改动、然后采集另一个基准线集合开始。可以比较这两个集合来检查所作的改动的效果。在 AWR 中,对现有的已采集的快照可以执行相同类型的比较。

假定一个名称为 apply_interest 的高度资源密集的进程在下午 1:00 到 3:00 之间运行,对应快照 ID 95 到 98。我们可以为这些快照定义一个名称为 apply_interest_1 的基准线:

  1. SQL> select *From dba_hist_baseline;  
  2.  
  3. 未选定行  
  4.  
  5. SQL> select * from wrm$_baseline;  
  6.  
  7. 未选定行  
  8.  
  9. SQL> exec dbms_workload_repository.create_baseline(95, 98, 'apply_interest_1');  
  10.  
  11. PL/SQL 过程已成功完成。 

这一操作将快照从 95 到 98 编号,作为上面指定的基准线的一部分。查看现有的基准线:

  1. SQL> select *from dba_hist_baseline;  
  2.  
  3. DBID BASELINE_ID BASELINE_NAME START_SNAP_ID START_SNAP_TIME END_SNAP_ID END_SNAP_TIME  
  4.  
  5. ---------- ----------- ------------------------- ------------- ------------------------------------- ----------- ------------  
  6.  
  7. 1160732652 1 apply_interest_1 95 06-10月-07 11.00.05.375 上午 98 06-10月-07 01.44.58.062 下午  
  8.  
  9. SQL> select *from wrm$_baseline;  
  10.  
  11. DBID BASELINE_ID BASELINE_NAME START_SNAP_ID END_SNAP_ID  
  12.  
  13. ---------- ----------- ---------------------------- ------------- -----------  
  14.  
  15. 1160732652 1 apply_interest_1 95 98  
  16.  
  17. SQL> 

在一些调整步骤之后,我们可以创建另一个基准线 — 假设名称为 apply_interest_2,然后只为那些与这两条基准线相关的快照比较量度。

  1. SQL> exec dbms_workload_repository.create_baseline(92, 94, 'apply_interest_2');  
  2.  
  3. PL/SQL 过程已成功完成。 

像这样把快照分隔在仅仅几个集合中有助于研究调整对于性能量度的影响。您可以在分析之后使用 drop_baseline() 来删除基准线;快照将保留(也可级联删除)。此外,当清除例程开始删除旧的快照时,与基准线相关的快照不会被清除,从而允许进行进一步的分析。

5.删除基线

如果要删除一个基准线:

  1. SQL> exec dbms_workload_repository.drop_baseline(baseline_name=>'apply_interest_1', cascade=>false);  
  2.  
  3. PL/SQL 过程已成功完成。  
  4.  
  5. SQL> select *from wrh$_active_session_history where snap_id in (95,96,97,98);  
  6.  
  7. SNAP_ID DBID INSTANCE_NUMBER SAMPLE_ID SAMPLE_TIME  
  8.  
  9. ---------- ---------- --------------- ---------- -------------------------------  
  10.  
  11. 95 1160732652 1 235360 06-10月-07 10.56.29.872 上午  
  12.  
  13. 95 1160732652 1 235230 06-10月-07 10.54.19.857 上午  
  14.  
  15. 95 1160732652 1 233130 06-10月-07 10.19.19.478 上午  
  16.  
  17. 95 1160732652 1 232830 06-10月-07 10.14.18.859 上午  
  18.  
  19. 95 1160732652 1 232250 06-10月-07 10.04.38.481 上午  
  20.  
  21. 97 1160732652 1 238600 06-10月-07 12.33.08.420 下午  
  22.  
  23. 97 1160732652 1 238600 06-10月-07 12.33.08.420 下午  
  24.  
  25. 97 1160732652 1 238600 06-10月-07 12.33.08.420 下午  
  26.  
  27. 97 1160732652 1 238600 06-10月-07 12.33.08.420 下午  
  28.  
  29. 97 1160732652 1 238600 06-10月-07 12.33.08.420 下午  
  30.  
  31. 97 1160732652 1 238600 06-10月-07 12.33.08.420 下午  
  32.  
  33. SNAP_ID DBID INSTANCE_NUMBER SAMPLE_ID SAMPLE_TIME  
  34.  
  35. ---------- ---------- --------------- ---------- -------------------------------  
  36.  
  37. 97 1160732652 1 238420 06-10月-07 11.50.55.686 上午  
  38.  
  39. 97 1160732652 1 238230 06-10月-07 11.47.45.687 上午  
  40.  
  41. 98 1160732652 1 239140 06-10月-07 01.42.00.976 下午  
  42.  
  43. 98 1160732652 1 239140 06-10月-07 01.42.00.976 下午  
  44.  
  45. 98 1160732652 1 239140 06-10月-07 01.42.00.976 下午  
  46.  
  47. 98 1160732652 1 239140 06-10月-07 01.42.00.976 下午  
  48.  
  49. 98 1160732652 1 239140 06-10月-07 01.42.00.976 下午  
  50.  
  51. 98 1160732652 1 239130 06-10月-07 01.27.04.161 下午  
  52.  
  53. 98 1160732652 1 239130 06-10月-07 01.27.04.161 下午  
  54.  
  55. 98 1160732652 1 239130 06-10月-07 01.27.04.161 下午  
  56.  
  57. 已选择21行。  
  58.  
  59. SQL> exec dbms_workload_repository.drop_baseline(baseline_name=>'apply_interest_2', cascade=>true);  
  60.  
  61. PL/SQL 过程已成功完成。  
  62.  
  63. SQL> select *from wrh$_active_session_history where snap_id in (92,93,94);  
  64.  
  65. 未选定行  
  66.  
  67. SQL> 

以上就是一些Oracle数据库AWR的使用的详细操作,本文就介绍到这里了,希望本次的介绍能够对您有所收获!

【编辑推荐】

  1. 关于Oracle数据库闪回个性的详细介绍
  2. Oracle数据库对DDL语句和DML语句的事务管理
  3. Oracle数据库启动参数文件及相关SQL语句简介
  4. Oracle数据库的几种文件及表空间数据块的知识简介
  5. Oracle数据库查询登录用户名所属表空间及其使用情况

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/251796.html<

(0)
运维的头像运维
上一篇2025-04-29 03:42
下一篇 2025-04-29 03:43

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注