Oracle 11g R1中AWR基线增强(一)

日期: 2008-08-28 翻译:黄永兵 来源:TechTarget中国 英文

  自动工作量仓库是从Oracle 10g开始引入的,不过只包括了一些简单的基线功能,创建一个基线允许保留指定范围内的快照用于性能对比,与AWR保留策略无关,可以使用DBMS_WORKLOAD_REPOSITORY包来管理这个功能,在11g中,它被增强了。


  注意,DBMS_WORKLOAD_REPOSITORY包中的大部分存储过程和函数接受DBID参数,该参数是本地数据库的默认标识符,由于这个原因,下面的例子中将会省略掉该参数。


  固定基线


  相对Oracle 10g而言,11g中的固定或静态基线功能更丰富,最初,在Oracle 10g中,DBMS_WORKLOAD_REPOSITORY包中只提供了一个create_BASELINE存储过程允许你使用特定的快照ID来定义基线,在Oracle 11g中,包括了更多的用于创建基线存储过程和函数,它们使用开始时间和截至时间进行基线创建,这样有助于计算出有关的快照ID,函数与存储过程的参数一样,但返回的是基线的ID,默认基线永远保存,但新的有效期参数expiration允许指定在某一日期后那些基线将自动失效。







SET SERVEROUTPUT ON
DECLARE
  l_return  NUMBER;
BEGIN
  — Using procedures.
  DBMS_WORKLOAD_REPOSITORY.create_baseline(
    start_snap_id => 2490,【快照开始ID】
    end_snap_id   => 2491,【快照截至ID】
    baseline_name => ’test1_bl’,
    expiration    => 60);【60天后失效】
  DBMS_WORKLOAD_REPOSITORY.create_baseline(
    start_time    => TO_DATE(’09-JUL-2008 17:00’, ’DD-MON-YYYY HH24:MI’),【开始时间】
    end_time      => TO_DATE(’09-JUL-2008 18:00’, ’DD-MON-YYYY HH24:MI’),【截至时间】
    baseline_name => ’test2_bl’,
    expiration    => NULL);【永远都不失效】
  — Using functions.
  l_return := DBMS_WORKLOAD_REPOSITORY.create_baseline(
                start_snap_id => 2492,
                end_snap_id   => 2493,
                baseline_name => ’test3_bl’,
                expiration    => 30); 
  DBMS_OUTPUT.put_line(’Return: ’ || l_return);
  l_return := DBMS_WORKLOAD_REPOSITORY.create_baseline(
                start_time    => TO_DATE(’09-JUL-2008 19:00’, ’DD-MON-YYYY HH24:MI’),
                end_time      => TO_DATE(’09-JUL-2008 20:00’, ’DD-MON-YYYY HH24:MI’),
                baseline_name => ’test4_bl’,
                expiration    => NULL);
  DBMS_OUTPUT.put_line(’Return: ’ || l_return);
END;
/
Return: 8
Return: 9
PL/SQL procedure successfully completed.
SQL> 


  新的基线在DBA_HIST_BASELINE视图中可见。






COLUMN baseline_name FORMAT A15
select baseline_id, baseline_name, START_SNAP_ID, 
       TO_char(start_snap_time, ’DD-MON-YYYY HH24:MI’) AS start_snap_time,       
       END_SNAP_ID,            
       TO_char(end_snap_time, ’DD-MON-YYYY HH24:MI’) AS end_snap_time
FROM   dba_hist_baseline
where  baseline_type = ’STATIC’
ORDER BY baseline_id;
BASELINE_ID BASELINE_NAME   START_SNAP_ID START_SNAP_TIME   END_SNAP_ID END_SNAP_TIME
———– ————— ————- —————– ———– —————–
          6 test1_bl                 2490 09-JUL-2008 17:00        2491 09-JUL-2008 18:00
          7 test2_bl                 2490 09-JUL-2008 17:00        2491 09-JUL-2008 18:00
          8 test3_bl                 2492 09-JUL-2008 19:00        2493 09-JUL-2008 20:00
          9 test4_bl                 2492 09-JUL-2008 19:00        2493 09-JUL-2008 20:00
4 rows selected.
SQL>


  使用管道表函数select_BASELINE_DETAILS,指定BASELINE_ID参数,可以返回某个特定基线的信息,也可以使用管道表函数select_BASELINE_METRIC,指定BASELINE_NAM参数,返回同样的结果。







select * FROM TABLE(DBMS_WORKLOAD_REPOSITORY.select_baseline_details(6));
select * FROM TABLE(DBMS_WORKLOAD_REPOSITORY.select_baseline_metric(’SYSTEM_MOVING_WINDOW’));


  基线可以使用存储过程rename_BASELINE进行重命名。







BEGIN
  DBMS_WORKLOAD_REPOSITORY.rename_baseline(
    old_baseline_name => ’test4_bl’,
    new_baseline_name => ’test5_bl’);
END;
/
 


  使用存储过程drop_BASELINE可以删除基线。







BEGIN
  DBMS_WORKLOAD_REPOSITORY.drop_baseline(baseline_name => ’test1_bl’);
  DBMS_WORKLOAD_REPOSITORY.drop_baseline(baseline_name => ’test2_bl’);
  DBMS_WORKLOAD_REPOSITORY.drop_baseline(baseline_name => ’test3_bl’);
  DBMS_WORKLOAD_REPOSITORY.drop_baseline(baseline_name => ’test5_bl’);
END;
/
 

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

相关推荐

  • DBA在使用SQL语句时需要注意的问题

    Michael McLaughlin是Oracle 11g和MySQL 5.6开发者指南的作者,他在书中为Oracle数据库开发者提供了一些建议与帮助。

  • Oracle数据库不同版本的硬件需求

    每个企业的IT环境都是不同的,这些环境中可能会包含虚拟服务器、各种网络操作系统、基于云计算的服务、SAN等等,根据应用场景选择硬件是基本的准则。

  • Oracle 11g SQL性能分析器技术指南

    当今信息时代要求企业的IT系统能够始终保证系统的性能并且提供更高的服务质量,我们的IT系统经常要面对应用程序升级、硬件更新、数据库升级、对象结构变更等导致SQL性能下降的问题。

  • Oracle 11g SecureFile技术详解手册

    SecureFile不仅是新一代 LOB,它们还为 LOB 带来了更多的价值,尤其是以前只能在文件系统领域中获得的特性。