使用的心田生成一条sql的执行统计报告

  

我们都知道甲骨文的心田报告是一个很强大的功能通过分析心田报告可以打出甲骨文数据运行过程中出现的问题和可能存在的隐患。但是心田报告中没有关于单个SQL执行计划,统计信息的详细描述,但不代表心田;不能提供这种功能。

本文介绍的是如何使用的心田报告生成一条SQL的详细执行统计报告。

实验环境11.2.0.4

1,调整的心田关于SQL收集的设置,调整的目的是因为默认情况下心田;并非捕获所有的SQL语句,此调整是为了让心田;可以收集实验过程中的SQL语句

zx@ORCL> select  *,得到dba_hist_wr_control;      ,,,,,DBID  snap_interval,,,,,,,,保留,TOPNSQL   - - - - - - - - - - -,- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -女人,- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -女人,- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -   1444351641,+ 00000,01:00:00.0,,,,,,,+ 00008,00:00:00.0,,默认      zx@ORCL> exec  dbms_workload_repository.modify_snapshot_settingS (topnsql=在“最大”);      PL/SQL  procedure  successfully 完成。      zx@ORCL> select  *,得到dba_hist_wr_control;      ,,,,,DBID  snap_interval,,,,,,,,保留,TOPNSQL   - - - - - - - - - - -,- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -女人,- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -女人,- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -   1444351641,+ 00000,01:00:00.0,,,,,,,+ 00008,00:00:00.0,,,最大的

2,手工创建一个心田快照

zx@ORCL> exec  dbms_workload_repository.create_snapshot;      PL/SQL  procedure  successfully 完成。

3,创建测试表并在不同情况下执行测试sql,并找到测试sql的sql_id

zx@ORCL> create  table  t  as  select  *,得到dba_objects;      Table 创建。      zx@ORCL> create  unique  index  idx_unique_t 提醒t (object_id);      Index 创建。      zx@ORCL> exec  dbms_stats.gather_table_stats(用户、“T”,级联=祝辞真实);      PL/SQL  procedure  successfully 完成。      zx@ORCL> select  object_name 得到t  where  object_id=123;      OBJECT_NAME   - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -   生态美元      zx@ORCL> select  sql_id sql_text 得到v $ sql  where  sql_text=钡玫絫 获select  object_name ; where  object_id=123”;      sql_id sql_text   - - - - - - - - - - - - - - - - - -女人,,,,,,,,,,,,,,,,,,,,,- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -   2 dymmcx3kf7h2 select  object_name 得到t  where  object_id=123

4,再次手工生成的心田快照

zx@ORCL> exec  dbms_workload_repository.create_snapshot;      PL/SQL  procedure  successfully 完成。

5,使用awrsqrpt。sql脚本生成对于sql_id=2 dymmcx3kf7h2的sql的详细统计信息。过程与生成awrrpt类似,不同的是需要指定要生成报告的sql_id

zx@ORCL> @吗?/rdbms/admin/awrsqrpt      Current 实例   ~~~~~~~~~~~~~~~~      ,,DB  Id ,,, DB 名字,Inst  Num 实例   - - - - - - - - - - -安康;- - - - - - - - - - - -,- - - - - - - - - -,- - - - - - - - - - - -   ,1444351641 orcl 1  orcl         Specify 从而,Report 类型   ~~~~~~~~~~~~~~~~~~~~~~~   Would 你;like  an  HTML 报告,趁机a  plain  text 报告吗?   Enter “html”, for  an  HTML 报告,“文本”,趁机for  plain 文本   Defaults 用“html”   Enter  value  for  report_type:文本      Type 指定:,文本         Instances 却;能够拷贝Workload  Repository 模式   ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~      ,,DB  Id ,,,, Inst  Num  DB 名字,,,主机实例   - - - - - - - - - - - -,- - - - - - - - - -,- - - - - - - - - - - -,- - - - - - - - - - - -,- - - - - - - - - - - -   *,1444351641,,,,1,李艾科,,,orcl rhel6      Using  1444351641, for  database  Id   用,,,,,,,1,for  instance 数字         Specify 从而,number  of  days  of  snapshots 用choose 从   ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~   Entering 从而number  of  days  (n), will  result 拷贝,most 最近   (n), days  of  snapshots  being 只列出,Pressing  & lt; return>没有   specifying  a  number  lists  all  completed 快照。         Enter  value  for  num_days: 1      Listing 从而last 天's  Completed 快照      提前   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

使用的心田生成一条sql的执行统计报告