17
AWR, Adviser Tunning for DBAs Tunning AWR, Adviser [root@dserver1 ~]# su - oracle [oracle@dserver1 ~]$ export ORACLE_SID=mdev [oracle@dserver1 ~]$ s SQL*Plus: Release 10.2.0.1.0 - Production on Sat Apr 9 23:20:51 2011 Copyright (c) 1982, 2005, Oracle. All rights reserved. Connected to an idle instance. SQL> startup ORACLE instance started. Total System Global Area 272629760 bytes Fixed Size 1218892 bytes Variable Size 163579572 bytes Database Buffers 100663296 bytes Redo Buffers 7168000 bytes Database mounted. Database opened. SQL> grant advisor to scott; Grant succeeded. SQL> grant select_catalog_role to scott; Grant succeeded. SQL> grant execute on dbms_sqltune to scott; Grant succeeded. SQL> conn scott/tiger Connected. SQL> declare 2 task_name_var varchar2(30); 3 sql_text_var clob; 4 begin 5 sql_text_var :='SELECT * FROM emp where deptno!=10'; 6 task_name_var := execute dbms_sqltune.create_tuning_task( 7 sql_text=>sql_text_var, 8 user_name=>'SCOTT', 9 scope=>'COMPREHENSIVE', 10 time_limit=>70, 11 task_name=>'sql_tuning_task_test1' 12 , 13 description=>'tuning test for emp table'); 14 end; 15 . SQL> define_editor=vi SQL> ed 1

Pt Awr Ash Advisor

Embed Size (px)

Citation preview

Page 1: Pt Awr Ash Advisor

AWR, Adviser Tunning for DBAs

Tunning AWR, Adviser

[root@dserver1 ~]# su - oracle[oracle@dserver1 ~]$ export ORACLE_SID=mdev[oracle@dserver1 ~]$ s

SQL*Plus: Release 10.2.0.1.0 - Production on Sat Apr 9 23:20:51 2011Copyright (c) 1982, 2005, Oracle. All rights reserved.

Connected to an idle instance.

SQL> startupORACLE instance started.Total System Global Area 272629760 bytesFixed Size 1218892 bytesVariable Size 163579572 bytesDatabase Buffers 100663296 bytesRedo Buffers 7168000 bytesDatabase mounted.Database opened.

SQL> grant advisor to scott;Grant succeeded.

SQL> grant select_catalog_role to scott;Grant succeeded.

SQL> grant execute on dbms_sqltune to scott;Grant succeeded.

SQL> conn scott/tigerConnected.

SQL> declare 2 task_name_var varchar2(30); 3 sql_text_var clob; 4 begin 5 sql_text_var :='SELECT * FROM emp where deptno!=10'; 6 task_name_var := execute dbms_sqltune.create_tuning_task( 7 sql_text=>sql_text_var, 8 user_name=>'SCOTT', 9 scope=>'COMPREHENSIVE', 10 time_limit=>70, 11 task_name=>'sql_tuning_task_test1' 12 , 13 description=>'tuning test for emp table'); 14 end; 15 .SQL> define_editor=viSQL> edWrote file afiedt.buf

1 declare 2 task_name_var varchar2(30); 3 sql_text_var clob; 4 begin 5 sql_text_var :='SELECT * FROM emp where deptno!=10'; 6 task_name_var :=dbms_sqltune.create_tuning_task( 7 sql_text=>sql_text_var, 8 user_name=>'SCOTT', 9 scope=>'COMPREHENSIVE',

1

Page 2: Pt Awr Ash Advisor

AWR, Adviser Tunning for DBAs

10 time_limit=>70, 11 task_name=>'sql_tuning_task_test1' 12 , 13 description=>'tuning test for emp table'); 14* end;SQL> /

PL/SQL procedure successfully completed.

SQL> select task_name from dba_advisor_log where owner='SCOTT';

TASK_NAME------------------------------sql_tuning_task_test1

SQL> select status from dba_advisor_log where task_name='sql_tuning_task_test1' ;

STATUS-----------INITIAL

SQL> execute dbms_sqltune.execute_tuning_task(task_name => 'sql_tuning_task_test 1');

PL/SQL procedure successfully completed.

SQL> select status from dba_advisor_log where task_name='sql_tuning_task_test1' ;

STATUS-----------COMPLETED

SQL> set linesize 100SQL> set long 1000SQL> set longchunksize 1000SQL> select dbms_sqltune.report_tuning_task('sql_tuning_task_test1') from dual;

DBMS_SQLTUNE.REPORT_TUNING_TASK('SQL_TUNING_TASK_TEST1')-------------------------------------------------------------------------------- --GENERAL INFORMATION SECTION-------------------------------------------------------------------------------Tuning Task Name : sql_tuning_task_test1Tuning Task Owner : SCOTTScope : COMPREHENSIVETime Limit(seconds): 70Completion Status : COMPLETEDStarted at : 04/09/2011 23:48:44Completed at : 04/09/2011 23:48:44-------------------------------------------------------------------------------DBMS_SQLTUNE.REPORT_TUNING_TASK('SQL_TUNING_TASK_TEST1')-------------------------------------------------------------------------------- --Schema Name: SCOTTSQL ID : dqbbkbhkc2942SQL Text : SELECT * FROM emp where deptno!=10-------------------------------------------------------------------------------There are no recommendations to improve the statement.-------------------------------------------------------------------------------

SQL> @?/rdbms/admin/sqltrpt.sql

15 Most expensive SQL in the cursor cache

2

Page 3: Pt Awr Ash Advisor

AWR, Adviser Tunning for DBAs

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

SQL_ID ELAPSED SQL_TEXT_FRAGMENT------------- ---------- -------------------------------------------------------92b382ka0qgdt 6.28 ALTER DATABASE MOUNT1h50ks4ncswfn 5.26 ALTER DATABASE OPENb7jn4mf49n569 1.09 select o.name, u.name from obj$ o, type$ t, user$ u whcfz686a6qp0kg 0.91 select o.obj#, u.name, o.name, t.spare1, DECODE8z5h7ks4vc4c2 0.78 select table_objno, primary_instance, secondary_instanc02577v815yp77 0.72 BEGIN :success := dbms_ha_alerts_prvt.post_instance_up;cqgv56fmuj63x 2.26 select owner#,name,namespace,remoteowner,linkname,p_timfyrbzparfb4gb 2.01 SELECT OWNER, SEGMENT_NAME, PARTITION_NAME, SEGMENT_TYPdb78fxqxwxt7r 2.00 select /*+ rule */ bucket, endpoint, col#, epvalue from04xtrk7uyhknh 1.70 select obj#,type#,ctime,mtime,stime,status,dataobj#,fla

Specify the Sql id~~~~~~~~~~~~~~~~~~Enter value for sqlid: 5ps3p5ma94bkhSql Id specified: 5ps3p5ma94bkhTune the sql~~~~~~~~~~~~GENERAL INFORMATION SECTION-------------------------------------------------------------------------------Tuning Task Name : TASK_160Tuning Task Owner : SCOTTScope : COMPREHENSIVETime Limit(seconds) : 1800Completion Status : COMPLETEDStarted at : 04/09/2011 23:51:43Completed at : 04/09/2011 23:51:54Number of Statistic Findings : 1Number of SQL Profile Findings : 1-------------------------------------------------------------------------------Schema Name: SYSSQL ID : 5ps3p5ma94bkhSQL Text : MERGE /*+ dynamic_sampling(ST 4) dynamic_sampling_est_cdn(ST) */ INTO STATS_TARGET$ ST USING (SELECT STALENESS, OSIZE, OBJ#, TYPE#, CASE WHEN STALENESS > .5 THEN 128 ELSE 0 END + AFLAGS AFLAGS, STATUS, SID, SERIAL#, PART#, BO# FROM ( SELECT /*+ no_expand dynamic_sampling(4) dynamic_sampling_est_cdn */ DECODE(BITAND(T.FLAGS,16), 16, ROUND( LOG(0.01, NVL( LEAST( 100, GREATEST( 0.01, (DECODE(BITAND(M.FLAGS, 1), 1, GREATEST(T.ROWCNT, M.INSERTS), LEAST((M.INSERTS + M.DELETES +

ST.BO# = NEW.BO#, ST.SID = NEW.SID, ST.SERIAL# = NEW.SERIAL# WHEN NOT MATCHED THEN INSERT (ST.STALENESS, ST.OSIZE, ST.OBJ#, ST.TYPE#, ST.FLAGS, ST.STATUS, ST.SID, ST.SERIAL#, ST.PART#, ST.BO#) VALUES (NEW.STALENESS, NEW.OSIZE, NEW.OBJ#, NEW.TYPE#, NEW.AFLAGS, NEW.STATUS, :B3 , :B2 , NEW.PART#, NEW.BO#)-------------------------------------------------------------------------------FINDINGS SECTION (2 findings)-------------------------------------------------------------------------------1- Statistics Finding--------------------- Optimizer statistics for table "SYS"."MON_MODS_ALL$" and its indices are

stale.

Recommendation -------------- - Consider collecting optimizer statistics for this table.

3

Page 4: Pt Awr Ash Advisor

AWR, Adviser Tunning for DBAs

execute dbms_stats.gather_table_stats(ownname => 'SYS', tabname => 'MON_MODS_ALL$', estimate_percent => DBMS_STATS.AUTO_SAMPLE_SIZE, method_opt => 'FOR ALL COLUMNS SIZE AUTO');

Rationale --------- The optimizer requires up-to-date statistics for the table in order to select a good execution plan.

2- SQL Profile Finding (see explain plans section below)-------------------------------------------------------- A potentially better execution plan was found for this statement.

Recommendation (estimated benefit: 31.79%) ------------------------------------------ - Consider accepting the recommended SQL profile. execute dbms_sqltune.accept_sql_profile(task_name => 'TASK_160', replace => TRUE);-------------------------------------------------------------------------------ADDITIONAL INFORMATION SECTION-------------------------------------------------------------------------------- The optimizer could not merge the view at line ID 5 of the execution plan. The optimizer cannot merge a view that contains a set operator.- The optimizer could not merge the view at line ID 2 of the execution plan. The optimizer cannot merge a view that contains a NO_MERGE hint.

-------------------------------------------------------------------------------EXPLAIN PLANS SECTION-------------------------------------------------------------------------------

1- Original With Adjusted Cost------------------------------Plan hash value: 3205152281

| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time || 0 | MERGE STATEMENT | | 1032 | 300K| 2135 (1)| 00:00:24 || 1 | MERGE | STATS_TARGET$ | | | 2 | VIEW | | | |

|*200 | INDEX UNIQUE SCAN | I_OBJ1 | 1 | | 0 (0)| 00:00:01 |-------------------------------------------------------------------------------- --Predicate Information (identified by operation id): 3 - access("ST"."OBJ#"(+)="OBJ#")

5 - filter("OSIZE" IS NOT NULL) 7 - filter(:B1 IS NOT NULL)

200 - access("IND"."OBJ#"="OI"."OBJ#")

2- Original With Adjusted Cost------------------------------Plan hash value: 3734626149-------------------------------------------------------------------------------- --| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |-------------------------------------------------------------------------------- --| 0 | MERGE STATEMENT | | 1032 | 300K| 2135 (1)| 00:00:24 |

4

Page 5: Pt Awr Ash Advisor

AWR, Adviser Tunning for DBAs

| 1 | MERGE | STATS_TARGET$ | | | 2 | VIEW | | | ||* 3 | HASH JOIN RIGHT OUTER | | 1032 | 143K| 2|*200 | INDEX UNIQUE SCAN | I_OBJ1 | 1 | | 0 (0)| 00:00:01 |-------------------------------------------------------------------------------- --Predicate Information (identified by operation id):--------------------------------------------------- 3 - access("ST"."OBJ#"(+)="OBJ#") 5 - filter("OSIZE" IS NOT NULL) 7 - filter(:B1 IS NOT NULL)

198 - access("IND"."OBJ#"="PO"."OBJ#") 199 - filter(BITAND("OI"."FLAGS",128)<>128) 200 - access("IND"."OBJ#"="OI"."OBJ#")

3- Using SQL Profile--------------------Plan hash value: 2710015133-------------------------------------------------------------------------------- --| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |-------------------------------------------------------------------------------- --| 0 | MERGE STATEMENT | | 216 | 64368 | 1456 (1)| 00:00:17 |

| 1 | MERGE | STATS_TARGET$ | |

|*199 | TABLE ACCESS CLUSTER | TAB$ | 1 | 7 | 1 (0)| 00:00:01 |-------------------------------------------------------------------------------- --Predicate Information (identified by operation id):--------------------------------------------------- 3 - access("ST"."OBJ#"(+)="OBJ#") 5 - filter("OSIZE" IS NOT NULL) 7 - filter(:B1 IS NOT NULL)

199 - filter(BITAND("T"."TRIGFLAG",67108864)<>67108864 AND "IND"."BO#"="T"."OBJ #")

-------------------------------------------------------------------------------

SQL> select task_name from dba_advisor_log;

TASK_NAME------------------------------SYS_AUTO_SPCADV_430161132011TASK_107ADDM:1566786210_1_54ADDM:1566786210_1_13ADDM:1566786210_1_26ADDM:1566786210_1_41ADDM:1566786210_1_43SYS_AUTO_SPCADV_430163032011ADDM:1566786210_1_52ADDM:1566786210_1_56ADDM:1566786210_1_18ADDM:1566786210_1_21SYS_AUTO_SPCADV_430162232011ADDM:1566786210_1_34ADDM:1566786210_1_35

5

Page 6: Pt Awr Ash Advisor

AWR, Adviser Tunning for DBAs

sql_tuning_task_test1TASK_160ADDM:1566786210_1_45SYS_AUTO_SPCADV_4043131932011SYS_AUTO_SPCADV_3742151232011ADDM:1566786210_1_16ADDM:1566786210_1_30SYS_AUTO_SPCADV_595316842011ADDM:1566786210_1_49ADDM:1566786210_1_50ADDM:1566786210_1_57ADDM:1566786210_1_37SYS_AUTO_SPCADV_10523942011

28 rows selected.

SQL> select status from dba_advisor_log where task_name='TASK_160';

STATUS-----------COMPLETED

1 row selected.

SQL> select dbms_sqltune.report_tuning_task('TASK_160') from dual;

DBMS_SQLTUNE.REPORT_TUNING_TASK('TASK_160')-------------------------------------------------------------------------------- --GENERAL INFORMATION SECTION-------------------------------------------------------------------------------Tuning Task Name : TASK_160Tuning Task Owner : SCOTTScope : COMPREHENSIVETime Limit(seconds) : 1800Completion Status : COMPLETEDStarted at : 04/09/2011 23:51:43Completed at : 04/09/2011 23:51:54Number of Statistic Findings : 1Number of SQL Profile Findings : 1Schema Name: SYSSQL ID : 5ps3p5ma94bkhSQL Text : MERGE /*+ dynamic_sampling(ST 4) dynamic_sampling_est_cdn(ST) */ INTO STATS_TARGET$ ST USING (SELECT STALENESS, OSIZE, OBJ#, TYPE#, CASE WHEN STALENESS > .5 THEN 128 ELSE 0 END + AFLAGS AFLAGS, STATUS, SID, SERIAL#, PART#, BO# FROM ( SELECT /*+

ST.OSIZE = NEW.OSIZE * DECODE(BITAND(ST.FLAGS,7), 0, 1, 2), ST.FLAGS = ST.FLAGS - BITAND(ST.FLAGS, 32+64+128) + NEW.AFLAGS, ST.STATUS = 0, ST.TYPE# = NEW.TYPE#, ST.PART# = NEW.PART#, ST.BO# = NEW.BO#, ST.SID = NEW.SID, ST.SERIAL# = NEW.SERIAL# WHEN NOT MATCHED THEN INSERT (ST.STALENESS, ST.OSIZE, ST.OBJ#, ST.TYPE#, ST.FLAGS, ST.STATUS, ST.SID, ST.SERIAL#, ST.PART#, ST.BO#) VALUES (NEW.STALENESS, NEW.OSIZE, NEW.OBJ#, NEW.TYPE#, NEW.AFLAGS, NEW.STATUS, :B3 , :B2 , NEW.PART#, NEW.BO#)

-------------------------------------------------------------------------------FINDINGS SECTION (2 findings)

$%' AND "O"."NAME" NOT LIKE 'DR#%' OR BITAND("O"."FLAGS",16)<>16))

6

Page 7: Pt Awr Ash Advisor

AWR, Adviser Tunning for DBAs

DBMS_SQLTUNE.REPORT_TUNING_TASK('TASK_160')1 row selected.

SQL> conn / as sysdbaConnected.

SQL> execute dbms_stats.gather_table_stats(ownname => 'SYS', tabname =>'MON_MODS _ALL$', estimate_percent => DBMS_STATS.AUTO_SAMPLE_SIZE,method_opt => 'FOR ALL C OLUMNS SIZE AUTO');

PL/SQL procedure successfully completed.

SQL> conn scott/tigerConnected.

SQL> conn / as sysdbaConnected.

SQL> select * from v$tablespace;

TS# NAME INC BIG FLA ENC---------- ------------------------------ --- --- --- --- 0 SYSTEM YES NO YES 1 UNDOTBS YES NO YES 2 SYSAUX YES NO YES 3 TEMP NO NO YES 4 USERS YES NO YES 5 TOOLS YES NO YES 6 APPL_DATA YES NO YES 7 TESTDATA1 YES NO YES 8 NEWDATA YES NO YES

9 rows selected.

SQL> select bytes/1024/1024 from dba_data_files where tablespace_name='NEW DATA';

BYTES/1024/1024--------------- 50

1 row selected.

SQL> select name from v$datafile;

NAME-------------------------------------------------------------------------- --------/u01/oradata/mdev/system01.dbf/u01/oradata/mdev/undotbs01.dbf/u01/oradata/mdev/sysaux01.dbf/u01/oradata/mdev/usr02.dbf/u01/oradata/mdev/usr01.dbf/u01/oradata/mdev/tool01.dbf/u02/oradata/mdev/applicationdat01.dbf/u01/oradata/mdev/tstdat01.dbf/u01/oradata/mdev/newdat01.dbf

9 rows selected.

SQL> alter tablespace newdata online;

7

Page 8: Pt Awr Ash Advisor

AWR, Adviser Tunning for DBAs

Tablespace altered.

SQL> alter database datafile '/u01/oradata/mdev/newdat01.dbf' resize 200m;

Database altered.

SQL> show userUSER is "SYS"

SQL> select name from v$tempfile;

NAME-------------------------------------------------------------------------- --------/u01/oradata/mdev/tmp01.dbf

1 row selected.

SQL> select tablespace_name,file_name from dba_temp_files;

TABLESPACE_NAME FILE_NAME------------------------------TEMP /u01/oradata/mdev/tmp01.dbf

1 row selected.

SQL> select bytes/1024/1024 from v$tempfile;

BYTES/1024/1024--------------- 120

1 row selected.

SQL> @?/rdbms/admin/spcreate.sql

Choose the PERFSTAT user's password-----------------------------------Not specifying a password will result in the installation FAILING

Enter value for perfstat_password: abcabc

SQL> connect perfstat/&&perfstat_passwordConnected.

SQL> @@spctabSQL> RemSQL> Rem $Header: spctab.sql 31-may-2005.14:05:43 cdgreen Exp $SQL> RemSQL> Rem spctab.sqlSQL> RemSQL> Rem Copyright (c) 1999, 2005, Oracle. All rights reserved.SQL> RemSQL> Rem NAMESQL> Rem spctab.sqlSQL> RemSQL> Rem DESCRIPTIONSQL> Rem SQL*PLUS command file to create tables to hold

8

Page 9: Pt Awr Ash Advisor

AWR, Adviser Tunning for DBAs

SQL> Rem start and end "snapshot" statistical informationSQL> RemSQL> Rem NOTESSQL> Rem Should be run as STATSPACK user, PERFSTATSQL> RemSQL> Rem MODIFIED (MM/DD/YY)SQL> Rem cdgreen 05/24/05 - 4246955SQL> Rem cdgreen 04/18/05 - 4228432SQL> Rem cdgreen 03/08/05 - 10gR2 miscSQL> Rem vbarrier 02/18/05 - 4081984SQL> Rem cdgreen 10/29/04 - 10gR2_sqlstatsSQL> Rem cdgreen 07/16/04 - 10gR2SQL> Rem cdialeri 03/25/04 - 3516921SQL> Rem vbarrier 02/12/04 - 3412853SQL> Rem cdialeri 12/04/03 - 3290482SQL> Rem cdialeri 11/05/03 - 3202706SQL> Rem cdialeri 10/14/03 - 10g - streams - rvenkateSQL> Rem cdialeri 08/05/03 - 10g F3SQL> Rem cdialeri 02/27/03 - 10g F2: baseline, purgeSQL> Rem vbarrier 02/25/03 - 10g RACSQL> Rem cdialeri 11/15/02 - 10g F1SQL> Rem cdialeri 09/27/02 - sleep4SQL> Rem vbarrier 03/20/02 - 2143634SQL> Rem vbarrier 03/05/02 - Segment StatisticsSQL> Rem cdialeri 02/07/02 - 2218573SQL> Rem cdialeri 01/30/02 - 2184717SQL> Rem cdialeri 01/11/02 - 9.2 - features 2SQL> Rem cdialeri 11/30/01 - 9.2 - features 1SQL> Rem cdialeri 04/22/01 - Undostat changesSQL> Rem cdialeri 03/02/01 - 9.0SQL> Rem cdialeri 09/12/00 - sp_1404195SQL> Rem cdialeri 04/07/00 - 1261813SQL> Rem cdialeri 03/20/00 - Support for purgeSQL> Rem cdialeri 02/16/00 - 1191805SQL> Rem cdialeri 01/26/00 - 1169401SQL> Rem cdialeri 11/01/99 - Enhance, 1059172SQL> Rem cmlim 07/17/97 - Added STATS$SQLAREA to store top sql st mtsSQL> Rem gwood 10/16/95 - Version to run as sys without using man y viewsSQL> Rem cellis.uk 11/15/89 - CreatedSQL> RemSQL>

SQL> set showmode off echo off;

If this script is automatically called from spcreate (which isthe supported method), all STATSPACK segments will be created inthe PERFSTAT user's default tablespace.

Using newdata tablespace to store Statspack objects... Creating STATS$SNAPSHOT_ID SequenceSequence created.Synonym created.... Creating STATS$... tablesTable created.Synonym created.Synonym created.

NOTE:SPCTAB complete. Please check spctab.lis for any errors.

SQL> -- Create the statistics Package

9

Page 10: Pt Awr Ash Advisor

AWR, Adviser Tunning for DBAs

SQL> @@spcpkgSQL> RemSQL> Rem $Header: spcpkg.sql 31-may-2005.14:07:53 cdgreen Exp $SQL> RemSQL> Rem densor.uk 03/31/93 - ModifiedSQL> Rem cellis.uk 11/15/89 - CreatedSQL> RemSQL> set echo off;Creating Package STATSPACK...Package created.No errors.Creating Package Body STATSPACK...Package body created.No errors.

NOTE:SPCPKG complete. Please check spcpkg.lis for any errors.

SQL> conn perfstat/abcConnected.

SQL> select * from tab;

TNAME TABTYPE CLUSTERID------------------------------ ------- ----------STATS$BG_EVENT_SUMMARY TABLESTATS$BUFFERED_QUEUES TABLE

STATS$WAITSTAT TABLEV$DYNAMIC_REMASTER_STATS SYNONYM

68 rows selected.

SQL> exec statspack.snap;PL/SQL procedure successfully completed.

SQL> @?/rdbms/admin/spauto.sql

SQL> RemSQL> Rem $Header: spauto.sql 16-feb-00.16:49:37 cdialeri Exp $SQL> RemSQL> Rem spauto.sqlSQL> begin 2 select instance_number into :instno from v$instance; 3 dbms_job.submit(:jobno, 'statspack.snap;', trunc(sysdate+1/24,'HH') , 'trunc(SYSDATE+1/24,''HH'')', TRUE, :instno); 4 commit; 5 end; 6 /

PL/SQL procedure successfully completed.

SQL> print jobno JOBNO---------- 1SQL> show parameter job_queue_processes

NAME TYPE VALUE

10

Page 11: Pt Awr Ash Advisor

AWR, Adviser Tunning for DBAs

------------------------------------ ----------- ------------------------- -----job_queue_processes integer 0SQL> prompt

SQL> prompt Next scheduled runNext scheduled run

SQL> prompt

SQL> prompt The next scheduled run for this job is:The next scheduled run for this job is:

SQL> select job, next_date, next_sec from user_jobs where job = :jobno;

JOB NEXT_DATE NEXT_SEC---------- --------- -------- 1 10-APR-11 01:00:00

1 row selected.

SQL> spool off;

SQL> exec statspack.snap;

PL/SQL procedure successfully completed.

SQL> @?/rdbms/admin/spreport.sqlSQL> RemSQL> Rem $Header: spreport.sql 22-apr-2001.15:44:01 cdialeri Exp $

SQL> column dbid heading "DB Id" new_value dbid format 99999 99999 just c;

SQL> prompt

SQL> prompt Current InstanceCurrent Instance

SQL> select d.dbid dbid 2 , d.name db_name 3 , i.instance_number inst_num 4 , i.instance_name inst_name 5 from v$database d, 6 v$instance i;

DB Id DB Name Inst Num Instance----------- ------------ -------- ------------ 1566786210 MDEV 1 mdev

1 row selected.

SQL>SQL> @@sprepins

SQL> RemSQL> Rem $Header: sprepins.sql 31-may-2005.16:31:36 cdgreen Exp $SQL> RemSQL> Rem sprepins.sqlSQL> Rem

11

Page 12: Pt Awr Ash Advisor

AWR, Adviser Tunning for DBAs

SQL> set timing off veri off space 1 flush on pause off termout on numwidt h 10;SQL> set echo off feedback off pagesize 60 newpage 1 recsep off;

Instances in this Statspack schema~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

DB Id Inst Num DB Name Instance Host----------- -------- ------------ ------------ ------------ 1566786210 1 MDEV mdev dserver1

Snapshot Snap Id Snap Time Sessions Curs/Sess Comment~~~~~~~~ ---------- ------------------ -------- --------- ------------- ------Begin Snap: 1 10-Apr-11 00:17:00 18 2.7 End Snap: 2 10-Apr-11 00:22:04 18 3.9 Elapsed: 5.07 (mins)

Cache Sizes Begin End~~~~~~~~~~~ ---------- ---------- Buffer Cache: 96M Std Block Size: 4K Shared Pool Size: 120M Log Buffer: 6, 892K

Load Profile Per Second Per Transaction~~~~~~~~~~~~ --------------- --------------- Redo size: 2,719.22 413,322.00 Logical reads: 12.89 1,959.50 Block changes: 6.75 1,026.50 Physical reads: 0.32 48.00 Physical writes: 5.28 802.50 User calls: 0.07 10.50 Parses: 0.90 137.50 Hard parses: 0.20 30.50 Sorts: 0.71 107.50 Logons: 0.00 0.50 Executes: 1.89 288.00 Transactions: 0.01

% Blocks changed per Read: 52.39 Recursive Call %: 99.74 Rollback per transaction %: 0.00 Rows per Sort: 75.78

Instance Efficiency Percentages~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Buffer Nowait %: 100.00 Redo NoWait %: 100.00 Buffer Hit %: 97.78 In-memory Sort %: 100.00 Library Hit %: 86.56 Soft Parse %: 77.82 Execute to Parse %: 52.26 Latch Hit %: 100.00Parse CPU to Parse Elapsd %: 66.67 % Non-Parse CPU: 90.48

Shared Pool Statistics Begin End ------ ------ Memory Usage %: 66.93 68.54 % SQL with executions>1: 45.82 48.94 % Memory for SQL w/exec>1: 65.31 66.90

Top 5 Timed Events Avg %Total~~~~~~~~~~~~~~~~~~ wait Call

Wait Event Histogram DB/Inst: MDEV/mdev Snaps: 1-2-> Total Waits - units: K is 1000, M is 1000000, G is 1000000000-> % of Waits - column heading: <=1s is truly <1024ms, >1s is truly >=1024 ms-> % of Waits - value: .0 indicates value was <.05%, null is truly 0

12

Page 13: Pt Awr Ash Advisor

AWR, Adviser Tunning for DBAs

-> Ordered by Event (idle events last)

Total ----------------- % of Waits ------------ ------Event Waits <1ms <2ms <4ms <8ms <16ms <32ms <=1s >1s-------------------------- ----- ----- ----- ----- ----- ----- ----- ----- -----change tracking file synch 6 100.0change tracking file synch 5 80.0 20.0control file parallel writ 138 97.8 1.4 .7control file sequential re 171 100.0db file scattered read 1 100.0db file sequential read 74 74.3 6.8 10.8 8.1direct path read 9 100.0direct path write 9 100.0log file parallel write 8 25.0 12.5 37.5 25.0log file sync 2 50.0 50.0os thread startup 1 100.0rdbms ipc reply 1 100.0SQL*Net message from clien 13 76.9 7.7 15.4SQL*Net message to client 13 100.0Streams AQ: qmn coordinato 22 50.0 50.0Streams AQ: qmn slave idle 11 100.0dispatcher timer 10 100.0pmon timer 106 4.7 95.3rdbms ipc message 1087 28.5 71.5smon timer 1 100.0virtual circuit status 20 100.0 -------------------------------------------------------------SQL ordered by CPU DB/Inst: MDEV/mdev Snaps: 1-2

% Total Old Parse Calls Executions Parses Hash Value------------ ------------ -------- ---------- 3 4 1.09 1980305124select grantee#,privilege#,nvl(col#,0),max(mod(nvl(option$,0),2))from objauth$ where obj#=:1 group by grantee#,privilege#,nvl(col#,0) order by grantee#

-------------------------------------------------------------

Instance Activity Stats DB/Inst: MDEV/mdev Snaps: 1-2

Statistic Total per Second per Trans--------------------------------- ------------------ -------------- ------ ------CPU used by this session 42 0.1 21.0CPU used when call started 53 0.2 26.5CR blocks created 0 0.0 0.0DB time 64 0.2 32.0DBWR checkpoint buffers written 1,596 5.3 798.0DBWR checkpoints 0 0.0 0.0calls to kcmgcs 45 0.2 22.5change write time 1 0.0 0.5cleanout - number of ktugct calls 83 0.3 41.5cleanouts only - consistent read 0 0.0 0.0cluster key scan block gets 103 0.3 51.5cluster key scans 51 0.2 25.5commit cleanout failures: callbac 6 0.0 3.0

nd of Report ( sp_1_2.lst )

SQL> host

13

Page 14: Pt Awr Ash Advisor

AWR, Adviser Tunning for DBAs

[oracle@dserver1 ~]$ pwd/home/oracle

[oracle@dserver1 ~]$ lsa a.sql oratab shutdown spctab.lisa.dmp b.dmp recover sp_1_2.lst spcusr.lisafiedt.buf host script1.sql spauto.lis sqlnet.logalter mdev.sql select spcpkg.lis startup

[oracle@dserver1 ~]$ more sp_1_2.lstSTATSPACK report for

Database DB Id Instance Inst Num Startup Time Release RAC~~~~~~~~ ----------- ------------ -------- --------------- ----------- --- 1566786210 mdev 1 09-Apr-11 23:21 10.2.0.1.0 NO

Host Name: dserver1 Num CPUs: 2 Phys Memory (MB): 1~~~~

Snapshot Snap Id Snap Time Sessions Curs/Sess Comment~~~~~~~~ ---------- ------------------ -------- --------- -------------------Begin Snap: 1 10-Apr-11 00:17:00 18 2.7 End Snap: 2 10-Apr-11 00:22:04 18 3.9 Elapsed: 5.07 (mins)

e(type#,2,nvl(scale,-127/*MAXSB1MINAL*/),178,scale,179,scale,180,scale,181,scale,182,scale,183,scale,231,scale,0),null$,fixedstorage,nvl(deflength,0),default$,rowid,col#,property, nvl(charseti[oracle@dserver1 ~]$ exitexit

SQL> show userUSER is "PERFSTAT"SQL> conn / as sysdbaConnected.

SQL> @?/rdbms/admin/awrrpt.sql

Current Instance~~~~~~~~~~~~~~~~

DB Id DB Name Inst Num Instance----------- ------------ -------- ------------ 1566786210 MDEV 1 mdev

Specify the Report Type~~~~~~~~~~~~~~~~~~~~~~~Would you like an HTML report, or a plain text report?Enter 'html' for an HTML report, or 'text' for plain textDefaults to 'html'Enter value for report_type:

Type Specified: html

14