MINI MINI MANI MO

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

Rem
Rem $Header: rdbms/admin/catsumaa.sql /main/26 2017/06/26 16:01:19 pjulsaks Exp $
Rem
Rem catsumaa.sql
Rem
Rem Copyright (c) 2002, 2017, Oracle and/or its affiliates. 
Rem All rights reserved.
Rem
Rem    NAME
Rem      catsumaa.sql - catalog definitions for SQL Access Advisor
Rem
Rem    DESCRIPTION
Rem      Contains types, syononyms and views for the 
Rem      private portion of the Advisor framework repository.
Rem
Rem    NOTES
Rem      none
Rem
Rem
Rem BEGIN SQL_FILE_METADATA
Rem SQL_SOURCE_FILE: rdbms/admin/catsumaa.sql
Rem SQL_SHIPPED_FILE: rdbms/admin/catsumaa.sql
Rem SQL_PHASE: CATSUMAA
Rem SQL_STARTUP_MODE: NORMAL
Rem SQL_IGNORABLE_ERRORS: NONE
Rem SQL_CALLING_FILE: rdbms/admin/depssvrm.sql
Rem END SQL_FILE_METADATA
Rem
Rem    MODIFIED   (MM/DD/YY)
Rem    pjulsaks    06/26/17 - Bug 25688154: Uppercase create_cdbview's input
Rem    skayoor     11/30/14 - Proj 58196: Change Select priv to Read Priv
Rem    surman      12/29/13 - 13922626: Update SQL metadata
Rem    talliu      06/28/13 - Add CDB view for DBA view
Rem    surman      03/27/12 - 13615447: Add SQL patching tags
Rem    arbalakr    11/23/09 - truncate module/action to the maximum lengths
Rem                           in X$MODACT_LENGTH
Rem    gssmith     03/23/06 - STS conversion 
Rem    gssmith     05/27/04 - Bug 3647046 
Rem    gssmith     02/05/04 - Change journal keywords 
Rem    gssmith     02/04/04 - Adding new column to parameters view 
Rem    gssmith     11/05/03 - Templates bug 
Rem    mxiao       10/27/03 - change the script type in tune_mview views 
Rem    gssmith     10/23/03 - Bug 3207351 
Rem    gssmith     09/04/03 - Bug 3019884 
Rem    gssmith     07/22/03 - Lrg fix
Rem    twtong      06/11/03 - bug-2999427
Rem    gssmith     04/30/03 - AA workload adjustments
Rem    gssmith     03/26/03 - Bug 2869857
Rem    gssmith     03/18/03 - Access Advisor column name changes
Rem    gssmith     01/30/03 - Fix user view privs
Rem    twtong      12/22/02 - modify dba_tune_mview
Rem    gssmith     12/04/02 - Add VALID flag to workload table
Rem    twtong      10/22/02 - modify dba_tune_mview
Rem    mxiao       10/14/02 - add USER/DBA_TUNE_MVIEW
Rem    gssmith     10/22/02 - Adding name to views
Rem    gssmith     10/22/02 - Bugs
Rem    btao        10/03/02 - add select_catalog_role statement
Rem    gssmith     09/20/02 - Fixing sqlw_stmts view
Rem    gssmith     09/20/02 - remove task type
Rem    gssmith     09/13/02 - Adding template support
Rem    gssmith     09/10/02 - wip
Rem    gssmith     09/03/02 - wip
Rem    gssmith     07/29/02 - Created
Rem

@@?/rdbms/admin/sqlsessstart.sql

REM
REM   SQL Access Advisor tables
REM


Rem
Rem   Workload mapping table
Rem

create or replace view dba_advisor_sqla_wk_map
   as select b.owner_name as owner,
             a.task_id as task_id,
             b.name as task_name,
             a.workload_id as workload_id,
             a.name as workload_name,
             a.is_sts as is_sts
      from wri$_adv_sqla_map a, wri$_adv_tasks b
      where a.task_id = b.id;

create or replace public synonym dba_advisor_sqla_wk_map
   for dba_advisor_sqla_wk_map;
grant select on dba_advisor_sqla_wk_map to select_catalog_role;


create or replace view user_advisor_sqla_wk_map
   as select a.task_id as task_id,
             b.name as task_name,
             a.workload_id as workload_id,
             a.name as workload_name,
             a.is_sts as is_sts
      from wri$_adv_sqla_map a, wri$_adv_tasks b
      where a.task_id = b.id
        and b.owner# = userenv('SCHEMAID');

create or replace public synonym user_advisor_sqla_wk_map
   for user_advisor_sqla_wk_map;
grant read on user_advisor_sqla_wk_map to public;



execute CDBView.create_cdbview(false,'SYS','DBA_ADVISOR_SQLA_WK_MAP','CDB_ADVISOR_SQLA_WK_MAP');
grant read on SYS.CDB_advisor_sqla_wk_map to public 
/
create or replace public synonym CDB_advisor_sqla_wk_map for SYS.CDB_advisor_sqla_wk_map
/

Rem
Rem   Workload summary for task analysis
Rem
Rem

create or replace view dba_advisor_sqla_wk_sum
   as select b.owner_name as owner,
             b.name as task_name,
             b.id as task_id,
             a.num_select as num_select_stmt,
             a.num_update as num_update_stmt,
             a.num_delete as num_delete_stmt,
             a.num_insert as num_insert_stmt,
             a.num_merge as num_merge_stmt
      from wri$_adv_sqla_sum a, wri$_adv_tasks b
      where a.task_id = b.id
        and b.advisor_id = 2;

create or replace public synonym dba_advisor_sqla_wk_sum
   for dba_advisor_sqla_wk_sum;
grant select on dba_advisor_sqla_wk_sum to select_catalog_role;

create or replace view user_advisor_sqla_wk_sum
   as select b.name as task_name,
             b.id as task_id,
             a.num_select as num_select_stmt,
             a.num_update as num_update_stmt,
             a.num_delete as num_delete_stmt,
             a.num_insert as num_insert_stmt,
             a.num_merge as num_merge_stmt
      from wri$_adv_sqla_sum a, wri$_adv_tasks b
      where b.owner# = userenv('SCHEMAID')
        and a.task_id = b.id
        and b.advisor_id = 2;

create or replace public synonym user_advisor_sqla_wk_sum
   for user_advisor_sqla_wk_sum;
grant read on user_advisor_sqla_wk_sum to public;



execute CDBView.create_cdbview(false,'SYS','DBA_ADVISOR_SQLA_WK_SUM','CDB_ADVISOR_SQLA_WK_SUM');
grant read on SYS.CDB_advisor_sqla_wk_sum to public 
/
create or replace public synonym CDB_advisor_sqla_wk_sum for SYS.CDB_advisor_sqla_wk_sum
/

Rem
Rem sql workload statements (private to Access Advisor tasks)
Rem

create or replace view dba_advisor_sqla_wk_stmts
   as select aa1.owner_name as owner,
             aa1.name as task_name,
             aa1.id as task_id,
             aa3.workload_id as sqlset_id,
             aa3.name as sqlset_name,
             aa3.name as workload_name,
             s.sql_id as sql_id,
             s.sql_seq as sql_seq,
             s.plan_hash_value as plan_hash_value,
             s.parsing_schema_name as parsing_schema_name,
             s.parsing_schema_name as username,
             s.module as module,
             s.action as action,
             s.cpu_time as cpu_time,
             s.buffer_gets as buffer_gets,
             s.disk_reads as disk_reads,
             s.elapsed_time as elapsed_time,
             s.rows_processed as rows_processed,
             s.executions as executions,
             to_date(s.first_load_time,'yyyy-mm-dd/hh24:mi:ss') as first_load_time,
             to_date(s.first_load_time,'yyyy-mm-dd/hh24:mi:ss') as last_execution_date,
             s.priority as priority,
             s.command_type as command_type,
             s.stat_period as stat_period,
             s.active_stat_period as active_stat_period,
             s.sql_text as sql_text,
             aa2.pre_cost as precost,
             aa2.post_cost as postcost,
             aa2.imp as importance,
             aa2.rec_id as rec_id,
             aa2.validated as validated
      from sys.wri$_adv_tasks aa1, sys.wri$_adv_sqla_stmts aa2, 
           sys.wri$_adv_sqla_map aa3, dba_sqlset_statements s
      where aa1.id = aa2.task_id
        and aa1.advisor_id = 2
        and aa1.id = aa3.task_id
        and aa2.workload_id = aa3.workload_id
        and s.sqlset_id = aa3.workload_id
        and s.sql_seq = aa2.stmt_id
        and aa3.is_sts = 1;

create or replace public synonym dba_advisor_sqla_wk_stmts
   for dba_advisor_sqla_wk_stmts;
grant select on dba_advisor_sqla_wk_stmts to select_catalog_role;

create or replace view user_advisor_sqla_wk_stmts
   as select aa1.name as task_name,
             aa1.id as task_id,
             aa3.workload_id as sqlset_id,
             aa3.name as sqlset_name,
             aa3.name as workload_name,
             s.sql_id as sql_id,
             s.sql_seq as sql_seq,
             s.plan_hash_value as plan_hash_value,
             s.parsing_schema_name as parsing_schema_name,
             s.parsing_schema_name as username,
             s.module as module,
             s.action as action,
             s.cpu_time as cpu_time,
             s.buffer_gets as buffer_gets,
             s.disk_reads as disk_reads,
             s.elapsed_time as elapsed_time,
             s.rows_processed as rows_processed,
             s.executions as executions,
             to_date(s.first_load_time,'yyyy-mm-dd/hh24:mi:ss') as first_load_time,
             to_date(s.first_load_time,'yyyy-mm-dd/hh24:mi:ss') as last_execution_date,
             s.priority as priority,
             s.command_type as command_type,
             s.stat_period as stat_period,
             s.active_stat_period as active_stat_period,
             s.sql_text as sql_text,
             aa2.pre_cost as precost,
             aa2.post_cost as postcost,
             aa2.imp as importance,
             aa2.rec_id as rec_id,
             aa2.validated as validated
      from sys.wri$_adv_tasks aa1, sys.wri$_adv_sqla_stmts aa2, 
           sys.wri$_adv_sqla_map aa3,dba_sqlset_statements s
      where aa1.id = aa2.task_id
        and aa1.id = aa3.task_id
        and aa2.workload_id = aa3.workload_id
        and s.sqlset_id = aa3.workload_id
        and s.sql_seq = aa2.stmt_id
        and aa3.is_sts = 1
        and aa1.owner# = userenv('SCHEMAID')
        and aa1.advisor_id = 2;

create or replace public synonym user_advisor_sqla_wk_stmts
   for user_advisor_sqla_wk_stmts;
grant read on user_advisor_sqla_wk_stmts to public;


execute CDBView.create_cdbview(false,'SYS','DBA_ADVISOR_SQLA_WK_STMTS','CDB_ADVISOR_SQLA_WK_STMTS');
grant read on SYS.CDB_advisor_sqla_wk_stmts to public 
/
create or replace public synonym CDB_advisor_sqla_wk_stmts for SYS.CDB_advisor_sqla_wk_stmts
/

Rem
Rem   sql Workload table references
Rem
Rem         Contains a list of tables referenced by each workload statement
Rem         Temporary until SWO is implemented.
Rem

create or replace view dba_advisor_sqla_tables
   as select d.owner_name as owner,
             b.task_id as task_id,
             d.name as task_name,
             b.sql_id as sql_id,
             b.stmt_id as stmt_id,
             b.table_owner  as table_owner,
             b.table_name as table_name
      from wri$_adv_sqla_tables b, wri$_adv_tasks d
      where d.id = b.task_id
        and d.advisor_id = 2;

create or replace public synonym dba_advisor_sqla_tables
   for dba_advisor_sqla_tables;
grant select on dba_advisor_sqla_tables to select_catalog_role;

create or replace view user_advisor_sqla_tables
   as select b.task_id as task_id,
             d.name as task_name,
             b.sql_id as sql_id,
             b.stmt_id as stmt_id,
             b.table_owner  as table_owner,
             b.table_name as table_name
      from wri$_adv_sqla_tables b, wri$_adv_tasks d
      where d.id = b.task_id
        and d.owner# = userenv('SCHEMAID')
        and d.advisor_id = 2;

create or replace public synonym user_advisor_sqla_tables
   for user_advisor_sqla_tables;
grant read on user_advisor_sqla_tables to public;



execute CDBView.create_cdbview(false,'SYS','DBA_ADVISOR_SQLA_TABLES','CDB_ADVISOR_SQLA_TABLES');
grant read on SYS.CDB_advisor_sqla_tables to public 
/
create or replace public synonym CDB_advisor_sqla_tables for SYS.CDB_advisor_sqla_tables
/

Rem
Rem Table volatility data
Rem

create or replace view dba_advisor_sqla_tabvol
   as select a.owner_name as owner,
             a.name as task_name,
             a.id as task_id,
             b.owner_name as table_owner,
             b.table_name as table_name,
             b.upd_freq as update_freq,
             b.ins_freq as insert_freq,
             b.del_freq as delete_freq,
             b.dir_freq as direct_load_freq,
             b.upd_rows as updated_rows,
             b.ins_rows as inserted_rows,
             b.del_rows as deleted_rows,
             b.dir_rows as direct_load_rows
      from wri$_adv_tasks a, wri$_adv_sqla_tabvol b
      where a.id = b.task_id
        and a.advisor_id = 2;

create or replace public synonym dba_advisor_sqla_tabvol
   for dba_advisor_sqla_tabvol;
grant select on dba_advisor_sqla_tabvol to select_catalog_role;

create or replace view user_advisor_sqla_tabvol
   as select a.name as task_name,
             a.id as task_id,
             b.owner_name as table_owner,
             b.table_name as table_name,
             b.upd_freq as update_freq,
             b.ins_freq as insert_freq,
             b.del_freq as delete_freq,
             b.dir_freq as direct_load_freq,
             b.upd_rows as updated_rows,
             b.ins_rows as inserted_rows,
             b.del_rows as deleted_rows,
             b.dir_rows as direct_load_rows
      from wri$_adv_tasks a, wri$_adv_sqla_tabvol b
      where a.id = b.task_id 
        and a.owner# = userenv('SCHEMAID')
        and a.advisor_id = 2;

create or replace public synonym user_advisor_sqla_tabvol
   for user_advisor_sqla_tabvol;
grant read on user_advisor_sqla_tabvol to public;



execute CDBView.create_cdbview(false,'SYS','DBA_ADVISOR_SQLA_TABVOL','CDB_ADVISOR_SQLA_TABVOL');
grant read on SYS.CDB_advisor_sqla_tabvol to public 
/
create or replace public synonym CDB_advisor_sqla_tabvol for SYS.CDB_advisor_sqla_tabvol
/

Rem
Rem Column volatility data
Rem

create or replace view dba_advisor_sqla_colvol
   as select a.owner_name as owner,
             a.name as task_name,
             a.id as task_id,
             e.owner_name as table_owner,
             e.table_name as table_name,
             d.name as column_name,
             b.upd_freq as update_freq,
             b.upd_rows as updated_rows
      from wri$_adv_tasks a, wri$_adv_sqla_colvol b,
           sys.col$ d,wri$_adv_sqla_tabvol e
      where a.id = b.task_id
        and a.id = e.task_id
        and d.col# = b.col#
        and e.table# = b.table#
        and a.advisor_id = 2;

create or replace public synonym dba_advisor_sqla_colvol
   for dba_advisor_sqla_colvol;
grant select on dba_advisor_sqla_colvol to select_catalog_role;

create or replace view user_advisor_sqla_colvol
   as select a.name as task_name,
             a.id as task_id,
             e.owner_name as table_owner,
             e.table_name as table_name,
             d.name as column_name,
             b.upd_freq as update_freq,
             b.upd_rows as updated_rows
      from wri$_adv_tasks a, wri$_adv_sqla_colvol b,
           sys.col$ d,wri$_adv_sqla_tabvol e
      where a.id = b.task_id
        and a.id = e.task_id
        and d.col# = b.col#
        and e.table# = b.table#
        and a.owner# = userenv('SCHEMAID')
        and a.advisor_id = 2;

create or replace public synonym user_advisor_sqla_colvol
   for user_advisor_sqla_colvol;
grant read on user_advisor_sqla_colvol to public;



execute CDBView.create_cdbview(false,'SYS','DBA_ADVISOR_SQLA_COLVOL','CDB_ADVISOR_SQLA_COLVOL');
grant read on SYS.CDB_advisor_sqla_colvol to public 
/
create or replace public synonym CDB_advisor_sqla_colvol for SYS.CDB_advisor_sqla_colvol
/

Rem
Rem   Recommendation summary
Rem

create or replace view dba_advisor_sqla_rec_sum
   as select max(b.owner_name) as owner,
             max(a.task_id) as task_id,
             max(b.name) as task_name,
             max(a.rec_id) as rec_id,
             count(*) as total_stmts,
             sum(a.pre_cost) as total_precost,
             sum(a.post_cost) as total_postcost
      from wri$_adv_sqla_stmts a, wri$_adv_tasks b
      where a.task_id = b.id
        and b.advisor_id = 2
      group by a.task_id, a.rec_id;
            
create or replace public synonym dba_advisor_sqla_rec_sum
  for dba_advisor_sqla_rec_sum;
grant select on dba_advisor_sqla_rec_sum to select_catalog_role;

create or replace view user_advisor_sqla_rec_sum
   as select max(a.task_id) as task_id,
             max(b.name) as task_name,
             max(a.rec_id) as rec_id,
             count(*) as total_stmts,
             sum(a.pre_cost) as total_precost,
             sum(a.post_cost) as total_postcost
      from wri$_adv_sqla_stmts a, wri$_adv_tasks b
      where a.task_id = b.id
        and b.owner# = userenv('SCHEMAID')
        and b.advisor_id = 2
      group by a.task_id, a.rec_id;
            
create or replace public synonym user_advisor_sqla_rec_sum
  for user_advisor_sqla_rec_sum;
grant read on user_advisor_sqla_rec_sum to public;



execute CDBView.create_cdbview(false,'SYS','DBA_ADVISOR_SQLA_REC_SUM','CDB_ADVISOR_SQLA_REC_SUM');
grant read on SYS.CDB_advisor_sqla_rec_sum to public 
/
create or replace public synonym CDB_advisor_sqla_rec_sum for SYS.CDB_advisor_sqla_rec_sum
/

Rem
Rem   Workload tables
Rem

Rem
Rem   Workload table
Rem
Rem

create or replace view dba_advisor_sqlw_sum
   as select b.owner_name as owner,
             b.id as workload_id,
             b.name as workload_name,
             b.description as description,
             b.ctime as create_date,
             b.mtime as modify_date,
             a.num_select as num_select_stmt,
             a.num_update as num_update_stmt,
             a.num_delete as num_delete_stmt,
             a.num_insert as num_insert_stmt,
             a.num_merge as num_merge_stmt,
             b.source as source,
             b.how_created as how_created,
             a.data_source as data_source,
             decode(bitand(b.property,1),1,'TRUE','FALSE') as read_only
      from wri$_adv_sqlw_sum a, wri$_adv_tasks b
      where a.workload_id = b.id
        and bitand(b.property,2) = 0
        and b.advisor_id = 6;

create or replace public synonym dba_advisor_sqlw_sum
   for dba_advisor_sqlw_sum;
grant select on dba_advisor_sqlw_sum to select_catalog_role;

create or replace view user_advisor_sqlw_sum
   as select b.id as workload_id,
             b.name as workload_name,
             b.description as description,
             b.ctime as create_date,
             b.mtime as modify_date,
             a.num_select as num_select_stmt,
             a.num_update as num_update_stmt,
             a.num_delete as num_delete_stmt,
             a.num_insert as num_insert_stmt,
             a.num_merge as num_merge_stmt,
             b.source as source,
             b.how_created as how_created,
             a.data_source as data_source,
             decode(bitand(b.property,1),1,'TRUE','FALSE') as read_only
      from wri$_adv_sqlw_sum a, wri$_adv_tasks b
      where b.owner# = userenv('SCHEMAID')
        and a.workload_id = b.id
        and bitand(b.property,2) = 0
        and b.advisor_id = 6;

create or replace public synonym user_advisor_sqlw_sum
   for user_advisor_sqlw_sum;
grant read on user_advisor_sqlw_sum to public;



execute CDBView.create_cdbview(false,'SYS','DBA_ADVISOR_SQLW_SUM','CDB_ADVISOR_SQLW_SUM');
grant read on SYS.CDB_advisor_sqlw_sum to public 
/
create or replace public synonym CDB_advisor_sqlw_sum for SYS.CDB_advisor_sqlw_sum
/

Rem
Rem   Workload templates table
Rem
Rem      Temporary until SWO is implemented
Rem

create or replace view dba_advisor_sqlw_templates
   as select b.owner_name as owner,
             b.id as workload_id,
             b.name as workload_name,
             b.description as description,
             b.ctime as create_date,
             b.mtime as modify_date,
             b.source as source,
             decode(bitand(b.property,1),1,'TRUE','FALSE') as read_only
      from wri$_adv_sqlw_sum a, wri$_adv_tasks b
      where a.workload_id = b.id
        and bitand(b.property,2) = 2
        and b.advisor_id = 6;

create or replace public synonym dba_advisor_sqlw_templates
   for dba_advisor_sqlw_templates;
grant select on dba_advisor_sqlw_templates to select_catalog_role;

create or replace view user_advisor_sqlw_templates
   as select b.id as workload_id,
             b.name as workload_name,
             b.description as description,
             b.ctime as create_date,
             b.mtime as modify_date,
             b.source as source,
             decode(bitand(b.property,1),1,'TRUE','FALSE') as read_only
      from wri$_adv_sqlw_sum a, wri$_adv_tasks b
      where b.owner# = userenv('SCHEMAID')
        and a.workload_id = b.id
        and bitand(b.property,2) = 2
        and b.advisor_id = 6;

create or replace public synonym user_advisor_sqlw_templates
   for user_advisor_sqlw_templates;
grant read on user_advisor_sqlw_templates to public;



execute CDBView.create_cdbview(false,'SYS','DBA_ADVISOR_SQLW_TEMPLATES','CDB_ADVISOR_SQLW_TEMPLATES');
grant read on SYS.CDB_advisor_sqlw_templates to public 
/
create or replace public synonym CDB_advisor_sqlw_templates for SYS.CDB_advisor_sqlw_templates
/

Rem
Rem sql workload statements
Rem
Rem      Temporary workload table until SWO is implemented.
Rem
Rem         Valid values for validated column:
Rem
Rem             0 - unused
Rem             1 - Valid after workload filtering
Rem             2 - Valid after applying importance filtering

create or replace view dba_advisor_sqlw_stmts
   as select c.owner_name as owner,
             b.workload_id as workload_id,
             c.name as workload_name,
             b.sql_id as sql_id,
             b.hash_value as hash_value,
             b.username as username,
             substrb(b.module,1,(select ksumodlen from x$modact_length))
             as module,
             substrb(b.action,1,(select ksuactlen from x$modact_length))
             as action,
             b.cpu_time as cpu_time,
             b.buffer_gets as buffer_gets,
             b.disk_reads as disk_reads,
             b.elapsed_time as elapsed_time,
             b.rows_processed as rows_processed,
             b.executions as executions,
             b.optimizer_cost as optimizer_cost,
             b.last_execution_date as last_execution_date,
             b.priority as priority,
             b.command_type as command_type,
             b.stat_period as stat_period,
             b.sql_text as sql_text,
             b.valid as valid
      from wri$_adv_sqlw_stmts b,wri$_adv_tasks c
      where b.workload_id = c.id
        and bitand(c.property,2) = 0
        and c.advisor_id = 6;

create or replace public synonym dba_advisor_sqlw_stmts
   for dba_advisor_sqlw_stmts;
grant select on dba_advisor_sqlw_stmts to select_catalog_role;

create or replace view user_advisor_sqlw_stmts
   as select b.workload_id as workload_id,
             c.name as workload_name,
             b.sql_id as sql_id,
             b.hash_value as hash_value,
             b.username as username,
             substrb(b.module,1,(select ksumodlen from x$modact_length))
             as module,
             substrb(b.action,1,(select ksuactlen from x$modact_length))
             as action,
             b.cpu_time as cpu_time,
             b.buffer_gets as buffer_gets,
             b.disk_reads as disk_reads,
             b.elapsed_time as elapsed_time,
             b.rows_processed as rows_processed,
             b.executions as executions,
             b.optimizer_cost as optimizer_cost,
             b.last_execution_date as last_execution_date,
             b.priority as priority,
             b.command_type as command_type,
             b.stat_period as stat_period,
             b.sql_text as sql_text,
             b.valid as valid
      from wri$_adv_sqlw_stmts b, wri$_adv_tasks c
      where c.id = b.workload_id 
        and c.owner# = userenv('SCHEMAID')
        and bitand(c.property,2) = 0
        and c.advisor_id = 6;

create or replace public synonym user_advisor_sqlw_stmts
   for user_advisor_sqlw_stmts;
grant read on user_advisor_sqlw_stmts to public;



execute CDBView.create_cdbview(false,'SYS','DBA_ADVISOR_SQLW_STMTS','CDB_ADVISOR_SQLW_STMTS');
grant read on SYS.CDB_advisor_sqlw_stmts to public 
/
create or replace public synonym CDB_advisor_sqlw_stmts for SYS.CDB_advisor_sqlw_stmts
/

Rem
Rem   sql Workload table references
Rem
Rem         Contains a list of tables referenced by each workload statement
Rem         Temporary until SWO is implemented.
Rem

create or replace view dba_advisor_sqlw_tables
   as select d.owner_name as owner,
             b.workload_id as workload_id,
             d.name as workload_name,
             b.sql_id as sql_id,
             b.table_owner  as table_owner,
             b.table_name as table_name
      from wri$_adv_sqlw_tables b, wri$_adv_tasks d
      where d.id = b.workload_id
        and bitand(d.property,2) = 0
        and d.advisor_id = 6;

create or replace public synonym dba_advisor_sqlw_tables
   for dba_advisor_sqlw_tables;
grant select on dba_advisor_sqlw_tables to select_catalog_role;

create or replace view user_advisor_sqlw_tables
   as select b.workload_id as workload_id,
             c.name as workload_name,
             b.sql_id as sql_id,
             b.table_owner  as table_owner,
             b.table_name as table_name
      from wri$_adv_sqlw_tables b, wri$_adv_tasks c
      where c.id = b.workload_id
        and c.owner# = userenv('SCHEMAID')
        and bitand(c.property,2) = 0
        and c.advisor_id = 6;

create or replace public synonym user_advisor_sqlw_tables
   for user_advisor_sqlw_tables;
grant read on user_advisor_sqlw_tables to public;



execute CDBView.create_cdbview(false,'SYS','DBA_ADVISOR_SQLW_TABLES','CDB_ADVISOR_SQLW_TABLES');
grant read on SYS.CDB_advisor_sqlw_tables to public 
/
create or replace public synonym CDB_advisor_sqlw_tables for SYS.CDB_advisor_sqlw_tables
/

Rem
Rem Table volatility data
Rem

create or replace view dba_advisor_sqlw_tabvol
   as select c.owner_name as owner,
             b.workload_id as workload_id,
             c.name as workload_name,
             b.owner_name as table_owner,
             b.table_name as table_name,
             b.upd_freq as update_freq,
             b.ins_freq as insert_freq,
             b.del_freq as delete_freq,
             b.dir_freq as direct_load_freq,
             b.upd_rows as updated_rows,
             b.ins_rows as inserted_rows,
             b.del_rows as deleted_rows,
             b.dir_rows as direct_load_rows
      from wri$_adv_sqlw_tabvol b, wri$_adv_tasks c
      where c.id = b.workload_id
        and bitand(c.property,2) = 0
        and c.advisor_id = 6;

create or replace public synonym dba_advisor_sqlw_tabvol
   for dba_advisor_sqlw_tabvol;
grant select on dba_advisor_sqlw_tabvol to select_catalog_role;

create or replace view user_advisor_sqlw_tabvol
   as select b.workload_id as workload_id,
             c.name as workload_name,
             b.owner_name as table_owner,
             b.table_name as table_name,
             b.upd_freq as update_freq,
             b.ins_freq as insert_freq,
             b.del_freq as delete_freq,
             b.dir_freq as direct_load_freq,
             b.upd_rows as updated_rows,
             b.ins_rows as inserted_rows,
             b.del_rows as deleted_rows,
             b.dir_rows as direct_load_rows
      from wri$_adv_sqlw_tabvol b, wri$_adv_tasks c
      where c.id = b.workload_id
        and c.owner# = userenv('SCHEMAID')
        and bitand(c.property,2) = 0
        and c.advisor_id = 6;

create or replace public synonym user_advisor_sqlw_tabvol
   for user_advisor_sqlw_tabvol;
grant read on user_advisor_sqlw_tabvol to public;



execute CDBView.create_cdbview(false,'SYS','DBA_ADVISOR_SQLW_TABVOL','CDB_ADVISOR_SQLW_TABVOL');
grant read on SYS.CDB_advisor_sqlw_tabvol to public 
/
create or replace public synonym CDB_advisor_sqlw_tabvol for SYS.CDB_advisor_sqlw_tabvol
/

Rem
Rem Column volatility data
Rem

create or replace view dba_advisor_sqlw_colvol
   as select c.owner_name as owner,
             b.workload_id as workload_id,
             c.name as workload_name,
             e.owner_name as table_owner,
             e.table_name as table_name,
             d.name as column_name,
             b.upd_freq as update_freq,
             b.upd_rows as updated_rows
      from wri$_adv_sqlw_colvol b, wri$_adv_tasks c, sys.col$ d,
           wri$_adv_sqlw_tabvol e
      where c.id = b.workload_id
        and d.col# = b.col#
        and e.table# = b.table#
        and bitand(c.property,2) = 0
        and c.advisor_id = 6;

create or replace public synonym dba_advisor_sqlw_colvol
   for dba_advisor_sqlw_colvol;
grant select on dba_advisor_sqlw_colvol to select_catalog_role;

create or replace view user_advisor_sqlw_colvol
   as select b.workload_id as workload_id,
             c.name as workload_name,
             e.owner_name as table_owner,
             e.table_name as table_name,
             d.name as column_name,
             b.upd_freq as update_freq,
             b.upd_rows as updated_rows
      from wri$_adv_sqlw_colvol b, wri$_adv_tasks c, sys.col$ d,
           wri$_adv_sqlw_tabvol e
      where c.id = b.workload_id
        and c.owner# = userenv('SCHEMAID')
        and d.col# = b.col#
        and e.table# = b.table#
        and bitand(c.property,2) = 0
        and c.advisor_id = 6;

create or replace public synonym user_advisor_sqlw_colvol
   for user_advisor_sqlw_colvol;
grant read on user_advisor_sqlw_colvol to public;


execute CDBView.create_cdbview(false,'SYS','DBA_ADVISOR_SQLW_COLVOL','CDB_ADVISOR_SQLW_COLVOL');
grant read on SYS.CDB_advisor_sqlw_colvol to public 
/
create or replace public synonym CDB_advisor_sqlw_colvol for SYS.CDB_advisor_sqlw_colvol
/

Rem
Rem Workload parameters
Rem

create or replace view dba_advisor_sqlw_parameters
   as select b.owner_name as owner,
             a.task_id as workload_id,
             b.name as workload_name,
             a.name as parameter_name,
             a.value as parameter_value,
             decode(a.datatype,1,'NUMBER',2,'STRING',3,'STRINGLIST',
                               4,'TABLE',5,'TABLELIST','UNKNOWN')
                 as parameter_type,
             dbms_advisor.format_message(a.description) as description
      from wri$_adv_parameters a, wri$_adv_tasks b
      where a.task_id = b.id
        and b.advisor_id = 6
        and bitand(a.flags,1) = 0;

create or replace public synonym dba_advisor_sqlw_parameters
   for dba_advisor_sqlw_parameters;
grant select on dba_advisor_sqlw_parameters to select_catalog_role;

create or replace view user_advisor_sqlw_parameters
   as select a.task_id as workload_id,
             b.name as workload_name,
             a.name as parameter_name,
             a.value as parameter_value,
             decode(a.datatype,1,'NUMBER',2,'STRING',3,'STRINGLIST',
                               4,'TABLE',5,'TABLELIST','UNKNOWN')
                 as parameter_type,
             dbms_advisor.format_message(a.description) as description
      from wri$_adv_parameters a, wri$_adv_tasks b
      where a.task_id = b.id
        and b.owner# = userenv('SCHEMAID')
        and b.advisor_id = 6
        and bitand(a.flags,1) = 0;

create or replace public synonym user_advisor_sqlw_parameters
   for user_advisor_sqlw_parameters;
grant read on user_advisor_sqlw_parameters to public;


execute CDBView.create_cdbview(false,'SYS','DBA_ADVISOR_SQLW_PARAMETERS','CDB_ADVISOR_SQLW_PARAMETERS');
grant read on SYS.CDB_advisor_sqlw_parameters to public 
/
create or replace public synonym CDB_advisor_sqlw_parameters for SYS.CDB_advisor_sqlw_parameters
/

Rem
Rem workload journal
Rem

create or replace view dba_advisor_sqlw_journal
   as select b.owner_name as owner,
             a.task_id as workload_id,
             b.name as workload_name,
             a.seq_id as journal_entry_seq,
             decode(a.type, 1, 'FATAL', 
                            2, 'ERROR',
                            3, 'WARNING',
                            4, 'INFORMATION',
                            5, 'INFORMATION2',
                            6, 'INFORMATION3',
                            7, 'INFORMATION4',
                            8, 'INFORMATION5',
                            9, 'INFORMATION6') as journal_entry_type,
             dbms_advisor.format_message_group(a.msg_id) as journal_entry
      from wri$_adv_journal a, wri$_adv_tasks b
      where a.task_id = b.id
        and b.advisor_id = 6;

create or replace public synonym dba_advisor_sqlw_journal
   for dba_advisor_sqlw_journal;
grant select on dba_advisor_sqlw_journal to select_catalog_role;
 
create or replace view user_advisor_sqlw_journal
   as select a.task_id as workload_id,
             b.name as workload_name,
             a.seq_id as journal_entry_seq,
             decode(a.type, 1, 'FATAL', 
                            2, 'ERROR',
                            3, 'WARNING',
                            4, 'INFORMATION',
                            5, 'INFORMATION2',
                            6, 'INFORMATION3',
                            7, 'INFORMATION4',
                            8, 'INFORMATION5',
                            9, 'INFORMATION6') as journal_entry_type,
             dbms_advisor.format_message_group(a.msg_id) as journal_entry
      from wri$_adv_journal a, wri$_adv_tasks b
      where a.task_id = b.id
        and b.advisor_id = 6
        and b.owner# = userenv('SCHEMAID');

create or replace public synonym user_advisor_sqlw_journal
   for user_advisor_sqlw_journal;
grant read on user_advisor_sqlw_journal to public;


execute CDBView.create_cdbview(false,'SYS','DBA_ADVISOR_SQLW_JOURNAL','CDB_ADVISOR_SQLW_JOURNAL');
grant read on SYS.CDB_advisor_sqlw_journal to public 
/
create or replace public synonym CDB_advisor_sqlw_journal for SYS.CDB_advisor_sqlw_journal
/

Rem
Rem The dba/user_tune_mview family is to display the results after
Rem running the dbms_advisor.tune_mview API.
Rem
CREATE OR replace VIEW dba_tune_mview
  (owner, task_name, action_id, script_type, statement)
  AS
  SELECT t.owner_name, t.name, a.id, 
         decode(a.command, 3, 'IMPLEMENTATION', 4, 'IMPLEMENTATION',
                           18, 'UNDO', 23, 'IMPLEMENTATION',
                           24, 'UNDO', 25, 'IMPLEMENTATION',
                           26, 'UNDO', 27, 'IMPLEMENTATION',
                           'UNKNOWN'), 
         decode(a.command,
                3,  'CREATE MATERIALIZED VIEW ' || a.attr1 ||
                    ' ' || a.attr6 || ' ' || a.attr3 || ' ' ||
                    a.attr4 || ' AS ' || a.attr5,
                4,  'CREATE MATERIALIZED VIEW LOG ON ' || a.attr1 ||
                    ' WITH ' || a.attr3 || ' ' || a.attr5 || ' ' ||
                    a.attr4,
                18, 'DROP MATERIALIZED VIEW ' || a.attr1 || ' ' || a.attr5,
                23, 'CREATE MATERIALIZED VIEW ' || a.attr1 ||
                    ' ' || a.attr6 || ' ' || a.attr3 || ' ' ||
                    a.attr4 || ' AS ' || a.attr5,
                24, 'DROP MATERIALIZED VIEW ' || a.attr1 || ' ' || a.attr5,
                25, 'DBMS_ADVANCED_REWRITE.BUILD_SAFE_REWRITE_EQUIVALENCE (''' ||
                    a.attr1 || ''',''' || a.attr5 || ''',''' || a.attr6 ||
                    ''',' || a.attr2 || ')',
                26, 'DBMS_ADVANCED_REWRITE.DROP_REWRITE_EQUIVALENCE(''' ||
                    a.attr1 || ''')' || a.attr5,
                27, 'ALTER MATERIALIZED VIEW LOG FORCE ON ' || a.attr1 ||
                    ' ADD ' || a.attr3 || ' ' || a.attr5 || ' ' ||
                    a.attr4,
                    a.attr5)
    FROM sys.wri$_adv_actions a, sys.wri$_adv_tasks t
    WHERE a.task_id = t.id;

CREATE OR replace PUBLIC synonym dba_tune_mview FOR sys.dba_tune_mview;
GRANT SELECT ON dba_tune_mview TO select_catalog_role;

comment ON TABLE dba_tune_mview IS
  'Catalog View to show the result after executing TUNE_MVIEW() API';
comment ON column dba_tune_mview.owner IS 'Owner of the task';
comment ON column dba_tune_mview.task_name IS 'Name of the task';
comment ON column dba_tune_mview.script_type IS 'Type of the script';
comment ON column dba_tune_mview.task_name IS 'ID of the action';
comment ON column dba_tune_mview.statement IS 'Action statement';

execute CDBView.create_cdbview(false,'SYS','DBA_TUNE_MVIEW','CDB_TUNE_MVIEW');
grant select on SYS.CDB_tune_mview to select_catalog_role
/
create or replace public synonym CDB_tune_mview for SYS.CDB_tune_mview
/

CREATE OR replace VIEW user_tune_mview
  (task_name, action_id, script_type, statement)
  AS
  SELECT t.name, a.id,
         decode(a.command, 3, 'IMPLEMENTATION', 4, 'IMPLEMENTATION', 
                           18, 'UNDO', 23, 'IMPLEMENTATION',
                           24, 'UNDO', 25, 'IMPLEMENTATION',
                           26, 'UNDO', 27, 'IMPLEMENTATION',
                           'UNKNOWN'),
         decode(a.command, 
                3,  'CREATE MATERIALIZED VIEW ' || a.attr1 ||
                    ' ' || a.attr6 || ' ' || a.attr3 || ' ' ||
                    a.attr4 || ' AS ' || a.attr5,
                4,  'CREATE MATERIALIZED VIEW LOG ON ' || a.attr1 ||
                    ' WITH ' || a.attr3 || ' ' || a.attr5 || ' ' ||
                    a.attr4,
                18, 'DROP MATERIALIZED VIEW ' || a.attr1 || ' ' || a.attr5,
                23, 'CREATE MATERIALIZED VIEW ' || a.attr1 ||
                    ' ' || a.attr6 || ' ' || a.attr3 || ' ' ||
                    a.attr4 || ' AS ' || a.attr5,
                24, 'DROP MATERIALIZED VIEW ' || a.attr1 || ' ' || a.attr5,
                25, 'DBMS_ADVANCED_REWRITE.BUILD_SAFE_REWRITE_EQUIVALENCE (''' ||
                    a.attr1 || ''',''' || a.attr5 || ''',''' || a.attr6 || 
                    ''',' || a.attr2 || ')',
                26, 'DBMS_ADVANCED_REWRITE.DROP_REWRITE_EQUIVALENCE(''' ||
                    a.attr1 || ''')' || a.attr5,
                27, 'ALTER MATERIALIZED VIEW LOG FORCE ON ' || a.attr1 ||
                    ' ADD ' || a.attr3 || ' ' || a.attr5 || ' ' ||
                    a.attr4,
                    a.attr5)
    FROM sys.wri$_adv_actions a, sys.wri$_adv_tasks t
    WHERE a.task_id = t.id
    AND t.owner# = userenv('SCHEMAID');

CREATE OR replace PUBLIC synonym user_tune_mview FOR sys.user_tune_mview;
GRANT READ ON user_tune_mview TO public;

comment ON TABLE user_tune_mview IS
  'tune_mview catalog view owned by the user';
comment ON column user_tune_mview.task_name IS 'Name of the task';
comment ON column user_tune_mview.task_name IS 'ID of the action';
comment ON column dba_tune_mview.script_type IS 'Type of the script';
comment ON column user_tune_mview.statement IS 'Action statement';


@?/rdbms/admin/sqlsessend.sql

OHA YOOOO