Chinaunix首页 | 论坛 | 博客
  • 博客访问: 229526
  • 博文数量: 57
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 674
  • 用 户 组: 普通用户
  • 注册时间: 2013-11-30 22:48
个人简介

2014,换个角度,希望接下来的事情值得期待。

文章分类

全部博文(57)

文章存档

2015年(1)

2014年(55)

2013年(1)

我的朋友

分类: Oracle

2014-01-05 14:34:16

一、建表
SQL> create table bigtab tablespace jerry as select rownum as id,a.* from dba_objects a;
 
Table created


SQL> create table smalltab tablespace jerry as select rownum as id,a.* from dba_objects a;
 
Table created


二、插入数据
SQL> declare
  2   num number;
  3  begin
  4   for num in 1..100 loop
  5   insert into bigtab select rownum as id,a.* from dba_objects a ;
  6   commit;
  7   end loop;
  8  end;
  9  /
 
PL/SQL procedure successfully completed


三、采集一次工作快照
SQL> begin
  2   dbms_workload_repository.create_snapshot('TYPICAL');
  3  end;
  4  /
 
PL/SQL procedure successfully completed


四、进行一些负荷操作
SQL> set timing on;
SQL> declare
  2   v_var number;
  3  begin
  4   for n in 1..1 loop
  5   select count(*) into v_var from bigtab b,smalltab a;
  6   end loop;
  7  end;
  8  /
 
PL/SQL procedure successfully completed


五、隔一段时间(半小时)采集一次工作快照
SQL> begin
  2   dbms_workload_repository.create_snapshot('TYPICAL');
  3  end;
  4  /
 
PL/SQL procedure successfully completed
 


六、创建一个优化任务并执行
6.1 查询两个 snap_id
SQL> select snap_id from ( select * from dba_hist_snapshot order by snap_id desc) where rownum <=2;
 
   SNAP_ID
----------
       328
       327
 
6.2查询DBID
SQL> select dbid from v$database;
 
      DBID
----------
1310729769


6.3 创建任务并执行


SQL> declare
  2   task_name varchar2(30) := 'DEMO_ADDM01';
  3   task_desc varchar2(30) := 'ADDM Feature Test';
  4   task_id number;
  5  begin
  6   dbms_advisor.create_task('ADDM',task_id,task_name,task_desc,null);
  7   dbms_advisor.set_task_parameter(task_name,'START_SNAPSHOT',327);
  8   dbms_advisor.set_task_parameter(task_name,'END_SNAPSHOT',328);
  9   dbms_advisor.set_task_parameter(task_name,'INSTANCE',1);
 10   dbms_advisor.set_task_parameter(task_name,'DB_ID',1310729769);
 11   dbms_advisor.execute_task(task_name);
 12  end;
 13  /
 
PL/SQL procedure successfully completed


七、查询建议结果
SQL> set long 1000000 pagesize 0 longchunksize 1000
SQL> column get_clob fromat a80
SQL> select dbms_advisor.get_task_report('DEMO_ADDM01','TEXT','ALL') from dual;
 
DBMS_ADVISOR.GET_TASK_REPORT('
--------------------------------------------------------------------------------
          ADDM Report for Task 'DEMO_ADDM01'
          ----------------------------------
 
Analysis Period
---------------
AWR snapshot range from 327 to 328.
Time period starts at 05-JAN-14 01.55.26 PM
Time period ends at 05-JAN-14 02.16.28 PM
 
Analysis Target
---------------
Database 'ORCL' with DB ID 1310729769.
Database version 11.2.0.1.0.
ADDM performed an analysis of instance orcl, numbered 1 and hosted at
pc-centos.
 
Activity During the Analysis Period
-----------------------------------
Total database time was 1149 seconds.
The average number of active sessions was .91.
 
Summary of Findings
-------------------
   Description                               Active Sessions      Recommendation
                                             Percent of Activity
   ----------------------------------------  -------------------  --------------
1  Top Segments by "User I/O" and "Cluster"  .07 | 8              2
2  Top SQL Statements                        .06 | 6.9            1
 
 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 
          Findings and Recommendations
          ----------------------------
 
Finding 1: Top Segments by "User I/O" and "Cluster"
Impact is .07 active sessions, 8% of total activity.
----------------------------------------------------
Individual database segments responsible for significant "User I/O" and
"Cluster" waits were found.
 
   Recommendation 1: Segment Tuning
   Estimated benefit is .04 active sessions, 4.45% of total activity.
   ------------------------------------------------------------------
   Action
      Investigate application logic involving I/O on TABLE "JERRY.SMALLTAB"
      with object ID 76847.
      Related Object
         Database object with ID 76847.
   Rationale
      The I/O usage statistics for the object are: 1 full object scans, 298
      physical reads, 0 physical writes and 0 direct reads.
 
   Recommendation 2: Segment Tuning
   Estimated benefit is .03 active sessions, 3.56% of total activity.
   ------------------------------------------------------------------
   Action
      Run "Segment Advisor" on TABLE "JERRY.BIGTAB" with object ID 76846.
      Related Object
         Database object with ID 76846.
   Action
      Investigate application logic involving I/O on TABLE "JERRY.BIGTAB" with
      object ID 76846.
      Related Object
         Database object with ID 76846.
   Action
      Look at the "Top SQL Statements" finding for SQL statements consuming
      significant I/O on this segment. For example, the SELECT statement with
      SQL_ID "5v0mjsunmm5s4" is responsible for 100% of "User I/O" and
      "Cluster" waits for this segment.
   Rationale
      The I/O usage statistics for the object are: 103 full object scans,
      11041873 physical reads, 1 physical writes and 11041724 direct reads.
 
   Symptoms That Led to the Finding:
   ---------------------------------
      Wait class "User I/O" was consuming significant database time.
      Impact is .07 active sessions, 8% of total activity.
 
 
Finding 2: Top SQL Statements
Impact is .06 active sessions, 6.9% of total activity.
------------------------------------------------------
SQL statements consuming significant database time were found. These
statements offer a good opportunity for performance improvement.
 
   Recommendation 1: SQL Tuning
   Estimated benefit is .06 active sessions, 6.9% of total activity.
   -----------------------------------------------------------------
   Action
      Run SQL Tuning Advisor on the SELECT statement with SQL_ID
      "5v0mjsunmm5s4".
      Related Object
         SQL statement with SQL_ID 5v0mjsunmm5s4.
         SELECT COUNT(*) FROM BIGTAB B,SMALLTAB A
   Rationale
      The SQL spent 100% of its database time on CPU, I/O and Cluster waits.
      This part of database time may be improved by the SQL Tuning Advisor.
   Rationale
      Database time for this SQL was divided as follows: 100% for SQL
      execution, 0% for parsing, 0% for PL/SQL execution and 0% for Java
      execution.
   Rationale
      SQL statement with SQL_ID "5v0mjsunmm5s4" was executed 1 times and had
      an average elapsed time of 1105 seconds.
   Rationale
      I/O and Cluster wait for TABLE "JERRY.BIGTAB" with object ID 76846
      consumed 100% of the database time spent on this SQL statement.
   Rationale
      Top level calls to execute the PL/SQL statement with SQL_ID
      "8acps6bm4uqdn" are responsible for 100% of the database time spent on
      the SELECT statement with SQL_ID "5v0mjsunmm5s4".
      Related Object
         SQL statement with SQL_ID 8acps6bm4uqdn.
         declare
         v_var number;
         begin
         for n in 1..6 loop
         select count(*) into v_var from bigtab b,smalltab a;
         end loop;
         end;
 
 
 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
          Additional Information
          ----------------------
 
Miscellaneous Information
-------------------------
Wait class "Application" was not consuming significant database time.
Wait class "Commit" was not consuming significant database time.
Wait class "Concurrency" was not consuming significant database time.
Wait class "Configuration" was not consuming significant database time.
CPU was not a bottleneck for the instance.
Wait class "Network" was not consuming significant database time.
Session connect and disconnect calls were not consuming significant database
time.
Hard parsing of SQL statements was not consuming significant database time.
 
The database's maintenance windows were active during 99% of the analysis
period.


阅读(2120) | 评论(0) | 转发(0) |
0

上一篇:ORACLE LATCH相关SQL

下一篇:ORACLE SQLTUNE测试

给主人留下些什么吧!~~