MINI MINI MANI MO

Path : /opt/oracle/product/18c/dbhomeXE/rdbms/admin/
File Upload :
Current File : //opt/oracle/product/18c/dbhomeXE/rdbms/admin/tcellsim.sql

Rem
Rem $Header: rdbms/admin/tcellsim.sql /main/2 2017/05/28 22:46:11 stanaya Exp $
Rem
Rem tcellsim.sql
Rem
Rem Copyright (c) 2008, 2017, Oracle and/or its affiliates. 
Rem All rights reserved.
Rem
Rem    NAME
Rem      tcellsim.sql - test cell in simulation mode
Rem
Rem    DESCRIPTION
Rem      This script uses SQL Peformance Analyzer (SPA) to test cell
Rem      storage in simulation mode.
Rem      Given a SQL tuning set storing a SQL workload, SPA test executes 
Rem      SQL statements stored in the SQL tuning set twice. 
Rem      A first time before enabling cell storage simulation, and a second
Rem      time after simulating cell storage. After that, SPA uses 
Rem      io_interconnect_bytes to compare SQL performance changes and 
Rem      then generates a report summary. 
Rem
Rem    NOTES
Rem      NONE
Rem
Rem    BEGIN SQL_FILE_METADATA
Rem    SQL_SOURCE_FILE: rdbms/admin/tcellsim.sql
Rem    SQL_SHIPPED_FILE: rdbms/admin/tcellsim.sql
Rem    SQL_PHASE: UTILITY
Rem    SQL_STARTUP_MODE: NORMAL
Rem    SQL_IGNORABLE_ERRORS: NONE
Rem    END SQL_FILE_METADATA
Rem    
Rem    MODIFIED   (MM/DD/YY)
Rem    kyagoub     12/11/08 - set heading off
Rem    kyagoub     08/25/08 - Created
Rem

set long 1000000 longchunksize 1000;
set feedback off;
set veri off;

prompt
prompt 10 Most active SQL tuning sets
prompt ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
select * from 
  (select name, owner, statement_count sql_count, 
          substr(description, 1, 20) descp
   from dba_sqlset
  order by last_modified desc)
where rownum <= 10; 


prompt
prompt Specify the name and owner of SQL tuning set to use
prompt ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
column sts_name new_value sts_name;
column sts_owner new_value sts_owner;
set heading off;
select ' >> SQL tuning set specified: &&sts_name owned by &&sts_owner' 
from dual;
set heading on;


prompt
prompt Run Cell simulation 
prompt ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
variable aname VARCHAR2(64);
variable err   NUMBER;

prompt 
prompt   >> 1. create a spa analysis task to test cell simulation 
prompt   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
exec :err := 0; 
BEGIN 
  :aname := dbms_sqlpa.create_analysis_task(sqlset_name => '&&sts_name',
            sqlset_owner => '&&sts_owner');

  -- handle exception 
  EXCEPTION 
   WHEN OTHERS THEN
     :err := 1; 
     RAISE; 
END; 
/

set heading off;
select ' >> Name of SPA analysis task: ' || :aname 
from dual where :err = 0;
set heading on;

prompt
prompt   >> 2. Test execute statements with cell simulatin DISABLED
prompt   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

BEGIN 
  IF (:err = 0) THEN 
    dbms_sqlpa.execute_analysis_task(
       task_name => :aname, 
       execution_type => 'execute',
       execution_name => 'cell_simulation_DISABLED',
       execution_params => dbms_advisor.arglist('cell_simulation_enabled',
       'FALSE')); 
  END IF; 

  -- handle exception 
  EXCEPTION 
   WHEN OTHERS THEN
     :err := 1; 
     RAISE; 
END; 
/

prompt
prompt  >> 3. Test execute statements with cell simulation ENABLED
prompt  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

BEGIN 
  IF (:err = 0) THEN 
    dbms_sqlpa.execute_analysis_task(
     task_name => :aname, 
     execution_type => 'execute',
     execution_name => 'cell_simulation_ENABLED',
     execution_params => dbms_advisor.arglist('cell_simulation_enabled',
     'TRUE')); 
  END IF; 

  -- handle exception 
  EXCEPTION 
   WHEN OTHERS THEN
     :err := 1; 
     RAISE; 
END; 
/

prompt
prompt   >> 4. Compare peformance and generate analysis report 
prompt  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
BEGIN 
  IF (:err = 0) THEN 
    dbms_sqlpa.execute_analysis_task(:aname, 'compare',
       execution_params => dbms_advisor.arglist('comparison_metric',
       'io_interconnect_bytes')); 

  END IF; 

  -- handle exception 
  EXCEPTION 
   WHEN OTHERS THEN
     :err := 1; 
     RAISE; 
END; 
/

-- display report
set heading off; 
select dbms_sqlpa.report_analysis_task(:aname, 'text', top_sql => 10) spa_summary
from dual
where :err = 0;
set heading on;

undefine sts_name;
undefine sts_owner;
set feedback on;
set veri on;




OHA YOOOO