SQL> "GENERAL INFORMATION SECTION ---------------------------------------------------------------------------------------------
Task Information: --------------------------------------------- Task Name : SYS_AUTO_SPM_EVOLVE_TASK Task Owner : SYS Description : Automatic SPM Evolve Task Execution Name : EXEC_6133 Execution Type : SPM EVOLVE Scope : COMPREHENSIVE Status : COMPLETED Started : 06/28/2022 22:06:36 Finished : 06/28/2022 22:35:22 Last Updated : 06/28/2022 22:35:22 Global Time Limit : 3600 Per-Plan Time Limit : UNUSED Number of Errors : 0 ---------------------------------------------------------------------------------------------
SUMMARY SECTION --------------------------------------------------------------------------------------------- Number of plans processed : 170 Number of findings : 173 Number of recommendations : 91 Number of errors : 12 ---------------------------------------------------------------------------------------------
DETAILS SECTION --------------------------------------------------------------------------------------------- Object ID : 13903 Test Plan Name : SQL_PLAN_8n4gd1t230ahv95a50d26 Base Plan Name : Cost-based plan SQL Handle : SQL_8a11ed0e44302a1b Parsing Schema : SYS Test Plan Creator : SYS SQL Text : select t.ts#,t.file#,t.block#,nvl(t.bobj#,0),nvl(t.tab#,0 ),t.intcols,nvl(t.clucols,0),t.flags,t.pctfree$,t.pctused$, t.initrans,t.maxtrans,t.rowcnt,t.blkcnt,t.empcnt,t.avgspc,t .chncnt,t.avgrln,t.analyzetime,t.samplesize,t.cols,t.proper ty,nvl(t.degree,1),nvl(t.instances,1),t.avgspc_flb,t.flbcnt ,t.kernelcols,nvl(t.trigflag, 0),nvl(t.spare1,0),nvl(t.spar e2,0),t.spare4,t.spare6,ts.cachedblk,ts.cachehit,ts.logical read,ts.im_imcu_count,ts.im_block_count,ts.im_sys_incarnati on,ts.im_stat_update_time,ts.scanrate,nvl(t.acdrflags, 0),nvl(t.acdrtsobj#, 0),t.acdrdefaulttime, nvl(t.acdrrowtsintcol#, 0) from tab$ t,tab_stats$ ts where t.obj#= :1 and t.obj# = ts.obj# (+)
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. This plan was skipped because either the database is not fully open or the SQL statement is ineligible for SQL Plan Management.
--------------------------------------------------------------------------------------------- Object ID : 13904 Test Plan Name : SQL_PLAN_g075kuyjds23rc8c2f16b Base Plan Name : Cost-based plan SQL Handle : SQL_f01cb2d7a2dc0877 Parsing Schema : SYS Test Plan Creator : SYS SQL Text : select audit$ from tab$ where obj# = :1
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. This plan was skipped because either the database is not fully open or the SQL statement is ineligible for SQL Plan Management.
--------------------------------------------------------------------------------------------- Object ID : 13905 Test Plan Name : SQL_PLAN_85zzvaw9hu3sz3a5246c1 Base Plan Name : Cost-based plan SQL Handle : SQL_82fffb57130d0f1f Parsing Schema : SYS Test Plan Creator : SYS SQL Text : select not_stale.obj# from (select s.obj# obj#, count(*) cnt, max(timestamp) max_time from optstat_snapshot$ s, wri$_optstat_tab_history t where s.obj# = t.obj# and bitand(s.flags, :gather_stats_flag) > 0 and t.analyzetime = (select max(analyzetime) from wri$_optstat_tab_history where analyzetime < s.timestamp) and dbms_stats_internal.is_stale(s.obj#, null, null, s.inserts + s.updates + s.deletes, t.rowcnt, 0) is null group by s.obj#) not_stale, (select obj# obj#, count(*) cnt from optstat_snapshot$ where bitand(flags, :gather_stats_flag) > 0 group by obj#) total, (select obj#, max(timestamp) max_time from optstat_snapshot$ group by obj#) max where not_stale.obj# = total.obj# and not_stale.cnt > 0.5 * total.cnt and not_stale.obj# = max.obj# and not_stale.max_time = max.max_time and dbms_stats_internal.check_advisor_obj_filter(:rule_id, not_stale.obj#, :exec_mode) = 'T'
Execution Statistics: ----------------------------- Base Plan Test Plan ---------------------------- ---------------------------- Elapsed Time (s): 76.080419 76.504025 CPU Time (s): 75.798869 76.19546 Buffer Gets: 338013 338013 Optimizer Cost: 874 874 Disk Reads: 0 0 Direct Writes: 0 0 Rows Processed: 0 0 Executions: 2 2
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The plan was verified in 1547.24800 seconds. It failed the benefit criterion because its verified performance was 0.99480 times worse than that of the baseline plan.
EXPLAIN PLANS SECTION ---------------------------------------------------------------------------------------------
Baseline Plan ----------------------------- Plan Id : 13667 Plan Hash Value : 3216324013
------------------------------------------------------------------------------------------------------------ | Id | Operation | Name | Rows | Bytes | Cost | Time | ------------------------------------------------------------------------------------------------------------ | 0 | SELECT STATEMENT | | 1 | 95 | 874 | 00:00:01 | | * 1 | HASH JOIN | | 1 | 95 | 874 | 00:00:01 | | 2 | JOIN FILTER CREATE | :BF0000 | 7 | 483 | 703 | 00:00:01 | | * 3 | HASH JOIN | | 7 | 483 | 703 | 00:00:01 | | 4 | VIEW | | 410 | 16810 | 512 | 00:00:01 | | 5 | HASH GROUP BY | | 410 | 8200 | 512 | 00:00:01 | | * 6 | VIEW | VM_NWVW_2 | 410 | 8200 | 512 | 00:00:01 | | * 7 | FILTER | | | | | | | 8 | SORT GROUP BY | | 410 | 25420 | 512 | 00:00:01 | | 9 | MERGE JOIN | | 1708775 | 105944050 | 229 | 00:00:01 | | 10 | SORT JOIN | | 3323 | 182765 | 185 | 00:00:01 | | * 11 | HASH JOIN | | 3323 | 182765 | 183 | 00:00:01 | | * 12 | TABLE ACCESS FULL | OPTSTAT_SNAPSHOT$ | 9637 | 260199 | 169 | 00:00:01 | | 13 | TABLE ACCESS FULL | WRI$_OPTSTAT_TAB_HISTORY | 10284 | 287952 | 13 | 00:00:01 | | * 14 | SORT JOIN | | 10284 | 71988 | 15 | 00:00:01 | | 15 | TABLE ACCESS FULL | WRI$_OPTSTAT_TAB_HISTORY | 10284 | 71988 | 13 | 00:00:01 | | 16 | VIEW | | 1396 | 39088 | 190 | 00:00:01 | | 17 | HASH GROUP BY | | 1396 | 25128 | 190 | 00:00:01 | | 18 | TABLE ACCESS FULL | OPTSTAT_SNAPSHOT$ | 221488 | 3986784 | 158 | 00:00:01 | | 19 | VIEW | | 1395 | 36270 | 171 | 00:00:01 | | 20 | HASH GROUP BY | | 1395 | 11160 | 171 | 00:00:01 | | 21 | JOIN FILTER USE | :BF0000 | 9637 | 77096 | 169 | 00:00:01 | | * 22 | TABLE ACCESS FULL | OPTSTAT_SNAPSHOT$ | 9637 | 77096 | 169 | 00:00:01 | ------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 1 - access("NOT_STALE"."OBJ#"="TOTAL"."OBJ#") * 1 - filter("NOT_STALE"."CNT">0.5*"TOTAL"."CNT") * 3 - access("NOT_STALE"."OBJ#"="MAX"."OBJ#" AND SYS_EXTRACT_UTC("NOT_STALE"."MAX_TIME")=SYS_EXTRACT_UTC("MAX"."MAX_TIME")) * 6 - filter("DBMS_STATS_INTERNAL"."CHECK_ADVISOR_OBJ_FILTER"(:RULE_ID,"$vm_col_2",:EXEC_MODE)='T') * 7 - filter("T"."ANALYZETIME"=MAX("ANALYZETIME")) * 11 - access("S"."OBJ#"="T"."OBJ#") * 11 - filter("DBMS_STATS_INTERNAL"."IS_STALE"("S"."OBJ#",NULL,NULL,"S"."INSERTS"+"S"."UPDATES"+"S"."DELETES","T"."ROWCNT",0) IS NULL) * 12 - filter(BITAND("S"."FLAGS",:GATHER_STATS_FLAG)>0) * 14 - access(SYS_EXTRACT_UTC(INTERNAL_FUNCTION("ANALYZETIME"))* 14 - filter(SYS_EXTRACT_UTC(INTERNAL_FUNCTION("ANALYZETIME"))* 22 - filter(BITAND("FLAGS",:GATHER_STATS_FLAG)>0 AND SYS_OP_BLOOM_FILTER(:BF0000,"OBJ#"))
Hint Report (identified by operation id / Query Block Name / Object Alias): Total hints for statement: 1 (U - Unused (1)) ------------------------------------------------------------------------------- 0 - STATEMENT U - NO_PARALLEL
Notes ----- - dop_reason = hint - dop = 1 - px_in_memory_imc = no - px_in_memory = no
Test Plan ----------------------------- Plan Id : 13668 Plan Hash Value : 978470593
------------------------------------------------------------------------------------------------------------ | Id | Operation | Name | Rows | Bytes | Cost | Time | ------------------------------------------------------------------------------------------------------------ | 0 | SELECT STATEMENT | | 1 | 95 | 874 | 00:00:01 | | * 1 | HASH JOIN | | 1 | 95 | 874 | 00:00:01 | | 2 | JOIN FILTER CREATE | :BF0000 | 7 | 483 | 703 | 00:00:01 | | * 3 | HASH JOIN | | 7 | 483 | 703 | 00:00:01 | | 4 | VIEW | | 410 | 16810 | 512 | 00:00:01 | | 5 | HASH GROUP BY | | 410 | 8200 | 512 | 00:00:01 | | * 6 | VIEW | VM_NWVW_2 | 410 | 8200 | 512 | 00:00:01 | | * 7 | FILTER | | | | | | | 8 | SORT GROUP BY | | 410 | 25420 | 512 | 00:00:01 | | 9 | MERGE JOIN | | 1708775 | 105944050 | 229 | 00:00:01 | | 10 | SORT JOIN | | 3323 | 182765 | 185 | 00:00:01 | | * 11 | HASH JOIN | | 3323 | 182765 | 183 | 00:00:01 | | 12 | TABLE ACCESS FULL | WRI$_OPTSTAT_TAB_HISTORY | 10284 | 287952 | 13 | 00:00:01 | | * 13 | TABLE ACCESS FULL | OPTSTAT_SNAPSHOT$ | 9637 | 260199 | 169 | 00:00:01 | | * 14 | SORT JOIN | | 10284 | 71988 | 15 | 00:00:01 | | 15 | TABLE ACCESS FULL | WRI$_OPTSTAT_TAB_HISTORY | 10284 | 71988 | 13 | 00:00:01 | | 16 | VIEW | | 1396 | 39088 | 190 | 00:00:01 | | 17 | HASH GROUP BY | | 1396 | 25128 | 190 | 00:00:01 | | 18 | TABLE ACCESS FULL | OPTSTAT_SNAPSHOT$ | 221488 | 3986784 | 158 | 00:00:01 | | 19 | VIEW | | 1395 | 36270 | 171 | 00:00:01 | | 20 | HASH GROUP BY | | 1395 | 11160 | 171 | 00:00:01 | | 21 | JOIN FILTER USE | :BF0000 | 9637 | 77096 | 169 | 00:00:01 | | * 22 | TABLE ACCESS FULL | OPTSTAT_SNAPSHOT$ | 9637 | 77096 | 169 | 00:00:01 | ------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 1 - access("NOT_STALE"."OBJ#"="TOTAL"."OBJ#") * 1 - filter("NOT_STALE"."CNT">0.5*"TOTAL"."CNT") * 3 - access("NOT_STALE"."OBJ#"="MAX"."OBJ#" AND SYS_EXTRACT_UTC("NOT_STALE"."MAX_TIME")=SYS_EXTRACT_UTC("MAX"."MAX_TIME")) * 6 - filter("DBMS_STATS_INTERNAL"."CHECK_ADVISOR_OBJ_FILTER"(:RULE_ID,"$vm_col_2",:EXEC_MODE)='T') * 7 - filter("T"."ANALYZETIME"=MAX("ANALYZETIME")) * 11 - access("S"."OBJ#"="T"."OBJ#") * 11 - filter("DBMS_STATS_INTERNAL"."IS_STALE"("S"."OBJ#",NULL,NULL,"S"."INSERTS"+"S"."UPDATES"+"S"."DELETES","T"."ROWCNT",0) IS NULL) * 13 - filter(BITAND("S"."FLAGS",:GATHER_STATS_FLAG)>0) * 14 - access(SYS_EXTRACT_UTC(INTERNAL_FUNCTION("ANALYZETIME"))* 14 - filter(SYS_EXTRACT_UTC(INTERNAL_FUNCTION("ANALYZETIME"))* 22 - filter(BITAND("FLAGS",:GATHER_STATS_FLAG)>0 AND SYS_OP_BLOOM_FILTER(:BF0000,"OBJ#"))
Notes ----- - dop_reason = hint - dop = 1 - px_in_memory_imc = no - px_in_memory = no
--------------------------------------------------------------------------------------------- Object ID : 13906 Test Plan Name : SQL_PLAN_52xv44h6q5rrj9d9718e6 Base Plan Name : Cost-based plan SQL Handle : SQL_517764240d62def1 Parsing Schema : DBSNMP Test Plan Creator : SYS SQL Text : WITH jd AS (SELECT end_time, input_bytes, session_key, session_recid, session_stamp, input_type, output_device_type, status FROM V$RMAN_BACKUP_JOB_DETAILS WHERE output_device_type IN ('SBT_TAPE', '*') AND status NOT LIKE 'RUNNING%'), db_bkp_data AS (SELECT to_char(jd.end_time, 'YYYY-MM-DD HH24:MI:SS') db_backup_end_time, ROUND((sysdate-end_time)*24,2) db_backup_age, jd.input_bytes db_backup_size, p.media db_backup_media, jd.status db_backup_status, s.incremental_level db_backup_incr_level, jd.input_type db_backup_input_type FROM V$BACKUP_SET_DETAILS s, jd, V$BACKUP_PIECE_DETAILS p WHERE jd.input_type IN ('DB FULL', 'DB INCR') AND s.session_key = jd.session_key AND s.session_recid = jd.session_recid AND s.session_stamp = jd.session_stamp AND p.session_key = s.session_key AND p.session_recid = s.session_recid AND p.session_stamp = s.session_stamp), LAST_SUC_DB_FULL AS (SELECT * FROM (SELECT * FROM (SELECT db_backup_end_time last_db_backup_date, db_backup_age last_db_backup_age, db_backup_size last_db_backup_size, db_backup_media last_full_media FROM db_bkp_data WHERE db_backup_status LIKE 'COMPLETED%' AND db_backup_input_type = 'DB FULL' AND db_backup_incr_level IS NULL ORDER by db_backup_end_time DESC) UNION ALL SELECT NULL, NULL, NULL, NULL FROM DUAL) WHERE ROWNUM = 1), LAST_EXEC_DB_FULL AS (SELECT * FROM (SELECT * FROM (SELECT db_backup_end_time last_exec_db_backup_date, db_backup_status last_exec_db_backup_status FROM db_bkp_data WHERE db_backup_status NOT LIKE 'RUNNING%' AND db_backup_input_type = 'DB FULL' AND db_backup_incr_level IS NULL ORDER by db_backup_end_time DESC) UNION ALL SELECT NULL, NULL FROM DUAL) WHERE ROWNUM = 1), LAST_SUC_DB_INCR AS (SELECT * FROM (SELECT * FROM (SELECT db_backup_end_time last_db_incr_end_time, db_backup_age last_db_incr_age, db_backup_size last_db_incr_size, db_backup_media last_db_incr_media FROM db_bkp_data WHERE db_backup_status LIKE 'COMPLETED%' AND db_backup_input_type = 'DB INCR' ORDER by db_backup_end_time DESC) UNION ALL SELECT NULL, NULL, NULL, NULL FROM DUAL) WHERE ROWNUM = 1), LAST_EXEC_DB_INCR AS (SELECT * FROM (SELECT * FROM (SELECT db_backup_end_time db_incr_exec_end_time, db_backup_status db_incr_exec_status FROM db_bkp_data WHERE db_backup_status NOT LIKE 'RUNNING%' AND db_backup_input_type = 'DB INCR' ORDER by db_backup_end_time DESC) UNION ALL SELECT NULL, NULL FROM DUAL) WHERE ROWNUM = 1), LAST_SUC_DB_INCR0 AS (SELECT * FROM (SELECT * FROM (SELECT db_backup_end_time last_db_incr_0_end_time, db_backup_age last_db_incr_0_age, db_backup_size last_db_incr_0_size, db_backup_media last_db_incr_0_media FROM db_bkp_data WHERE db_backup_status LIKE 'COMPLETED%' AND db_backup_input_type = 'DB INCR' AND db_backup_incr_level = 0 ORDER by db_backup_end_time DESC) UNION ALL SELECT NULL, NULL, NULL, NULL FROM DUAL) WHERE ROWNUM = 1), LAST_EXEC_DB_INCR0 AS (SELECT * FROM (SELECT * FROM (SELECT db_backup_end_time db_incr_0_exec_end_time, db_backup_status db_incr_0_exec_status FROM db_bkp_data WHERE db_backup_status NOT LIKE 'RUNNING%' AND db_backup_input_type = 'DB INCR' AND db_backup_incr_level = 0 ORDER by db_backup_end_time DESC) UNION ALL SELECT NULL, NULL FROM DUAL) WHERE ROWNUM = 1), LAST_SUC_DB_INCR1 AS (SELECT * FROM (SELECT * FROM (SELECT db_backup_end_time last_db_incr_1_end_time, db_backup_age last_db_incr_1_age, db_backup_size last_db_incr_1_size, db_backup_media last_db_incr_1_media FROM db_bkp_data WHERE db_backup_status LIKE 'COMPLETED%' AND db_backup_input_type = 'DB INCR' AND db_backup_incr_level > 0 ORDER by db_backup_end_time DESC) UNION ALL SELECT NULL, NULL, NULL, NULL FROM DUAL) WHERE ROWNUM = 1), LAST_EXEC_DB_INCR1 AS (SELECT * FROM (SELECT * FROM (SELECT db_backup_end_time db_incr_1_exec_end_time, db_backup_status db_incr_1_exec_status FROM db_bkp_data WHERE db_backup_status NOT LIKE 'RUNNING%' AND db_backup_input_type = 'DB INCR' AND db_backup_incr_level > 0 ORDER by db_backup_end_time DESC) UNION ALL SELECT NULL, NULL FROM DUAL) WHERE ROWNUM = 1), arch_data AS (SELECT to_char(jd.end_time, 'YYYY-MM-DD HH24:MI:SS') arch_backup_date, ROUND((sysdate-end_time)*24*60,2) arch_backup_age, jd.input_bytes arch_backup_size, p.media arch_media, jd.status arch_status FROM jd, V$BACKUP_PIECE_DETAILS p WHERE jd.input_type = 'ARCHIVELOG' AND p.session_key = jd.session_key AND p.session_recid = jd.session_recid AND p.session_stamp = jd.session_stamp), LAST_SUC_DB_ARCH AS (SELECT * FROM (SELECT * FROM (SELECT arch_backup_date last_arch_backup_date, arch_backup_age last_arch_backup_age, arch_backup_size last_arch_backup_size, arch_media last_arch_media FROM arch_data WHERE arch_status LIKE 'COMPLETED%' ORDER by arch_backup_date DESC) UNION ALL SELECT NULL, NULL, NULL, NULL FROM DUAL) WHERE ROWNUM = 1), LAST_EXEC_DB_ARCH AS (SELECT * FROM (SELECT * FROM (SELECT arch_backup_date last_exec_arch_backup_date, arch_status last_exec_arch_backup_status FROM arch_data WHERE arch_status NOT LIKE 'RUNNING%' ORDER by arch_backup_date DESC) UNION ALL SELECT NULL, NULL FROM DUAL) WHERE ROWNUM = 1) SELECT sf.last_db_backup_date, sf.last_db_backup_age, sf.last_db_backup_size, sf.last_full_media, ef.last_exec_db_backup_date, ef.last_exec_db_backup_status, si.last_db_incr_end_time, si.last_db_incr_age, si.last_db_incr_size, si.last_db_incr_media, ei.db_incr_exec_end_time, ei.db_incr_exec_status, si0.last_db_incr_0_age, si0.last_db_incr_0_size, si0.last_db_incr_0_media, ei0.db_incr_0_exec_status, si1.last_db_incr_1_age, si1.last_db_incr_1_size, si1.last_db_incr_1_media, ei1.db_incr_1_exec_status, sa.last_arch_backup_date, sa.last_arch_backup_age, sa.last_arch_backup_size, sa.last_arch_media, ea.last_exec_arch_backup_date, ea.last_exec_arch_backup_status FROM LAST_SUC_DB_FULL sf, LAST_EXEC_DB_FULL ef, LAST_SUC_DB_INCR si, LAST_EXEC_DB_INCR ei, LAST_SUC_DB_INCR0 si0, LAST_EXEC_DB_INCR0 ei0, LAST_SUC_DB_INCR1 si1, LAST_EXEC_DB_INCR1 ei1, LAST_SUC_DB_ARCH sa, LAST_EXEC_DB_ARCH ea
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 13906, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 13907 Test Plan Name : SQL_PLAN_4sgtazsaycfxuc7819d15 Base Plan Name : Cost-based plan SQL Handle : SQL_4c3f2afe15e63bba Parsing Schema : SYS Test Plan Creator : SYS SQL Text : select type#,blocks,extents,minexts,maxexts,extsize,extpc t,user#,iniexts,NVL(lists,65535),NVL(groups,65535),cachehin t,hwmincr, NVL(spare1,0),NVL(scanhint,0),NVL(bitmapranges,0) from seg$ where ts#=:1 and file#=:2 and block#=:3
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. This plan was skipped because either the database is not fully open or the SQL statement is ineligible for SQL Plan Management.
--------------------------------------------------------------------------------------------- Object ID : 13908 Test Plan Name : SQL_PLAN_39xap90h2m7bve30ea5bf Base Plan Name : Cost-based plan SQL Handle : SQL_34f5554820299d7b Parsing Schema : SYS Test Plan Creator : SYS SQL Text : SELECT a.task_name, a.advisor_name, a.inst_id, a.description, a.owner, a.status, a.execution_start, a.execution_end, trunc(a.created) - trunc(sysdate) + a.days_to_expire_num, a.task_id, a.recommendation_count, a.state, jl.status, cast(nvl(a.start_date, a.last_start_date) as TIMESTAMP), a.created, trunc(sysdate)-trunc(a.created), a.days_to_expire FROM (SELECT b.*, j.state as state, j.start_date as start_date, j.last_start_date as last_start_date FROM (SELECT c.*, p1.parameter_value as days_to_expire, replace(p1.parameter_value, 'UNLIMITED', '-1') as days_to_expire_num, p2.parameter_value as inst_id FROM (SELECT /*+ all_rows ordered no_merge(t)*/ t.advisor_name as advisor_name, t.task_name as task_name, t.description as description, t.owner as owner, t.created as created, t.status as status, t.execution_start as execution_start, t.execution_end as execution_end, t.task_id as task_id, t.recommendation_count as recommendation_count FROM dba_advisor_tasks t WHERE t.advisor_name like :1 AND t.task_name like :2 AND t.execution_start > sysdate - :3 ) c, (SELECT task_id, parameter_value FROM dba_advisor_parameters_proj WHERE parameter_name = 'DAYS_TO_EXPIRE') p1, (SELECT task_id, parameter_value FROM dba_advisor_parameters_proj WHERE parameter_name = 'INSTANCE') p2, (SELECT task_id, parameter_value FROM dba_advisor_parameters_proj WHERE parameter_name = 'DB_ID') p3 WHERE p1.task_id = c.task_id AND p2.task_id = c.task_id AND p3.task_id(+) = c.task_id AND (p2.parameter_value='UNUSED' or (p2.parameter_value=to_char(:4 ) AND (p3.parameter_value is null or p3.parameter_value = to_char(:5 ))))) b, dba_scheduler_jobs j WHERE concat('ADV_', b.task_name) = j.job_name (+) AND b.owner = j.owner (+) ) a, (SELECT job_name, operation, status, owner FROM dba_scheduler_job_log WHERE operation = 'RUN' AND log_id in (SELECT unique max(log_id) over (partition by job_name) FROM dba_scheduler_job_log WHERE operation = 'RUN') ) jl WHERE concat('ADV_', a.task_name) = jl.job_name (+) AND jl.operation(+)='RUN' AND a.owner=jl.owner (+)
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. This plan was skipped because either the database is not fully open or the SQL statement is ineligible for SQL Plan Management.
--------------------------------------------------------------------------------------------- Object ID : 13909 Test Plan Name : SQL_PLAN_bjqa6b141rwgc8df0707c Base Plan Name : Cost-based plan SQL Handle : SQL_b8d94658481bf1ec Parsing Schema : DBSNMP Test Plan Creator : SYS SQL Text : SELECT endtime, value FROM ( SELECT /*+ ORDERED */ TO_CHAR( FROM_TZ( CAST(MAX(m.end_time) AS TIMESTAMP), TO_CHAR(systimestamp, 'tzr') ) AT TIME ZONE sessiontimezone, 'YYYY-MM-DD HH24:MI:SS TZHTZM') as endtime, AVG(m.value) as value FROM v$alert_types a, v$threshold_types t, v$sysmetric_history m WHERE a.internal_metric_category = 'system_response_time_per_call' AND a.reason_id = t.alert_reason_id AND t.metrics_id = m.metric_id AND a.internal_metric_name = 'time_cs' AND m.group_id = 2 AND m.end_time > sysdate - 10 / (60 * 24) AND m.end_time <= sysdate AND :1 != 'BASIC' ORDER BY m.end_time ASC ) WHERE endtime IS NOT NULL AND value IS NOT NULL
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 13909, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 13910 Test Plan Name : SQL_PLAN_5uvaxswq9tb5t32b49dd7 Base Plan Name : Cost-based plan SQL Handle : SQL_5d6d5dc72c9cacb9 Parsing Schema : SYS Test Plan Creator : SYS SQL Text : SELECT source, (case when time_secs < 1 then 1 else time_secs end) as time_secs, operation FROM ( SELECT 1 as source, trunc((sysdate - cast(ll.log_date as date)) * 86400) as time_secs, decode(ll.operation, 'OPEN', 0 , 1 ) as operation, ll.log_id as log_id FROM DBA_SCHEDULER_WINDOW_LOG ll , ( SELECT max(l.log_id) as max_log_id FROM DBA_SCHEDULER_WINDOW_LOG l , DBA_SCHEDULER_WINGROUP_MEMBERS m WHERE l.window_name = m.window_name AND m.window_group_name = 'MAINTENANCE_WINDOW_GROUP' AND l.operation in ('OPEN', 'CLOSE') AND CAST(l.log_date AS DATE) < ( SELECT cast(min(end_interval_time) as date) as btime FROM WRM$_SNAPSHOT bsi WHERE bsi.dbid = :dbid AND bsi.instance_number = :inst AND bsi.snap_id = :bid ) ) max_log WHERE ll.log_id = max_log.max_log_id UNION ALL SELECT 2 as source, trunc((sysdate - cast(l.log_date as date)) * 86400) as time_secs, decode(l.operation, 'OPEN', 0 , 1 ) as operation, l.log_id as log_id FROM DBA_SCHEDULER_WINDOW_LOG l , DBA_SCHEDULER_WINGROUP_MEMBERS m WHERE l.window_name = m.window_name AND m.window_group_name = 'MAINTENANCE_WINDOW_GROUP' AND l.operation in ('OPEN', 'CLOSE') AND CAST(l.log_date AS DATE) <= ( SELECT cast(max(end_interval_time) as date) as etime FROM WRM$_SNAPSHOT esi WHERE esi.dbid = :dbid AND esi.instance_number = :inst AND esi.snap_id = :eid ) AND CAST(l.log_date AS DATE) >= ( SELECT cast(min(end_interval_time) as date) as btime FROM WRM$_SNAPSHOT bsi WHERE bsi.dbid = :dbid AND bsi.instance_number = :inst AND bsi.snap_id = :bid ) UNION ALL SELECT 0 as source, trunc((sysdate - et.etime) * 86400) as time_secs, 3 as operation, 0 as log_id FROM ( SELECT cast(max(end_interval_time) as date) as etime FROM WRM$_SNAPSHOT esi WHERE esi.dbid = :dbid AND esi.instance_number = :inst AND esi.snap_id = :eid ) et UNION ALL SELECT 0 as source, trunc((sysdate - bt.btime) * 86400) as time_secs, 2 as operation, 0 as log_id FROM ( SELECT cast(min(end_interval_time) as date) as btime FROM WRM$_SNAPSHOT bsi WHERE bsi.dbid = :dbid AND bsi.instance_number = :inst AND bsi.snap_id = :bid ) bt ) WHERE time_secs >= 0 ORDER BY source ASC, time_secs DESC, log_id ASC
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. This plan was skipped because either the database is not fully open or the SQL statement is ineligible for SQL Plan Management.
--------------------------------------------------------------------------------------------- Object ID : 13911 Test Plan Name : SQL_PLAN_dm4qm8z6murf15dfe740e Base Plan Name : Cost-based plan SQL Handle : SQL_d992d347cd3d5dc1 Parsing Schema : BOTANG Test Plan Creator : SYS SQL Text : SELECT /*+all_rows*/ SYS_XMLGEN(VALUE(KU$), XMLFORMAT.createFormat2('AUDITOBJ_T', '7')), 0 ,KU$.BASE_OBJ.NAME ,KU$.BASE_OBJ.OWNER_NAME ,KU$.BASE_OBJ.TYPE_NAME ,'AUDIT_OBJ' FROM SYS.KU$_AUDIT_OBJ_VIEW KU$ WHERE NOT BITAND(KU$.BASE_OBJ.FLAGS,128)!=0 AND KU$.OBJ_NUM IN (SELECT * FROM TABLE(DBMS_METADATA.FETCH_OBJNUMS))
ERRORS SECTION --------------------------------------------------------------------------------------------- ORA-31600: invalid input value NULL for parameter HANDLE in function FETCH_OBJNUMS ORA-06512: at "SYS.DBMS_SYS_ERROR", line 105 ORA-06512: at "SYS.DBMS_METADATA", line 1372 ORA-06512: at "SYS.DBMS_METADATA", line 10107 --------------------------------------------------------------------------------------------- Object ID : 13912 Test Plan Name : SQL_PLAN_gnmgkzt1y5jkt5db70ae2 Base Plan Name : Cost-based plan SQL Handle : SQL_fa4df2fe43e2c659 Parsing Schema : SYS Test Plan Creator : SYS SQL Text : select intcol#,type,flags,lobcol,objcol,extracol,schemaoid, elemnum from opqtype$ where obj# = :1 order by intcol# asc
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 13912, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 13913 Test Plan Name : SQL_PLAN_1ajng717hmn61ff568930 Base Plan Name : Cost-based plan SQL Handle : SQL_15468f384f09d0c1 Parsing Schema : APPS Test Plan Creator : SYS SQL Text : SELECT /* ORDERED INDEX(t1) USE_HASH(t1) */ 'B' || t2.pg_featurevalue_05_id pg_featurevalue_05_id, 'r' || t4.elementrange_id pg_featurevalue_15_id, 'G' || t5.elementgroup_id pg_featurevalue_01_id, 'r' || t6.elementrange_id price_eur_id, 'B' || t2.productgroup_id productgroup_id, 'G' || t7.elementgroup_id period_id, SUM(t 1.pd_sales_units*t1.pd_projection_factor*t1.pd_price_units_ eur) salesvalueeur FROM lu_item_293 t2, lu_pg_featurevalue_15 t3, lu_elementgroup_rel t5, lu_elementrange_rel t4, fact_pd_out_itm_293 t1, lu_elementgroup_rel t7, lu_elementrange_rel t6 WHERE /* Attribute Joins */ ((t1.item_id = t2.item_id /* Customizing Begin */ AND t1.productgroup_id = t2.productgroup_id) /* Customizing End */ AND (t2.pg_featurevalue_15_id = t3.pg_featurevalue_15_id) AND (t3.pg_featurevalue_15_num BETWEEN t4.lbound AND t4.ubound) AND (t2.pg_featurevalue_01_id = t5.value_id) AND (t1.pd_price_units_eur BETWEEN t6.lbound AND t6.ubound) AND (t1.period_id = t7.value_id) ) /* Attribute Filters */ AND ((t2.productgroup_id = 15520) AND (t1.productgroup_id = 15520) /* Push Down Filters */ AND (t2.pg_featurevalue_05_id IN (5446,5447)) AND (t4.elementrange_id = 3091) AND (t5.elementgroup_id IN (1959,1960,1961,1962,8574)) AND (t6.elementrange_id IN (865 6,8657,8658,8659,8660,8661,8662,8663,8664,8665,8666,8667,86 68,8669,8670,8671,8672,8673,8674,8675,8676,8679,8680,8681,8 682,8683,8684,8685,8686,8687,8688,8689,8690,8691,8692,8693, 8694,8695,8696,8697,8698,8699)) AND (t7.elementgroup_id = 14659) AND (t1.period_id IN (20030699999060,20030799999030, 20030799999060,20030799999120)) /* Resolved ElementGroup Filters */ ) /* Fact Filters */ AND (t1.project_type_id = '1' ) GROUP BY t2.pg_featurevalue_05_id, t4.elementrange_id, t5.elementgroup_id, t6.elementrange_id, t2.productgroup_id, t7.elementgroup_id
Execution Statistics: ----------------------------- Base Plan Test Plan ---------------------------- ---------------------------- Elapsed Time (s): .211065 .02626 CPU Time (s): .20949 .02613 Buffer Gets: 34462 128 Optimizer Cost: 98 608 Disk Reads: 0 0 Direct Writes: 0 0 Rows Processed: 46 15 Executions: 2 6
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (2): ----------------------------- 1. The plan was verified in 2.83000 seconds. It passed the benefit criterion because its verified performance was 87.55720 times better than that of the baseline plan. 2. The plan was automatically accepted.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 13913, task_owner => 'SYS');
EXPLAIN PLANS SECTION ---------------------------------------------------------------------------------------------
Baseline Plan ----------------------------- Plan Id : 13671 Plan Hash Value : 2561614300
----------------------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost | Time | ----------------------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 1 | 63 | 98 | 00:00:01 | | 1 | HASH GROUP BY | | 1 | 63 | 98 | 00:00:01 | | 2 | NESTED LOOPS | | 1 | 63 | 98 | 00:00:01 | | 3 | NESTED LOOPS | | 1 | 63 | 98 | 00:00:01 | | 4 | MERGE JOIN CARTESIAN | | 1 | 47 | 96 | 00:00:01 | | 5 | VIEW | VW_GBC_25 | 1 | 32 | 94 | 00:00:01 | | 6 | HASH GROUP BY | | 1 | 95 | 94 | 00:00:01 | | 7 | MERGE JOIN | | 1 | 95 | 93 | 00:00:01 | | 8 | SORT JOIN | | 1 | 80 | 87 | 00:00:01 | | 9 | NESTED LOOPS | | 1 | 80 | 86 | 00:00:01 | | 10 | NESTED LOOPS | | 1 | 80 | 86 | 00:00:01 | | * 11 | HASH JOIN | | 1 | 46 | 28 | 00:00:01 | | 12 | MERGE JOIN CARTESIAN | | 48 | 1680 | 14 | 00:00:01 | | * 13 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTGROUP_REL | 1 | 11 | 11 | 00:00:01 | | 14 | BUFFER SORT | | 5354 | 128496 | 4 | 00:00:01 | | * 15 | TABLE ACCESS INMEMORY FULL | LU_ITEM_293 | 5354 | 128496 | 4 | 00:00:01 | | * 16 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTGROUP_REL | 32 | 352 | 13 | 00:00:01 | | 17 | BITMAP CONVERSION TO ROWIDS | | | | | | | 18 | BITMAP AND | | | | | | | * 19 | BITMAP INDEX SINGLE VALUE | FACT_274_PER_IDX | | | | | | * 20 | BITMAP INDEX SINGLE VALUE | FACT_274_ITEM_IDX | | | | | | * 21 | TABLE ACCESS BY INDEX ROWID | FACT_PD_OUT_ITM_293 | 1 | 34 | 86 | 00:00:01 | | * 22 | FILTER | | | | | | | * 23 | SORT JOIN | | 42 | 630 | 6 | 00:00:01 | | * 24 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTRANGE_REL | 42 | 630 | 5 | 00:00:01 | | 25 | BUFFER SORT | | 1 | 15 | 96 | 00:00:01 | | * 26 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTRANGE_REL | 1 | 15 | 2 | 00:00:01 | | * 27 | INDEX RANGE SCAN | ADM_PG_FEATUREVALUE_IDX2 | 1 | | 1 | 00:00:01 | | * 28 | TABLE ACCESS BY INDEX ROWID | ADM_PG_FEATUREVALUE | 1 | 16 | 2 | 00:00:01 | -----------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 11 - access("T2"."PG_FEATUREVALUE_01_ID"="T5"."VALUE_ID") * 13 - access("T7"."ELEMENTGROUP_ID"=14659 AND ("T7"."VALUE_ID"=20030699999060 OR "T7"."VALUE_ID"=20030799999030 OR "T7"."VALUE_ID"=20030799999060 OR "T7"."VALUE_ID"=20030799999120)) * 13 - filter("T7"."ELEMENTGROUP_ID"=14659 AND ("T7"."VALUE_ID"=20030699999060 OR "T7"."VALUE_ID"=20030799999030 OR "T7"."VALUE_ID"=20030799999060 OR "T7"."VALUE_ID"=20030799999120)) * 15 - access("T2"."PRODUCTGROUP_ID"=15520 AND ("T2"."PG_FEATUREVALUE_05_ID"=5446 OR "T2"."PG_FEATUREVALUE_05_ID"=5447)) * 15 - filter("T2"."PRODUCTGROUP_ID"=15520 AND ("T2"."PG_FEATUREVALUE_05_ID"=5446 OR "T2"."PG_FEATUREVALUE_05_ID"=5447)) * 16 - access("T5"."ELEMENTGROUP_ID"=1959 OR "T5"."ELEMENTGROUP_ID"=1960 OR "T5"."ELEMENTGROUP_ID"=1961 OR "T5"."ELEMENTGROUP_ID"=1962 OR "T5"."ELEMENTGROUP_ID"=8574) * 16 - filter("T5"."ELEMENTGROUP_ID"=1959 OR "T5"."ELEMENTGROUP_ID"=1960 OR "T5"."ELEMENTGROUP_ID"=1961 OR "T5"."ELEMENTGROUP_ID"=1962 OR "T5"."ELEMENTGROUP_ID"=8574) * 19 - access("T1"."PERIOD_ID"="T7"."VALUE_ID") * 19 - filter("T1"."PERIOD_ID"=20030699999060 OR "T1"."PERIOD_ID"=20030799999030 OR "T1"."PERIOD_ID"=20030799999060 OR "T1"."PERIOD_ID"=20030799999120) * 20 - access("T1"."ITEM_ID"="T2"."ITEM_ID") * 21 - filter(("T1"."PERIOD_ID"=20030699999060 OR "T1"."PERIOD_ID"=20030799999030 OR "T1"."PERIOD_ID"=20030799999060 OR "T1"."PERIOD_ID"=20030799999120) AND "T1"."PRODUCTGROUP_ID"=15520 AND "T1"."PROJECT_TYPE_ID"='1' AND "T1"."PRODUCTGROUP_ID"="T2"."PRODUCTGROUP_ID") * 22 - filter("T1"."PD_PRICE_UNITS_EUR">="T6"."LBOUND") * 23 - access("T1"."PD_PRICE_UNITS_EUR"<="T6"."UBOUND") * 23 - filter("T1"."PD_PRICE_UNITS_EUR"<="T6"."UBOUND") * 24 - access("T6"."ELEMENTRANGE_ID"=8656 OR "T6"."ELEMENTRANGE_ID"=8657 OR "T6"."ELEMENTRANGE_ID"=8658 OR "T6"."ELEMENTRANGE_ID"=8659 OR "T6"."ELEMENTRANGE_ID"=8660 OR "T6"."ELEMENTRANGE_ID"=8661 OR "T6"."ELEMENTRANGE_ID"=8662 OR "T6"."ELEMENTRANGE_ID"=8663 OR "T6"."ELEMENTRANGE_ID"=8664 OR "T6"."ELEMENTRANGE_ID"=8665 OR "T6"."ELEMENTRANGE_ID"=8666 OR "T6"."ELEMENTRANGE_ID"=8667 OR "T6"."ELEMENTRANGE_ID"=8668 OR "T6"."ELEMENTRANGE_ID"=8669 OR "T6"."ELEMENTRANGE_ID"=8670 OR "T6"."ELEMENTRANGE_ID"=8671 OR "T6"."ELEMENTRANGE_ID"=8672 OR "T6"."ELEMENTRANGE_ID"=8673 OR "T6"."ELEMENTRANGE_ID"=8674 OR "T6"."ELEMENTRANGE_ID"=8675 OR "T6"."ELEMENTRANGE_ID"=8676 OR "T6"."ELEMENTRANGE_ID"=8679 OR "T6"."ELEMENTRANGE_ID"=8680 OR "T6"."ELEMENTRANGE_ID"=8681 OR "T6"."ELEMENTRANGE_ID"=8682 OR "T6"."ELEMENTRANGE_ID"=8683 OR "T6"."ELEMENTRANGE_ID"=8684 OR "T6"."ELEMENTRANGE_ID"=8685 OR "T6"."ELEMENTRANGE_ID"=8686 OR "T6"."ELEMENTRANGE_ID"=8687 OR "T6"."ELEMENTRANGE_ID"=8688 OR "T6"."ELEMENTRANGE_ID"=8689 OR "T6"."ELEMENTRANGE_ID"=8690 OR "T6"."ELEMENTRANGE_ID"=8691 OR "T6"."ELEMENTRANGE_ID"=8692 OR "T6"."ELEMENTRANGE_ID"=8693 OR "T6"."ELEMENTRANGE_ID"=8694 OR "T6"."ELEMENTRANGE_ID"=8695 OR "T6"."ELEMENTRANGE_ID"=8696 OR "T6"."ELEMENTRANGE_ID"=8697 OR "T6"."ELEMENTRANGE_ID"=8698 OR "T6"."ELEMENTRANGE_ID"=8699) * 24 - filter("T6"."ELEMENTRANGE_ID"=8656 OR "T6"."ELEMENTRANGE_ID"=8657 OR "T6"."ELEMENTRANGE_ID"=8658 OR "T6"."ELEMENTRANGE_ID"=8659 OR "T6"."ELEMENTRANGE_ID"=8660 OR "T6"."ELEMENTRANGE_ID"=8661 OR "T6"."ELEMENTRANGE_ID"=8662 OR "T6"."ELEMENTRANGE_ID"=8663 OR "T6"."ELEMENTRANGE_ID"=8664 OR "T6"."ELEMENTRANGE_ID"=8665 OR "T6"."ELEMENTRANGE_ID"=8666 OR "T6"."ELEMENTRANGE_ID"=8667 OR "T6"."ELEMENTRANGE_ID"=8668 OR "T6"."ELEMENTRANGE_ID"=8669 OR "T6"."ELEMENTRANGE_ID"=8670 OR "T6"."ELEMENTRANGE_ID"=8671 OR "T6"."ELEMENTRANGE_ID"=8672 OR "T6"."ELEMENTRANGE_ID"=8673 OR "T6"."ELEMENTRANGE_ID"=8674 OR "T6"."ELEMENTRANGE_ID"=8675 OR "T6"."ELEMENTRANGE_ID"=8676 OR "T6"."ELEMENTRANGE_ID"=8679 OR "T6"."ELEMENTRANGE_ID"=8680 OR "T6"."ELEMENTRANGE_ID"=8681 OR "T6"."ELEMENTRANGE_ID"=8682 OR "T6"."ELEMENTRANGE_ID"=8683 OR "T6"."ELEMENTRANGE_ID"=8684 OR "T6"."ELEMENTRANGE_ID"=8685 OR "T6"."ELEMENTRANGE_ID"=8686 OR "T6"."ELEMENTRANGE_ID"=8687 OR "T6"."ELEMENTRANGE_ID"=8688 OR "T6"."ELEMENTRANGE_ID"=8689 OR "T6"."ELEMENTRANGE_ID"=8690 OR "T6"."ELEMENTRANGE_ID"=8691 OR "T6"."ELEMENTRANGE_ID"=8692 OR "T6"."ELEMENTRANGE_ID"=8693 OR "T6"."ELEMENTRANGE_ID"=8694 OR "T6"."ELEMENTRANGE_ID"=8695 OR "T6"."ELEMENTRANGE_ID"=8696 OR "T6"."ELEMENTRANGE_ID"=8697 OR "T6"."ELEMENTRANGE_ID"=8698 OR "T6"."ELEMENTRANGE_ID"=8699) * 26 - access("T4"."ELEMENTRANGE_ID"=3091) * 26 - filter("T4"."ELEMENTRANGE_ID"=3091) * 27 - access("ITEM_1"="FEATUREVALUE_ID") * 28 - filter("TABLE_NR"=15 AND "FEATUREVALUE_NUM"<="T4"."UBOUND" AND "FEATUREVALUE_NUM">="T4"."LBOUND" AND "DELETED"=0)
Hint Report (identified by operation id / Query Block Name / Object Alias): Total hints for statement: 1 (U - Unused (1)) ------------------------------------------------------------------------------- 0 - STATEMENT U - NO_PARALLEL
Notes ----- - dop_reason = hint - dop = 1 - px_in_memory_imc = no - px_in_memory = no
Test Plan ----------------------------- Plan Id : 13672 Plan Hash Value : 4283861296
------------------------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost | Time | ------------------------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 1 | 63 | 608 | 00:00:01 | | 1 | HASH GROUP BY | | 1 | 63 | 608 | 00:00:01 | | 2 | NESTED LOOPS | | 1 | 63 | 608 | 00:00:01 | | 3 | NESTED LOOPS | | 1 | 63 | 608 | 00:00:01 | | 4 | MERGE JOIN CARTESIAN | | 1 | 47 | 606 | 00:00:01 | | 5 | VIEW | VW_GBC_25 | 1 | 32 | 604 | 00:00:01 | | 6 | HASH GROUP BY | | 1 | 95 | 604 | 00:00:01 | | 7 | MERGE JOIN | | 1 | 95 | 603 | 00:00:01 | | 8 | SORT JOIN | | 1 | 80 | 596 | 00:00:01 | | * 9 | HASH JOIN | | 1 | 80 | 595 | 00:00:01 | | * 10 | HASH JOIN | | 1 | 46 | 28 | 00:00:01 | | 11 | MERGE JOIN CARTESIAN | | 48 | 1680 | 14 | 00:00:01 | | * 12 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTGROUP_REL | 1 | 11 | 11 | 00:00:01 | | 13 | BUFFER SORT | | 5354 | 128496 | 4 | 00:00:01 | | * 14 | TABLE ACCESS INMEMORY FULL | LU_ITEM_293 | 5354 | 128496 | 4 | 00:00:01 | | * 15 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTGROUP_REL | 32 | 352 | 13 | 00:00:01 | | * 16 | TABLE ACCESS INMEMORY FULL | FACT_PD_OUT_ITM_293 | 120991 | 4113694 | 565 | 00:00:01 | | * 17 | FILTER | | | | | | | * 18 | SORT JOIN | | 42 | 630 | 6 | 00:00:01 | | * 19 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTRANGE_REL | 42 | 630 | 5 | 00:00:01 | | 20 | BUFFER SORT | | 1 | 15 | 606 | 00:00:01 | | * 21 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTRANGE_REL | 1 | 15 | 2 | 00:00:01 | | * 22 | INDEX RANGE SCAN | ADM_PG_FEATUREVALUE_IDX2 | 1 | | 1 | 00:00:01 | | * 23 | TABLE ACCESS BY INDEX ROWID | ADM_PG_FEATUREVALUE | 1 | 16 | 2 | 00:00:01 | -------------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 9 - access("T1"."PERIOD_ID"="T7"."VALUE_ID" AND "T1"."PRODUCTGROUP_ID"="T2"."PRODUCTGROUP_ID" AND "T1"."ITEM_ID"="T2"."ITEM_ID") * 10 - access("T2"."PG_FEATUREVALUE_01_ID"="T5"."VALUE_ID") * 12 - access("T7"."ELEMENTGROUP_ID"=14659 AND ("T7"."VALUE_ID"=20030699999060 OR "T7"."VALUE_ID"=20030799999030 OR "T7"."VALUE_ID"=20030799999060 OR "T7"."VALUE_ID"=20030799999120)) * 12 - filter("T7"."ELEMENTGROUP_ID"=14659 AND ("T7"."VALUE_ID"=20030699999060 OR "T7"."VALUE_ID"=20030799999030 OR "T7"."VALUE_ID"=20030799999060 OR "T7"."VALUE_ID"=20030799999120)) * 14 - access("T2"."PRODUCTGROUP_ID"=15520 AND ("T2"."PG_FEATUREVALUE_05_ID"=5446 OR "T2"."PG_FEATUREVALUE_05_ID"=5447)) * 14 - filter("T2"."PRODUCTGROUP_ID"=15520 AND ("T2"."PG_FEATUREVALUE_05_ID"=5446 OR "T2"."PG_FEATUREVALUE_05_ID"=5447)) * 15 - access("T5"."ELEMENTGROUP_ID"=1959 OR "T5"."ELEMENTGROUP_ID"=1960 OR "T5"."ELEMENTGROUP_ID"=1961 OR "T5"."ELEMENTGROUP_ID"=1962 OR "T5"."ELEMENTGROUP_ID"=8574) * 15 - filter("T5"."ELEMENTGROUP_ID"=1959 OR "T5"."ELEMENTGROUP_ID"=1960 OR "T5"."ELEMENTGROUP_ID"=1961 OR "T5"."ELEMENTGROUP_ID"=1962 OR "T5"."ELEMENTGROUP_ID"=8574) * 16 - access(("T1"."PERIOD_ID"=20030699999060 OR "T1"."PERIOD_ID"=20030799999030 OR "T1"."PERIOD_ID"=20030799999060 OR "T1"."PERIOD_ID"=20030799999120) AND "T1"."PRODUCTGROUP_ID"=15520 AND "T1"."PROJECT_TYPE_ID"='1') * 16 - filter(("T1"."PERIOD_ID"=20030699999060 OR "T1"."PERIOD_ID"=20030799999030 OR "T1"."PERIOD_ID"=20030799999060 OR "T1"."PERIOD_ID"=20030799999120) AND "T1"."PRODUCTGROUP_ID"=15520 AND "T1"."PROJECT_TYPE_ID"='1') * 17 - filter("T1"."PD_PRICE_UNITS_EUR">="T6"."LBOUND") * 18 - access("T1"."PD_PRICE_UNITS_EUR"<="T6"."UBOUND") * 18 - filter("T1"."PD_PRICE_UNITS_EUR"<="T6"."UBOUND") * 19 - access("T6"."ELEMENTRANGE_ID"=8656 OR "T6"."ELEMENTRANGE_ID"=8657 OR "T6"."ELEMENTRANGE_ID"=8658 OR "T6"."ELEMENTRANGE_ID"=8659 OR "T6"."ELEMENTRANGE_ID"=8660 OR "T6"."ELEMENTRANGE_ID"=8661 OR "T6"."ELEMENTRANGE_ID"=8662 OR "T6"."ELEMENTRANGE_ID"=8663 OR "T6"."ELEMENTRANGE_ID"=8664 OR "T6"."ELEMENTRANGE_ID"=8665 OR "T6"."ELEMENTRANGE_ID"=8666 OR "T6"."ELEMENTRANGE_ID"=8667 OR "T6"."ELEMENTRANGE_ID"=8668 OR "T6"."ELEMENTRANGE_ID"=8669 OR "T6"."ELEMENTRANGE_ID"=8670 OR "T6"."ELEMENTRANGE_ID"=8671 OR "T6"."ELEMENTRANGE_ID"=8672 OR "T6"."ELEMENTRANGE_ID"=8673 OR "T6"."ELEMENTRANGE_ID"=8674 OR "T6"."ELEMENTRANGE_ID"=8675 OR "T6"."ELEMENTRANGE_ID"=8676 OR "T6"."ELEMENTRANGE_ID"=8679 OR "T6"."ELEMENTRANGE_ID"=8680 OR "T6"."ELEMENTRANGE_ID"=8681 OR "T6"."ELEMENTRANGE_ID"=8682 OR "T6"."ELEMENTRANGE_ID"=8683 OR "T6"."ELEMENTRANGE_ID"=8684 OR "T6"."ELEMENTRANGE_ID"=8685 OR "T6"."ELEMENTRANGE_ID"=8686 OR "T6"."ELEMENTRANGE_ID"=8687 OR "T6"."ELEMENTRANGE_ID"=8688 OR "T6"."ELEMENTRANGE_ID"=8689 OR "T6"."ELEMENTRANGE_ID"=8690 OR "T6"."ELEMENTRANGE_ID"=8691 OR "T6"."ELEMENTRANGE_ID"=8692 OR "T6"."ELEMENTRANGE_ID"=8693 OR "T6"."ELEMENTRANGE_ID"=8694 OR "T6"."ELEMENTRANGE_ID"=8695 OR "T6"."ELEMENTRANGE_ID"=8696 OR "T6"."ELEMENTRANGE_ID"=8697 OR "T6"."ELEMENTRANGE_ID"=8698 OR "T6"."ELEMENTRANGE_ID"=8699) * 19 - filter("T6"."ELEMENTRANGE_ID"=8656 OR "T6"."ELEMENTRANGE_ID"=8657 OR "T6"."ELEMENTRANGE_ID"=8658 OR "T6"."ELEMENTRANGE_ID"=8659 OR "T6"."ELEMENTRANGE_ID"=8660 OR "T6"."ELEMENTRANGE_ID"=8661 OR "T6"."ELEMENTRANGE_ID"=8662 OR "T6"."ELEMENTRANGE_ID"=8663 OR "T6"."ELEMENTRANGE_ID"=8664 OR "T6"."ELEMENTRANGE_ID"=8665 OR "T6"."ELEMENTRANGE_ID"=8666 OR "T6"."ELEMENTRANGE_ID"=8667 OR "T6"."ELEMENTRANGE_ID"=8668 OR "T6"."ELEMENTRANGE_ID"=8669 OR "T6"."ELEMENTRANGE_ID"=8670 OR "T6"."ELEMENTRANGE_ID"=8671 OR "T6"."ELEMENTRANGE_ID"=8672 OR "T6"."ELEMENTRANGE_ID"=8673 OR "T6"."ELEMENTRANGE_ID"=8674 OR "T6"."ELEMENTRANGE_ID"=8675 OR "T6"."ELEMENTRANGE_ID"=8676 OR "T6"."ELEMENTRANGE_ID"=8679 OR "T6"."ELEMENTRANGE_ID"=8680 OR "T6"."ELEMENTRANGE_ID"=8681 OR "T6"."ELEMENTRANGE_ID"=8682 OR "T6"."ELEMENTRANGE_ID"=8683 OR "T6"."ELEMENTRANGE_ID"=8684 OR "T6"."ELEMENTRANGE_ID"=8685 OR "T6"."ELEMENTRANGE_ID"=8686 OR "T6"."ELEMENTRANGE_ID"=8687 OR "T6"."ELEMENTRANGE_ID"=8688 OR "T6"."ELEMENTRANGE_ID"=8689 OR "T6"."ELEMENTRANGE_ID"=8690 OR "T6"."ELEMENTRANGE_ID"=8691 OR "T6"."ELEMENTRANGE_ID"=8692 OR "T6"."ELEMENTRANGE_ID"=8693 OR "T6"."ELEMENTRANGE_ID"=8694 OR "T6"."ELEMENTRANGE_ID"=8695 OR "T6"."ELEMENTRANGE_ID"=8696 OR "T6"."ELEMENTRANGE_ID"=8697 OR "T6"."ELEMENTRANGE_ID"=8698 OR "T6"."ELEMENTRANGE_ID"=8699) * 21 - access("T4"."ELEMENTRANGE_ID"=3091) * 21 - filter("T4"."ELEMENTRANGE_ID"=3091) * 22 - access("ITEM_1"="FEATUREVALUE_ID") * 23 - filter("TABLE_NR"=15 AND "FEATUREVALUE_NUM"<="T4"."UBOUND" AND "FEATUREVALUE_NUM">="T4"."LBOUND" AND "DELETED"=0)
Hint Report (identified by operation id / Query Block Name / Object Alias): Total hints for statement: 1 (U - Unused (1)) ------------------------------------------------------------------------------- 0 - STATEMENT U - NO_PARALLEL
Notes ----- - dop_reason = hint - dop = 1 - px_in_memory_imc = no - px_in_memory = no
--------------------------------------------------------------------------------------------- Object ID : 13914 Test Plan Name : SQL_PLAN_b1sy09umb0uvm7c2bfdf5 Base Plan Name : Cost-based plan SQL Handle : SQL_b0e3c04ea6b06b73 Parsing Schema : DBSNMP Test Plan Creator : SYS SQL Text : WITH jd AS (SELECT end_time, input_bytes, session_key, session_recid, session_stamp, input_type, output_device_type, status FROM V$RMAN_BACKUP_JOB_DETAILS WHERE output_device_type IN ('DISK', '*') AND status NOT LIKE 'RUNNING%'), db_bkp_data AS (SELECT to_char(jd.end_time, 'YYYY-MM-DD HH24:MI:SS') db_backup_end_time, ROUND((sysdate-end_time)*24,2) db_backup_age, jd.input_bytes db_backup_size, jd.status db_backup_status, s.incremental_level db_backup_incr_level, jd.input_type db_backup_input_type FROM V$BACKUP_SET_DETAILS s, jd WHERE jd.input_type IN ('DB FULL', 'DB INCR') AND s.session_key = jd.session_key AND s.session_recid = jd.session_recid AND s.session_stamp = jd.session_stamp), LAST_SUC_DB_FULL AS (SELECT * FROM (SELECT * FROM (SELECT db_backup_end_time last_db_backup_date, db_backup_age last_db_backup_age, db_backup_size last_db_backup_size FROM db_bkp_data WHERE db_backup_status LIKE 'COMPLETED%' AND db_backup_input_type = 'DB FULL' AND db_backup_incr_level IS NULL ORDER by db_backup_end_time DESC) UNION ALL SELECT NULL, NULL, NULL FROM DUAL) WHERE ROWNUM = 1), LAST_EXEC_DB_FULL AS (SELECT * FROM (SELECT * FROM (SELECT db_backup_end_time last_exec_db_backup_date, db_backup_status last_exec_db_backup_status FROM db_bkp_data WHERE db_backup_status NOT LIKE 'RUNNING%' AND db_backup_input_type = 'DB FULL' AND db_backup_incr_level IS NULL ORDER by db_backup_end_time DESC) UNION ALL SELECT NULL, NULL FROM DUAL) WHERE ROWNUM = 1), LAST_SUC_DB_INCR AS (SELECT * FROM (SELECT * FROM (SELECT db_backup_end_time last_db_incr_end_time, db_backup_age last_db_incr_age, db_backup_size last_db_incr_size FROM db_bkp_data WHERE db_backup_status LIKE 'COMPLETED%' AND db_backup_input_type = 'DB INCR' ORDER by db_backup_end_time DESC) UNION ALL SELECT NULL, NULL, NULL FROM DUAL) WHERE ROWNUM = 1), LAST_EXEC_DB_INCR AS (SELECT * FROM (SELECT * FROM (SELECT db_backup_end_time db_incr_exec_end_time, db_backup_status db_incr_exec_status FROM db_bkp_data WHERE db_backup_status NOT LIKE 'RUNNING%' AND db_backup_input_type = 'DB INCR' ORDER by db_backup_end_time DESC) UNION ALL SELECT NULL, NULL FROM DUAL) WHERE ROWNUM = 1), LAST_SUC_DB_INCR0 AS (SELECT * FROM (SELECT * FROM (SELECT db_backup_end_time last_db_incr_0_end_time, db_backup_age last_db_incr_0_age, db_backup_size last_db_incr_0_size FROM db_bkp_data WHERE db_backup_status LIKE 'COMPLETED%' AND db_backup_input_type = 'DB INCR' AND db_backup_incr_level = 0 ORDER by db_backup_end_time DESC) UNION ALL SELECT NULL, NULL, NULL FROM DUAL) WHERE ROWNUM = 1), LAST_EXEC_DB_INCR0 AS (SELECT * FROM (SELECT * FROM (SELECT db_backup_end_time db_incr_0_exec_end_time, db_backup_status db_incr_0_exec_status FROM db_bkp_data WHERE db_backup_status NOT LIKE 'RUNNING%' AND db_backup_input_type = 'DB INCR' AND db_backup_incr_level = 0 ORDER by db_backup_end_time DESC) UNION ALL SELECT NULL, NULL FROM DUAL) WHERE ROWNUM = 1), LAST_SUC_DB_INCR1 AS (SELECT * FROM (SELECT * FROM (SELECT db_backup_end_time last_db_incr_1_end_time, db_backup_age last_db_incr_1_age, db_backup_size last_db_incr_1_size FROM db_bkp_data WHERE db_backup_status LIKE 'COMPLETED%' AND db_backup_input_type = 'DB INCR' AND db_backup_incr_level > 0 ORDER by db_backup_end_time DESC) UNION ALL SELECT NULL, NULL, NULL FROM DUAL) WHERE ROWNUM = 1), LAST_EXEC_DB_INCR1 AS (SELECT * FROM (SELECT * FROM (SELECT db_backup_end_time db_incr_1_exec_end_time, db_backup_status db_incr_1_exec_status FROM db_bkp_data WHERE db_backup_status NOT LIKE 'RUNNING%' AND db_backup_input_type = 'DB INCR' AND db_backup_incr_level > 0 ORDER by db_backup_end_time DESC) UNION ALL SELECT NULL, NULL FROM DUAL) WHERE ROWNUM = 1), arch_data AS (SELECT to_char(jd.end_time, 'YYYY-MM-DD HH24:MI:SS') arch_backup_date, ROUND((sysdate-end_time)*24*60,2) arch_backup_age, jd.input_bytes arch_backup_size, jd.status arch_status FROM jd WHERE jd.status NOT LIKE 'RUNNING%' AND jd.input_type = 'ARCHIVELOG'), LAST_SUC_DB_ARCH AS (SELECT * FROM (SELECT * FROM (SELECT arch_backup_date last_arch_backup_date, arch_backup_age last_arch_backup_age, arch_backup_size last_arch_backup_size FROM arch_data WHERE arch_status LIKE 'COMPLETED%' ORDER by arch_backup_date DESC) UNION ALL SELECT NULL, NULL, NULL FROM DUAL) WHERE ROWNUM = 1), LAST_EXEC_DB_ARCH AS (SELECT * FROM (SELECT * FROM (SELECT arch_backup_date last_exec_arch_backup_date, arch_status last_exec_arch_backup_status FROM arch_data WHERE arch_status NOT LIKE 'RUNNING%' ORDER by arch_backup_date DESC) UNION ALL SELECT NULL, NULL FROM DUAL) WHERE ROWNUM = 1) SELECT sf.last_db_backup_date, sf.last_db_backup_age, sf.last_db_backup_size, ef.last_exec_db_backup_date, ef.last_exec_db_backup_status, si.last_db_incr_end_time, si.last_db_incr_age, si.last_db_incr_size, ei.db_incr_exec_end_time, ei.db_incr_exec_status, si0.last_db_incr_0_age, si0.last_db_incr_0_size, ei0.db_incr_0_exec_status, si1.last_db_incr_1_age, si1.last_db_incr_1_size, ei1.db_incr_1_exec_status, sa.last_arch_backup_date, sa.last_arch_backup_age, sa.last_arch_backup_size, ea.last_exec_arch_backup_date, ea.last_exec_arch_backup_status FROM LAST_SUC_DB_FULL sf, LAST_EXEC_DB_FULL ef, LAST_SUC_DB_INCR si, LAST_EXEC_DB_INCR ei, LAST_SUC_DB_INCR0 si0, LAST_EXEC_DB_INCR0 ei0, LAST_SUC_DB_INCR1 si1, LAST_EXEC_DB_INCR1 ei1, LAST_SUC_DB_ARCH sa, LAST_EXEC_DB_ARCH ea
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 13914, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 13915 Test Plan Name : SQL_PLAN_9qn8sdc2p8c6p6e0585bd Base Plan Name : Cost-based plan SQL Handle : SQL_9b51186b055430d5 Parsing Schema : APPS Test Plan Creator : SYS SQL Text : SELECT /* ORDERED INDEX(t1) USE_HASH(t1) */ 'B' || t2.pg_featurevalue_02_id pg_featurevalue_02_id, 'B' || t2.pg_featurevalue_15_id pg_featurevalue_15_id, 'B' || t2.pg_featurevalue_08_id pg_featurevalue_08_id, 'r' || t3.elementrange_id price_eur_id, 'B' || t2.productgroup_id productgroup_id, 'G' || t4.elementgroup_id period_id, SUM(t 1.pd_sales_units*t1.pd_projection_factor*t1.pd_price_units_ eur) salesvalueeur FROM lu_item_293 t2, fact_pd_out_itm_293 t1, lu_elementgroup_rel t4, lu_elementrange_rel t3 WHERE /* Attribute Joins */ ((t1.item_id = t2.item_id /* Customizing Begin */ AND t1.productgroup_id = t2.productgroup_id) /* Customizing End */ AND (t1.pd_price_units_eur BETWEEN t3.lbound AND t3.ubound) AND (t1.period_id = t4.value_id) ) /* Attribute Filters */ AND ((t2.productgroup_id = 15520) AND (t1.productgroup_id = 15520) /* Push Down Filters */ AND (t2.pg_featurevalue_08_id IN (716,717)) AND (t2.pg_featurevalue_15_id IN (12425,1485)) AND (t2.pg_featurevalue_02_id IN (4165,4166)) AND NOT ((/* ElementGroup Subselect */ ( t2.pg_featurevalue_01_id IN (SELECT g1.value_id FROM lu_elementgroup_rel g1 WHERE /* ElementGroup Filters */ (g1.elementgroup_id IN (1959,1960,1961,1962)) ) ) ) ) AND (t3.elementrange_id IN ( 8656,8657,8658,8659,8660,8661,8662,8663,8664,8665,8666,8667 ,8668,8669,8670,8671,8672,8673,8674,8675,8676,8679,8680,868 1,8682,8683,8684,8685,8686,8687,8688,8689,8690,8691,8692,86 93,8694,8695,8696,8697,8698,8699)) AND (t4.elementgroup_id = 14659) AND (t1.period_id IN (20030699999060,2003079999903 0,20030799999060,20030799999120)) /* Resolved ElementGroup Filters */ ) /* Fact Filters */ AND (t1.project_type_id = '1' ) GROUP BY t2.pg_featurevalue_02_id, t2.pg_featurevalue_15_id, t2.pg_featurevalue_08_id, t3.elementrange_id, t2.productgroup_id, t4.elementgroup_id
Execution Statistics: ----------------------------- Base Plan Test Plan ---------------------------- ---------------------------- Elapsed Time (s): .010027 .199723 CPU Time (s): .009972 .01 Buffer Gets: 1801 16 Optimizer Cost: 96 338 Disk Reads: 0 0 Direct Writes: 0 0 Rows Processed: 9 31 Executions: 10 3
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (2): ----------------------------- 1. The plan was verified in 2.45900 seconds. It passed the benefit criterion because its verified performance was 346.65331 times better than that of the baseline plan. 2. The plan was automatically accepted.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 13915, task_owner => 'SYS');
EXPLAIN PLANS SECTION ---------------------------------------------------------------------------------------------
Baseline Plan ----------------------------- Plan Id : 13673 Plan Hash Value : 1234598677
-------------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost | Time | -------------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 9 | 873 | 96 | 00:00:01 | | 1 | HASH GROUP BY | | 9 | 873 | 96 | 00:00:01 | | 2 | MERGE JOIN | | 9 | 873 | 95 | 00:00:01 | | 3 | SORT JOIN | | 1 | 82 | 89 | 00:00:01 | | 4 | NESTED LOOPS | | 1 | 82 | 88 | 00:00:01 | | 5 | NESTED LOOPS | | 1 | 82 | 88 | 00:00:01 | | 6 | MERGE JOIN CARTESIAN | | 1 | 48 | 28 | 00:00:01 | | * 7 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTGROUP_REL | 1 | 11 | 11 | 00:00:01 | | 8 | BUFFER SORT | | 64 | 2368 | 18 | 00:00:01 | | 9 | VIEW | VW_GBF_10 | 64 | 2368 | 18 | 00:00:01 | | 10 | HASH GROUP BY | | 64 | 2496 | 18 | 00:00:01 | | * 11 | HASH JOIN RIGHT ANTI NA | | 1626 | 63414 | 16 | 00:00:01 | | * 12 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTGROUP_REL | 25 | 275 | 13 | 00:00:01 | | * 13 | TABLE ACCESS INMEMORY FULL | LU_ITEM_293 | 2117 | 59276 | 4 | 00:00:01 | | 14 | BITMAP CONVERSION TO ROWIDS | | | | | | | 15 | BITMAP AND | | | | | | | * 16 | BITMAP INDEX SINGLE VALUE | FACT_274_PER_IDX | | | | | | * 17 | BITMAP INDEX SINGLE VALUE | FACT_274_ITEM_IDX | | | | | | * 18 | TABLE ACCESS BY INDEX ROWID | FACT_PD_OUT_ITM_293 | 1 | 34 | 88 | 00:00:01 | | * 19 | FILTER | | | | | | | * 20 | SORT JOIN | | 42 | 630 | 6 | 00:00:01 | | * 21 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTRANGE_REL | 42 | 630 | 5 | 00:00:01 | --------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 7 - access("T4"."ELEMENTGROUP_ID"=14659 AND ("T4"."VALUE_ID"=20030699999060 OR "T4"."VALUE_ID"=20030799999030 OR "T4"."VALUE_ID"=20030799999060 OR "T4"."VALUE_ID"=20030799999120)) * 7 - filter("T4"."ELEMENTGROUP_ID"=14659 AND ("T4"."VALUE_ID"=20030699999060 OR "T4"."VALUE_ID"=20030799999030 OR "T4"."VALUE_ID"=20030799999060 OR "T4"."VALUE_ID"=20030799999120)) * 11 - access("T2"."PG_FEATUREVALUE_01_ID"="G1"."VALUE_ID") * 12 - access("G1"."ELEMENTGROUP_ID"=1959 OR "G1"."ELEMENTGROUP_ID"=1960 OR "G1"."ELEMENTGROUP_ID"=1961 OR "G1"."ELEMENTGROUP_ID"=1962) * 12 - filter("G1"."ELEMENTGROUP_ID"=1959 OR "G1"."ELEMENTGROUP_ID"=1960 OR "G1"."ELEMENTGROUP_ID"=1961 OR "G1"."ELEMENTGROUP_ID"=1962) * 13 - access(("T2"."PG_FEATUREVALUE_15_ID"=1485 OR "T2"."PG_FEATUREVALUE_15_ID"=12425) AND "T2"."PRODUCTGROUP_ID"=15520 AND ("T2"."PG_FEATUREVALUE_02_ID"=4165 OR "T2"."PG_FEATUREVALUE_02_ID"=4166) AND ("T2"."PG_FEATUREVALUE_08_ID"=716 OR "T2"."PG_FEATUREVALUE_08_ID"=717)) * 13 - filter(("T2"."PG_FEATUREVALUE_15_ID"=1485 OR "T2"."PG_FEATUREVALUE_15_ID"=12425) AND "T2"."PRODUCTGROUP_ID"=15520 AND ("T2"."PG_FEATUREVALUE_02_ID"=4165 OR "T2"."PG_FEATUREVALUE_02_ID"=4166) AND ("T2"."PG_FEATUREVALUE_08_ID"=716 OR "T2"."PG_FEATUREVALUE_08_ID"=717)) * 16 - access("T1"."PERIOD_ID"="T4"."VALUE_ID") * 16 - filter("T1"."PERIOD_ID"=20030699999060 OR "T1"."PERIOD_ID"=20030799999030 OR "T1"."PERIOD_ID"=20030799999060 OR "T1"."PERIOD_ID"=20030799999120) * 17 - access("T1"."ITEM_ID"="ITEM_2") * 18 - filter(("T1"."PERIOD_ID"=20030699999060 OR "T1"."PERIOD_ID"=20030799999030 OR "T1"."PERIOD_ID"=20030799999060 OR "T1"."PERIOD_ID"=20030799999120) AND "T1"."PRODUCTGROUP_ID"=15520 AND "T1"."PROJECT_TYPE_ID"='1') * 19 - filter("T1"."PD_PRICE_UNITS_EUR"<="T3"."UBOUND") * 20 - access(INTERNAL_FUNCTION("T1"."PD_PRICE_UNITS_EUR")>=INTERNAL_FUNCTION("T3"."LBOUND")) * 20 - filter(INTERNAL_FUNCTION("T1"."PD_PRICE_UNITS_EUR")>=INTERNAL_FUNCTION("T3"."LBOUND")) * 21 - access("T3"."ELEMENTRANGE_ID"=8656 OR "T3"."ELEMENTRANGE_ID"=8657 OR "T3"."ELEMENTRANGE_ID"=8658 OR "T3"."ELEMENTRANGE_ID"=8659 OR "T3"."ELEMENTRANGE_ID"=8660 OR "T3"."ELEMENTRANGE_ID"=8661 OR "T3"."ELEMENTRANGE_ID"=8662 OR "T3"."ELEMENTRANGE_ID"=8663 OR "T3"."ELEMENTRANGE_ID"=8664 OR "T3"."ELEMENTRANGE_ID"=8665 OR "T3"."ELEMENTRANGE_ID"=8666 OR "T3"."ELEMENTRANGE_ID"=8667 OR "T3"."ELEMENTRANGE_ID"=8668 OR "T3"."ELEMENTRANGE_ID"=8669 OR "T3"."ELEMENTRANGE_ID"=8670 OR "T3"."ELEMENTRANGE_ID"=8671 OR "T3"."ELEMENTRANGE_ID"=8672 OR "T3"."ELEMENTRANGE_ID"=8673 OR "T3"."ELEMENTRANGE_ID"=8674 OR "T3"."ELEMENTRANGE_ID"=8675 OR "T3"."ELEMENTRANGE_ID"=8676 OR "T3"."ELEMENTRANGE_ID"=8679 OR "T3"."ELEMENTRANGE_ID"=8680 OR "T3"."ELEMENTRANGE_ID"=8681 OR "T3"."ELEMENTRANGE_ID"=8682 OR "T3"."ELEMENTRANGE_ID"=8683 OR "T3"."ELEMENTRANGE_ID"=8684 OR "T3"."ELEMENTRANGE_ID"=8685 OR "T3"."ELEMENTRANGE_ID"=8686 OR "T3"."ELEMENTRANGE_ID"=8687 OR "T3"."ELEMENTRANGE_ID"=8688 OR "T3"."ELEMENTRANGE_ID"=8689 OR "T3"."ELEMENTRANGE_ID"=8690 OR "T3"."ELEMENTRANGE_ID"=8691 OR "T3"."ELEMENTRANGE_ID"=8692 OR "T3"."ELEMENTRANGE_ID"=8693 OR "T3"."ELEMENTRANGE_ID"=8694 OR "T3"."ELEMENTRANGE_ID"=8695 OR "T3"."ELEMENTRANGE_ID"=8696 OR "T3"."ELEMENTRANGE_ID"=8697 OR "T3"."ELEMENTRANGE_ID"=8698 OR "T3"."ELEMENTRANGE_ID"=8699) * 21 - filter("T3"."ELEMENTRANGE_ID"=8656 OR "T3"."ELEMENTRANGE_ID"=8657 OR "T3"."ELEMENTRANGE_ID"=8658 OR "T3"."ELEMENTRANGE_ID"=8659 OR "T3"."ELEMENTRANGE_ID"=8660 OR "T3"."ELEMENTRANGE_ID"=8661 OR "T3"."ELEMENTRANGE_ID"=8662 OR "T3"."ELEMENTRANGE_ID"=8663 OR "T3"."ELEMENTRANGE_ID"=8664 OR "T3"."ELEMENTRANGE_ID"=8665 OR "T3"."ELEMENTRANGE_ID"=8666 OR "T3"."ELEMENTRANGE_ID"=8667 OR "T3"."ELEMENTRANGE_ID"=8668 OR "T3"."ELEMENTRANGE_ID"=8669 OR "T3"."ELEMENTRANGE_ID"=8670 OR "T3"."ELEMENTRANGE_ID"=8671 OR "T3"."ELEMENTRANGE_ID"=8672 OR "T3"."ELEMENTRANGE_ID"=8673 OR "T3"."ELEMENTRANGE_ID"=8674 OR "T3"."ELEMENTRANGE_ID"=8675 OR "T3"."ELEMENTRANGE_ID"=8676 OR "T3"."ELEMENTRANGE_ID"=8679 OR "T3"."ELEMENTRANGE_ID"=8680 OR "T3"."ELEMENTRANGE_ID"=8681 OR "T3"."ELEMENTRANGE_ID"=8682 OR "T3"."ELEMENTRANGE_ID"=8683 OR "T3"."ELEMENTRANGE_ID"=8684 OR "T3"."ELEMENTRANGE_ID"=8685 OR "T3"."ELEMENTRANGE_ID"=8686 OR "T3"."ELEMENTRANGE_ID"=8687 OR "T3"."ELEMENTRANGE_ID"=8688 OR "T3"."ELEMENTRANGE_ID"=8689 OR "T3"."ELEMENTRANGE_ID"=8690 OR "T3"."ELEMENTRANGE_ID"=8691 OR "T3"."ELEMENTRANGE_ID"=8692 OR "T3"."ELEMENTRANGE_ID"=8693 OR "T3"."ELEMENTRANGE_ID"=8694 OR "T3"."ELEMENTRANGE_ID"=8695 OR "T3"."ELEMENTRANGE_ID"=8696 OR "T3"."ELEMENTRANGE_ID"=8697 OR "T3"."ELEMENTRANGE_ID"=8698 OR "T3"."ELEMENTRANGE_ID"=8699)
Hint Report (identified by operation id / Query Block Name / Object Alias): Total hints for statement: 1 (U - Unused (1)) ------------------------------------------------------------------------------- 0 - STATEMENT U - NO_PARALLEL
Notes ----- - dop_reason = hint - dop = 1 - px_in_memory_imc = no - px_in_memory = no
Test Plan ----------------------------- Plan Id : 13674 Plan Hash Value : 1845855677
--------------------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost | Time | --------------------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 119 | 11781 | 338 | 00:00:01 | | 1 | PX COORDINATOR | | | | | | | 2 | PX SEND QC (RANDOM) | :TQ10003 | 119 | 11781 | 338 | 00:00:01 | | 3 | HASH GROUP BY | | 119 | 11781 | 338 | 00:00:01 | | 4 | PX RECEIVE | | 119 | 11781 | 338 | 00:00:01 | | 5 | PX SEND HASH | :TQ10002 | 119 | 11781 | 338 | 00:00:01 | | 6 | HASH GROUP BY | | 119 | 11781 | 338 | 00:00:01 | | 7 | MERGE JOIN | | 231 | 22869 | 337 | 00:00:01 | | 8 | SORT JOIN | | 5 | 420 | 332 | 00:00:01 | | * 9 | HASH JOIN RIGHT ANTI NA | | 5 | 420 | 331 | 00:00:01 | | 10 | PX RECEIVE | | 25 | 275 | 7 | 00:00:01 | | 11 | PX SEND BROADCAST | :TQ10000 | 25 | 275 | 7 | 00:00:01 | | 12 | PX BLOCK ITERATOR | | 25 | 275 | 7 | 00:00:01 | | * 13 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTGROUP_REL | 25 | 275 | 7 | 00:00:01 | | * 14 | HASH JOIN | | 7 | 511 | 324 | 00:00:01 | | * 15 | TABLE ACCESS INMEMORY FULL | LU_ITEM_293 | 2117 | 59276 | 3 | 00:00:01 | | * 16 | HASH JOIN | | 15 | 675 | 321 | 00:00:01 | | 17 | JOIN FILTER CREATE | :BF0000 | 1 | 11 | 6 | 00:00:01 | | * 18 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTGROUP_REL | 1 | 11 | 6 | 00:00:01 | | 19 | JOIN FILTER USE | :BF0000 | 120991 | 4113694 | 314 | 00:00:01 | | 20 | PX BLOCK ITERATOR | | 120991 | 4113694 | 314 | 00:00:01 | | * 21 | TABLE ACCESS INMEMORY FULL | FACT_PD_OUT_ITM_293 | 120991 | 4113694 | 314 | 00:00:01 | | * 22 | FILTER | | | | | | | * 23 | SORT JOIN | | 42 | 630 | 5 | 00:00:01 | | 24 | BUFFER SORT | | | | | | | 25 | PX RECEIVE | | 42 | 630 | 4 | 00:00:01 | | 26 | PX SEND BROADCAST | :TQ10001 | 42 | 630 | 4 | 00:00:01 | | 27 | PX BLOCK ITERATOR | | 42 | 630 | 4 | 00:00:01 | | * 28 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTRANGE_REL | 42 | 630 | 4 | 00:00:01 | ---------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 9 - access("T2"."PG_FEATUREVALUE_01_ID"="G1"."VALUE_ID") * 13 - access("G1"."ELEMENTGROUP_ID"=1959 OR "G1"."ELEMENTGROUP_ID"=1960 OR "G1"."ELEMENTGROUP_ID"=1961 OR "G1"."ELEMENTGROUP_ID"=1962) * 13 - filter("G1"."ELEMENTGROUP_ID"=1959 OR "G1"."ELEMENTGROUP_ID"=1960 OR "G1"."ELEMENTGROUP_ID"=1961 OR "G1"."ELEMENTGROUP_ID"=1962) * 14 - access("T1"."ITEM_ID"="T2"."ITEM_ID" AND "T1"."PRODUCTGROUP_ID"="T2"."PRODUCTGROUP_ID") * 15 - access(("T2"."PG_FEATUREVALUE_15_ID"=1485 OR "T2"."PG_FEATUREVALUE_15_ID"=12425) AND "T2"."PRODUCTGROUP_ID"=15520 AND ("T2"."PG_FEATUREVALUE_02_ID"=4165 OR "T2"."PG_FEATUREVALUE_02_ID"=4166) AND ("T2"."PG_FEATUREVALUE_08_ID"=716 OR "T2"."PG_FEATUREVALUE_08_ID"=717)) * 15 - filter(("T2"."PG_FEATUREVALUE_15_ID"=1485 OR "T2"."PG_FEATUREVALUE_15_ID"=12425) AND "T2"."PRODUCTGROUP_ID"=15520 AND ("T2"."PG_FEATUREVALUE_02_ID"=4165 OR "T2"."PG_FEATUREVALUE_02_ID"=4166) AND ("T2"."PG_FEATUREVALUE_08_ID"=716 OR "T2"."PG_FEATUREVALUE_08_ID"=717)) * 16 - access("T1"."PERIOD_ID"="T4"."VALUE_ID") * 18 - access("T4"."ELEMENTGROUP_ID"=14659 AND ("T4"."VALUE_ID"=20030699999060 OR "T4"."VALUE_ID"=20030799999030 OR "T4"."VALUE_ID"=20030799999060 OR "T4"."VALUE_ID"=20030799999120)) * 18 - filter("T4"."ELEMENTGROUP_ID"=14659 AND ("T4"."VALUE_ID"=20030699999060 OR "T4"."VALUE_ID"=20030799999030 OR "T4"."VALUE_ID"=20030799999060 OR "T4"."VALUE_ID"=20030799999120)) * 21 - access(("T1"."PERIOD_ID"=20030699999060 OR "T1"."PERIOD_ID"=20030799999030 OR "T1"."PERIOD_ID"=20030799999060 OR "T1"."PERIOD_ID"=20030799999120) AND "T1"."PRODUCTGROUP_ID"=15520 AND "T1"."PROJECT_TYPE_ID"='1' AND SYS_OP_BLOOM_FILTER(:BF0000,"T1"."PERIOD_ID")) * 21 - filter(("T1"."PERIOD_ID"=20030699999060 OR "T1"."PERIOD_ID"=20030799999030 OR "T1"."PERIOD_ID"=20030799999060 OR "T1"."PERIOD_ID"=20030799999120) AND "T1"."PRODUCTGROUP_ID"=15520 AND "T1"."PROJECT_TYPE_ID"='1' AND SYS_OP_BLOOM_FILTER(:BF0000,"T1"."PERIOD_ID")) * 22 - filter("T1"."PD_PRICE_UNITS_EUR"<="T3"."UBOUND") * 23 - access(INTERNAL_FUNCTION("T1"."PD_PRICE_UNITS_EUR")>=INTERNAL_FUNCTION("T3"."LBOUND")) * 23 - filter(INTERNAL_FUNCTION("T1"."PD_PRICE_UNITS_EUR")>=INTERNAL_FUNCTION("T3"."LBOUND")) * 28 - access("T3"."ELEMENTRANGE_ID"=8656 OR "T3"."ELEMENTRANGE_ID"=8657 OR "T3"."ELEMENTRANGE_ID"=8658 OR "T3"."ELEMENTRANGE_ID"=8659 OR "T3"."ELEMENTRANGE_ID"=8660 OR "T3"."ELEMENTRANGE_ID"=8661 OR "T3"."ELEMENTRANGE_ID"=8662 OR "T3"."ELEMENTRANGE_ID"=8663 OR "T3"."ELEMENTRANGE_ID"=8664 OR "T3"."ELEMENTRANGE_ID"=8665 OR "T3"."ELEMENTRANGE_ID"=8666 OR "T3"."ELEMENTRANGE_ID"=8667 OR "T3"."ELEMENTRANGE_ID"=8668 OR "T3"."ELEMENTRANGE_ID"=8669 OR "T3"."ELEMENTRANGE_ID"=8670 OR "T3"."ELEMENTRANGE_ID"=8671 OR "T3"."ELEMENTRANGE_ID"=8672 OR "T3"."ELEMENTRANGE_ID"=8673 OR "T3"."ELEMENTRANGE_ID"=8674 OR "T3"."ELEMENTRANGE_ID"=8675 OR "T3"."ELEMENTRANGE_ID"=8676 OR "T3"."ELEMENTRANGE_ID"=8679 OR "T3"."ELEMENTRANGE_ID"=8680 OR "T3"."ELEMENTRANGE_ID"=8681 OR "T3"."ELEMENTRANGE_ID"=8682 OR "T3"."ELEMENTRANGE_ID"=8683 OR "T3"."ELEMENTRANGE_ID"=8684 OR "T3"."ELEMENTRANGE_ID"=8685 OR "T3"."ELEMENTRANGE_ID"=8686 OR "T3"."ELEMENTRANGE_ID"=8687 OR "T3"."ELEMENTRANGE_ID"=8688 OR "T3"."ELEMENTRANGE_ID"=8689 OR "T3"."ELEMENTRANGE_ID"=8690 OR "T3"."ELEMENTRANGE_ID"=8691 OR "T3"."ELEMENTRANGE_ID"=8692 OR "T3"."ELEMENTRANGE_ID"=8693 OR "T3"."ELEMENTRANGE_ID"=8694 OR "T3"."ELEMENTRANGE_ID"=8695 OR "T3"."ELEMENTRANGE_ID"=8696 OR "T3"."ELEMENTRANGE_ID"=8697 OR "T3"."ELEMENTRANGE_ID"=8698 OR "T3"."ELEMENTRANGE_ID"=8699) * 28 - filter("T3"."ELEMENTRANGE_ID"=8656 OR "T3"."ELEMENTRANGE_ID"=8657 OR "T3"."ELEMENTRANGE_ID"=8658 OR "T3"."ELEMENTRANGE_ID"=8659 OR "T3"."ELEMENTRANGE_ID"=8660 OR "T3"."ELEMENTRANGE_ID"=8661 OR "T3"."ELEMENTRANGE_ID"=8662 OR "T3"."ELEMENTRANGE_ID"=8663 OR "T3"."ELEMENTRANGE_ID"=8664 OR "T3"."ELEMENTRANGE_ID"=8665 OR "T3"."ELEMENTRANGE_ID"=8666 OR "T3"."ELEMENTRANGE_ID"=8667 OR "T3"."ELEMENTRANGE_ID"=8668 OR "T3"."ELEMENTRANGE_ID"=8669 OR "T3"."ELEMENTRANGE_ID"=8670 OR "T3"."ELEMENTRANGE_ID"=8671 OR "T3"."ELEMENTRANGE_ID"=8672 OR "T3"."ELEMENTRANGE_ID"=8673 OR "T3"."ELEMENTRANGE_ID"=8674 OR "T3"."ELEMENTRANGE_ID"=8675 OR "T3"."ELEMENTRANGE_ID"=8676 OR "T3"."ELEMENTRANGE_ID"=8679 OR "T3"."ELEMENTRANGE_ID"=8680 OR "T3"."ELEMENTRANGE_ID"=8681 OR "T3"."ELEMENTRANGE_ID"=8682 OR "T3"."ELEMENTRANGE_ID"=8683 OR "T3"."ELEMENTRANGE_ID"=8684 OR "T3"."ELEMENTRANGE_ID"=8685 OR "T3"."ELEMENTRANGE_ID"=8686 OR "T3"."ELEMENTRANGE_ID"=8687 OR "T3"."ELEMENTRANGE_ID"=8688 OR "T3"."ELEMENTRANGE_ID"=8689 OR "T3"."ELEMENTRANGE_ID"=8690 OR "T3"."ELEMENTRANGE_ID"=8691 OR "T3"."ELEMENTRANGE_ID"=8692 OR "T3"."ELEMENTRANGE_ID"=8693 OR "T3"."ELEMENTRANGE_ID"=8694 OR "T3"."ELEMENTRANGE_ID"=8695 OR "T3"."ELEMENTRANGE_ID"=8696 OR "T3"."ELEMENTRANGE_ID"=8697 OR "T3"."ELEMENTRANGE_ID"=8698 OR "T3"."ELEMENTRANGE_ID"=8699)
Notes ----- - dop_reason = hint - dop = 2 - px_in_memory_imc = no - px_in_memory = no
--------------------------------------------------------------------------------------------- Object ID : 13916 Test Plan Name : SQL_PLAN_cwbw0xm6fw69sb002a3ac Base Plan Name : Cost-based plan SQL Handle : SQL_ce2f80ecccee1938 Parsing Schema : SYS Test Plan Creator : SYS SQL Text : select l.col#, l.intcol#, l.lobj#, l.ind#, l.ts#, l.file#, l.block#, l.chunk, l.pctversion$, l.flags, l.property, l.retention, l.freepools from lob$ l where l.obj# = :1 order by l.intcol# asc
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 13916, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 13917 Test Plan Name : SQL_PLAN_760amxh2xbj6k56642307 Base Plan Name : Cost-based plan SQL Handle : SQL_730153ec05d5c4d2 Parsing Schema : DBSNMP Test Plan Creator : SYS SQL Text : select sysStat.pxdwngrd25 , sysStat.pxdwngrd50 , sysStat.pxdwngrd75 , sysStat.pxdwngrdserial , sysStat.parseCountTotal , sysStat.physicalReads , sysStat.physicalReadsDirect , sysStat.redoEntries , sysStat.redoLogSpaceRequests , sysStat.sessionCursorCacheHits , sysStat.sessionLogicReads , sysStat.sortsDisk , sysStat.sortsMemory , sysStat.userCommits , sysStat.userRollbacks , sysTM.dbCpu , sysTM.dbTime , pgaStat.pgaCacheHitPct , libCache.libCachePins , libCache.libCachePinHits , rowCache.dictionaryGets , rowCache.dictionaryGetMisses from ( select sum(decode(name, 'Parallel operations downgraded 25 to 50 pct', value, 0)) pxdwngrd25 , sum(decode(name, 'Parallel operations downgraded 50 to 75 pct', value, 0)) pxdwngrd50 , sum(decode(name, 'Parallel operations downgraded 75 to 99 pct', value, 0)) pxdwngrd75 , sum(decode(name, 'Parallel operations downgraded to serial', value, 0)) pxdwngrdserial , sum(decode(name, 'parse count (total)', value, 0)) parseCountTotal , sum(decode(name, 'physical reads', value, 0)) physicalReads , sum(decode(name, 'physical reads direct', value, 0)) physicalReadsDirect , sum(decode(name, 'redo entries', value, 0)) redoEntries , sum(decode(name, 'redo log space requests', value, 0)) redoLogSpaceRequests , sum(decode(name, 'session cursor cache hits', value, 0)) sessionCursorCacheHits , sum(decode(name, 'session logical reads', value, 0)) sessionLogicReads , sum(decode(name, 'sorts (disk)', value, 0)) sortsDisk , sum(decode(name, 'sorts (memory)', value, 0)) sortsMemory , sum(decode(name, 'user commits', value, 0)) userCommits , sum(decode(name, 'user rollbacks', value, 0)) userRollbacks from v$sysstat ) sysStat , (select sum(decode(stat_name, 'DB CPU', value/10000, 0)) dbCpu , sum(decode(stat_name, 'DB time', value/10000, 0)) dbTime from v$sys_time_model ) sysTM , (select value pgaCacheHitPct from v$pgastat where name = 'cache hit percentage' ) pgaStat , (select sum(pins) libCachePins, sum(pinhits) libCachePinHits from v$librarycache ) libCache , (select sum(gets) dictionaryGets, sum(getmisses) dictionaryGetMisses from v$rowcache ) rowCache
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 13917, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 13918 Test Plan Name : SQL_PLAN_88z29jg1aw5qu8150b09d Base Plan Name : Cost-based plan SQL Handle : SQL_847c498bc2ae16da Parsing Schema : DBSNMP Test Plan Creator : SYS SQL Text : SELECT TO_CHAR( FROM_TZ( CAST(end_time AS TIMESTAMP), TO_CHAR(systimestamp, 'tzr') ) AT TIME ZONE sessiontimezone, 'YYYY-MM-DD HH24:MI:SS TZHTZM'), logons, opencursors, user_limit, process_usage, session_usage FROM ( SELECT /*+ ORDERED */ m.end_time AS end_time, SUM(CASE WHEN a.internal_metric_name = 'logons' THEN m.value ELSE 0 END) logons, SUM(CASE WHEN a.internal_metric_name = 'opencursors' THEN m.value ELSE 0 END) opencursors, SUM(CASE WHEN a.internal_metric_name = 'user_limit' THEN m.value ELSE 0 END) user_limit, SUM(CASE WHEN a.internal_metric_name = 'process_usage' THEN m.value ELSE 0 END) process_usage, SUM(CASE WHEN a.internal_metric_name = 'session_usage' THEN m.value ELSE 0 END) session_usage FROM v$alert_types a, v$threshold_types t, v$sysmetric m WHERE a.internal_metric_category = 'Database_Resource_Usage' AND a.reason_id = t.alert_reason_id AND t.metrics_id = m.metric_id AND m.group_id = 2 AND :1 != 'BASIC' AND m.end_time <= SYSDATE GROUP BY m.end_time ORDER BY m.end_time ASC )
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 13918, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 13919 Test Plan Name : SQL_PLAN_81xw4b9ny2bzr12d87f45 Base Plan Name : Cost-based plan SQL Handle : SQL_80f7845a69e12ff7 Parsing Schema : SYS Test Plan Creator : SYS SQL Text : MERGE /*+ OPT_PARAM('_parallel_syspls_obey_force' 'false') */ INTO OPTSTAT_USER_PREFS$ D USING ( SELECT * FROM (SELECT O.OBJ#, SYSTIMESTAMP CHGTIME, ROUND(MAX(S.DELTA_READ_IO_BYTES/S.DELTA_TIME), 3) SCANRATE FROM GV$ACTIVE_SESSION_HISTORY S, GV$SQL_PLAN P, OBJ$ O, USER$ U WHERE S.INST_ID = P.INST_ID AND S.SQL_ID = P.SQL_ID AND S.SQL_PLAN_HASH_VALUE = P.PLAN_HASH_VALUE AND S.SQL_PLAN_LINE_ID = P.ID AND P.OBJECT_NAME = O.NAME AND (:B4 IS NULL OR O.OBJ# = :B4 ) AND O.OWNER# = U.USER# AND P.OBJECT_OWNER = U.NAME AND O.TYPE# = 2 AND S.CON_ID = SYS_CONTEXT('userenv', 'con_id') AND P.CON_ID = SYS_CONTEXT('userenv', 'con_id') AND S.SQL_PLAN_OPERATION = 'TABLE ACCESS' AND P.OPERATION = 'TABLE ACCESS' AND S.DELTA_TIME > 0 AND S.DELTA_READ_IO_BYTES > 0 AND FROM_TZ(S.SAMPLE_TIME, :B3 ) > :B2 AND (:B1 = 'ON' OR (:B1 = 'HADOOP_ONLY' AND EXISTS ( SELECT NULL FROM SYS.EXTERNAL_TAB$ ET WHERE ET.OBJ# = O.OBJ# AND TYPE$ IN ('ORACLE_HIVE', 'ORACLE_HDFS', 'ORACLE_BIGDATA')))) GROUP BY O.OBJ#) C WHERE NOT EXISTS (SELECT NULL FROM OPTSTAT_USER_PREFS$ PR WHERE PNAME = 'SCAN_RATE' AND C.OBJ# = PR.OBJ# AND (PR.SPARE1 IS NULL OR C.SCANRATE <= TO_NUMBER(PR.VALCHAR))) ) SRC ON (D.OBJ#=SRC.OBJ# AND D.PNAME = 'SCAN_RATE') WHEN MATCHED THEN UPDATE SET D.VALCHAR= TO_CHAR(SRC.SCANRATE), D.CHGTIME=SRC.CHGTIME, D.SPARE1=1 WHEN NOT MATCHED THEN INSERT (OBJ#, PNAME, VALCHAR, CHGTIME, SPARE1) VALUES(SRC.OBJ#, 'SCAN_RATE', TO_CHAR(SRC.SCANRATE), SRC.CHGTIME, 1)
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. This plan was skipped because either the database is not fully open or the SQL statement is ineligible for SQL Plan Management.
--------------------------------------------------------------------------------------------- Object ID : 13920 Test Plan Name : SQL_PLAN_9tdndgdn5y00qf62de836 Base Plan Name : Cost-based plan SQL Handle : SQL_9cb68d7b685f0016 Parsing Schema : SYS Test Plan Creator : SYS SQL Text : WITH PTDP AS (SELECT PT.ID, PT.QBLOCK_NAME, PT.OBJECT_ALIAS, DP.DISPLAY_ID DPID FROM TABLE(:B1 ) PT, TABLE(:B2 ) DP WHERE PT.ID = DP.OPER_ID(+) AND DP.SKIPPED(+) != 1), PLAN_DISP_TAB AS (SELECT GPT.QBLOCK_NAME, NVL(GPT.OBJECT_ALIAS, ' ') TALIAS, GPT.ID, GPT.DPID FROM (SELECT PTV.QBLOCK_NAME, PTV.OBJECT_ALIAS, MIN(PTV.ID) ID, MIN(PTV.DPID) DPID FROM (SELECT P1.* FROM PTDP P1 WHERE P1.DPID = (SELECT MIN(P2.DPID) FROM PTDP P2 WHERE P1.QBLOCK_NAME = P2.QBLOCK_NAME AND (P1.OBJECT_ALIAS = P2.OBJECT_ALIAS OR P1.OBJECT_ALIAS IS NULL AND P2.OBJECT_ALIAS IS NULL)) OR (P1.DPID IS NULL AND NVL((SELECT MIN(P2.DPID) FROM PTDP P2 WHERE P1.QBLOCK_NAME = P2.QBLOCK_NAME AND (P1.OBJECT_ALIAS = P2.OBJECT_ALIAS OR P1.OBJECT_ALIAS IS NULL AND P2.OBJECT_ALIAS IS NULL)), 0) = 0) ) PTV GROUP BY PTV.QBLOCK_NAME, PTV.OBJECT_ALIAS ) GPT ) SELECT FHINT.* FROM (SELECT HTABLE.QB, HTABLE.QST, HTABLE.O, HTABLE.HST, HTABLE.TEXT, HTABLE.REAS, DECODE(HTABLE.TALIAS, ' ', NULL, HTABLE.TALIAS) TALIAS, HTABLE.TST, (CASE WHEN PT.QBLOCK_NAME IS NULL AND EXISTS(SELECT 1 FROM PLAN_DISP_TAB PTQ WHERE PTQ.QBLOCK_NAME = HTABLE.QB) THEN (SELECT NVL(MIN(PTQ.DPID), NVL(MIN(PTQ.ID), 0)) FROM PLAN_DISP_TAB PTQ WHERE PTQ.QBLOCK_NAME = HTABLE.QB) WHEN PT.QBLOCK_NAME IS NULL THEN 0 WHEN PT.DPID IS NULL THEN PT.ID ELSE PT.DPID END) LID FROM (SELECT HT.QB, HT.QST, HT.O, HT.HST, HT.TEXT, HT.REAS, NVL(HT.TALIAS, ' ') TALIAS, HT.TST FROM (SELECT QB.QB, QB.QST, HNT.* FROM XMLTABLE('/hint_usage/q' PASSING XMLTYPE(:B3 ) COLUMNS QB VARCHAR2(4000) PATH './n', QST VARCHAR2(3) PATH '@st', HINTS XMLTYPE PATH './*') QB, XMLTABLE('//h' PASSING QB.HINTS COLUMNS O VARCHAR2(3) PATH '@o', HST VARCHAR2(3) PATH '@st', TEXT CLOB PATH 'x', REAS VARCHAR2(4000) PATH 'r', TALIAS VARCHAR2(4000) PATH './../f', TST VARCHAR2(3) PATH './../@st') HNT ) HT ) HTABLE, PLAN_DISP_TAB PT WHERE PT.QBLOCK_NAME(+) = HTABLE.QB AND PT.TALIAS(+) = HTABLE.TALIAS) FHINT ORDER BY FHINT.LID, FHINT.QST, FHINT.QB, FHINT.TST, FHINT.TALIAS NULLS FIRST, FHINT.HST, FHINT.O, DBMS_LOB.SUBSTR(FHINT.TEXT, 4000, 1), FHINT.REAS
ERRORS SECTION --------------------------------------------------------------------------------------------- ORA-22905: cannot access rows from a non-nested table item --------------------------------------------------------------------------------------------- Object ID : 13921 Test Plan Name : SQL_PLAN_68xgwhr5xxyf69145fb98 Base Plan Name : Cost-based plan SQL Handle : SQL_6475fc85cbdef9c6 Parsing Schema : SYS Test Plan Creator : SYS SQL Text : select col#,intcol#,ntab# from ntab$ where obj#=:1 order by intcol# asc
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 13921, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 13922 Test Plan Name : SQL_PLAN_d5zwf002h957q56801109 Base Plan Name : Cost-based plan SQL Handle : SQL_d2ff8e00050494f6 Parsing Schema : SYS Test Plan Creator : SYS SQL Text : select cols,audit$,textlength,intcols,nvl(property,0),flags,rowid from view$ where obj#=:1
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 13922, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 13923 Test Plan Name : SQL_PLAN_1dwy5t3s0kkbse76b2d33 Base Plan Name : Cost-based plan SQL Handle : SQL_16f3c5c8f0094978 Parsing Schema : SYS Test Plan Creator : SYS SQL Text : select rowcnt, blkcnt, empcnt, avgspc, chncnt, avgrln, analyzetime, samplesize, avgspc_flb, flbcnt, flags from tab_stats$ where obj#=:1
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. This plan was skipped because either the database is not fully open or the SQL statement is ineligible for SQL Plan Management.
--------------------------------------------------------------------------------------------- Object ID : 13924 Test Plan Name : SQL_PLAN_apsu77vthwy8s232e3da7 Base Plan Name : Cost-based plan SQL Handle : SQL_aae3473ef30e7918 Parsing Schema : SYS Test Plan Creator : SYS SQL Text : select intcol#, toid, version#, intcols, intcol#s, flags, synobj# from subcoltype$ where obj#=:1 order by intcol# asc
Execution Statistics: ----------------------------- Base Plan Test Plan ---------------------------- ---------------------------- Elapsed Time (s): .000005 .000007 CPU Time (s): .000005 .000007 Buffer Gets: 0 0 Optimizer Cost: 2 3 Disk Reads: 0 0 Direct Writes: 0 0 Rows Processed: 0 0 Executions: 10 10
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The plan was verified in 0.02600 seconds. It failed the benefit criterion because its verified performance was 0.68919 times worse than that of the baseline plan.
EXPLAIN PLANS SECTION ---------------------------------------------------------------------------------------------
Baseline Plan ----------------------------- Plan Id : 13675 Plan Hash Value : 3419877277
---------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost | Time | ---------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 1 | 47 | 2 | 00:00:01 | | 1 | TABLE ACCESS BY INDEX ROWID | SUBCOLTYPE$ | 1 | 47 | 2 | 00:00:01 | | * 2 | INDEX RANGE SCAN | I_SUBCOLTYPE1 | 1 | | 1 | 00:00:01 | ----------------------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 2 - access("OBJ#"=:1)
Test Plan ----------------------------- Plan Id : 13676 Plan Hash Value : 590232999
-------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost | Time | -------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 21 | 987 | 3 | 00:00:01 | | 1 | SORT ORDER BY | | 21 | 987 | 3 | 00:00:01 | | 2 | TABLE ACCESS CLUSTER | SUBCOLTYPE$ | 21 | 987 | 2 | 00:00:01 | | * 3 | INDEX UNIQUE SCAN | I_OBJ# | 1 | | 1 | 00:00:01 | --------------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 3 - access("OBJ#"=:1)
--------------------------------------------------------------------------------------------- Object ID : 13925 Test Plan Name : SQL_PLAN_876q47ns4hmhj8bf93fe6 Base Plan Name : Cost-based plan SQL Handle : SQL_839ac43d30484e11 Parsing Schema : DBSNMP Test Plan Creator : SYS SQL Text : select sysStat.branchnodesplits , sysStat.consistentreadchanges , sysStat.consistentreadgets , sysStat.crblks , sysStat.crundorecs , sysStat.dbblkchanges , sysStat.dbblkgets , sysStat.dbwrcheckpoints , sysStat.sortsdisk , sysStat.enqdeadlocks , sysStat.enqreqs , sysStat.enqtimeouts , sysStat.enqwaits , sysStat.indxscansfull , sysStat.indxscansfullrowid , sysStat.indxscansfulldirectread , sysStat.executions , sysStat.totalPhysicalReads , sysStat.totalPhysicalWrites , sysStat.phyreadtotalioreqs , sysStat.phywritetotalioreqs , sysStat.leafnodesplits , sysStat.logreads , sysStat.logons , sysStat.tabscanslong , sysStat.bytestoclientviasqlnet , sysStat.bytesfromclientviasqlnet , sysStat.bytestodblinkviasqlnet , sysStat.bytesfromdblinkviasqlnet , sysStat.bytestoclientviasqlnetvec , sysStat.bytesfromclientviasqlnetvec , sysStat.bytestodblinkviasqlnetvec , sysStat.bytesfromdblinkviasqlnetvec , sysStat.opncurs , sysStat.failedparses , sysStat.physreadslob , sysStat.physwriteslob , sysStat.physreadsdir , sysStat.physwritesdir , sysStat.physicalreads , sysStat.physicalwrites , sysStat.redosize , sysStat.redowrites , sysStat.sortsmemory , sysStat.sortsrows , sysStat.parses , sysStat.hardparses , sysStat.indxscanstotal , sysStat.usercalls , sysStat.recurscalls , sysStat.commits , sysStat.rollbacks , sysStat.userrollbackundorec , sysStat.bgcheckpoints , sysTM.dbCpu , sysTM.dbTime , sysTM.active_session , iostat.smallsyncreadreqs , iostat.smallsyncreadlatency from ( select sum(decode(name, 'branch node splits', value, 0)) branchnodesplits , sum(decode(name, 'consistent changes', value, 0)) consistentreadchanges , sum(decode(name, 'consistent gets', value, 0)) consistentreadgets , sum(decode(name, 'CR blocks created', value, 0)) crblks , sum(decode(name, 'data blocks consistent reads - undo records applied', value, 0)) crundorecs , sum(decode(name, 'db block changes', value, 0)) dbblkchanges , sum(decode(name, 'db block gets', value, 0)) dbblkgets , sum(decode(name, 'DBWR checkpoints', value, 0)) dbwrcheckpoints , sum(decode(name, 'sorts (disk)', value, 0)) sortsdisk , sum(decode(name, 'enqueue deadlocks', value, 0)) enqdeadlocks , sum(decode(name, 'enqueue requests', value, 0)) enqreqs , sum(decode(name, 'enqueue timeouts', value, 0)) enqtimeouts , sum(decode(name, 'enqueue waits', value, 0)) enqwaits , sum(decode(name, 'index fast full scans (full)', value, 0)) indxscansfull , sum(decode(name, 'index fast full scans (rowid ranges)', value, 0)) indxscansfullrowid , sum(decode(name, 'index fast full scans (direct read)', value, 0)) indxscansfulldirectread , sum(decode(name, 'execute count', value, 0)) executions , sum(decode(name, 'physical read total bytes', value, 0)) totalPhysicalReads , sum(decode(name, 'physical write total bytes', value, 0)) totalPhysicalWrites , sum(decode(name, 'physical read total IO requests', value, 0)) phyreadtotalioreqs , sum(decode(name, 'physical write total IO requests', value, 0)) phywritetotalioreqs , sum(decode(name, 'leaf node splits', value, 0)) leafnodesplits , sum(decode(name, 'session logical reads', value, 0)) logreads , sum(decode(name, 'logons cumulative', value, 0)) logons , sum(decode(name, 'table scans (long tables)', value, 0)) tabscanslong , sum(decode(name, 'bytes sent via SQL*Net to client', value, 0)) bytestoclientviasqlnet , sum(decode(name, 'bytes received via SQL*Net from client', value, 0)) bytesfromclientviasqlnet , sum(decode(name, 'bytes sent via SQL*Net to dblink', value, 0)) bytestodblinkviasqlnet , sum(decode(name, 'bytes received via SQL*Net from dblink', value, 0)) bytesfromdblinkviasqlnet , sum(decode(name, 'bytes via SQL*Net vector to client', value, 0)) bytestoclientviasqlnetvec , sum(decode(name, 'bytes via SQL*Net vector from client',value, 0)) bytesfromclientviasqlnetvec , sum(decode(name, 'bytes via SQL*Net vector to dblink',value, 0)) bytestodblinkviasqlnetvec , sum(decode(name, 'bytes via SQL*Net vector from dblink',value, 0)) bytesfromdblinkviasqlnetvec , sum(decode(name, 'opened cursors cumulative', value, 0)) opncurs , sum(decode(name, 'parse count (failures)', value, 0)) failedparses , sum(decode(name, 'physical reads direct (lob)', value, 0)) physreadslob , sum(decode(name, 'physical writes direct (lob)', value, 0)) physwriteslob , sum(decode(name, 'physical reads direct', value, 0)) physreadsdir , sum(decode(name, 'physical writes direct', value, 0)) physwritesdir , sum(decode(name, 'physical reads', value, 0)) physicalreads , sum(decode(name, 'physical writes', value, 0)) physicalwrites , sum(decode(name, 'redo size', value, 0)) redosize , sum(decode(name, 'redo writes', value, 0)) redowrites , sum(decode(name, 'sorts (memory)', value, 0)) sortsmemory , sum(decode(name, 'sorts (rows)', value, 0)) sortsrows , sum(decode(name, 'parse count (total)', value, 0)) parses , sum(decode(name, 'parse count (hard)', value, 0)) hardparses , sum(decode(name, 'index scans kdiixs1', value, 0)) indxscanstotal , sum(decode(name, 'user calls', value, 0)) usercalls , sum(decode(name, 'recursive calls', value, 0)) recurscalls , sum(decode(name, 'user commits', value, 0)) commits , sum(decode(name, 'user rollbacks', value, 0)) rollbacks , sum(decode(name, 'rollback changes - undo records applied', value, 0)) userrollbackundorec , sum(decode(name, 'background checkpoints completed', value, 0)) bgcheckpoints from v$sysstat ) sysStat , (select sum(decode(stat_name, 'DB CPU', value/10000, 0)) dbCpu , sum(decode(stat_name, 'DB time', value/10000, 0)) dbTime , sum(decode(stat_name, 'DB time', value/1000000, 0)) active_session from v$sys_time_model ) sysTM , ( select sum(small_sync_read_reqs) smallsyncreadreqs , sum (small_sync_read_latency) smallsyncreadlatency from v$IOSTAT_FILE ) iostat
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 13925, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 13926 Test Plan Name : SQL_PLAN_a4zx7twqkf5y6bb5f28c0 Base Plan Name : Cost-based plan SQL Handle : SQL_a27fa7cf2d2717c6 Parsing Schema : DBSNMP Test Plan Creator : SYS SQL Text : WITH RECINFO AS ( SELECT /*+ NO_MERGE */ FINDING_ID, COUNT(R.REC_ID) RECCOUNT,R.TYPE FROM DBA_ADVISOR_RECOMMENDATIONS R WHERE TASK_ID=:B1 GROUP BY R.FINDING_ID, R.TYPE ), F_CURR AS ( SELECT /*+ NO_MERGE */ DISTINCT FINDING_NAME FROM DBA_ADVISOR_FINDINGS WHERE TASK_ID=:B1 ), TASKS AS ( SELECT /*+ NO_MERGE */ T.TASK_ID,I.LOCAL_TASK_ID,T.END_TIME, T.BEGIN_TIME FROM DBA_ADDM_TASKS T,DBA_ADDM_INSTANCES I WHERE T.END_TIME>SYSDATE -1 AND T.TASK_ID=I.TASK_ID AND I.INSTANCE_NUMBER=SYS_CONTEXT('USERENV','INSTANCE') AND T.REQUESTED_ANALYSIS='INSTANCE' ), F_ALL AS ( SELECT /*+ NO_MERGE */ COUNT(FA.TASK_ID) FINDING_COUNT, FA.FINDING_NAME FROM TASKS, DBA_ADVISOR_FINDINGS FA WHERE FA.TASK_ID=TASKS.TASK_ID AND FA.TYPE<>'INFORMATION' AND FA.TYPE<>'WARNING' AND FA.PARENT=0 GROUP BY FA.FINDING_NAME ), HISTORY AS ( SELECT /*+ NO_MERGE */ FINDING_NAME, FINDING_COUNT FROM F_ALL JOIN F_CURR USING (FINDING_NAME) ) SELECT :B1 TASK_ID, F.FINDING_ID FINDING_ID, DECODE(RECINFO.TYPE,NULL, 'Uncategorized',RECINFO.TYPE) REC_TYPE, RECINFO.RECCOUNT REC_COUNT, F.PERC_ACTIVE_SESS IMPACT_PCT, F.MESSAGE MESSAGE, TO_CHAR(TO_DATE(:B3 ,'MM-DD-YYYY HH24:MI:SS'),'YYYY-MM-DD HH24:MI:SS') START_TIME, TO_CHAR(TO_DATE(:B2 ,'MM-DD-YYYY HH24:MI:SS'),'YYYY-MM-DD HH24:MI:SS') END_TIME, HISTORY.FINDING_COUNT FINDING_COUNT, F.FINDING_NAME FINDING_NAME, F.ACTIVE_SESSIONS ACTIVE_SESSIONS FROM DBA_ADDM_FINDINGS F, RECINFO, HISTORY WHERE F.TASK_ID=:B1 AND F.TYPE<>'INFORMATION' AND F.TYPE<>'WARNING' AND F.FILTERED<>'Y' AND F.PARENT=0 AND F.FINDING_ID=RECINFO.FINDING_ID (+) AND F.FINDING_NAME=HISTORY.FINDING_NAME ORDER BY F.FINDING_ID
Execution Statistics: ----------------------------- Base Plan Test Plan ---------------------------- ---------------------------- Elapsed Time (s): .000533 .000165 CPU Time (s): .000532 .000169 Buffer Gets: 15 9 Optimizer Cost: 50 80 Disk Reads: 0 0 Direct Writes: 0 0 Rows Processed: 0 0 Executions: 10 10
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (2): ----------------------------- 1. The plan was verified in 0.42700 seconds. It passed the benefit criterion because its verified performance was 1.72490 times better than that of the baseline plan. 2. The plan was automatically accepted.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 13926, task_owner => 'SYS');
EXPLAIN PLANS SECTION ---------------------------------------------------------------------------------------------
Baseline Plan ----------------------------- Plan Id : 13677 Plan Hash Value : 3237777351
---------------------------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost | Time | ---------------------------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 1 | 2091 | 50 | 00:00:01 | | 1 | SORT ORDER BY | | 1 | 2091 | 50 | 00:00:01 | | 2 | NESTED LOOPS OUTER | | 1 | 2091 | 49 | 00:00:01 | | 3 | NESTED LOOPS | | 1 | 2059 | 44 | 00:00:01 | | 4 | NESTED LOOPS | | 1 | 2048 | 43 | 00:00:01 | | 5 | NESTED LOOPS | | 1 | 2022 | 41 | 00:00:01 | | * 6 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_TASKS | 1 | 7 | 2 | 00:00:01 | | * 7 | INDEX UNIQUE SCAN | WRI$_ADV_TASKS_PK | 1 | | 1 | 00:00:01 | | 8 | VIEW | | 1 | 2015 | 39 | 00:00:01 | | * 9 | HASH JOIN | | 1 | 4017 | 39 | 00:00:01 | | 10 | VIEW | | 1 | 2015 | 34 | 00:00:01 | | 11 | SORT GROUP BY | | 1 | 24 | 34 | 00:00:01 | | * 12 | HASH JOIN | | 17 | 408 | 33 | 00:00:01 | | * 13 | HASH JOIN | | 17 | 289 | 27 | 00:00:01 | | 14 | VIEW | | 17 | 68 | 13 | 00:00:01 | | * 15 | FILTER | | | | | | | * 16 | HASH JOIN OUTER | | 17 | 1275 | 13 | 00:00:01 | | 17 | NESTED LOOPS | | 17 | 918 | 9 | 00:00:01 | | * 18 | HASH JOIN | | 17 | 799 | 9 | 00:00:01 | | * 19 | TABLE ACCESS FULL | WRI$_ADV_ADDM_TASKS | 17 | 408 | 3 | 00:00:01 | | * 20 | TABLE ACCESS FULL | WRI$_ADV_TASKS | 762 | 17526 | 6 | 00:00:01 | | * 21 | INDEX UNIQUE SCAN | SYS_C002249 | 1 | 7 | 0 | 00:00:01 | | 22 | TABLE ACCESS FULL | WRI$_ADV_EXECUTIONS | 828 | 17388 | 3 | 00:00:01 | | * 23 | TABLE ACCESS FULL | WRI$_ADV_FINDINGS | 25 | 325 | 14 | 00:00:01 | | * 24 | TABLE ACCESS FULL | WRI$_ADV_TASKS | 762 | 5334 | 6 | 00:00:01 | | 25 | VIEW | | 1 | 2002 | 5 | 00:00:01 | | 26 | SORT UNIQUE | | 1 | 14 | 5 | 00:00:01 | | 27 | NESTED LOOPS | | 1 | 14 | 4 | 00:00:01 | | * 28 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_TASKS | 1 | 7 | 2 | 00:00:01 | | * 29 | INDEX UNIQUE SCAN | WRI$_ADV_TASKS_PK | 1 | | 1 | 00:00:01 | | 30 | TABLE ACCESS BY INDEX ROWID BATCHED | WRI$_ADV_FINDINGS | 1 | 7 | 2 | 00:00:01 | | * 31 | INDEX RANGE SCAN | WRI$_ADV_FINDINGS_PK | 1 | | 1 | 00:00:01 | | * 32 | TABLE ACCESS BY INDEX ROWID BATCHED | WRI$_ADV_FINDINGS | 1 | 26 | 2 | 00:00:01 | | * 33 | INDEX RANGE SCAN | WRI$_ADV_FINDINGS_PK | 1 | | 1 | 00:00:01 | | 34 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_ADDM_FDG | 1 | 11 | 1 | 00:00:01 | | * 35 | INDEX UNIQUE SCAN | SYS_C002252 | 1 | | 0 | 00:00:01 | | 36 | VIEW PUSHED PREDICATE | | 1 | 32 | 5 | 00:00:01 | | 37 | SORT GROUP BY | | 1 | 25 | 5 | 00:00:01 | | 38 | NESTED LOOPS | | 1 | 25 | 4 | 00:00:01 | | * 39 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_TASKS | 1 | 7 | 2 | 00:00:01 | | * 40 | INDEX UNIQUE SCAN | WRI$_ADV_TASKS_PK | 1 | | 1 | 00:00:01 | | 41 | TABLE ACCESS BY INDEX ROWID BATCHED | WRI$_ADV_RECOMMENDATIONS | 1 | 18 | 2 | 00:00:01 | | * 42 | INDEX RANGE SCAN | WRI$_ADV_RECS_IDX_02 | 1 | | 1 | 00:00:01 | ----------------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 6 - filter(BITAND("B"."PROPERTY",6)=4) * 7 - access("B"."ID"=:B1) * 9 - access("F_ALL"."FINDING_NAME"="F_CURR"."FINDING_NAME") * 12 - access("A"."TASK_ID"="B"."ID") * 13 - access("A"."TASK_ID"="TASKS"."TASK_ID") * 15 - filter(DECODE(NVL("E"."STATUS","A"."STATUS"),1,'INITIAL',2,'EXECUTING',3,'COMPLETED',4,'INTERRUPTED',5,'CANCELLED',6,'FATAL ERROR')='COMPLETED') * 16 - access("A"."ID"="E"."TASK_ID"(+) AND "A"."ADVISOR_ID"="E"."ADVISOR_ID"(+) AND "A"."LAST_EXEC_NAME"="E"."NAME"(+)) * 18 - access("A"."ID"="A"."TASK_ID") * 19 - filter("A"."END_TIME">SYSDATE@!-1 AND "A"."REQUESTED_ANALYSIS"='INSTANCE') * 20 - filter(BITAND("A"."PROPERTY",6)=4) * 21 - access("A"."ID"="A"."TASK_ID" AND "A"."INSTANCE_NUMBER"=TO_NUMBER(SYS_CONTEXT('USERENV','INSTANCE'))) * 23 - filter(DECODE("A"."TYPE",1,'PROBLEM',2,'SYMPTOM',3,'ERROR',4,'INFORMATION',5,'WARNING')<>'INFORMATION' AND DECODE("A"."TYPE",1,'PROBLEM',2,'SYMPTOM',3,'ERROR',4,'INFORMATION',5,'WARNING')<>'WARNING' AND "A"."PARENT"=0) * 24 - filter(BITAND("B"."PROPERTY",6)=4) * 28 - filter(BITAND("B"."PROPERTY",6)=4) * 29 - access("B"."ID"=:B1) * 31 - access("A"."TASK_ID"=:B1) * 32 - filter(DECODE("A"."TYPE",1,'PROBLEM',2,'SYMPTOM',3,'ERROR',4,'INFORMATION',5,'WARNING')<>'INFORMATION' AND DECODE("A"."TYPE",1,'PROBLEM',2,'SYMPTOM',3,'ERROR',4,'INFORMATION',5,'WARNING')<>'WARNING' AND "HISTORY"."FINDING_NAME"="DBMS_ADVISOR"."FORMAT_MESSAGE"("A"."NAME_MSG_CODE") AND "A"."PARENT"=0 AND NVL("A"."FILTERED",'N')<>'Y') * 33 - access("A"."TASK_ID"=:B1) * 35 - access("A"."TASK_ID"=:B1 AND "A"."ID"="A"."FINDING_ID") * 39 - filter(BITAND("B"."PROPERTY",6)=4) * 40 - access("B"."ID"=:B1) * 42 - access("A"."TASK_ID"=:B1 AND "A"."FINDING_ID"="A"."ID") * 42 - filter("A"."FINDING_ID"="A"."ID")
Hint Report (identified by operation id / Query Block Name / Object Alias): Total hints for statement: 1 (U - Unused (1)) ------------------------------------------------------------------------------- 0 - STATEMENT U - NO_PARALLEL
Notes ----- - dop_reason = hint - dop = 1 - px_in_memory_imc = no - px_in_memory = no
Test Plan ----------------------------- Plan Id : 13678 Plan Hash Value : 3143575744
------------------------------------------------------------------------------------------------------------------------ | Id | Operation | Name | Rows | Bytes | Cost | Time | ------------------------------------------------------------------------------------------------------------------------ | 0 | SELECT STATEMENT | | 1 | 2091 | 80 | 00:00:01 | | 1 | SORT ORDER BY | | 1 | 2091 | 80 | 00:00:01 | | 2 | NESTED LOOPS OUTER | | 1 | 2091 | 79 | 00:00:01 | | 3 | NESTED LOOPS | | 1 | 2059 | 74 | 00:00:01 | | 4 | NESTED LOOPS | | 1 | 2048 | 73 | 00:00:01 | | 5 | NESTED LOOPS | | 1 | 2022 | 71 | 00:00:01 | | * 6 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_TASKS | 1 | 7 | 2 | 00:00:01 | | * 7 | INDEX UNIQUE SCAN | WRI$_ADV_TASKS_PK | 1 | | 1 | 00:00:01 | | 8 | VIEW | | 1 | 2015 | 69 | 00:00:01 | | * 9 | HASH JOIN | | 1 | 4017 | 69 | 00:00:01 | | 10 | VIEW | | 1 | 2015 | 64 | 00:00:01 | | 11 | SORT GROUP BY | | 1 | 24 | 64 | 00:00:01 | | 12 | NESTED LOOPS | | 17 | 408 | 63 | 00:00:01 | | 13 | NESTED LOOPS | | 17 | 408 | 63 | 00:00:01 | | 14 | NESTED LOOPS | | 17 | 289 | 46 | 00:00:01 | | 15 | VIEW | | 17 | 68 | 13 | 00:00:01 | | * 16 | FILTER | | | | | | | * 17 | HASH JOIN OUTER | | 17 | 1275 | 13 | 00:00:01 | | 18 | NESTED LOOPS | | 17 | 918 | 9 | 00:00:01 | | * 19 | HASH JOIN | | 17 | 799 | 9 | 00:00:01 | | * 20 | TABLE ACCESS FULL | WRI$_ADV_ADDM_TASKS | 17 | 408 | 3 | 00:00:01 | | * 21 | TABLE ACCESS FULL | WRI$_ADV_TASKS | 762 | 17526 | 6 | 00:00:01 | | * 22 | INDEX UNIQUE SCAN | SYS_C002249 | 1 | 7 | 0 | 00:00:01 | | 23 | TABLE ACCESS FULL | WRI$_ADV_EXECUTIONS | 828 | 17388 | 3 | 00:00:01 | | * 24 | TABLE ACCESS BY INDEX ROWID BATCHED | WRI$_ADV_FINDINGS | 1 | 13 | 2 | 00:00:01 | | * 25 | INDEX RANGE SCAN | WRI$_ADV_FINDINGS_PK | 14 | | 1 | 00:00:01 | | * 26 | INDEX UNIQUE SCAN | WRI$_ADV_TASKS_PK | 1 | | 0 | 00:00:01 | | * 27 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_TASKS | 1 | 7 | 1 | 00:00:01 | | 28 | VIEW | | 1 | 2002 | 5 | 00:00:01 | | 29 | SORT UNIQUE | | 1 | 14 | 5 | 00:00:01 | | 30 | NESTED LOOPS | | 1 | 14 | 4 | 00:00:01 | | * 31 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_TASKS | 1 | 7 | 2 | 00:00:01 | | * 32 | INDEX UNIQUE SCAN | WRI$_ADV_TASKS_PK | 1 | | 1 | 00:00:01 | | 33 | TABLE ACCESS BY INDEX ROWID BATCHED | WRI$_ADV_FINDINGS | 1 | 7 | 2 | 00:00:01 | | * 34 | INDEX RANGE SCAN | WRI$_ADV_FINDINGS_PK | 1 | | 1 | 00:00:01 | | * 35 | TABLE ACCESS BY INDEX ROWID BATCHED | WRI$_ADV_FINDINGS | 1 | 26 | 2 | 00:00:01 | | * 36 | INDEX RANGE SCAN | WRI$_ADV_FINDINGS_PK | 1 | | 1 | 00:00:01 | | 37 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_ADDM_FDG | 1 | 11 | 1 | 00:00:01 | | * 38 | INDEX UNIQUE SCAN | SYS_C002252 | 1 | | 0 | 00:00:01 | | 39 | VIEW PUSHED PREDICATE | | 1 | 32 | 5 | 00:00:01 | | 40 | SORT GROUP BY | | 1 | 25 | 5 | 00:00:01 | | 41 | NESTED LOOPS | | 1 | 25 | 4 | 00:00:01 | | * 42 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_TASKS | 1 | 7 | 2 | 00:00:01 | | * 43 | INDEX UNIQUE SCAN | WRI$_ADV_TASKS_PK | 1 | | 1 | 00:00:01 | | 44 | TABLE ACCESS BY INDEX ROWID BATCHED | WRI$_ADV_RECOMMENDATIONS | 1 | 18 | 2 | 00:00:01 | | * 45 | INDEX RANGE SCAN | WRI$_ADV_RECS_IDX_02 | 1 | | 1 | 00:00:01 | ------------------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 6 - filter(BITAND("B"."PROPERTY",6)=4) * 7 - access("B"."ID"=:B1) * 9 - access("F_ALL"."FINDING_NAME"="F_CURR"."FINDING_NAME") * 16 - filter(DECODE(NVL("E"."STATUS","A"."STATUS"),1,'INITIAL',2,'EXECUTING',3,'COMPLETED',4,'INTERRUPTED',5,'CANCELLED',6,'FATAL ERROR')='COMPLETED') * 17 - access("A"."ID"="E"."TASK_ID"(+) AND "A"."ADVISOR_ID"="E"."ADVISOR_ID"(+) AND "A"."LAST_EXEC_NAME"="E"."NAME"(+)) * 19 - access("A"."ID"="A"."TASK_ID") * 20 - filter("A"."END_TIME">SYSDATE@!-1 AND "A"."REQUESTED_ANALYSIS"='INSTANCE') * 21 - filter(BITAND("A"."PROPERTY",6)=4) * 22 - access("A"."ID"="A"."TASK_ID" AND "A"."INSTANCE_NUMBER"=TO_NUMBER(SYS_CONTEXT('USERENV','INSTANCE'))) * 24 - filter(DECODE("A"."TYPE",1,'PROBLEM',2,'SYMPTOM',3,'ERROR',4,'INFORMATION',5,'WARNING')<>'INFORMATION' AND DECODE("A"."TYPE",1,'PROBLEM',2,'SYMPTOM',3,'ERROR',4,'INFORMATION',5,'WARNING')<>'WARNING' AND "A"."PARENT"=0) * 25 - access("A"."TASK_ID"="TASKS"."TASK_ID") * 26 - access("A"."TASK_ID"="B"."ID") * 27 - filter(BITAND("B"."PROPERTY",6)=4) * 31 - filter(BITAND("B"."PROPERTY",6)=4) * 32 - access("B"."ID"=:B1) * 34 - access("A"."TASK_ID"=:B1) * 35 - filter(DECODE("A"."TYPE",1,'PROBLEM',2,'SYMPTOM',3,'ERROR',4,'INFORMATION',5,'WARNING')<>'INFORMATION' AND DECODE("A"."TYPE",1,'PROBLEM',2,'SYMPTOM',3,'ERROR',4,'INFORMATION',5,'WARNING')<>'WARNING' AND "HISTORY"."FINDING_NAME"="DBMS_ADVISOR"."FORMAT_MESSAGE"("A"."NAME_MSG_CODE") AND "A"."PARENT"=0 AND NVL("A"."FILTERED",'N')<>'Y') * 36 - access("A"."TASK_ID"=:B1) * 38 - access("A"."TASK_ID"=:B1 AND "A"."ID"="A"."FINDING_ID") * 42 - filter(BITAND("B"."PROPERTY",6)=4) * 43 - access("B"."ID"=:B1) * 45 - access("A"."TASK_ID"=:B1 AND "A"."FINDING_ID"="A"."ID") * 45 - filter("A"."FINDING_ID"="A"."ID")
--------------------------------------------------------------------------------------------- Object ID : 13927 Test Plan Name : SQL_PLAN_0vz9x2a1mt4gqe62e0e9f Base Plan Name : Cost-based plan SQL Handle : SQL_0dfd3d12833c91f6 Parsing Schema : SYS Test Plan Creator : SYS SQL Text : select col#,intcol#,reftyp,stabid,expctoid from refcon$ where obj#=:1 order by intcol# asc
Execution Statistics: ----------------------------- Base Plan Test Plan ---------------------------- ---------------------------- Elapsed Time (s): .000005 .000007 CPU Time (s): .000005 .000007 Buffer Gets: 0 0 Optimizer Cost: 2 3 Disk Reads: 0 0 Direct Writes: 0 0 Rows Processed: 0 0 Executions: 10 10
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The plan was verified in 0.02300 seconds. It failed the benefit criterion because its verified performance was 0.77612 times worse than that of the baseline plan.
EXPLAIN PLANS SECTION ---------------------------------------------------------------------------------------------
Baseline Plan ----------------------------- Plan Id : 13679 Plan Hash Value : 3619993626
------------------------------------------------------------------------------------ | Id | Operation | Name | Rows | Bytes | Cost | Time | ------------------------------------------------------------------------------------ | 0 | SELECT STATEMENT | | 1 | 14 | 2 | 00:00:01 | | 1 | TABLE ACCESS BY INDEX ROWID | REFCON$ | 1 | 14 | 2 | 00:00:01 | | * 2 | INDEX RANGE SCAN | I_REFCON2 | 1 | | 1 | 00:00:01 | ------------------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 2 - access("OBJ#"=:1)
Test Plan ----------------------------- Plan Id : 13680 Plan Hash Value : 3861778079
---------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost | Time | ---------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 3 | 42 | 3 | 00:00:01 | | 1 | SORT ORDER BY | | 3 | 42 | 3 | 00:00:01 | | 2 | TABLE ACCESS CLUSTER | REFCON$ | 3 | 42 | 2 | 00:00:01 | | * 3 | INDEX UNIQUE SCAN | I_OBJ# | 1 | | 1 | 00:00:01 | ----------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 3 - access("OBJ#"=:1)
--------------------------------------------------------------------------------------------- Object ID : 13928 Test Plan Name : SQL_PLAN_2sakkk4qzsn9x9ae3de45 Base Plan Name : Cost-based plan SQL Handle : SQL_2c2a52912dfc513d Parsing Schema : SYS Test Plan Creator : SYS SQL Text : select NVL(ilevel,0), NVL(bestsortcol,0), NVL(tinsize,0), NVL(toutsize,0), NVL(spare1,0), NVL(spare3,0), NVL(dataobj#,0), NVL(ts#,0), NVL(file#,0), NVL(block#,0), NVL(spare2,0), NVL(spare4,0), analyzer from compression$ where obj#=:1 and ulevel=:2
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 13928, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 13929 Test Plan Name : SQL_PLAN_f2cukwjncj1ua8c6f4a2e Base Plan Name : Cost-based plan SQL Handle : SQL_e13352e468c8874a Parsing Schema : SH Test Plan Creator : SYS SQL Text : SELECT /* my_auto_capture */ c.cust_city, t.calendar_quarter_desc, SUM(s.amount_sold) sales_amount FROM sh.sales s, sh.times t, sh.customers c, sh.channels ch WHERE s.time_id = t.time_id AND s.cust_id = c.cust_id AND s.channel_id = ch.channel_id AND c.cust_state_province = 'FL' AND ch.channel_desc = 'Direct Sales' AND t.calendar_quarter_desc IN ('2000-01', '2000-02','1999-12') GROUP BY c.cust_city, t.calendar_quarter_desc
Execution Statistics: ----------------------------- Base Plan Test Plan ---------------------------- ---------------------------- Elapsed Time (s): .002995 .000692 CPU Time (s): .002972 .000689 Buffer Gets: 6 6 Optimizer Cost: 339 340 Disk Reads: 0 0 Direct Writes: 0 0 Rows Processed: 2 2 Executions: 10 10
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The plan was verified in 0.77200 seconds. It failed the benefit criterion because its verified performance was only 1.03700 times better than that of the baseline plan.
EXPLAIN PLANS SECTION ---------------------------------------------------------------------------------------------
Baseline Plan ----------------------------- Plan Id : 13681 Plan Hash Value : 2522189946
---------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost | Time | ---------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 1292 | 98192 | 339 | 00:00:01 | | 1 | HASH GROUP BY | | 1292 | 98192 | 339 | 00:00:01 | | * 2 | HASH JOIN | | 12335 | 937460 | 337 | 00:00:01 | | * 3 | TABLE ACCESS INMEMORY FULL | CUSTOMERS | 2438 | 63388 | 23 | 00:00:01 | | * 4 | HASH JOIN | | 35715 | 1785750 | 314 | 00:00:01 | | 5 | JOIN FILTER CREATE | :BF0001 | 227 | 6583 | 12 | 00:00:01 | | 6 | PART JOIN FILTER CREATE | :BF0000 | 227 | 6583 | 12 | 00:00:01 | | 7 | MERGE JOIN CARTESIAN | | 227 | 6583 | 12 | 00:00:01 | | * 8 | TABLE ACCESS FULL | CHANNELS | 1 | 13 | 2 | 00:00:01 | | 9 | BUFFER SORT | | 227 | 3632 | 10 | 00:00:01 | | * 10 | TABLE ACCESS FULL | TIMES | 227 | 3632 | 10 | 00:00:01 | | 11 | JOIN FILTER USE | :BF0001 | 918842 | 19295682 | 285 | 00:00:01 | | 12 | PARTITION RANGE JOIN-FILTER | | 918842 | 19295682 | 285 | 00:00:01 | | * 13 | TABLE ACCESS INMEMORY FULL | SALES | 918842 | 19295682 | 285 | 00:00:01 | ----------------------------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 2 - access("S"."CUST_ID"="C"."CUST_ID") * 3 - access("C"."CUST_STATE_PROVINCE"='FL') * 3 - filter("C"."CUST_STATE_PROVINCE"='FL') * 4 - access("S"."TIME_ID"="T"."TIME_ID" AND "S"."CHANNEL_ID"="CH"."CHANNEL_ID") * 8 - filter("CH"."CHANNEL_DESC"='Direct Sales') * 10 - filter("T"."CALENDAR_QUARTER_DESC"='1999-12' OR "T"."CALENDAR_QUARTER_DESC"='2000-01' OR "T"."CALENDAR_QUARTER_DESC"='2000-02') * 13 - access(SYS_OP_BLOOM_FILTER(:BF0001,"S"."TIME_ID")) * 13 - filter(SYS_OP_BLOOM_FILTER(:BF0001,"S"."TIME_ID"))
Hint Report (identified by operation id / Query Block Name / Object Alias): Total hints for statement: 1 (U - Unused (1)) ------------------------------------------------------------------------------- 0 - STATEMENT U - NO_PARALLEL
Notes ----- - dop_reason = hint - dop = 1 - px_in_memory_imc = no - px_in_memory = no
Test Plan ----------------------------- Plan Id : 13682 Plan Hash Value : 2356103726
----------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost | Time | ----------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 1292 | 98192 | 340 | 00:00:01 | | 1 | HASH GROUP BY | | 1292 | 98192 | 340 | 00:00:01 | | * 2 | HASH JOIN | | 12335 | 937460 | 338 | 00:00:01 | | 3 | PART JOIN FILTER CREATE | :BF0000 | 227 | 3632 | 10 | 00:00:01 | | * 4 | TABLE ACCESS FULL | TIMES | 227 | 3632 | 10 | 00:00:01 | | * 5 | HASH JOIN | | 79336 | 4760160 | 326 | 00:00:01 | | 6 | JOIN FILTER CREATE | :BF0001 | 2438 | 95082 | 25 | 00:00:01 | | 7 | MERGE JOIN CARTESIAN | | 2438 | 95082 | 25 | 00:00:01 | | * 8 | TABLE ACCESS FULL | CHANNELS | 1 | 13 | 2 | 00:00:01 | | 9 | BUFFER SORT | | 2438 | 63388 | 23 | 00:00:01 | | * 10 | TABLE ACCESS INMEMORY FULL | CUSTOMERS | 2438 | 63388 | 23 | 00:00:01 | | 11 | JOIN FILTER USE | :BF0001 | 918842 | 19295682 | 285 | 00:00:01 | | 12 | PARTITION RANGE JOIN-FILTER | | 918842 | 19295682 | 285 | 00:00:01 | | * 13 | TABLE ACCESS INMEMORY FULL | SALES | 918842 | 19295682 | 285 | 00:00:01 | -----------------------------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 2 - access("S"."TIME_ID"="T"."TIME_ID") * 4 - filter("T"."CALENDAR_QUARTER_DESC"='1999-12' OR "T"."CALENDAR_QUARTER_DESC"='2000-01' OR "T"."CALENDAR_QUARTER_DESC"='2000-02') * 5 - access("S"."CUST_ID"="C"."CUST_ID" AND "S"."CHANNEL_ID"="CH"."CHANNEL_ID") * 8 - filter("CH"."CHANNEL_DESC"='Direct Sales') * 10 - access("C"."CUST_STATE_PROVINCE"='FL') * 10 - filter("C"."CUST_STATE_PROVINCE"='FL') * 13 - access(SYS_OP_BLOOM_FILTER(:BF0001,"S"."CUST_ID")) * 13 - filter(SYS_OP_BLOOM_FILTER(:BF0001,"S"."CUST_ID"))
--------------------------------------------------------------------------------------------- Object ID : 13930 Test Plan Name : SQL_PLAN_5dp3m73m33ctt4f811fcd Base Plan Name : Cost-based plan SQL Handle : SQL_56d47338e631b339 Parsing Schema : SYS Test Plan Creator : SYS SQL Text : select col#,intcol#,toid,version#,packed,intcols,intcol#s,flags, synobj#, nvl(typidcol#, 0) from coltype$ where obj#=:1 order by intcol# desc
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 13930, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 13931 Test Plan Name : SQL_PLAN_23grx4r3xj1tx69abccc1 Base Plan Name : Cost-based plan SQL Handle : SQL_21befd25c7d8873d Parsing Schema : SYS Test Plan Creator : SYS SQL Text : SELECT /*+ OPT_PARAM('_fix_control' '16391176:1') */ GROUP_TYPE, BUCKET_START, BUCKET_END, TM_GROUP_TYPE, TM_BUCKET_START, TM_BUCKET_END, SUM(TM_CPU_FIRST_BUCKET_VALUE) TM_CPU_FIRST_BUCKET_VALUE, SUM(TM_CPU_MIDDLE_BUCKETS_VALUE) TM_CPU_MIDDLE_BUCKETS_VALUE, SUM(TM_CPU_LAST_BUCKET_VALUE) TM_CPU_LAST_BUCKET_VALUE, SUM(TM_DB_FIRST_BUCKET_VALUE) TM_DB_FIRST_BUCKET_VALUE, SUM(TM_DB_MIDDLE_BUCKETS_VALUE) TM_DB_MIDDLE_BUCKETS_VALUE, SUM(TM_DB_LAST_BUCKET_VALUE) TM_DB_LAST_BUCKET_VALUE, SUM(RREQS_FIRST_BUCKET_VALUE) RREQS_FIRST_BUCKET_VALUE, SUM(RREQS_MIDDLE_BUCKETS_VALUE) RREQS_MIDDLE_BUCKETS_VALUE, SUM(RREQS_LAST_BUCKET_VALUE) RREQS_LAST_BUCKET_VALUE, SUM(WREQS_FIRST_BUCKET_VALUE) WREQS_FIRST_BUCKET_VALUE, SUM(WREQS_MIDDLE_BUCKETS_VALUE) WREQS_MIDDLE_BUCKETS_VALUE, SUM(WREQS_LAST_BUCKET_VALUE) WREQS_LAST_BUCKET_VALUE, SUM(RBYTES_FIRST_BUCKET_VALUE) RBYTES_FIRST_BUCKET_VALUE, SUM(RBYTES_MIDDLE_BUCKETS_VALUE) RBYTES_MIDDLE_BUCKETS_VALUE, SUM(RBYTES_LAST_BUCKET_VALUE) RBYTES_LAST_BUCKET_VALUE, SUM(WBYTES_FIRST_BUCKET_VALUE) WBYTES_FIRST_BUCKET_VALUE, SUM(WBYTES_MIDDLE_BUCKETS_VALUE) WBYTES_MIDDLE_BUCKETS_VALUE, SUM(WBYTES_LAST_BUCKET_VALUE) WBYTES_LAST_BUCKET_VALUE, SUM(IBYTES_FIRST_BUCKET_VALUE) IBYTES_FIRST_BUCKET_VALUE, SUM(IBYTES_MIDDLE_BUCKETS_VALUE) IBYTES_MIDDLE_BUCKETS_VALUE, SUM(IBYTES_LAST_BUCKET_VALUE) IBYTES_LAST_BUCKET_VALUE, SUM(CRBYTES_FIRST_BUCKET_VALUE) CRBYTES_FIRST_BUCKET_VALUE, SUM(CRBYTES_MIDDLE_BUCKETS_VALUE) CRBYTES_MIDDLE_BUCKETS_VALUE, SUM(CRBYTES_LAST_BUCKET_VALUE) CRBYTES_LAST_BUCKET_VALUE, SUM(PGA_ALLOC_FIRST_BUCKET_VALUE) PGA_ALLOC_FIRST_BUCKET_VALUE, SUM(PGA_ALLOC_MIDDLE_BUCKETS_VALUE) PGA_ALLOC_MIDDLE_BUCKETS_VALUE, SUM(PGA_ALLOC_LAST_BUCKET_VALUE) PGA_ALLOC_LAST_BUCKET_VALUE, SUM(TMP_ALLOC_FIRST_BUCKET_VALUE) TMP_ALLOC_FIRST_BUCKET_VALUE, SUM(TMP_ALLOC_MIDDLE_BUCKETS_VALUE) TMP_ALLOC_MIDDLE_BUCKETS_VALUE, SUM(TMP_ALLOC_LAST_BUCKET_VALUE) TMP_ALLOC_LAST_BUCKET_VALUE FROM ( SELECT GROUP_TYPE, BUCKET_START, TM_BUCKET_START, TM_BUCKET_END, BUCKET_END, TM_GROUP_TYPE, SUM(GVTF.TM_CPU_FIRST_BUCKET_VALUE) TM_CPU_FIRST_BUCKET_VALUE, SUM(GVTF.TM_CPU_MIDDLE_BUCKETS_VALUE) TM_CPU_MIDDLE_BUCKETS_VALUE, SUM(GVTF.TM_CPU_LAST_BUCKET_VALUE) TM_CPU_LAST_BUCKET_VALUE, SUM(GVTF.TM_DB_FIRST_BUCKET_VALUE) TM_DB_FIRST_BUCKET_VALUE, SUM(GVTF.TM_DB_MIDDLE_BUCKETS_VALUE) TM_DB_MIDDLE_BUCKETS_VALUE, SUM(GVTF.TM_DB_LAST_BUCKET_VALUE) TM_DB_LAST_BUCKET_VALUE, SUM(GVTF.RREQS_FIRST_BUCKET_VALUE) RREQS_FIRST_BUCKET_VALUE, SUM(GVTF.RREQS_MIDDLE_BUCKETS_VALUE) RREQS_MIDDLE_BUCKETS_VALUE, SUM(GVTF.RREQS_LAST_BUCKET_VALUE) RREQS_LAST_BUCKET_VALUE, SUM(GVTF.WREQS_FIRST_BUCKET_VALUE) WREQS_FIRST_BUCKET_VALUE, SUM(GVTF.WREQS_MIDDLE_BUCKETS_VALUE) WREQS_MIDDLE_BUCKETS_VALUE, SUM(GVTF.WREQS_LAST_BUCKET_VALUE) WREQS_LAST_BUCKET_VALUE, SUM(GVTF.RBYTES_FIRST_BUCKET_VALUE) RBYTES_FIRST_BUCKET_VALUE, SUM(GVTF.RBYTES_MIDDLE_BUCKETS_VALUE) RBYTES_MIDDLE_BUCKETS_VALUE, SUM(GVTF.RBYTES_LAST_BUCKET_VALUE) RBYTES_LAST_BUCKET_VALUE, SUM(GVTF.WBYTES_FIRST_BUCKET_VALUE) WBYTES_FIRST_BUCKET_VALUE, SUM(GVTF.WBYTES_MIDDLE_BUCKETS_VALUE) WBYTES_MIDDLE_BUCKETS_VALUE, SUM(GVTF.WBYTES_LAST_BUCKET_VALUE) WBYTES_LAST_BUCKET_VALUE, SUM(GVTF.IBYTES_FIRST_BUCKET_VALUE) IBYTES_FIRST_BUCKET_VALUE, SUM(GVTF.IBYTES_MIDDLE_BUCKETS_VALUE) IBYTES_MIDDLE_BUCKETS_VALUE, SUM(GVTF.IBYTES_LAST_BUCKET_VALUE) IBYTES_LAST_BUCKET_VALUE, SUM(GVTF.CRBYTES_FIRST_BUCKET_VALUE) CRBYTES_FIRST_BUCKET_VALUE, SUM(GVTF.CRBYTES_MIDDLE_BUCKETS_VALUE) CRBYTES_MIDDLE_BUCKETS_VALUE, SUM(GVTF.CRBYTES_LAST_BUCKET_VALUE) CRBYTES_LAST_BUCKET_VALUE, SUM(GVTF.PGA_ALLOC_FIRST_BUCKET_VALUE) PGA_ALLOC_FIRST_BUCKET_VALUE, SUM(GVTF.PGA_ALLOC_MIDDLE_BUCKETS_VALUE) PGA_ALLOC_MIDDLE_BUCKETS_VALUE, SUM(GVTF.PGA_ALLOC_LAST_BUCKET_VALUE) PGA_ALLOC_LAST_BUCKET_VALUE, SUM(GVTF.TMP_ALLOC_FIRST_BUCKET_VALUE) TMP_ALLOC_FIRST_BUCKET_VALUE, SUM(GVTF.TMP_ALLOC_MIDDLE_BUCKETS_VALUE) TMP_ALLOC_MIDDLE_BUCKETS_VALUE, SUM(GVTF.TMP_ALLOC_LAST_BUCKET_VALUE) TMP_ALLOC_LAST_BUCKET_VALUE FROM TABLE(SYS.GV$(CURSOR( SELECT INST_ID, GROUP_TYPE, BUCKET_START, TM_BUCKET_START, TM_BUCKET_END, BUCKET_END, TM_GROUP_TYPE, SUM(TM_DELTA_CPU_TIME * TM_FIRST_BUCKET_RATIO) TM_CPU_FIRST_BUCKET_VALUE, SUM(TM_DELTA_CPU_TIME * TM_MIDDLE_BUCKETS_RATIO) TM_CPU_MIDDLE_BUCKETS_VALUE, SUM(TM_DELTA_CPU_TIME * TM_LAST_BUCKET_RATIO) TM_CPU_LAST_BUCKET_VALUE, SUM(TM_DELTA_DB_TIME * TM_FIRST_BUCKET_RATIO) TM_DB_FIRST_BUCKET_VALUE, SUM(TM_DELTA_DB_TIME * TM_MIDDLE_BUCKETS_RATIO) TM_DB_MIDDLE_BUCKETS_VALUE, SUM(TM_DELTA_DB_TIME * TM_LAST_BUCKET_RATIO) TM_DB_LAST_BUCKET_VALUE, SUM(DELTA_READ_REQUESTS * FIRST_BUCKET_RATIO) RREQS_FIRST_BUCKET_VALUE, SUM(DELTA_READ_REQUESTS * MIDDLE_BUCKETS_RATIO) RREQS_MIDDLE_BUCKETS_VALUE, SUM(DELTA_READ_REQUESTS * LAST_BUCKET_RATIO) RREQS_LAST_BUCKET_VALUE, SUM(DELTA_WRITE_REQUESTS * FIRST_BUCKET_RATIO) WREQS_FIRST_BUCKET_VALUE, SUM(DELTA_WRITE_REQUESTS * MIDDLE_BUCKETS_RATIO) WREQS_MIDDLE_BUCKETS_VALUE, SUM(DELTA_WRITE_REQUESTS * LAST_BUCKET_RATIO) WREQS_LAST_BUCKET_VALUE, SUM(DELTA_READ_BYTES * FIRST_BUCKET_RATIO) RBYTES_FIRST_BUCKET_VALUE, SUM(DELTA_READ_BYTES * MIDDLE_BUCKETS_RATIO) RBYTES_MIDDLE_BUCKETS_VALUE, SUM(DELTA_READ_BYTES * LAST_BUCKET_RATIO) RBYTES_LAST_BUCKET_VALUE, SUM(DELTA_WRITE_BYTES * FIRST_BUCKET_RATIO) WBYTES_FIRST_BUCKET_VALUE, SUM(DELTA_WRITE_BYTES * MIDDLE_BUCKETS_RATIO) WBYTES_MIDDLE_BUCKETS_VALUE, SUM(DELTA_WRITE_BYTES * LAST_BUCKET_RATIO) WBYTES_LAST_BUCKET_VALUE, SUM(DELTA_INTERCONNECT_BYTES * FIRST_BUCKET_RATIO) IBYTES_FIRST_BUCKET_VALUE, SUM(DELTA_INTERCONNECT_BYTES * MIDDLE_BUCKETS_RATIO) IBYTES_MIDDLE_BUCKETS_VALUE, SUM(DELTA_INTERCONNECT_BYTES * LAST_BUCKET_RATIO) IBYTES_LAST_BUCKET_VALUE, SUM(DELTA_READ_MEM_BYTES * FIRST_BUCKET_RATIO) CRBYTES_FIRST_BUCKET_VALUE, SUM(DELTA_READ_MEM_BYTES * MIDDLE_BUCKETS_RATIO) CRBYTES_MIDDLE_BUCKETS_VALUE, SUM(DELTA_READ_MEM_BYTES * LAST_BUCKET_RATIO) CRBYTES_LAST_BUCKET_VALUE, SUM(PGA_ALLOCATED * LENGTH_SEG * FIRST_BUCKET_RATIO) PGA_ALLOC_FIRST_BUCKET_VALUE, SUM(PGA_ALLOCATED * LENGTH_SEG * MIDDLE_BUCKETS_RATIO) PGA_ALLOC_MIDDLE_BUCKETS_VALUE, SUM(PGA_ALLOCATED * LENGTH_SEG * LAST_BUCKET_RATIO) PGA_ALLOC_LAST_BUCKET_VALUE, SUM(TEMP_SPACE_ALLOCATED * LENGTH_SEG * FIRST_BUCKET_RATIO) TMP_ALLOC_FIRST_BUCKET_VALUE, SUM(TEMP_SPACE_ALLOCATED * LENGTH_SEG * MIDDLE_BUCKETS_RATIO) TMP_ALLOC_MIDDLE_BUCKETS_VALUE, SUM(TEMP_SPACE_ALLOCATED * LENGTH_SEG * LAST_BUCKET_RATIO) TMP_ALLOC_LAST_BUCKET_VALUE FROM ( SELECT USERENV('INSTANCE') INST_ID, ROW_ID, SID, SAMPLE_TIME, CASE WHEN BUCKET_END IS NULL OR BUCKET_START IS NULL THEN NULL WHEN BUCKET_START = TM_BUCKET_START AND BUCKET_START = BUCKET_END THEN 'CO' WHEN BUCKET_START = TM_BUCKET_START THEN 'CM' WHEN BUCKET_START = BUCKET_END THEN 'SO' ELSE 'SM' END GROUP_TYPE, CASE WHEN TM_BUCKET_START IS NULL OR BUCKET_END IS NULL OR (TM_BUCKET_START = BUCKET_START) THEN NULL WHEN TM_BUCKET_START = BUCKET_END THEN 'O' ELSE 'M' END TM_GROUP_TYPE, START_SEG, BUCKET_START, BUCKET_START_OFFSET, TM_START_SEG, CASE WHEN TM_BUCKET_START IS NULL OR (TM_BUCKET_START = BUCKET_START) THEN NULL ELSE TM_BUCKET_START END TM_BUCKET_START, CASE WHEN TM_BUCKET_START IS NULL OR (TM_BUCKET_START = BUCKET_START) THEN NULL ELSE BUCKET_END END TM_BUCKET_END, TM_BUCKET_START_OFFSET, LENGTH_SEG, TM_LENGTH_SEG, END_SEG, BUCKET_END, BUCKET_END_OFFSET, CASE WHEN BUCKET_START != BUCKET_END THEN (:B9 - BUCKET_START_OFFSET) / LENGTH_SEG ELSE 1 END FIRST_BUCKET_RATIO, CASE WHEN BUCKET_END >= BUCKET_START + 2 THEN :B9 / LENGTH_SEG ELSE NULL END MIDDLE_BUCKETS_RATIO, CASE WHEN BUCKET_START != BUCKET_END THEN BUCKET_END_OFFSET / LENGTH_SEG ELSE NULL END LAST_BUCKET_RATIO, CASE WHEN TM_BUCKET_START != BUCKET_END THEN (:B9 - TM_BUCKET_START_OFFSET) / TM_LENGTH_SEG ELSE 1 END TM_FIRST_BUCKET_RATIO, CASE WHEN BUCKET_END >= TM_BUCKET_START + 2 THEN :B9 / TM_LENGTH_SEG ELSE NULL END TM_MIDDLE_BUCKETS_RATIO, CASE WHEN TM_BUCKET_START != BUCKET_END THEN BUCKET_END_OFFSET / TM_LENGTH_SEG ELSE NULL END TM_LAST_BUCKET_RATIO, TM_DELTA_CPU_TIME, TM_DELTA_DB_TIME, DELTA_READ_IO_REQUESTS DELTA_READ_REQUESTS, DELTA_WRITE_IO_REQUESTS DELTA_WRITE_REQUESTS, DELTA_READ_IO_BYTES DELTA_READ_BYTES, DELTA_WRITE_IO_BYTES DELTA_WRITE_BYTES, DELTA_INTERCONNECT_IO_BYTES DELTA_INTERCONNECT_BYTES, DELTA_READ_MEM_BYTES DELTA_READ_MEM_BYTES, PGA_ALLOCATED, TEMP_SPACE_ALLOCATED FROM (SELECT ROW_ID, SID, SAMPLE_TIME, START_SEG, TRUNC(START_SEG / :B9 ) BUCKET_START, MOD(START_SEG, :B9 ) BUCKET_START_OFFSET, TM_START_SEG, TRUNC(TM_START_SEG/:B9 ) TM_BUCKET_START, MOD(TM_START_SEG, :B9 ) TM_BUCKET_START_OFFSET, TRUNC(END_SEG/:B9 ) BUCKET_END, MOD(END_SEG, :B9 ) BUCKET_END_OFFSET, END_SEG, LENGTH_SEG, TM_LENGTH_SEG, TM_DELTA_CPU_TIME, TM_DELTA_DB_TIME, DELTA_READ_IO_REQUESTS, DELTA_WRITE_IO_REQUESTS, DELTA_READ_IO_BYTES, DELTA_WRITE_IO_BYTES, DELTA_INTERCONNECT_IO_BYTES, DELTA_READ_MEM_BYTES, PGA_ALLOCATED, TEMP_SPACE_ALLOCATED FROM (SELECT ROW_ID, SID, SAMPLE_TIME, TIME_INTERVAL, CASE WHEN START_SEG < 0 THEN 0 ELSE START_SEG END START_SEG, CASE WHEN TM_START_SEG < 0 THEN 0 ELSE TM_START_SEG END TM_START_SEG, CASE WHEN END_SEG > TIME_INTERVAL THEN TIME_INTERVAL ELSE END_SEG END END_SEG, (LENGTH_SEG - (CASE WHEN START_SEG < 0 THEN -START_SEG ELSE 0 END + CASE WHEN END_SEG > TIME_INTERVAL THEN END_SEG - TIME_INTERVAL ELSE 0 END)) LENGTH_SEG, (TM_LENGTH_SEG - (CASE WHEN TM_START_SEG < 0 THEN -TM_START_SEG ELSE 0 END + CASE WHEN END_SEG > TIME_INTERVAL THEN END_SEG - TIME_INTERVAL ELSE 0 END)) TM_LENGTH_SEG, TM_DELTA_CPU_TIME, TM_DELTA_DB_TIME, DELTA_READ_IO_REQUESTS, DELTA_WRITE_IO_REQUESTS, DELTA_READ_IO_BYTES, DELTA_WRITE_IO_BYTES, DELTA_INTERCONNECT_IO_BYTES, DELTA_READ_MEM_BYTES, PGA_ALLOCATED, TEMP_SPACE_ALLOCATED FROM (SELECT ROW_ID, SID, SAMPLE_TIME, TIME_INTERVAL, LENGTH_SEG, TM_LENGTH_SEG, END_SEG - TM_LENGTH_SEG TM_START_SEG, END_SEG - LENGTH_SEG START_SEG, END_SEG, TM_DELTA_CPU_TIME, TM_DELTA_DB_TIME, DELTA_READ_IO_REQUESTS, DELTA_WRITE_IO_REQUESTS, DELTA_READ_IO_BYTES, DELTA_WRITE_IO_BYTES, DELTA_INTERCONNECT_IO_BYTES, DELTA_READ_MEM_BYTES, PGA_ALLOCATED, TEMP_SPACE_ALLOCATED FROM (SELECT ROW_ID, SID, SAMPLE_TIME, EXTRACT(SECOND FROM REL_SAMPLE_TIME_INT) + EXTRACT(MINUTE FROM REL_SAMPLE_TIME_INT)*60 + EXTRACT(HOUR FROM REL_SAMPLE_TIME_INT)*3600 + EXTRACT(DAY FROM REL_SAMPLE_TIME_INT)*3600*24 END_SEG, TIME_INTERVAL, DELTA_TIME/1000000 LENGTH_SEG, TM_DELTA_TIME/1000000 TM_LENGTH_SEG, TM_DELTA_CPU_TIME, TM_DELTA_DB_TIME, DELTA_READ_IO_REQUESTS, DELTA_WRITE_IO_REQUESTS, DELTA_READ_IO_BYTES, DELTA_WRITE_IO_BYTES, DELTA_INTERCONNECT_IO_BYTES, DELTA_READ_MEM_BYTES, PGA_ALLOCATED, TEMP_SPACE_ALLOCATED FROM (SELECT ROWNUM ROW_ID, SESSION_ID SID, CAST(FROM_TZ(SAMPLE_TIME, DBTIMEZONE) AS DATE) SAMPLE_DATE, SAMPLE_TIME, (SAMPLE_TIME - CAST(:B8 AS TIMESTAMP)) REL_SAMPLE_TIME_INT, TRUNC((:B7 - :B8 ) * 3600 * 24) TIME_INTERVAL, :B8 AS BND_START_INTERVAL , :B7 AS BND_END_INTERVAL , TM_DELTA_TIME, TM_DELTA_CPU_TIME, TM_DELTA_DB_TIME, DELTA_TIME, DELTA_READ_IO_REQUESTS, DELTA_WRITE_IO_REQUESTS, DELTA_READ_IO_BYTES, DELTA_WRITE_IO_BYTES, DELTA_INTERCONNECT_IO_BYTES, DELTA_READ_MEM_BYTES, PGA_ALLOCATED, TEMP_SPACE_ALLOCATED FROM (SELECT ASH0.* FROM V$ACTIVE_SESSION_HISTORY ASH0 WHERE SAMPLE_TIME BETWEEN :B6 AND :B5 AND ( (SESSION_ID = :B2 AND SESSION_SERIAL# = :B1 AND USERENV('INSTANCE') = :B3 ) OR (:B4 = 'yes' AND QC_INSTANCE_ID = :B3 AND QC_SESSION_ID = :B2 AND QC_SESSION_SERIAL# = :B1 ))) ) ASH1 WHERE SAMPLE_DATE >= BND_START_INTERVAL AND SAMPLE_DATE <= BND_END_INTERVAL + 120/3600/24 ) ) WHERE START_SEG <= TIME_INTERVAL ) WHERE (LENGTH_SEG IS NOT NULL AND LENGTH_SEG > 0) OR (TM_LENGTH_SEG IS NOT NULL AND TM_LENGTH_SEG > 0)) ) GROUP BY INST_ID, GROUP_TYPE, BUCKET_START, BUCKET_END, TM_GROUP_TYPE, TM_BUCKET_START, TM_BUCKET_END))) GVTF WHERE INST_ID >= :B11 AND INST_ID <= :B10 GROUP BY GROUP_TYPE, BUCKET_START, BUCKET_END, TM_GROUP_TYPE, TM_BUCKET_START, TM_BUCKET_END ) GROUP BY GROUPING SETS ( (GROUP_TYPE, BUCKET_START, BUCKET_END), (TM_GROUP_TYPE, TM_BUCKET_START, TM_BUCKET_END) )
ERRORS SECTION --------------------------------------------------------------------------------------------- ORA-00932: inconsistent datatypes: expected DATE got NUMBER --------------------------------------------------------------------------------------------- Object ID : 13932 Test Plan Name : SQL_PLAN_72bx63qmzvatq879990d1 Base Plan Name : Cost-based plan SQL Handle : SQL_712fa61da7fdab36 Parsing Schema : SYS Test Plan : SYS Creator SQL Text : SELECT e.execution_name, e.description, e.execution_type, e.execution_start, e.execution_last_modified, e.execution_end, e.status, p0.parameter_value, p1.parameter_value, p2.parameter_value, p3.parameter_value, tuning.task_name FROM dba_advisor_executions e, dba_advisor_exec_parameters p0, dba_advisor_exec_parameters p1, dba_advisor_exec_parameters p2, dba_advisor_exec_parameters p3, (select extractvalue(value(t), '/map/exec') exec_name, extractvalue(value(t), '/map/task') task_name from dba_advisor_parameters p, table(xmlsequence(extract(xmltype(decode(p.parameter_value, 'UNUSED', '', p.parameter_value)), '/maps/map'))) t where task_name = :1 and owner = :2 and parameter_name = 'ORA_EM_PARAM2') tuning Where e.task_name = :3 and e.owner = :4 and e.task_id=p0.task_id and e.task_id = p1.task_id and e.task_id = p2.task_id and e.task_id = p3.task_id and e.execution_type = :5 and p0.parameter_name='LOCAL_TIME_LIMIT' and p1.parameter_name = :6 and p2.parameter_name = :7 and p3.parameter_name = :8 and e.execution_name = p0.execution_name and e.execution_name = p1.execution_name and e.execution_name = p2.execution_name and e.execution_name = p3.execution_name and e.execution_name = tuning.exec_name(+) ORDER BY e.execution_start
Execution Statistics: ----------------------------- Base Plan Test Plan ---------------------------- ---------------------------- Elapsed Time (s): .000226 .000221 CPU Time (s): .000223 .000223 Buffer Gets: 8 7 Optimizer Cost: 43 44 Disk Reads: 0 0 Direct Writes: 0 0 Rows Processed: 0 0 Executions: 10 10
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The plan was verified in 0.97200 seconds. It failed the benefit criterion because its verified performance was only 1.07976 times better than that of the baseline plan.
EXPLAIN PLANS SECTION ---------------------------------------------------------------------------------------------
Baseline Plan ----------------------------- Plan Id : 13683 Plan Hash Value : 2821675211
---------------------------------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost | Time | ---------------------------------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 1 | 4530 | 43 | 00:00:01 | | 1 | SORT ORDER BY | | 1 | 4530 | 43 | 00:00:01 | | * 2 | HASH JOIN OUTER | | 1 | 4530 | 42 | 00:00:01 | | * 3 | HASH JOIN | | 1 | 526 | 21 | 00:00:01 | | * 4 | HASH JOIN | | 1 | 502 | 18 | 00:00:01 | | * 5 | HASH JOIN | | 1 | 478 | 16 | 00:00:01 | | * 6 | HASH JOIN | | 1 | 454 | 14 | 00:00:01 | | 7 | NESTED LOOPS OUTER | | 1 | 430 | 12 | 00:00:01 | | 8 | NESTED LOOPS | | 1 | 388 | 11 | 00:00:01 | | 9 | NESTED LOOPS | | 1 | 373 | 11 | 00:00:01 | | 10 | NESTED LOOPS OUTER | | 1 | 347 | 10 | 00:00:01 | | 11 | NESTED LOOPS | | 1 | 305 | 9 | 00:00:01 | | 12 | NESTED LOOPS | | 1 | 290 | 9 | 00:00:01 | | 13 | NESTED LOOPS OUTER | | 1 | 264 | 8 | 00:00:01 | | 14 | NESTED LOOPS | | 1 | 222 | 7 | 00:00:01 | | 15 | NESTED LOOPS | | 1 | 207 | 7 | 00:00:01 | | 16 | NESTED LOOPS OUTER | | 1 | 181 | 6 | 00:00:01 | | 17 | NESTED LOOPS | | 1 | 139 | 5 | 00:00:01 | | 18 | NESTED LOOPS | | 1 | 124 | 5 | 00:00:01 | | 19 | NESTED LOOPS | | 1 | 98 | 4 | 00:00:01 | | * 20 | TABLE ACCESS FULL | WRI$_ADV_EXECUTIONS | 1 | 62 | 3 | 00:00:01 | | * 21 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_TASKS | 1 | 36 | 1 | 00:00:01 | | * 22 | INDEX UNIQUE SCAN | WRI$_ADV_TASKS_PK | 1 | | 0 | 00:00:01 | | 23 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_PARAMETERS | 1 | 26 | 1 | 00:00:01 | | * 24 | INDEX UNIQUE SCAN | WRI$_ADV_PARAMETERS_PK | 1 | | 0 | 00:00:01 | | * 25 | INDEX UNIQUE SCAN | WRI$_ADV_EXECS_PK | 1 | 15 | 0 | 00:00:01 | | 26 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_EXEC_PARAMETERS | 1 | 42 | 1 | 00:00:01 | | * 27 | INDEX UNIQUE SCAN | WRI$_ADV_EXEC_PARAMETERS_PK | 1 | | 0 | 00:00:01 | | 28 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_PARAMETERS | 1 | 26 | 1 | 00:00:01 | | * 29 | INDEX UNIQUE SCAN | WRI$_ADV_PARAMETERS_PK | 1 | | 0 | 00:00:01 | | * 30 | INDEX UNIQUE SCAN | WRI$_ADV_EXECS_PK | 1 | 15 | 0 | 00:00:01 | | 31 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_EXEC_PARAMETERS | 1 | 42 | 1 | 00:00:01 | | * 32 | INDEX UNIQUE SCAN | WRI$_ADV_EXEC_PARAMETERS_PK | 1 | | 0 | 00:00:01 | | 33 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_PARAMETERS | 1 | 26 | 1 | 00:00:01 | | * 34 | INDEX UNIQUE SCAN | WRI$_ADV_PARAMETERS_PK | 1 | | 0 | 00:00:01 | | * 35 | INDEX UNIQUE SCAN | WRI$_ADV_EXECS_PK | 1 | 15 | 0 | 00:00:01 | | 36 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_EXEC_PARAMETERS | 1 | 42 | 1 | 00:00:01 | | * 37 | INDEX UNIQUE SCAN | WRI$_ADV_EXEC_PARAMETERS_PK | 1 | | 0 | 00:00:01 | | 38 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_PARAMETERS | 1 | 26 | 1 | 00:00:01 | | * 39 | INDEX UNIQUE SCAN | WRI$_ADV_PARAMETERS_PK | 1 | | 0 | 00:00:01 | | * 40 | INDEX UNIQUE SCAN | WRI$_ADV_EXECS_PK | 1 | 15 | 0 | 00:00:01 | | 41 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_EXEC_PARAMETERS | 1 | 42 | 1 | 00:00:01 | | * 42 | INDEX UNIQUE SCAN | WRI$_ADV_EXEC_PARAMETERS_PK | 1 | | 0 | 00:00:01 | | * 43 | TABLE ACCESS FULL | WRI$_ADV_DEF_PARAMETERS | 1 | 24 | 2 | 00:00:01 | | * 44 | TABLE ACCESS FULL | WRI$_ADV_DEF_PARAMETERS | 1 | 24 | 2 | 00:00:01 | | * 45 | TABLE ACCESS FULL | WRI$_ADV_DEF_PARAMETERS | 1 | 24 | 2 | 00:00:01 | | * 46 | TABLE ACCESS FULL | WRI$_ADV_DEF_PARAMETERS | 2 | 48 | 2 | 00:00:01 | | 47 | VIEW | | 1016 | 4068064 | 21 | 00:00:01 | | 48 | NESTED LOOPS | | 1016 | 92456 | 21 | 00:00:01 | | 49 | NESTED LOOPS | | 1 | 89 | 5 | 00:00:01 | | 50 | NESTED LOOPS | | 1 | 60 | 4 | 00:00:01 | | * 51 | TABLE ACCESS FULL | WRI$_ADV_DEF_PARAMETERS | 1 | 24 | 2 | 00:00:01 | | * 52 | TABLE ACCESS BY INDEX ROWID BATCHED | WRI$_ADV_TASKS | 1 | 36 | 2 | 00:00:01 | | * 53 | INDEX RANGE SCAN | WRI$_ADV_TASKS_IDX_01 | 1 | | 1 | 00:00:01 | | * 54 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_PARAMETERS | 1 | 29 | 1 | 00:00:01 | | * 55 | INDEX UNIQUE SCAN | WRI$_ADV_PARAMETERS_PK | 1 | | 0 | 00:00:01 | | 56 | COLLECTION ITERATOR PICKLER FETCH | XMLSEQUENCEFROMXMLTYPE | 8168 | 16336 | 16 | 00:00:01 | ----------------------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 2 - access("E"."NAME"="TUNING"."EXEC_NAME"(+)) * 3 - access("P"."NAME"="D"."NAME") * 3 - filter(("ADVISOR_ID"="D"."ADVISOR_ID" OR "D"."ADVISOR_ID"=0) AND (BITAND("PROPERTY",32)=32 OR BITAND("D"."FLAGS",16)=0)) * 4 - access("P"."NAME"="D"."NAME") * 4 - filter(("ADVISOR_ID"="D"."ADVISOR_ID" OR "D"."ADVISOR_ID"=0) AND (BITAND("PROPERTY",32)=32 OR BITAND("D"."FLAGS",16)=0)) * 5 - access("P"."NAME"="D"."NAME") * 5 - filter(("ADVISOR_ID"="D"."ADVISOR_ID" OR "D"."ADVISOR_ID"=0) AND (BITAND("PROPERTY",32)=32 OR BITAND("D"."FLAGS",16)=0)) * 6 - access("P"."NAME"="D"."NAME") * 6 - filter(("ADVISOR_ID"="D"."ADVISOR_ID" OR "D"."ADVISOR_ID"=0) AND (BITAND("PROPERTY",32)=32 OR BITAND("D"."FLAGS",16)=0)) * 20 - filter("E"."EXEC_TYPE"=:5) * 21 - filter("T"."NAME"=:3 AND "E"."ADVISOR_ID"="T"."ADVISOR_ID" AND BITAND("PROPERTY",4)=4 AND "T"."OWNER_NAME"=:4) * 22 - access("E"."TASK_ID"="T"."ID") * 24 - access("P"."TASK_ID"="ID" AND "P"."NAME"=:6) * 25 - access("E"."TASK_ID"="P"."TASK_ID" AND "E"."NAME"="E"."NAME") * 27 - access("ID"="EP"."TASK_ID"(+) AND "E"."NAME"="EP"."EXEC_NAME"(+) AND "EP"."NAME"(+)=:6) * 29 - access("P"."TASK_ID"="ID" AND "P"."NAME"=:7) * 30 - access("E"."TASK_ID"="P"."TASK_ID" AND "E"."NAME"="E"."NAME") * 32 - access("ID"="EP"."TASK_ID"(+) AND "E"."NAME"="EP"."EXEC_NAME"(+) AND "EP"."NAME"(+)=:7) * 34 - access("P"."TASK_ID"="ID" AND "P"."NAME"=:8) * 35 - access("E"."TASK_ID"="P"."TASK_ID" AND "E"."NAME"="E"."NAME") * 37 - access("ID"="EP"."TASK_ID"(+) AND "E"."NAME"="EP"."EXEC_NAME"(+) AND "EP"."NAME"(+)=:8) * 39 - access("P"."TASK_ID"="ID" AND "P"."NAME"='LOCAL_TIME_LIMIT') * 40 - access("E"."TASK_ID"="P"."TASK_ID" AND "E"."NAME"="E"."NAME") * 42 - access("ID"="EP"."TASK_ID"(+) AND "E"."NAME"="EP"."EXEC_NAME"(+) AND "EP"."NAME"(+)='LOCAL_TIME_LIMIT') * 43 - filter("D"."NAME"=:6 AND BITAND("D"."FLAGS",1)=0) * 44 - filter("D"."NAME"=:8 AND BITAND("D"."FLAGS",1)=0) * 45 - filter("D"."NAME"=:7 AND BITAND("D"."FLAGS",1)=0) * 46 - filter("D"."NAME"='LOCAL_TIME_LIMIT' AND BITAND("D"."FLAGS",1)=0) * 51 - filter("C"."NAME"='ORA_EM_PARAM2') * 52 - filter(("B"."ADVISOR_ID"="C"."ADVISOR_ID" OR "C"."ADVISOR_ID"=0) AND BITAND("B"."PROPERTY",4)=4 AND "B"."OWNER_NAME"=:2 AND (BITAND("B"."PROPERTY",32)=32 OR BITAND("C"."FLAGS",16)=0)) * 53 - access("B"."NAME"=:1) * 54 - filter(BITAND("A"."FLAGS",1)=0) * 55 - access("A"."TASK_ID"="B"."ID" AND "A"."NAME"='ORA_EM_PARAM2')
Hint Report (identified by operation id / Query Block Name / Object Alias): Total hints for statement: 1 (U - Unused (1)) ------------------------------------------------------------------------------- 0 - STATEMENT U - NO_PARALLEL
Notes ----- - dop_reason = hint - dop = 1 - px_in_memory_imc = no - px_in_memory = no
Test Plan ----------------------------- Plan Id : 13684 Plan Hash Value : 2274988241
------------------------------------------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost | Time | ------------------------------------------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 1 | 4530 | 44 | 00:00:01 | | 1 | SORT ORDER BY | | 1 | 4530 | 44 | 00:00:01 | | * 2 | HASH JOIN OUTER | | 1 | 4530 | 43 | 00:00:01 | | * 3 | HASH JOIN | | 1 | 526 | 22 | 00:00:01 | | * 4 | HASH JOIN | | 1 | 502 | 19 | 00:00:01 | | * 5 | HASH JOIN | | 1 | 478 | 17 | 00:00:01 | | 6 | NESTED LOOPS OUTER | | 1 | 454 | 15 | 00:00:01 | | 7 | NESTED LOOPS | | 1 | 412 | 14 | 00:00:01 | | 8 | NESTED LOOPS OUTER | | 1 | 397 | 14 | 00:00:01 | | 9 | NESTED LOOPS | | 1 | 355 | 13 | 00:00:01 | | 10 | NESTED LOOPS OUTER | | 1 | 340 | 13 | 00:00:01 | | 11 | NESTED LOOPS | | 1 | 298 | 12 | 00:00:01 | | 12 | NESTED LOOPS | | 1 | 283 | 12 | 00:00:01 | | 13 | NESTED LOOPS OUTER | | 1 | 221 | 11 | 00:00:01 | | 14 | NESTED LOOPS | | 1 | 179 | 10 | 00:00:01 | | 15 | NESTED LOOPS | | 1 | 164 | 9 | 00:00:01 | | 16 | NESTED LOOPS | | 1 | 138 | 8 | 00:00:01 | | 17 | NESTED LOOPS | | 1 | 112 | 7 | 00:00:01 | | * 18 | HASH JOIN | | 1 | 86 | 6 | 00:00:01 | | 19 | NESTED LOOPS | | 1 | 62 | 4 | 00:00:01 | | 20 | NESTED LOOPS | | 1 | 62 | 4 | 00:00:01 | | * 21 | TABLE ACCESS BY INDEX ROWID BATCHED | WRI$_ADV_TASKS | 1 | 36 | 3 | 00:00:01 | | * 22 | INDEX RANGE SCAN | WRI$_ADV_TASKS_IDX_01 | 1 | | 2 | 00:00:01 | | * 23 | INDEX UNIQUE SCAN | WRI$_ADV_PARAMETERS_PK | 1 | | 0 | 00:00:01 | | 24 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_PARAMETERS | 1 | 26 | 1 | 00:00:01 | | * 25 | TABLE ACCESS FULL | WRI$_ADV_DEF_PARAMETERS | 1 | 24 | 2 | 00:00:01 | | 26 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_PARAMETERS | 1 | 26 | 1 | 00:00:01 | | * 27 | INDEX UNIQUE SCAN | WRI$_ADV_PARAMETERS_PK | 1 | | 0 | 00:00:01 | | 28 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_PARAMETERS | 1 | 26 | 1 | 00:00:01 | | * 29 | INDEX UNIQUE SCAN | WRI$_ADV_PARAMETERS_PK | 1 | | 0 | 00:00:01 | | 30 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_PARAMETERS | 1 | 26 | 1 | 00:00:01 | | * 31 | INDEX UNIQUE SCAN | WRI$_ADV_PARAMETERS_PK | 1 | | 0 | 00:00:01 | | * 32 | INDEX RANGE SCAN | WRI$_ADV_EXECS_PK | 1 | 15 | 1 | 00:00:01 | | 33 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_EXEC_PARAMETERS | 1 | 42 | 1 | 00:00:01 | | * 34 | INDEX UNIQUE SCAN | WRI$_ADV_EXEC_PARAMETERS_PK | 1 | | 0 | 00:00:01 | | * 35 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_EXECUTIONS | 1 | 62 | 1 | 00:00:01 | | * 36 | INDEX UNIQUE SCAN | WRI$_ADV_EXECS_PK | 1 | | 0 | 00:00:01 | | * 37 | INDEX UNIQUE SCAN | WRI$_ADV_EXECS_PK | 1 | 15 | 0 | 00:00:01 | | 38 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_EXEC_PARAMETERS | 1 | 42 | 1 | 00:00:01 | | * 39 | INDEX UNIQUE SCAN | WRI$_ADV_EXEC_PARAMETERS_PK | 1 | | 0 | 00:00:01 | | * 40 | INDEX UNIQUE SCAN | WRI$_ADV_EXECS_PK | 1 | 15 | 0 | 00:00:01 | | 41 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_EXEC_PARAMETERS | 1 | 42 | 1 | 00:00:01 | | * 42 | INDEX UNIQUE SCAN | WRI$_ADV_EXEC_PARAMETERS_PK | 1 | | 0 | 00:00:01 | | * 43 | INDEX UNIQUE SCAN | WRI$_ADV_EXECS_PK | 1 | 15 | 0 | 00:00:01 | | 44 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_EXEC_PARAMETERS | 1 | 42 | 1 | 00:00:01 | | * 45 | INDEX UNIQUE SCAN | WRI$_ADV_EXEC_PARAMETERS_PK | 1 | | 0 | 00:00:01 | | * 46 | TABLE ACCESS FULL | WRI$_ADV_DEF_PARAMETERS | 1 | 24 | 2 | 00:00:01 | | * 47 | TABLE ACCESS FULL | WRI$_ADV_DEF_PARAMETERS | 1 | 24 | 2 | 00:00:01 | | * 48 | TABLE ACCESS FULL | WRI$_ADV_DEF_PARAMETERS | 2 | 48 | 2 | 00:00:01 | | 49 | VIEW | | 1016 | 4068064 | 21 | 00:00:01 | | 50 | NESTED LOOPS | | 1016 | 92456 | 21 | 00:00:01 | | 51 | NESTED LOOPS | | 1 | 89 | 5 | 00:00:01 | | 52 | NESTED LOOPS | | 1 | 60 | 4 | 00:00:01 | | * 53 | TABLE ACCESS FULL | WRI$_ADV_DEF_PARAMETERS | 1 | 24 | 2 | 00:00:01 | | * 54 | TABLE ACCESS BY INDEX ROWID BATCHED | WRI$_ADV_TASKS | 1 | 36 | 2 | 00:00:01 | | * 55 | INDEX RANGE SCAN | WRI$_ADV_TASKS_IDX_01 | 1 | | 1 | 00:00:01 | | * 56 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_PARAMETERS | 1 | 29 | 1 | 00:00:01 | | * 57 | INDEX UNIQUE SCAN | WRI$_ADV_PARAMETERS_PK | 1 | | 0 | 00:00:01 | | 58 | COLLECTION ITERATOR PICKLER FETCH | XMLSEQUENCEFROMXMLTYPE | 8168 | 16336 | 16 | 00:00:01 | -------------------------------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 2 - access("E"."NAME"="TUNING"."EXEC_NAME"(+)) * 3 - access("P"."NAME"="D"."NAME") * 3 - filter(("ADVISOR_ID"="D"."ADVISOR_ID" OR "D"."ADVISOR_ID"=0) AND (BITAND("PROPERTY",32)=32 OR BITAND("D"."FLAGS",16)=0)) * 4 - access("P"."NAME"="D"."NAME") * 4 - filter(("ADVISOR_ID"="D"."ADVISOR_ID" OR "D"."ADVISOR_ID"=0) AND (BITAND("PROPERTY",32)=32 OR BITAND("D"."FLAGS",16)=0)) * 5 - access("P"."NAME"="D"."NAME") * 5 - filter(("ADVISOR_ID"="D"."ADVISOR_ID" OR "D"."ADVISOR_ID"=0) AND (BITAND("PROPERTY",32)=32 OR BITAND("D"."FLAGS",16)=0)) * 18 - access("P"."NAME"="D"."NAME") * 18 - filter(("ADVISOR_ID"="D"."ADVISOR_ID" OR "D"."ADVISOR_ID"=0) AND (BITAND("PROPERTY",32)=32 OR BITAND("D"."FLAGS",16)=0)) * 21 - filter(BITAND("PROPERTY",4)=4 AND "T"."OWNER_NAME"=:4) * 22 - access("T"."NAME"=:3) * 23 - access("P"."TASK_ID"="ID" AND "P"."NAME"=:8) * 25 - filter("D"."NAME"=:8 AND BITAND("D"."FLAGS",1)=0) * 27 - access("P"."TASK_ID"="ID" AND "P"."NAME"=:7) * 29 - access("P"."TASK_ID"="ID" AND "P"."NAME"=:6) * 31 - access("P"."TASK_ID"="ID" AND "P"."NAME"='LOCAL_TIME_LIMIT') * 32 - access("E"."TASK_ID"="P"."TASK_ID") * 34 - access("ID"="EP"."TASK_ID"(+) AND "E"."NAME"="EP"."EXEC_NAME"(+) AND "EP"."NAME"(+)=:8) * 35 - filter("E"."EXEC_TYPE"=:5 AND "E"."ADVISOR_ID"="T"."ADVISOR_ID") * 36 - access("E"."TASK_ID"="T"."ID" AND "E"."NAME"="E"."NAME") * 37 - access("E"."TASK_ID"="P"."TASK_ID" AND "E"."NAME"="E"."NAME") * 39 - access("ID"="EP"."TASK_ID"(+) AND "E"."NAME"="EP"."EXEC_NAME"(+) AND "EP"."NAME"(+)=:7) * 40 - access("E"."TASK_ID"="P"."TASK_ID" AND "E"."NAME"="E"."NAME") * 42 - access("ID"="EP"."TASK_ID"(+) AND "E"."NAME"="EP"."EXEC_NAME"(+) AND "EP"."NAME"(+)=:6) * 43 - access("E"."TASK_ID"="P"."TASK_ID" AND "E"."NAME"="E"."NAME") * 45 - access("ID"="EP"."TASK_ID"(+) AND "E"."NAME"="EP"."EXEC_NAME"(+) AND "EP"."NAME"(+)='LOCAL_TIME_LIMIT') * 46 - filter("D"."NAME"=:7 AND BITAND("D"."FLAGS",1)=0) * 47 - filter("D"."NAME"=:6 AND BITAND("D"."FLAGS",1)=0) * 48 - filter("D"."NAME"='LOCAL_TIME_LIMIT' AND BITAND("D"."FLAGS",1)=0) * 53 - filter("C"."NAME"='ORA_EM_PARAM2') * 54 - filter(("B"."ADVISOR_ID"="C"."ADVISOR_ID" OR "C"."ADVISOR_ID"=0) AND BITAND("B"."PROPERTY",4)=4 AND "B"."OWNER_NAME"=:2 AND (BITAND("B"."PROPERTY",32)=32 OR BITAND("C"."FLAGS",16)=0)) * 55 - access("B"."NAME"=:1) * 56 - filter(BITAND("A"."FLAGS",1)=0) * 57 - access("A"."TASK_ID"="B"."ID" AND "A"."NAME"='ORA_EM_PARAM2')
Hint Report (identified by operation id / Query Block Name / Object Alias): Total hints for statement: 1 (U - Unused (1)) ------------------------------------------------------------------------------- 0 - STATEMENT U - NO_PARALLEL
Notes ----- - dop_reason = hint - dop = 1 - px_in_memory_imc = no - px_in_memory = no
--------------------------------------------------------------------------------------------- Object ID : 13933 Test Plan Name : SQL_PLAN_a4zx7twqkf5y6b31b5bc3 Base Plan Name : SQL_PLAN_a4zx7twqkf5y6bb5f28c0 SQL Handle : SQL_a27fa7cf2d2717c6 Parsing Schema : DBSNMP Test Plan Creator : SYS SQL Text : WITH RECINFO AS ( SELECT /*+ NO_MERGE */ FINDING_ID, COUNT(R.REC_ID) RECCOUNT,R.TYPE FROM DBA_ADVISOR_RECOMMENDATIONS R WHERE TASK_ID=:B1 GROUP BY R.FINDING_ID, R.TYPE ), F_CURR AS ( SELECT /*+ NO_MERGE */ DISTINCT FINDING_NAME FROM DBA_ADVISOR_FINDINGS WHERE TASK_ID=:B1 ), TASKS AS ( SELECT /*+ NO_MERGE */ T.TASK_ID,I.LOCAL_TASK_ID,T.END_TIME, T.BEGIN_TIME FROM DBA_ADDM_TASKS T,DBA_ADDM_INSTANCES I WHERE T.END_TIME>SYSDATE -1 AND T.TASK_ID=I.TASK_ID AND I.INSTANCE_NUMBER=SYS_CONTEXT('USERENV','INSTANCE') AND T.REQUESTED_ANALYSIS='INSTANCE' ), F_ALL AS ( SELECT /*+ NO_MERGE */ COUNT(FA.TASK_ID) FINDING_COUNT, FA.FINDING_NAME FROM TASKS, DBA_ADVISOR_FINDINGS FA WHERE FA.TASK_ID=TASKS.TASK_ID AND FA.TYPE<>'INFORMATION' AND FA.TYPE<>'WARNING' AND FA.PARENT=0 GROUP BY FA.FINDING_NAME ), HISTORY AS ( SELECT /*+ NO_MERGE */ FINDING_NAME, FINDING_COUNT FROM F_ALL JOIN F_CURR USING (FINDING_NAME) ) SELECT :B1 TASK_ID, F.FINDING_ID FINDING_ID, DECODE(RECINFO.TYPE,NULL, 'Uncategorized',RECINFO.TYPE) REC_TYPE, RECINFO.RECCOUNT REC_COUNT, F.PERC_ACTIVE_SESS IMPACT_PCT, F.MESSAGE MESSAGE, TO_CHAR(TO_DATE(:B3 ,'MM-DD-YYYY HH24:MI:SS'),'YYYY-MM-DD HH24:MI:SS') START_TIME, TO_CHAR(TO_DATE(:B2 ,'MM-DD-YYYY HH24:MI:SS'),'YYYY-MM-DD HH24:MI:SS') END_TIME, HISTORY.FINDING_COUNT FINDING_COUNT, F.FINDING_NAME FINDING_NAME, F.ACTIVE_SESSIONS ACTIVE_SESSIONS FROM DBA_ADDM_FINDINGS F, RECINFO, HISTORY WHERE F.TASK_ID=:B1 AND F.TYPE<>'INFORMATION' AND F.TYPE<>'WARNING' AND F.FILTERED<>'Y' AND F.PARENT=0 AND F.FINDING_ID=RECINFO.FINDING_ID (+) AND F.FINDING_NAME=HISTORY.FINDING_NAME ORDER BY F.FINDING_ID
Execution Statistics: ----------------------------- Base Plan Test Plan ---------------------------- ---------------------------- Elapsed Time (s): .00011 .000344 CPU Time (s): .000105 .000348 Buffer Gets: 9 15 Optimizer Cost: 80 61 Disk Reads: 0 0 Direct Writes: 0 0 Rows Processed: 0 0 Executions: 10 10
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The plan was verified in 0.40400 seconds. It failed the benefit criterion because its verified performance was 0.30230 times worse than that of the baseline plan.
EXPLAIN PLANS SECTION ---------------------------------------------------------------------------------------------
Baseline Plan ----------------------------- Plan Id : 13685 Plan Hash Value : 3143575744
------------------------------------------------------------------------------------------------------------------------ | Id | Operation | Name | Rows | Bytes | Cost | Time | ------------------------------------------------------------------------------------------------------------------------ | 0 | SELECT STATEMENT | | 1 | 2091 | 80 | 00:00:01 | | 1 | SORT ORDER BY | | 1 | 2091 | 80 | 00:00:01 | | 2 | NESTED LOOPS OUTER | | 1 | 2091 | 79 | 00:00:01 | | 3 | NESTED LOOPS | | 1 | 2059 | 74 | 00:00:01 | | 4 | NESTED LOOPS | | 1 | 2048 | 73 | 00:00:01 | | 5 | NESTED LOOPS | | 1 | 2022 | 71 | 00:00:01 | | * 6 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_TASKS | 1 | 7 | 2 | 00:00:01 | | * 7 | INDEX UNIQUE SCAN | WRI$_ADV_TASKS_PK | 1 | | 1 | 00:00:01 | | 8 | VIEW | | 1 | 2015 | 69 | 00:00:01 | | * 9 | HASH JOIN | | 1 | 4017 | 69 | 00:00:01 | | 10 | VIEW | | 1 | 2015 | 64 | 00:00:01 | | 11 | SORT GROUP BY | | 1 | 24 | 64 | 00:00:01 | | 12 | NESTED LOOPS | | 17 | 408 | 63 | 00:00:01 | | 13 | NESTED LOOPS | | 17 | 408 | 63 | 00:00:01 | | 14 | NESTED LOOPS | | 17 | 289 | 46 | 00:00:01 | | 15 | VIEW | | 17 | 68 | 13 | 00:00:01 | | * 16 | FILTER | | | | | | | * 17 | HASH JOIN OUTER | | 17 | 1275 | 13 | 00:00:01 | | 18 | NESTED LOOPS | | 17 | 918 | 9 | 00:00:01 | | * 19 | HASH JOIN | | 17 | 799 | 9 | 00:00:01 | | * 20 | TABLE ACCESS FULL | WRI$_ADV_ADDM_TASKS | 17 | 408 | 3 | 00:00:01 | | * 21 | TABLE ACCESS FULL | WRI$_ADV_TASKS | 762 | 17526 | 6 | 00:00:01 | | * 22 | INDEX UNIQUE SCAN | SYS_C002249 | 1 | 7 | 0 | 00:00:01 | | 23 | TABLE ACCESS FULL | WRI$_ADV_EXECUTIONS | 828 | 17388 | 3 | 00:00:01 | | * 24 | TABLE ACCESS BY INDEX ROWID BATCHED | WRI$_ADV_FINDINGS | 1 | 13 | 2 | 00:00:01 | | * 25 | INDEX RANGE SCAN | WRI$_ADV_FINDINGS_PK | 14 | | 1 | 00:00:01 | | * 26 | INDEX UNIQUE SCAN | WRI$_ADV_TASKS_PK | 1 | | 0 | 00:00:01 | | * 27 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_TASKS | 1 | 7 | 1 | 00:00:01 | | 28 | VIEW | | 1 | 2002 | 5 | 00:00:01 | | 29 | SORT UNIQUE | | 1 | 14 | 5 | 00:00:01 | | 30 | NESTED LOOPS | | 1 | 14 | 4 | 00:00:01 | | * 31 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_TASKS | 1 | 7 | 2 | 00:00:01 | | * 32 | INDEX UNIQUE SCAN | WRI$_ADV_TASKS_PK | 1 | | 1 | 00:00:01 | | 33 | TABLE ACCESS BY INDEX ROWID BATCHED | WRI$_ADV_FINDINGS | 1 | 7 | 2 | 00:00:01 | | * 34 | INDEX RANGE SCAN | WRI$_ADV_FINDINGS_PK | 1 | | 1 | 00:00:01 | | * 35 | TABLE ACCESS BY INDEX ROWID BATCHED | WRI$_ADV_FINDINGS | 1 | 26 | 2 | 00:00:01 | | * 36 | INDEX RANGE SCAN | WRI$_ADV_FINDINGS_PK | 1 | | 1 | 00:00:01 | | 37 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_ADDM_FDG | 1 | 11 | 1 | 00:00:01 | | * 38 | INDEX UNIQUE SCAN | SYS_C002252 | 1 | | 0 | 00:00:01 | | 39 | VIEW PUSHED PREDICATE | | 1 | 32 | 5 | 00:00:01 | | 40 | SORT GROUP BY | | 1 | 25 | 5 | 00:00:01 | | 41 | NESTED LOOPS | | 1 | 25 | 4 | 00:00:01 | | * 42 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_TASKS | 1 | 7 | 2 | 00:00:01 | | * 43 | INDEX UNIQUE SCAN | WRI$_ADV_TASKS_PK | 1 | | 1 | 00:00:01 | | 44 | TABLE ACCESS BY INDEX ROWID BATCHED | WRI$_ADV_RECOMMENDATIONS | 1 | 18 | 2 | 00:00:01 | | * 45 | INDEX RANGE SCAN | WRI$_ADV_RECS_IDX_02 | 1 | | 1 | 00:00:01 | ------------------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 6 - filter(BITAND("B"."PROPERTY",6)=4) * 7 - access("B"."ID"=:B1) * 9 - access("F_ALL"."FINDING_NAME"="F_CURR"."FINDING_NAME") * 16 - filter(DECODE(NVL("E"."STATUS","A"."STATUS"),1,'INITIAL',2,'EXECUTING',3,'COMPLETED',4,'INTERRUPTED',5,'CANCELLED',6,'FATAL ERROR')='COMPLETED') * 17 - access("A"."ID"="E"."TASK_ID"(+) AND "A"."ADVISOR_ID"="E"."ADVISOR_ID"(+) AND "A"."LAST_EXEC_NAME"="E"."NAME"(+)) * 19 - access("A"."ID"="A"."TASK_ID") * 20 - filter("A"."END_TIME">SYSDATE@!-1 AND "A"."REQUESTED_ANALYSIS"='INSTANCE') * 21 - filter(BITAND("A"."PROPERTY",6)=4) * 22 - access("A"."ID"="A"."TASK_ID" AND "A"."INSTANCE_NUMBER"=TO_NUMBER(SYS_CONTEXT('USERENV','INSTANCE'))) * 24 - filter(DECODE("A"."TYPE",1,'PROBLEM',2,'SYMPTOM',3,'ERROR',4,'INFORMATION',5,'WARNING')<>'INFORMATION' AND DECODE("A"."TYPE",1,'PROBLEM',2,'SYMPTOM',3,'ERROR',4,'INFORMATION',5,'WARNING')<>'WARNING' AND "A"."PARENT"=0) * 25 - access("A"."TASK_ID"="TASKS"."TASK_ID") * 26 - access("A"."TASK_ID"="B"."ID") * 27 - filter(BITAND("B"."PROPERTY",6)=4) * 31 - filter(BITAND("B"."PROPERTY",6)=4) * 32 - access("B"."ID"=:B1) * 34 - access("A"."TASK_ID"=:B1) * 35 - filter(DECODE("A"."TYPE",1,'PROBLEM',2,'SYMPTOM',3,'ERROR',4,'INFORMATION',5,'WARNING')<>'INFORMATION' AND DECODE("A"."TYPE",1,'PROBLEM',2,'SYMPTOM',3,'ERROR',4,'INFORMATION',5,'WARNING')<>'WARNING' AND "HISTORY"."FINDING_NAME"="DBMS_ADVISOR"."FORMAT_MESSAGE"("A"."NAME_MSG_CODE") AND "A"."PARENT"=0 AND NVL("A"."FILTERED",'N')<>'Y') * 36 - access("A"."TASK_ID"=:B1) * 38 - access("A"."TASK_ID"=:B1 AND "A"."ID"="A"."FINDING_ID") * 42 - filter(BITAND("B"."PROPERTY",6)=4) * 43 - access("B"."ID"=:B1) * 45 - access("A"."TASK_ID"=:B1 AND "A"."FINDING_ID"="A"."ID") * 45 - filter("A"."FINDING_ID"="A"."ID")
Test Plan ----------------------------- Plan Id : 13686 Plan Hash Value : 3004914627
---------------------------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost | Time | ---------------------------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 1 | 2091 | 61 | 00:00:01 | | 1 | SORT ORDER BY | | 1 | 2091 | 61 | 00:00:01 | | 2 | NESTED LOOPS OUTER | | 1 | 2091 | 60 | 00:00:01 | | 3 | NESTED LOOPS | | 1 | 2059 | 55 | 00:00:01 | | 4 | NESTED LOOPS | | 1 | 2048 | 54 | 00:00:01 | | 5 | NESTED LOOPS | | 1 | 2022 | 52 | 00:00:01 | | * 6 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_TASKS | 1 | 7 | 2 | 00:00:01 | | * 7 | INDEX UNIQUE SCAN | WRI$_ADV_TASKS_PK | 1 | | 1 | 00:00:01 | | 8 | VIEW | | 1 | 2015 | 50 | 00:00:01 | | * 9 | HASH JOIN | | 1 | 4017 | 50 | 00:00:01 | | 10 | VIEW | | 1 | 2015 | 45 | 00:00:01 | | 11 | SORT GROUP BY | | 1 | 24 | 45 | 00:00:01 | | 12 | NESTED LOOPS | | 17 | 408 | 44 | 00:00:01 | | 13 | NESTED LOOPS | | 17 | 408 | 44 | 00:00:01 | | * 14 | HASH JOIN | | 17 | 289 | 27 | 00:00:01 | | 15 | VIEW | | 17 | 68 | 13 | 00:00:01 | | * 16 | FILTER | | | | | | | * 17 | HASH JOIN OUTER | | 17 | 1275 | 13 | 00:00:01 | | 18 | NESTED LOOPS | | 17 | 918 | 9 | 00:00:01 | | * 19 | HASH JOIN | | 17 | 799 | 9 | 00:00:01 | | * 20 | TABLE ACCESS FULL | WRI$_ADV_ADDM_TASKS | 17 | 408 | 3 | 00:00:01 | | * 21 | TABLE ACCESS FULL | WRI$_ADV_TASKS | 762 | 17526 | 6 | 00:00:01 | | * 22 | INDEX UNIQUE SCAN | SYS_C002249 | 1 | 7 | 0 | 00:00:01 | | 23 | TABLE ACCESS FULL | WRI$_ADV_EXECUTIONS | 828 | 17388 | 3 | 00:00:01 | | * 24 | TABLE ACCESS FULL | WRI$_ADV_FINDINGS | 25 | 325 | 14 | 00:00:01 | | * 25 | INDEX UNIQUE SCAN | WRI$_ADV_TASKS_PK | 1 | | 0 | 00:00:01 | | * 26 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_TASKS | 1 | 7 | 1 | 00:00:01 | | 27 | VIEW | | 1 | 2002 | 5 | 00:00:01 | | 28 | SORT UNIQUE | | 1 | 14 | 5 | 00:00:01 | | 29 | NESTED LOOPS | | 1 | 14 | 4 | 00:00:01 | | * 30 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_TASKS | 1 | 7 | 2 | 00:00:01 | | * 31 | INDEX UNIQUE SCAN | WRI$_ADV_TASKS_PK | 1 | | 1 | 00:00:01 | | 32 | TABLE ACCESS BY INDEX ROWID BATCHED | WRI$_ADV_FINDINGS | 1 | 7 | 2 | 00:00:01 | | * 33 | INDEX RANGE SCAN | WRI$_ADV_FINDINGS_PK | 1 | | 1 | 00:00:01 | | * 34 | TABLE ACCESS BY INDEX ROWID BATCHED | WRI$_ADV_FINDINGS | 1 | 26 | 2 | 00:00:01 | | * 35 | INDEX RANGE SCAN | WRI$_ADV_FINDINGS_PK | 1 | | 1 | 00:00:01 | | 36 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_ADDM_FDG | 1 | 11 | 1 | 00:00:01 | | * 37 | INDEX UNIQUE SCAN | SYS_C002252 | 1 | | 0 | 00:00:01 | | 38 | VIEW PUSHED PREDICATE | | 1 | 32 | 5 | 00:00:01 | | 39 | SORT GROUP BY | | 1 | 25 | 5 | 00:00:01 | | 40 | NESTED LOOPS | | 1 | 25 | 4 | 00:00:01 | | * 41 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_TASKS | 1 | 7 | 2 | 00:00:01 | | * 42 | INDEX UNIQUE SCAN | WRI$_ADV_TASKS_PK | 1 | | 1 | 00:00:01 | | 43 | TABLE ACCESS BY INDEX ROWID BATCHED | WRI$_ADV_RECOMMENDATIONS | 1 | 18 | 2 | 00:00:01 | | * 44 | INDEX RANGE SCAN | WRI$_ADV_RECS_IDX_02 | 1 | | 1 | 00:00:01 | ----------------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 6 - filter(BITAND("B"."PROPERTY",6)=4) * 7 - access("B"."ID"=:B1) * 9 - access("F_ALL"."FINDING_NAME"="F_CURR"."FINDING_NAME") * 14 - access("A"."TASK_ID"="TASKS"."TASK_ID") * 16 - filter(DECODE(NVL("E"."STATUS","A"."STATUS"),1,'INITIAL',2,'EXECUTING',3,'COMPLETED',4,'INTERRUPTED',5,'CANCELLED',6,'FATAL ERROR')='COMPLETED') * 17 - access("A"."ID"="E"."TASK_ID"(+) AND "A"."ADVISOR_ID"="E"."ADVISOR_ID"(+) AND "A"."LAST_EXEC_NAME"="E"."NAME"(+)) * 19 - access("A"."ID"="A"."TASK_ID") * 20 - filter("A"."END_TIME">SYSDATE@!-1 AND "A"."REQUESTED_ANALYSIS"='INSTANCE') * 21 - filter(BITAND("A"."PROPERTY",6)=4) * 22 - access("A"."ID"="A"."TASK_ID" AND "A"."INSTANCE_NUMBER"=TO_NUMBER(SYS_CONTEXT('USERENV','INSTANCE'))) * 24 - filter(DECODE("A"."TYPE",1,'PROBLEM',2,'SYMPTOM',3,'ERROR',4,'INFORMATION',5,'WARNING')<>'INFORMATION' AND DECODE("A"."TYPE",1,'PROBLEM',2,'SYMPTOM',3,'ERROR',4,'INFORMATION',5,'WARNING')<>'WARNING' AND "A"."PARENT"=0) * 25 - access("A"."TASK_ID"="B"."ID") * 26 - filter(BITAND("B"."PROPERTY",6)=4) * 30 - filter(BITAND("B"."PROPERTY",6)=4) * 31 - access("B"."ID"=:B1) * 33 - access("A"."TASK_ID"=:B1) * 34 - filter(DECODE("A"."TYPE",1,'PROBLEM',2,'SYMPTOM',3,'ERROR',4,'INFORMATION',5,'WARNING')<>'INFORMATION' AND DECODE("A"."TYPE",1,'PROBLEM',2,'SYMPTOM',3,'ERROR',4,'INFORMATION',5,'WARNING')<>'WARNING' AND "HISTORY"."FINDING_NAME"="DBMS_ADVISOR"."FORMAT_MESSAGE"("A"."NAME_MSG_CODE") AND "A"."PARENT"=0 AND NVL("A"."FILTERED",'N')<>'Y') * 35 - access("A"."TASK_ID"=:B1) * 37 - access("A"."TASK_ID"=:B1 AND "A"."ID"="A"."FINDING_ID") * 41 - filter(BITAND("B"."PROPERTY",6)=4) * 42 - access("B"."ID"=:B1) * 44 - access("A"."TASK_ID"=:B1 AND "A"."FINDING_ID"="A"."ID") * 44 - filter("A"."FINDING_ID"="A"."ID")
Hint Report (identified by operation id / Query Block Name / Object Alias): Total hints for statement: 1 (U - Unused (1)) ------------------------------------------------------------------------------- 0 - STATEMENT U - NO_PARALLEL
Notes ----- - dop_reason = hint - dop = 1 - px_in_memory_imc = no - px_in_memory = no
--------------------------------------------------------------------------------------------- Object ID : 13934 Test Plan Name : SQL_PLAN_3vj9d5r9c9kxff4685e1f Base Plan Name : Cost-based plan SQL Handle : SQL_3dc52d2dd2c4cbae Parsing Schema : SYS Test Plan Creator : SYS SQL Text : select toid from type$ where package_obj#=:1 and typ_name=:2
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 13934, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 13935 Test Plan Name : SQL_PLAN_a4zx7twqkf5y6ddb49c15 Base Plan Name : SQL_PLAN_a4zx7twqkf5y6bb5f28c0 SQL Handle : SQL_a27fa7cf2d2717c6 Parsing Schema : DBSNMP Test Plan Creator : SYS SQL Text : WITH RECINFO AS ( SELECT /*+ NO_MERGE */ FINDING_ID, COUNT(R.REC_ID) RECCOUNT,R.TYPE FROM DBA_ADVISOR_RECOMMENDATIONS R WHERE TASK_ID=:B1 GROUP BY R.FINDING_ID, R.TYPE ), F_CURR AS ( SELECT /*+ NO_MERGE */ DISTINCT FINDING_NAME FROM DBA_ADVISOR_FINDINGS WHERE TASK_ID=:B1 ), TASKS AS ( SELECT /*+ NO_MERGE */ T.TASK_ID,I.LOCAL_TASK_ID,T.END_TIME, T.BEGIN_TIME FROM DBA_ADDM_TASKS T,DBA_ADDM_INSTANCES I WHERE T.END_TIME>SYSDATE -1 AND T.TASK_ID=I.TASK_ID AND I.INSTANCE_NUMBER=SYS_CONTEXT('USERENV','INSTANCE') AND T.REQUESTED_ANALYSIS='INSTANCE' ), F_ALL AS ( SELECT /*+ NO_MERGE */ COUNT(FA.TASK_ID) FINDING_COUNT, FA.FINDING_NAME FROM TASKS, DBA_ADVISOR_FINDINGS FA WHERE FA.TASK_ID=TASKS.TASK_ID AND FA.TYPE<>'INFORMATION' AND FA.TYPE<>'WARNING' AND FA.PARENT=0 GROUP BY FA.FINDING_NAME ), HISTORY AS ( SELECT /*+ NO_MERGE */ FINDING_NAME, FINDING_COUNT FROM F_ALL JOIN F_CURR USING (FINDING_NAME) ) SELECT :B1 TASK_ID, F.FINDING_ID FINDING_ID, DECODE(RECINFO.TYPE,NULL, 'Uncategorized',RECINFO.TYPE) REC_TYPE, RECINFO.RECCOUNT REC_COUNT, F.PERC_ACTIVE_SESS IMPACT_PCT, F.MESSAGE MESSAGE, TO_CHAR(TO_DATE(:B3 ,'MM-DD-YYYY HH24:MI:SS'),'YYYY-MM-DD HH24:MI:SS') START_TIME, TO_CHAR(TO_DATE(:B2 ,'MM-DD-YYYY HH24:MI:SS'),'YYYY-MM-DD HH24:MI:SS') END_TIME, HISTORY.FINDING_COUNT FINDING_COUNT, F.FINDING_NAME FINDING_NAME, F.ACTIVE_SESSIONS ACTIVE_SESSIONS FROM DBA_ADDM_FINDINGS F, RECINFO, HISTORY WHERE F.TASK_ID=:B1 AND F.TYPE<>'INFORMATION' AND F.TYPE<>'WARNING' AND F.FILTERED<>'Y' AND F.PARENT=0 AND F.FINDING_ID=RECINFO.FINDING_ID (+) AND F.FINDING_NAME=HISTORY.FINDING_NAME ORDER BY F.FINDING_ID
Execution Statistics: ----------------------------- Base Plan Test Plan ---------------------------- ---------------------------- Elapsed Time (s): .00011 .00036 CPU Time (s): .000105 .000358 Buffer Gets: 9 15 Optimizer Cost: 80 89 Disk Reads: 0 0 Direct Writes: 0 0 Rows Processed: 0 0 Executions: 10 10
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The plan was verified in 0.38000 seconds. It failed the benefit criterion because its verified performance was 0.29313 times worse than that of the baseline plan.
EXPLAIN PLANS SECTION ---------------------------------------------------------------------------------------------
Baseline Plan ----------------------------- Plan Id : 13687 Plan Hash Value : 3143575744
------------------------------------------------------------------------------------------------------------------------ | Id | Operation | Name | Rows | Bytes | Cost | Time | ------------------------------------------------------------------------------------------------------------------------ | 0 | SELECT STATEMENT | | 1 | 2091 | 80 | 00:00:01 | | 1 | SORT ORDER BY | | 1 | 2091 | 80 | 00:00:01 | | 2 | NESTED LOOPS OUTER | | 1 | 2091 | 79 | 00:00:01 | | 3 | NESTED LOOPS | | 1 | 2059 | 74 | 00:00:01 | | 4 | NESTED LOOPS | | 1 | 2048 | 73 | 00:00:01 | | 5 | NESTED LOOPS | | 1 | 2022 | 71 | 00:00:01 | | * 6 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_TASKS | 1 | 7 | 2 | 00:00:01 | | * 7 | INDEX UNIQUE SCAN | WRI$_ADV_TASKS_PK | 1 | | 1 | 00:00:01 | | 8 | VIEW | | 1 | 2015 | 69 | 00:00:01 | | * 9 | HASH JOIN | | 1 | 4017 | 69 | 00:00:01 | | 10 | VIEW | | 1 | 2015 | 64 | 00:00:01 | | 11 | SORT GROUP BY | | 1 | 24 | 64 | 00:00:01 | | 12 | NESTED LOOPS | | 17 | 408 | 63 | 00:00:01 | | 13 | NESTED LOOPS | | 17 | 408 | 63 | 00:00:01 | | 14 | NESTED LOOPS | | 17 | 289 | 46 | 00:00:01 | | 15 | VIEW | | 17 | 68 | 13 | 00:00:01 | | * 16 | FILTER | | | | | | | * 17 | HASH JOIN OUTER | | 17 | 1275 | 13 | 00:00:01 | | 18 | NESTED LOOPS | | 17 | 918 | 9 | 00:00:01 | | * 19 | HASH JOIN | | 17 | 799 | 9 | 00:00:01 | | * 20 | TABLE ACCESS FULL | WRI$_ADV_ADDM_TASKS | 17 | 408 | 3 | 00:00:01 | | * 21 | TABLE ACCESS FULL | WRI$_ADV_TASKS | 762 | 17526 | 6 | 00:00:01 | | * 22 | INDEX UNIQUE SCAN | SYS_C002249 | 1 | 7 | 0 | 00:00:01 | | 23 | TABLE ACCESS FULL | WRI$_ADV_EXECUTIONS | 828 | 17388 | 3 | 00:00:01 | | * 24 | TABLE ACCESS BY INDEX ROWID BATCHED | WRI$_ADV_FINDINGS | 1 | 13 | 2 | 00:00:01 | | * 25 | INDEX RANGE SCAN | WRI$_ADV_FINDINGS_PK | 14 | | 1 | 00:00:01 | | * 26 | INDEX UNIQUE SCAN | WRI$_ADV_TASKS_PK | 1 | | 0 | 00:00:01 | | * 27 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_TASKS | 1 | 7 | 1 | 00:00:01 | | 28 | VIEW | | 1 | 2002 | 5 | 00:00:01 | | 29 | SORT UNIQUE | | 1 | 14 | 5 | 00:00:01 | | 30 | NESTED LOOPS | | 1 | 14 | 4 | 00:00:01 | | * 31 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_TASKS | 1 | 7 | 2 | 00:00:01 | | * 32 | INDEX UNIQUE SCAN | WRI$_ADV_TASKS_PK | 1 | | 1 | 00:00:01 | | 33 | TABLE ACCESS BY INDEX ROWID BATCHED | WRI$_ADV_FINDINGS | 1 | 7 | 2 | 00:00:01 | | * 34 | INDEX RANGE SCAN | WRI$_ADV_FINDINGS_PK | 1 | | 1 | 00:00:01 | | * 35 | TABLE ACCESS BY INDEX ROWID BATCHED | WRI$_ADV_FINDINGS | 1 | 26 | 2 | 00:00:01 | | * 36 | INDEX RANGE SCAN | WRI$_ADV_FINDINGS_PK | 1 | | 1 | 00:00:01 | | 37 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_ADDM_FDG | 1 | 11 | 1 | 00:00:01 | | * 38 | INDEX UNIQUE SCAN | SYS_C002252 | 1 | | 0 | 00:00:01 | | 39 | VIEW PUSHED PREDICATE | | 1 | 32 | 5 | 00:00:01 | | 40 | SORT GROUP BY | | 1 | 25 | 5 | 00:00:01 | | 41 | NESTED LOOPS | | 1 | 25 | 4 | 00:00:01 | | * 42 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_TASKS | 1 | 7 | 2 | 00:00:01 | | * 43 | INDEX UNIQUE SCAN | WRI$_ADV_TASKS_PK | 1 | | 1 | 00:00:01 | | 44 | TABLE ACCESS BY INDEX ROWID BATCHED | WRI$_ADV_RECOMMENDATIONS | 1 | 18 | 2 | 00:00:01 | | * 45 | INDEX RANGE SCAN | WRI$_ADV_RECS_IDX_02 | 1 | | 1 | 00:00:01 | ------------------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 6 - filter(BITAND("B"."PROPERTY",6)=4) * 7 - access("B"."ID"=:B1) * 9 - access("F_ALL"."FINDING_NAME"="F_CURR"."FINDING_NAME") * 16 - filter(DECODE(NVL("E"."STATUS","A"."STATUS"),1,'INITIAL',2,'EXECUTING',3,'COMPLETED',4,'INTERRUPTED',5,'CANCELLED',6,'FATAL ERROR')='COMPLETED') * 17 - access("A"."ID"="E"."TASK_ID"(+) AND "A"."ADVISOR_ID"="E"."ADVISOR_ID"(+) AND "A"."LAST_EXEC_NAME"="E"."NAME"(+)) * 19 - access("A"."ID"="A"."TASK_ID") * 20 - filter("A"."END_TIME">SYSDATE@!-1 AND "A"."REQUESTED_ANALYSIS"='INSTANCE') * 21 - filter(BITAND("A"."PROPERTY",6)=4) * 22 - access("A"."ID"="A"."TASK_ID" AND "A"."INSTANCE_NUMBER"=TO_NUMBER(SYS_CONTEXT('USERENV','INSTANCE'))) * 24 - filter(DECODE("A"."TYPE",1,'PROBLEM',2,'SYMPTOM',3,'ERROR',4,'INFORMATION',5,'WARNING')<>'INFORMATION' AND DECODE("A"."TYPE",1,'PROBLEM',2,'SYMPTOM',3,'ERROR',4,'INFORMATION',5,'WARNING')<>'WARNING' AND "A"."PARENT"=0) * 25 - access("A"."TASK_ID"="TASKS"."TASK_ID") * 26 - access("A"."TASK_ID"="B"."ID") * 27 - filter(BITAND("B"."PROPERTY",6)=4) * 31 - filter(BITAND("B"."PROPERTY",6)=4) * 32 - access("B"."ID"=:B1) * 34 - access("A"."TASK_ID"=:B1) * 35 - filter(DECODE("A"."TYPE",1,'PROBLEM',2,'SYMPTOM',3,'ERROR',4,'INFORMATION',5,'WARNING')<>'INFORMATION' AND DECODE("A"."TYPE",1,'PROBLEM',2,'SYMPTOM',3,'ERROR',4,'INFORMATION',5,'WARNING')<>'WARNING' AND "HISTORY"."FINDING_NAME"="DBMS_ADVISOR"."FORMAT_MESSAGE"("A"."NAME_MSG_CODE") AND "A"."PARENT"=0 AND NVL("A"."FILTERED",'N')<>'Y') * 36 - access("A"."TASK_ID"=:B1) * 38 - access("A"."TASK_ID"=:B1 AND "A"."ID"="A"."FINDING_ID") * 42 - filter(BITAND("B"."PROPERTY",6)=4) * 43 - access("B"."ID"=:B1) * 45 - access("A"."TASK_ID"=:B1 AND "A"."FINDING_ID"="A"."ID") * 45 - filter("A"."FINDING_ID"="A"."ID")
Test Plan ----------------------------- Plan Id : 13688 Plan Hash Value : 3719601173
------------------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost | Time | ------------------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 1 | 2091 | 89 | 00:00:01 | | 1 | NESTED LOOPS OUTER | | 1 | 2091 | 89 | 00:00:01 | | 2 | NESTED LOOPS | | 1 | 2059 | 84 | 00:00:01 | | 3 | MERGE JOIN CARTESIAN | | 2 | 4066 | 82 | 00:00:01 | | 4 | NESTED LOOPS | | 2 | 36 | 4 | 00:00:01 | | * 5 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_TASKS | 1 | 7 | 2 | 00:00:01 | | * 6 | INDEX UNIQUE SCAN | WRI$_ADV_TASKS_PK | 1 | | 1 | 00:00:01 | | 7 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_ADDM_FDG | 2 | 22 | 2 | 00:00:01 | | * 8 | INDEX RANGE SCAN | SYS_C002252 | 2 | | 1 | 00:00:01 | | 9 | BUFFER SORT | | 1 | 2015 | 80 | 00:00:01 | | 10 | VIEW | | 1 | 2015 | 39 | 00:00:01 | | * 11 | HASH JOIN | | 1 | 4017 | 39 | 00:00:01 | | 12 | VIEW | | 1 | 2015 | 34 | 00:00:01 | | 13 | HASH GROUP BY | | 1 | 24 | 34 | 00:00:01 | | * 14 | HASH JOIN | | 17 | 408 | 33 | 00:00:01 | | * 15 | HASH JOIN | | 17 | 289 | 27 | 00:00:01 | | 16 | VIEW | | 17 | 68 | 13 | 00:00:01 | | * 17 | FILTER | | | | | | | * 18 | HASH JOIN OUTER | | 17 | 1275 | 13 | 00:00:01 | | 19 | NESTED LOOPS | | 17 | 918 | 9 | 00:00:01 | | * 20 | HASH JOIN | | 17 | 799 | 9 | 00:00:01 | | * 21 | TABLE ACCESS FULL | WRI$_ADV_ADDM_TASKS | 17 | 408 | 3 | 00:00:01 | | * 22 | TABLE ACCESS FULL | WRI$_ADV_TASKS | 762 | 17526 | 6 | 00:00:01 | | * 23 | INDEX UNIQUE SCAN | SYS_C002249 | 1 | 7 | 0 | 00:00:01 | | 24 | TABLE ACCESS FULL | WRI$_ADV_EXECUTIONS | 828 | 17388 | 3 | 00:00:01 | | * 25 | TABLE ACCESS FULL | WRI$_ADV_FINDINGS | 25 | 325 | 14 | 00:00:01 | | * 26 | TABLE ACCESS FULL | WRI$_ADV_TASKS | 762 | 5334 | 6 | 00:00:01 | | 27 | VIEW | | 1 | 2002 | 5 | 00:00:01 | | 28 | HASH UNIQUE | | 1 | 14 | 5 | 00:00:01 | | 29 | NESTED LOOPS | | 1 | 14 | 4 | 00:00:01 | | * 30 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_TASKS | 1 | 7 | 2 | 00:00:01 | | * 31 | INDEX UNIQUE SCAN | WRI$_ADV_TASKS_PK | 1 | | 1 | 00:00:01 | | 32 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_FINDINGS | 1 | 7 | 2 | 00:00:01 | | * 33 | INDEX RANGE SCAN | WRI$_ADV_FINDINGS_PK | 1 | | 1 | 00:00:01 | | * 34 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_FINDINGS | 1 | 26 | 1 | 00:00:01 | | * 35 | INDEX UNIQUE SCAN | WRI$_ADV_FINDINGS_PK | 1 | | 0 | 00:00:01 | | 36 | VIEW PUSHED PREDICATE | | 1 | 32 | 5 | 00:00:01 | | 37 | SORT GROUP BY | | 1 | 25 | 5 | 00:00:01 | | 38 | NESTED LOOPS | | 1 | 25 | 4 | 00:00:01 | | * 39 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_TASKS | 1 | 7 | 2 | 00:00:01 | | * 40 | INDEX UNIQUE SCAN | WRI$_ADV_TASKS_PK | 1 | | 1 | 00:00:01 | | 41 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_RECOMMENDATIONS | 1 | 18 | 2 | 00:00:01 | | * 42 | INDEX RANGE SCAN | WRI$_ADV_RECS_IDX_02 | 1 | | 1 | 00:00:01 | -------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 5 - filter(BITAND("B"."PROPERTY",6)=4) * 6 - access("B"."ID"=:B1) * 8 - access("A"."TASK_ID"=:B1) * 11 - access("F_ALL"."FINDING_NAME"="F_CURR"."FINDING_NAME") * 14 - access("A"."TASK_ID"="B"."ID") * 15 - access("A"."TASK_ID"="TASKS"."TASK_ID") * 17 - filter(DECODE(NVL("E"."STATUS","A"."STATUS"),1,'INITIAL',2,'EXECUTING',3,'COMPLETED',4,'INTERRUPTED',5,'CANCELLED',6,'FATAL ERROR')='COMPLETED') * 18 - access("A"."ID"="E"."TASK_ID"(+) AND "A"."ADVISOR_ID"="E"."ADVISOR_ID"(+) AND "A"."LAST_EXEC_NAME"="E"."NAME"(+)) * 20 - access("A"."ID"="A"."TASK_ID") * 21 - filter("A"."END_TIME">SYSDATE@!-1 AND "A"."REQUESTED_ANALYSIS"='INSTANCE') * 22 - filter(BITAND("A"."PROPERTY",6)=4) * 23 - access("A"."ID"="A"."TASK_ID" AND "A"."INSTANCE_NUMBER"=TO_NUMBER(SYS_CONTEXT('USERENV','INSTANCE'))) * 25 - filter(DECODE("A"."TYPE",1,'PROBLEM',2,'SYMPTOM',3,'ERROR',4,'INFORMATION',5,'WARNING')<>'INFORMATION' AND DECODE("A"."TYPE",1,'PROBLEM',2,'SYMPTOM',3,'ERROR',4,'INFORMATION',5,'WARNING')<>'WARNING' AND "A"."PARENT"=0) * 26 - filter(BITAND("B"."PROPERTY",6)=4) * 30 - filter(BITAND("B"."PROPERTY",6)=4) * 31 - access("B"."ID"=:B1) * 33 - access("A"."TASK_ID"=:B1) * 34 - filter(DECODE("A"."TYPE",1,'PROBLEM',2,'SYMPTOM',3,'ERROR',4,'INFORMATION',5,'WARNING')<>'INFORMATION' AND DECODE("A"."TYPE",1,'PROBLEM',2,'SYMPTOM',3,'ERROR',4,'INFORMATION',5,'WARNING')<>'WARNING' AND "HISTORY"."FINDING_NAME"="DBMS_ADVISOR"."FORMAT_MESSAGE"("A"."NAME_MSG_CODE") AND "A"."PARENT"=0 AND NVL("A"."FILTERED",'N')<>'Y') * 35 - access("A"."TASK_ID"=:B1 AND "A"."ID"="A"."FINDING_ID") * 39 - filter(BITAND("B"."PROPERTY",6)=4) * 40 - access("B"."ID"=:B1) * 42 - access("A"."TASK_ID"=:B1 AND "A"."FINDING_ID"="A"."ID") * 42 - filter("A"."FINDING_ID"="A"."ID")
--------------------------------------------------------------------------------------------- Object ID : 13936 Test Plan Name : SQL_PLAN_169ut3k923hr628d6ee21 Base Plan Name : Cost-based plan SQL Handle : SQL_1327591c9221c2e6 Parsing Schema : DBSNMP Test Plan Creator : SYS SQL Text : WITH ash_rows AS (SELECT inst.instance_number, ash.session_type, decode(ash.session_state, 'ON CPU', 'CPU', event) as event_name, decode(ash.session_state, 'ON CPU', 'CPU', wait_class) as class_name, info.sampling_interval * 1000 as wait_time_micro, case when ash.time_waited = 0 then 0 else greatest(1, info.sampling_interval * 1000 / ash.time_waited) end as wait_count, inst.instance_number || '_' || ash.session_id || '_' || ash.session_serial# as sid, decode(session_type, 'BACKGROUND', null, inst.instance_number || '_' || ash.session_id || '_' || ash.session_serial#) as sid_fg FROM v$active_session_history ash, v$ash_info info, v$instance inst WHERE ash.sample_time >= info.latest_sample_time - NUMTODSINTERVAL(:1 , 'SECOND') AND ash.sample_id >= info.latest_sample_id - (:2 * 1000 / info.sampling_interval) AND ash.wait_class <> 'Idle' ) ,events AS (SELECT event_name, class_name, sum(wait_time_micro) as wait_time_micro, sum(decode(session_type, 'BACKGROUND', 0, wait_time_micro)) as wait_time_micro_fg, greatest(count(distinct sid), sum(wait_count)) as wait_count, greatest(count(distinct sid_fg), sum(decode(session_type, 'BACKGROUND', 0, wait_count))) as wait_count_fg FROM ash_rows GROUP BY event_name, class_name ) SELECT event_name, class_name, ROUND(wait_count), ROUND(wait_time_micro/1000000, 2) wait_time, ROUND(wait_time_micro/1000/wait_count, 2) average_wait, ROUND(wait_count_fg), ROUND(wait_time_micro_fg/1000000, 2) wait_time_fg, ROUND(wait_time_micro_fg/1000/wait_count_fg, 2) average_wait_fg FROM (SELECT * FROM events WHERE wait_count_fg > 0 ORDER BY wait_time_micro_fg DESC) WHERE ROWNUM <= 5
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 13936, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 13937 Test Plan Name : SQL_PLAN_a4zx7twqkf5y67c15bf24 Base Plan Name : SQL_PLAN_a4zx7twqkf5y6bb5f28c0 SQL Handle : SQL_a27fa7cf2d2717c6 Parsing Schema : DBSNMP Test Plan Creator : SYS SQL Text : WITH RECINFO AS ( SELECT /*+ NO_MERGE */ FINDING_ID, COUNT(R.REC_ID) RECCOUNT,R.TYPE FROM DBA_ADVISOR_RECOMMENDATIONS R WHERE TASK_ID=:B1 GROUP BY R.FINDING_ID, R.TYPE ), F_CURR AS ( SELECT /*+ NO_MERGE */ DISTINCT FINDING_NAME FROM DBA_ADVISOR_FINDINGS WHERE TASK_ID=:B1 ), TASKS AS ( SELECT /*+ NO_MERGE */ T.TASK_ID,I.LOCAL_TASK_ID,T.END_TIME, T.BEGIN_TIME FROM DBA_ADDM_TASKS T,DBA_ADDM_INSTANCES I WHERE T.END_TIME>SYSDATE -1 AND T.TASK_ID=I.TASK_ID AND I.INSTANCE_NUMBER=SYS_CONTEXT('USERENV','INSTANCE') AND T.REQUESTED_ANALYSIS='INSTANCE' ), F_ALL AS ( SELECT /*+ NO_MERGE */ COUNT(FA.TASK_ID) FINDING_COUNT, FA.FINDING_NAME FROM TASKS, DBA_ADVISOR_FINDINGS FA WHERE FA.TASK_ID=TASKS.TASK_ID AND FA.TYPE<>'INFORMATION' AND FA.TYPE<>'WARNING' AND FA.PARENT=0 GROUP BY FA.FINDING_NAME ), HISTORY AS ( SELECT /*+ NO_MERGE */ FINDING_NAME, FINDING_COUNT FROM F_ALL JOIN F_CURR USING (FINDING_NAME) ) SELECT :B1 TASK_ID, F.FINDING_ID FINDING_ID, DECODE(RECINFO.TYPE,NULL, 'Uncategorized',RECINFO.TYPE) REC_TYPE, RECINFO.RECCOUNT REC_COUNT, F.PERC_ACTIVE_SESS IMPACT_PCT, F.MESSAGE MESSAGE, TO_CHAR(TO_DATE(:B3 ,'MM-DD-YYYY HH24:MI:SS'),'YYYY-MM-DD HH24:MI:SS') START_TIME, TO_CHAR(TO_DATE(:B2 ,'MM-DD-YYYY HH24:MI:SS'),'YYYY-MM-DD HH24:MI:SS') END_TIME, HISTORY.FINDING_COUNT FINDING_COUNT, F.FINDING_NAME FINDING_NAME, F.ACTIVE_SESSIONS ACTIVE_SESSIONS FROM DBA_ADDM_FINDINGS F, RECINFO, HISTORY WHERE F.TASK_ID=:B1 AND F.TYPE<>'INFORMATION' AND F.TYPE<>'WARNING' AND F.FILTERED<>'Y' AND F.PARENT=0 AND F.FINDING_ID=RECINFO.FINDING_ID (+) AND F.FINDING_NAME=HISTORY.FINDING_NAME ORDER BY F.FINDING_ID
Execution Statistics: ----------------------------- Base Plan Test Plan ---------------------------- ---------------------------- Elapsed Time (s): .00011 .000368 CPU Time (s): .000105 .000369 Buffer Gets: 9 16 Optimizer Cost: 80 61 Disk Reads: 0 0 Direct Writes: 0 0 Rows Processed: 0 0 Executions: 10 10
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The plan was verified in 0.37800 seconds. It failed the benefit criterion because its verified performance was 0.28471 times worse than that of the baseline plan.
EXPLAIN PLANS SECTION ---------------------------------------------------------------------------------------------
Baseline Plan ----------------------------- Plan Id : 13689 Plan Hash Value : 3143575744
------------------------------------------------------------------------------------------------------------------------ | Id | Operation | Name | Rows | Bytes | Cost | Time | ------------------------------------------------------------------------------------------------------------------------ | 0 | SELECT STATEMENT | | 1 | 2091 | 80 | 00:00:01 | | 1 | SORT ORDER BY | | 1 | 2091 | 80 | 00:00:01 | | 2 | NESTED LOOPS OUTER | | 1 | 2091 | 79 | 00:00:01 | | 3 | NESTED LOOPS | | 1 | 2059 | 74 | 00:00:01 | | 4 | NESTED LOOPS | | 1 | 2048 | 73 | 00:00:01 | | 5 | NESTED LOOPS | | 1 | 2022 | 71 | 00:00:01 | | * 6 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_TASKS | 1 | 7 | 2 | 00:00:01 | | * 7 | INDEX UNIQUE SCAN | WRI$_ADV_TASKS_PK | 1 | | 1 | 00:00:01 | | 8 | VIEW | | 1 | 2015 | 69 | 00:00:01 | | * 9 | HASH JOIN | | 1 | 4017 | 69 | 00:00:01 | | 10 | VIEW | | 1 | 2015 | 64 | 00:00:01 | | 11 | SORT GROUP BY | | 1 | 24 | 64 | 00:00:01 | | 12 | NESTED LOOPS | | 17 | 408 | 63 | 00:00:01 | | 13 | NESTED LOOPS | | 17 | 408 | 63 | 00:00:01 | | 14 | NESTED LOOPS | | 17 | 289 | 46 | 00:00:01 | | 15 | VIEW | | 17 | 68 | 13 | 00:00:01 | | * 16 | FILTER | | | | | | | * 17 | HASH JOIN OUTER | | 17 | 1275 | 13 | 00:00:01 | | 18 | NESTED LOOPS | | 17 | 918 | 9 | 00:00:01 | | * 19 | HASH JOIN | | 17 | 799 | 9 | 00:00:01 | | * 20 | TABLE ACCESS FULL | WRI$_ADV_ADDM_TASKS | 17 | 408 | 3 | 00:00:01 | | * 21 | TABLE ACCESS FULL | WRI$_ADV_TASKS | 762 | 17526 | 6 | 00:00:01 | | * 22 | INDEX UNIQUE SCAN | SYS_C002249 | 1 | 7 | 0 | 00:00:01 | | 23 | TABLE ACCESS FULL | WRI$_ADV_EXECUTIONS | 828 | 17388 | 3 | 00:00:01 | | * 24 | TABLE ACCESS BY INDEX ROWID BATCHED | WRI$_ADV_FINDINGS | 1 | 13 | 2 | 00:00:01 | | * 25 | INDEX RANGE SCAN | WRI$_ADV_FINDINGS_PK | 14 | | 1 | 00:00:01 | | * 26 | INDEX UNIQUE SCAN | WRI$_ADV_TASKS_PK | 1 | | 0 | 00:00:01 | | * 27 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_TASKS | 1 | 7 | 1 | 00:00:01 | | 28 | VIEW | | 1 | 2002 | 5 | 00:00:01 | | 29 | SORT UNIQUE | | 1 | 14 | 5 | 00:00:01 | | 30 | NESTED LOOPS | | 1 | 14 | 4 | 00:00:01 | | * 31 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_TASKS | 1 | 7 | 2 | 00:00:01 | | * 32 | INDEX UNIQUE SCAN | WRI$_ADV_TASKS_PK | 1 | | 1 | 00:00:01 | | 33 | TABLE ACCESS BY INDEX ROWID BATCHED | WRI$_ADV_FINDINGS | 1 | 7 | 2 | 00:00:01 | | * 34 | INDEX RANGE SCAN | WRI$_ADV_FINDINGS_PK | 1 | | 1 | 00:00:01 | | * 35 | TABLE ACCESS BY INDEX ROWID BATCHED | WRI$_ADV_FINDINGS | 1 | 26 | 2 | 00:00:01 | | * 36 | INDEX RANGE SCAN | WRI$_ADV_FINDINGS_PK | 1 | | 1 | 00:00:01 | | 37 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_ADDM_FDG | 1 | 11 | 1 | 00:00:01 | | * 38 | INDEX UNIQUE SCAN | SYS_C002252 | 1 | | 0 | 00:00:01 | | 39 | VIEW PUSHED PREDICATE | | 1 | 32 | 5 | 00:00:01 | | 40 | SORT GROUP BY | | 1 | 25 | 5 | 00:00:01 | | 41 | NESTED LOOPS | | 1 | 25 | 4 | 00:00:01 | | * 42 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_TASKS | 1 | 7 | 2 | 00:00:01 | | * 43 | INDEX UNIQUE SCAN | WRI$_ADV_TASKS_PK | 1 | | 1 | 00:00:01 | | 44 | TABLE ACCESS BY INDEX ROWID BATCHED | WRI$_ADV_RECOMMENDATIONS | 1 | 18 | 2 | 00:00:01 | | * 45 | INDEX RANGE SCAN | WRI$_ADV_RECS_IDX_02 | 1 | | 1 | 00:00:01 | ------------------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 6 - filter(BITAND("B"."PROPERTY",6)=4) * 7 - access("B"."ID"=:B1) * 9 - access("F_ALL"."FINDING_NAME"="F_CURR"."FINDING_NAME") * 16 - filter(DECODE(NVL("E"."STATUS","A"."STATUS"),1,'INITIAL',2,'EXECUTING',3,'COMPLETED',4,'INTERRUPTED',5,'CANCELLED',6,'FATAL ERROR')='COMPLETED') * 17 - access("A"."ID"="E"."TASK_ID"(+) AND "A"."ADVISOR_ID"="E"."ADVISOR_ID"(+) AND "A"."LAST_EXEC_NAME"="E"."NAME"(+)) * 19 - access("A"."ID"="A"."TASK_ID") * 20 - filter("A"."END_TIME">SYSDATE@!-1 AND "A"."REQUESTED_ANALYSIS"='INSTANCE') * 21 - filter(BITAND("A"."PROPERTY",6)=4) * 22 - access("A"."ID"="A"."TASK_ID" AND "A"."INSTANCE_NUMBER"=TO_NUMBER(SYS_CONTEXT('USERENV','INSTANCE'))) * 24 - filter(DECODE("A"."TYPE",1,'PROBLEM',2,'SYMPTOM',3,'ERROR',4,'INFORMATION',5,'WARNING')<>'INFORMATION' AND DECODE("A"."TYPE",1,'PROBLEM',2,'SYMPTOM',3,'ERROR',4,'INFORMATION',5,'WARNING')<>'WARNING' AND "A"."PARENT"=0) * 25 - access("A"."TASK_ID"="TASKS"."TASK_ID") * 26 - access("A"."TASK_ID"="B"."ID") * 27 - filter(BITAND("B"."PROPERTY",6)=4) * 31 - filter(BITAND("B"."PROPERTY",6)=4) * 32 - access("B"."ID"=:B1) * 34 - access("A"."TASK_ID"=:B1) * 35 - filter(DECODE("A"."TYPE",1,'PROBLEM',2,'SYMPTOM',3,'ERROR',4,'INFORMATION',5,'WARNING')<>'INFORMATION' AND DECODE("A"."TYPE",1,'PROBLEM',2,'SYMPTOM',3,'ERROR',4,'INFORMATION',5,'WARNING')<>'WARNING' AND "HISTORY"."FINDING_NAME"="DBMS_ADVISOR"."FORMAT_MESSAGE"("A"."NAME_MSG_CODE") AND "A"."PARENT"=0 AND NVL("A"."FILTERED",'N')<>'Y') * 36 - access("A"."TASK_ID"=:B1) * 38 - access("A"."TASK_ID"=:B1 AND "A"."ID"="A"."FINDING_ID") * 42 - filter(BITAND("B"."PROPERTY",6)=4) * 43 - access("B"."ID"=:B1) * 45 - access("A"."TASK_ID"=:B1 AND "A"."FINDING_ID"="A"."ID") * 45 - filter("A"."FINDING_ID"="A"."ID")
Test Plan ----------------------------- Plan Id : 13690 Plan Hash Value : 2081799972
----------------------------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost | Time | ----------------------------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 1 | 2091 | 61 | 00:00:01 | | 1 | SORT ORDER BY | | 1 | 2091 | 61 | 00:00:01 | | 2 | NESTED LOOPS | | 1 | 2091 | 60 | 00:00:01 | | 3 | NESTED LOOPS | | 1 | 2091 | 60 | 00:00:01 | | 4 | NESTED LOOPS OUTER | | 1 | 2080 | 59 | 00:00:01 | | 5 | NESTED LOOPS | | 1 | 2048 | 54 | 00:00:01 | | 6 | NESTED LOOPS | | 1 | 2022 | 52 | 00:00:01 | | * 7 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_TASKS | 1 | 7 | 2 | 00:00:01 | | * 8 | INDEX UNIQUE SCAN | WRI$_ADV_TASKS_PK | 1 | | 1 | 00:00:01 | | 9 | VIEW | | 1 | 2015 | 50 | 00:00:01 | | * 10 | HASH JOIN | | 1 | 4017 | 50 | 00:00:01 | | 11 | VIEW | | 1 | 2002 | 5 | 00:00:01 | | 12 | SORT UNIQUE | | 1 | 14 | 5 | 00:00:01 | | 13 | NESTED LOOPS | | 1 | 14 | 4 | 00:00:01 | | * 14 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_TASKS | 1 | 7 | 2 | 00:00:01 | | * 15 | INDEX UNIQUE SCAN | WRI$_ADV_TASKS_PK | 1 | | 1 | 00:00:01 | | 16 | TABLE ACCESS BY INDEX ROWID BATCHED | WRI$_ADV_FINDINGS | 1 | 7 | 2 | 00:00:01 | | * 17 | INDEX RANGE SCAN | WRI$_ADV_FINDINGS_PK | 1 | | 1 | 00:00:01 | | 18 | VIEW | | 1 | 2015 | 45 | 00:00:01 | | 19 | SORT GROUP BY | | 1 | 24 | 45 | 00:00:01 | | 20 | NESTED LOOPS | | 17 | 408 | 44 | 00:00:01 | | 21 | NESTED LOOPS | | 17 | 408 | 44 | 00:00:01 | | * 22 | HASH JOIN | | 17 | 289 | 27 | 00:00:01 | | 23 | VIEW | | 17 | 68 | 13 | 00:00:01 | | * 24 | FILTER | | | | | | | * 25 | HASH JOIN OUTER | | 17 | 1275 | 13 | 00:00:01 | | 26 | NESTED LOOPS | | 17 | 918 | 9 | 00:00:01 | | * 27 | HASH JOIN | | 17 | 799 | 9 | 00:00:01 | | * 28 | TABLE ACCESS FULL | WRI$_ADV_ADDM_TASKS | 17 | 408 | 3 | 00:00:01 | | * 29 | TABLE ACCESS FULL | WRI$_ADV_TASKS | 762 | 17526 | 6 | 00:00:01 | | * 30 | INDEX UNIQUE SCAN | SYS_C002249 | 1 | 7 | 0 | 00:00:01 | | 31 | TABLE ACCESS FULL | WRI$_ADV_EXECUTIONS | 828 | 17388 | 3 | 00:00:01 | | * 32 | TABLE ACCESS FULL | WRI$_ADV_FINDINGS | 25 | 325 | 14 | 00:00:01 | | * 33 | INDEX UNIQUE SCAN | WRI$_ADV_TASKS_PK | 1 | | 0 | 00:00:01 | | * 34 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_TASKS | 1 | 7 | 1 | 00:00:01 | | * 35 | TABLE ACCESS BY INDEX ROWID BATCHED | WRI$_ADV_FINDINGS | 1 | 26 | 2 | 00:00:01 | | * 36 | INDEX RANGE SCAN | WRI$_ADV_FINDINGS_PK | 1 | | 1 | 00:00:01 | | 37 | VIEW PUSHED PREDICATE | | 1 | 32 | 5 | 00:00:01 | | 38 | SORT GROUP BY | | 1 | 25 | 5 | 00:00:01 | | 39 | NESTED LOOPS | | 1 | 25 | 4 | 00:00:01 | | * 40 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_TASKS | 1 | 7 | 2 | 00:00:01 | | * 41 | INDEX UNIQUE SCAN | WRI$_ADV_TASKS_PK | 1 | | 1 | 00:00:01 | | 42 | TABLE ACCESS BY INDEX ROWID BATCHED | WRI$_ADV_RECOMMENDATIONS | 1 | 18 | 2 | 00:00:01 | | * 43 | INDEX RANGE SCAN | WRI$_ADV_RECS_IDX_02 | 1 | | 1 | 00:00:01 | | * 44 | INDEX UNIQUE SCAN | SYS_C002252 | 1 | | 0 | 00:00:01 | | 45 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_ADDM_FDG | 1 | 11 | 1 | 00:00:01 | -----------------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 7 - filter(BITAND("B"."PROPERTY",6)=4) * 8 - access("B"."ID"=:B1) * 10 - access("F_ALL"."FINDING_NAME"="F_CURR"."FINDING_NAME") * 14 - filter(BITAND("B"."PROPERTY",6)=4) * 15 - access("B"."ID"=:B1) * 17 - access("A"."TASK_ID"=:B1) * 22 - access("A"."TASK_ID"="TASKS"."TASK_ID") * 24 - filter(DECODE(NVL("E"."STATUS","A"."STATUS"),1,'INITIAL',2,'EXECUTING',3,'COMPLETED',4,'INTERRUPTED',5,'CANCELLED',6,'FATAL ERROR')='COMPLETED') * 25 - access("A"."ID"="E"."TASK_ID"(+) AND "A"."ADVISOR_ID"="E"."ADVISOR_ID"(+) AND "A"."LAST_EXEC_NAME"="E"."NAME"(+)) * 27 - access("A"."ID"="A"."TASK_ID") * 28 - filter("A"."END_TIME">SYSDATE@!-1 AND "A"."REQUESTED_ANALYSIS"='INSTANCE') * 29 - filter(BITAND("A"."PROPERTY",6)=4) * 30 - access("A"."ID"="A"."TASK_ID" AND "A"."INSTANCE_NUMBER"=TO_NUMBER(SYS_CONTEXT('USERENV','INSTANCE'))) * 32 - filter(DECODE("A"."TYPE",1,'PROBLEM',2,'SYMPTOM',3,'ERROR',4,'INFORMATION',5,'WARNING')<>'INFORMATION' AND DECODE("A"."TYPE",1,'PROBLEM',2,'SYMPTOM',3,'ERROR',4,'INFORMATION',5,'WARNING')<>'WARNING' AND "A"."PARENT"=0) * 33 - access("A"."TASK_ID"="B"."ID") * 34 - filter(BITAND("B"."PROPERTY",6)=4) * 35 - filter(DECODE("A"."TYPE",1,'PROBLEM',2,'SYMPTOM',3,'ERROR',4,'INFORMATION',5,'WARNING')<>'INFORMATION' AND DECODE("A"."TYPE",1,'PROBLEM',2,'SYMPTOM',3,'ERROR',4,'INFORMATION',5,'WARNING')<>'WARNING' AND "HISTORY"."FINDING_NAME"="DBMS_ADVISOR"."FORMAT_MESSAGE"("A"."NAME_MSG_CODE") AND "A"."PARENT"=0 AND NVL("A"."FILTERED",'N')<>'Y') * 36 - access("A"."TASK_ID"=:B1) * 40 - filter(BITAND("B"."PROPERTY",6)=4) * 41 - access("B"."ID"=:B1) * 43 - access("A"."TASK_ID"=:B1 AND "A"."FINDING_ID"="A"."ID") * 43 - filter("A"."FINDING_ID"="A"."ID") * 44 - access("A"."TASK_ID"=:B1 AND "A"."ID"="A"."FINDING_ID")
Hint Report (identified by operation id / Query Block Name / Object Alias): Total hints for statement: 1 (U - Unused (1)) ------------------------------------------------------------------------------- 0 - STATEMENT U - NO_PARALLEL
Notes ----- - dop_reason = hint - dop = 1 - px_in_memory_imc = no - px_in_memory = no
--------------------------------------------------------------------------------------------- Object ID : 13938 Test Plan Name : SQL_PLAN_frppmh1hc8yt816517879 Base Plan Name : Cost-based plan SQL Handle : SQL_ebd6b38060c47b28 Parsing Schema : SYS Test Plan Creator : SYS SQL Text : select /*+ no_parallel */ spare4 from sys.optstat_hist_control$ where sname=:1
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 13938, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 13939 Test Plan Name : SQL_PLAN_7b2s1dysmtumw0491f7ce Base Plan Name : Cost-based plan SQL Handle : SQL_758b016fb13cea7c Parsing Schema : SYS Test Plan Creator : SYS SQL Text : /*+ NO_SQL_TRANSLATION */ SELECT 'COLUMN' type, owner, table_name object_name, column_name, column_id, data_type FROM sys.all_tab_cols WHERE hidden_column = 'NO' and rownum <=50 and owner = :1 and table_name = :2 and column_name like :3 union all /*+ NO_SQL_TRANSLATION */ select case type# when 7 then 'PROCEDURE' when 8 then 'FUNCTION' when 9 then 'PACKAGE' end type, ''||o.owner# owner, name object_name, null column_name, null column_id, null data_type FROM sys.obj$ o where name not like 'BIN%' and type# in (7,8,9) and rownum <=50 and name like :4
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. This plan was skipped because either the database is not fully open or the SQL statement is ineligible for SQL Plan Management.
--------------------------------------------------------------------------------------------- Object ID : 13940 Test Plan Name : SQL_PLAN_a4zx7twqkf5y6b1601949 Base Plan Name : SQL_PLAN_a4zx7twqkf5y6bb5f28c0 SQL Handle : SQL_a27fa7cf2d2717c6 Parsing Schema : DBSNMP Test Plan Creator : SYS SQL Text : WITH RECINFO AS ( SELECT /*+ NO_MERGE */ FINDING_ID, COUNT(R.REC_ID) RECCOUNT,R.TYPE FROM DBA_ADVISOR_RECOMMENDATIONS R WHERE TASK_ID=:B1 GROUP BY R.FINDING_ID, R.TYPE ), F_CURR AS ( SELECT /*+ NO_MERGE */ DISTINCT FINDING_NAME FROM DBA_ADVISOR_FINDINGS WHERE TASK_ID=:B1 ), TASKS AS ( SELECT /*+ NO_MERGE */ T.TASK_ID,I.LOCAL_TASK_ID,T.END_TIME, T.BEGIN_TIME FROM DBA_ADDM_TASKS T,DBA_ADDM_INSTANCES I WHERE T.END_TIME>SYSDATE -1 AND T.TASK_ID=I.TASK_ID AND I.INSTANCE_NUMBER=SYS_CONTEXT('USERENV','INSTANCE') AND T.REQUESTED_ANALYSIS='INSTANCE' ), F_ALL AS ( SELECT /*+ NO_MERGE */ COUNT(FA.TASK_ID) FINDING_COUNT, FA.FINDING_NAME FROM TASKS, DBA_ADVISOR_FINDINGS FA WHERE FA.TASK_ID=TASKS.TASK_ID AND FA.TYPE<>'INFORMATION' AND FA.TYPE<>'WARNING' AND FA.PARENT=0 GROUP BY FA.FINDING_NAME ), HISTORY AS ( SELECT /*+ NO_MERGE */ FINDING_NAME, FINDING_COUNT FROM F_ALL JOIN F_CURR USING (FINDING_NAME) ) SELECT :B1 TASK_ID, F.FINDING_ID FINDING_ID, DECODE(RECINFO.TYPE,NULL, 'Uncategorized',RECINFO.TYPE) REC_TYPE, RECINFO.RECCOUNT REC_COUNT, F.PERC_ACTIVE_SESS IMPACT_PCT, F.MESSAGE MESSAGE, TO_CHAR(TO_DATE(:B3 ,'MM-DD-YYYY HH24:MI:SS'),'YYYY-MM-DD HH24:MI:SS') START_TIME, TO_CHAR(TO_DATE(:B2 ,'MM-DD-YYYY HH24:MI:SS'),'YYYY-MM-DD HH24:MI:SS') END_TIME, HISTORY.FINDING_COUNT FINDING_COUNT, F.FINDING_NAME FINDING_NAME, F.ACTIVE_SESSIONS ACTIVE_SESSIONS FROM DBA_ADDM_FINDINGS F, RECINFO, HISTORY WHERE F.TASK_ID=:B1 AND F.TYPE<>'INFORMATION' AND F.TYPE<>'WARNING' AND F.FILTERED<>'Y' AND F.PARENT=0 AND F.FINDING_ID=RECINFO.FINDING_ID (+) AND F.FINDING_NAME=HISTORY.FINDING_NAME ORDER BY F.FINDING_ID
Execution Statistics: ----------------------------- Base Plan Test Plan ---------------------------- ---------------------------- Elapsed Time (s): .000111 .000078 CPU Time (s): .000105 .000084 Buffer Gets: 9 8 Optimizer Cost: 80 91 Disk Reads: 0 0 Direct Writes: 0 0 Rows Processed: 0 0 Executions: 10 10
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The plan was verified in 0.34800 seconds. It failed the benefit criterion because its verified performance was only 1.03470 times better than that of the baseline plan.
EXPLAIN PLANS SECTION ---------------------------------------------------------------------------------------------
Baseline Plan ----------------------------- Plan Id : 13691 Plan Hash Value : 3143575744
------------------------------------------------------------------------------------------------------------------------ | Id | Operation | Name | Rows | Bytes | Cost | Time | ------------------------------------------------------------------------------------------------------------------------ | 0 | SELECT STATEMENT | | 1 | 2091 | 80 | 00:00:01 | | 1 | SORT ORDER BY | | 1 | 2091 | 80 | 00:00:01 | | 2 | NESTED LOOPS OUTER | | 1 | 2091 | 79 | 00:00:01 | | 3 | NESTED LOOPS | | 1 | 2059 | 74 | 00:00:01 | | 4 | NESTED LOOPS | | 1 | 2048 | 73 | 00:00:01 | | 5 | NESTED LOOPS | | 1 | 2022 | 71 | 00:00:01 | | * 6 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_TASKS | 1 | 7 | 2 | 00:00:01 | | * 7 | INDEX UNIQUE SCAN | WRI$_ADV_TASKS_PK | 1 | | 1 | 00:00:01 | | 8 | VIEW | | 1 | 2015 | 69 | 00:00:01 | | * 9 | HASH JOIN | | 1 | 4017 | 69 | 00:00:01 | | 10 | VIEW | | 1 | 2015 | 64 | 00:00:01 | | 11 | SORT GROUP BY | | 1 | 24 | 64 | 00:00:01 | | 12 | NESTED LOOPS | | 17 | 408 | 63 | 00:00:01 | | 13 | NESTED LOOPS | | 17 | 408 | 63 | 00:00:01 | | 14 | NESTED LOOPS | | 17 | 289 | 46 | 00:00:01 | | 15 | VIEW | | 17 | 68 | 13 | 00:00:01 | | * 16 | FILTER | | | | | | | * 17 | HASH JOIN OUTER | | 17 | 1275 | 13 | 00:00:01 | | 18 | NESTED LOOPS | | 17 | 918 | 9 | 00:00:01 | | * 19 | HASH JOIN | | 17 | 799 | 9 | 00:00:01 | | * 20 | TABLE ACCESS FULL | WRI$_ADV_ADDM_TASKS | 17 | 408 | 3 | 00:00:01 | | * 21 | TABLE ACCESS FULL | WRI$_ADV_TASKS | 762 | 17526 | 6 | 00:00:01 | | * 22 | INDEX UNIQUE SCAN | SYS_C002249 | 1 | 7 | 0 | 00:00:01 | | 23 | TABLE ACCESS FULL | WRI$_ADV_EXECUTIONS | 828 | 17388 | 3 | 00:00:01 | | * 24 | TABLE ACCESS BY INDEX ROWID BATCHED | WRI$_ADV_FINDINGS | 1 | 13 | 2 | 00:00:01 | | * 25 | INDEX RANGE SCAN | WRI$_ADV_FINDINGS_PK | 14 | | 1 | 00:00:01 | | * 26 | INDEX UNIQUE SCAN | WRI$_ADV_TASKS_PK | 1 | | 0 | 00:00:01 | | * 27 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_TASKS | 1 | 7 | 1 | 00:00:01 | | 28 | VIEW | | 1 | 2002 | 5 | 00:00:01 | | 29 | SORT UNIQUE | | 1 | 14 | 5 | 00:00:01 | | 30 | NESTED LOOPS | | 1 | 14 | 4 | 00:00:01 | | * 31 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_TASKS | 1 | 7 | 2 | 00:00:01 | | * 32 | INDEX UNIQUE SCAN | WRI$_ADV_TASKS_PK | 1 | | 1 | 00:00:01 | | 33 | TABLE ACCESS BY INDEX ROWID BATCHED | WRI$_ADV_FINDINGS | 1 | 7 | 2 | 00:00:01 | | * 34 | INDEX RANGE SCAN | WRI$_ADV_FINDINGS_PK | 1 | | 1 | 00:00:01 | | * 35 | TABLE ACCESS BY INDEX ROWID BATCHED | WRI$_ADV_FINDINGS | 1 | 26 | 2 | 00:00:01 | | * 36 | INDEX RANGE SCAN | WRI$_ADV_FINDINGS_PK | 1 | | 1 | 00:00:01 | | 37 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_ADDM_FDG | 1 | 11 | 1 | 00:00:01 | | * 38 | INDEX UNIQUE SCAN | SYS_C002252 | 1 | | 0 | 00:00:01 | | 39 | VIEW PUSHED PREDICATE | | 1 | 32 | 5 | 00:00:01 | | 40 | SORT GROUP BY | | 1 | 25 | 5 | 00:00:01 | | 41 | NESTED LOOPS | | 1 | 25 | 4 | 00:00:01 | | * 42 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_TASKS | 1 | 7 | 2 | 00:00:01 | | * 43 | INDEX UNIQUE SCAN | WRI$_ADV_TASKS_PK | 1 | | 1 | 00:00:01 | | 44 | TABLE ACCESS BY INDEX ROWID BATCHED | WRI$_ADV_RECOMMENDATIONS | 1 | 18 | 2 | 00:00:01 | | * 45 | INDEX RANGE SCAN | WRI$_ADV_RECS_IDX_02 | 1 | | 1 | 00:00:01 | ------------------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 6 - filter(BITAND("B"."PROPERTY",6)=4) * 7 - access("B"."ID"=:B1) * 9 - access("F_ALL"."FINDING_NAME"="F_CURR"."FINDING_NAME") * 16 - filter(DECODE(NVL("E"."STATUS","A"."STATUS"),1,'INITIAL',2,'EXECUTING',3,'COMPLETED',4,'INTERRUPTED',5,'CANCELLED',6,'FATAL ERROR')='COMPLETED') * 17 - access("A"."ID"="E"."TASK_ID"(+) AND "A"."ADVISOR_ID"="E"."ADVISOR_ID"(+) AND "A"."LAST_EXEC_NAME"="E"."NAME"(+)) * 19 - access("A"."ID"="A"."TASK_ID") * 20 - filter("A"."END_TIME">SYSDATE@!-1 AND "A"."REQUESTED_ANALYSIS"='INSTANCE') * 21 - filter(BITAND("A"."PROPERTY",6)=4) * 22 - access("A"."ID"="A"."TASK_ID" AND "A"."INSTANCE_NUMBER"=TO_NUMBER(SYS_CONTEXT('USERENV','INSTANCE'))) * 24 - filter(DECODE("A"."TYPE",1,'PROBLEM',2,'SYMPTOM',3,'ERROR',4,'INFORMATION',5,'WARNING')<>'INFORMATION' AND DECODE("A"."TYPE",1,'PROBLEM',2,'SYMPTOM',3,'ERROR',4,'INFORMATION',5,'WARNING')<>'WARNING' AND "A"."PARENT"=0) * 25 - access("A"."TASK_ID"="TASKS"."TASK_ID") * 26 - access("A"."TASK_ID"="B"."ID") * 27 - filter(BITAND("B"."PROPERTY",6)=4) * 31 - filter(BITAND("B"."PROPERTY",6)=4) * 32 - access("B"."ID"=:B1) * 34 - access("A"."TASK_ID"=:B1) * 35 - filter(DECODE("A"."TYPE",1,'PROBLEM',2,'SYMPTOM',3,'ERROR',4,'INFORMATION',5,'WARNING')<>'INFORMATION' AND DECODE("A"."TYPE",1,'PROBLEM',2,'SYMPTOM',3,'ERROR',4,'INFORMATION',5,'WARNING')<>'WARNING' AND "HISTORY"."FINDING_NAME"="DBMS_ADVISOR"."FORMAT_MESSAGE"("A"."NAME_MSG_CODE") AND "A"."PARENT"=0 AND NVL("A"."FILTERED",'N')<>'Y') * 36 - access("A"."TASK_ID"=:B1) * 38 - access("A"."TASK_ID"=:B1 AND "A"."ID"="A"."FINDING_ID") * 42 - filter(BITAND("B"."PROPERTY",6)=4) * 43 - access("B"."ID"=:B1) * 45 - access("A"."TASK_ID"=:B1 AND "A"."FINDING_ID"="A"."ID") * 45 - filter("A"."FINDING_ID"="A"."ID")
Test Plan ----------------------------- Plan Id : 13692 Plan Hash Value : 2975865161
------------------------------------------------------------------------------------------------------------------------ | Id | Operation | Name | Rows | Bytes | Cost | Time | ------------------------------------------------------------------------------------------------------------------------ | 0 | SELECT STATEMENT | | 1 | 2091 | 91 | 00:00:01 | | 1 | SORT ORDER BY | | 1 | 2091 | 91 | 00:00:01 | | 2 | NESTED LOOPS OUTER | | 1 | 2091 | 90 | 00:00:01 | | 3 | NESTED LOOPS | | 1 | 2059 | 85 | 00:00:01 | | 4 | NESTED LOOPS | | 1 | 2048 | 84 | 00:00:01 | | 5 | NESTED LOOPS | | 1 | 2022 | 82 | 00:00:01 | | * 6 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_TASKS | 1 | 7 | 2 | 00:00:01 | | * 7 | INDEX UNIQUE SCAN | WRI$_ADV_TASKS_PK | 1 | | 1 | 00:00:01 | | 8 | VIEW | | 1 | 2015 | 80 | 00:00:01 | | * 9 | HASH JOIN | | 1 | 4017 | 80 | 00:00:01 | | 10 | VIEW | | 1 | 2015 | 75 | 00:00:01 | | 11 | SORT GROUP BY | | 1 | 24 | 75 | 00:00:01 | | 12 | NESTED LOOPS | | 17 | 408 | 74 | 00:00:01 | | 13 | NESTED LOOPS | | 17 | 408 | 74 | 00:00:01 | | 14 | NESTED LOOPS | | 17 | 289 | 57 | 00:00:01 | | 15 | VIEW | | 17 | 68 | 23 | 00:00:01 | | * 16 | FILTER | | | | | | | * 17 | HASH JOIN OUTER | | 17 | 1275 | 23 | 00:00:01 | | 18 | NESTED LOOPS | | 17 | 918 | 20 | 00:00:01 | | 19 | NESTED LOOPS | | 17 | 799 | 20 | 00:00:01 | | * 20 | TABLE ACCESS FULL | WRI$_ADV_ADDM_TASKS | 17 | 408 | 3 | 00:00:01 | | * 21 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_TASKS | 1 | 23 | 1 | 00:00:01 | | * 22 | INDEX UNIQUE SCAN | WRI$_ADV_TASKS_PK | 1 | | 0 | 00:00:01 | | * 23 | INDEX UNIQUE SCAN | SYS_C002249 | 1 | 7 | 0 | 00:00:01 | | 24 | TABLE ACCESS FULL | WRI$_ADV_EXECUTIONS | 828 | 17388 | 3 | 00:00:01 | | * 25 | TABLE ACCESS BY INDEX ROWID BATCHED | WRI$_ADV_FINDINGS | 1 | 13 | 2 | 00:00:01 | | * 26 | INDEX RANGE SCAN | WRI$_ADV_FINDINGS_PK | 14 | | 1 | 00:00:01 | | * 27 | INDEX UNIQUE SCAN | WRI$_ADV_TASKS_PK | 1 | | 0 | 00:00:01 | | * 28 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_TASKS | 1 | 7 | 1 | 00:00:01 | | 29 | VIEW | | 1 | 2002 | 5 | 00:00:01 | | 30 | SORT UNIQUE | | 1 | 14 | 5 | 00:00:01 | | 31 | NESTED LOOPS | | 1 | 14 | 4 | 00:00:01 | | * 32 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_TASKS | 1 | 7 | 2 | 00:00:01 | | * 33 | INDEX UNIQUE SCAN | WRI$_ADV_TASKS_PK | 1 | | 1 | 00:00:01 | | 34 | TABLE ACCESS BY INDEX ROWID BATCHED | WRI$_ADV_FINDINGS | 1 | 7 | 2 | 00:00:01 | | * 35 | INDEX RANGE SCAN | WRI$_ADV_FINDINGS_PK | 1 | | 1 | 00:00:01 | | * 36 | TABLE ACCESS BY INDEX ROWID BATCHED | WRI$_ADV_FINDINGS | 1 | 26 | 2 | 00:00:01 | | * 37 | INDEX RANGE SCAN | WRI$_ADV_FINDINGS_PK | 1 | | 1 | 00:00:01 | | 38 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_ADDM_FDG | 1 | 11 | 1 | 00:00:01 | | * 39 | INDEX UNIQUE SCAN | SYS_C002252 | 1 | | 0 | 00:00:01 | | 40 | VIEW PUSHED PREDICATE | | 1 | 32 | 5 | 00:00:01 | | 41 | SORT GROUP BY | | 1 | 25 | 5 | 00:00:01 | | 42 | NESTED LOOPS | | 1 | 25 | 4 | 00:00:01 | | * 43 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_TASKS | 1 | 7 | 2 | 00:00:01 | | * 44 | INDEX UNIQUE SCAN | WRI$_ADV_TASKS_PK | 1 | | 1 | 00:00:01 | | 45 | TABLE ACCESS BY INDEX ROWID BATCHED | WRI$_ADV_RECOMMENDATIONS | 1 | 18 | 2 | 00:00:01 | | * 46 | INDEX RANGE SCAN | WRI$_ADV_RECS_IDX_02 | 1 | | 1 | 00:00:01 | ------------------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 6 - filter(BITAND("B"."PROPERTY",6)=4) * 7 - access("B"."ID"=:B1) * 9 - access("F_ALL"."FINDING_NAME"="F_CURR"."FINDING_NAME") * 16 - filter(DECODE(NVL("E"."STATUS","A"."STATUS"),1,'INITIAL',2,'EXECUTING',3,'COMPLETED',4,'INTERRUPTED',5,'CANCELLED',6,'FATAL ERROR')='COMPLETED') * 17 - access("A"."ID"="E"."TASK_ID"(+) AND "A"."ADVISOR_ID"="E"."ADVISOR_ID"(+) AND "A"."LAST_EXEC_NAME"="E"."NAME"(+)) * 20 - filter("A"."END_TIME">SYSDATE@!-1 AND "A"."REQUESTED_ANALYSIS"='INSTANCE') * 21 - filter(BITAND("A"."PROPERTY",6)=4) * 22 - access("A"."ID"="A"."TASK_ID") * 23 - access("A"."ID"="A"."TASK_ID" AND "A"."INSTANCE_NUMBER"=TO_NUMBER(SYS_CONTEXT('USERENV','INSTANCE'))) * 25 - filter(DECODE("A"."TYPE",1,'PROBLEM',2,'SYMPTOM',3,'ERROR',4,'INFORMATION',5,'WARNING')<>'INFORMATION' AND DECODE("A"."TYPE",1,'PROBLEM',2,'SYMPTOM',3,'ERROR',4,'INFORMATION',5,'WARNING')<>'WARNING' AND "A"."PARENT"=0) * 26 - access("A"."TASK_ID"="TASKS"."TASK_ID") * 27 - access("A"."TASK_ID"="B"."ID") * 28 - filter(BITAND("B"."PROPERTY",6)=4) * 32 - filter(BITAND("B"."PROPERTY",6)=4) * 33 - access("B"."ID"=:B1) * 35 - access("A"."TASK_ID"=:B1) * 36 - filter(DECODE("A"."TYPE",1,'PROBLEM',2,'SYMPTOM',3,'ERROR',4,'INFORMATION',5,'WARNING')<>'INFORMATION' AND DECODE("A"."TYPE",1,'PROBLEM',2,'SYMPTOM',3,'ERROR',4,'INFORMATION',5,'WARNING')<>'WARNING' AND "HISTORY"."FINDING_NAME"="DBMS_ADVISOR"."FORMAT_MESSAGE"("A"."NAME_MSG_CODE") AND "A"."PARENT"=0 AND NVL("A"."FILTERED",'N')<>'Y') * 37 - access("A"."TASK_ID"=:B1) * 39 - access("A"."TASK_ID"=:B1 AND "A"."ID"="A"."FINDING_ID") * 43 - filter(BITAND("B"."PROPERTY",6)=4) * 44 - access("B"."ID"=:B1) * 46 - access("A"."TASK_ID"=:B1 AND "A"."FINDING_ID"="A"."ID") * 46 - filter("A"."FINDING_ID"="A"."ID")
--------------------------------------------------------------------------------------------- Object ID : 13941 Test Plan Name : SQL_PLAN_95xkxt7my3c0p8d4fb90d Base Plan Name : Cost-based plan SQL Handle : SQL_92f65dc9e7e1b015 Parsing Schema : APPS Test Plan Creator : SYS SQL Text : SELECT /* ORDERED INDEX(t1) USE_HASH(t1) */ 'G' || t3.elementgroup_id pg_featurevalue_47_id, 'r' || t4.elementrange_id price_eur_id, 'B' || t2.productgroup_id productgroup_id, 'G' || t5.elementgroup_id period_id, SUM(t1.pd_sales_units*t1.pd_projection_factor) salesunits FROM lu_item_293 t2, lu_elementgroup_rel t3, fact_pd_out_itm_293 t1, lu_elementgroup_rel t5, lu_elementrange_rel t4 WHERE /* Attribute Joins */ ((t1.item_id = t2.item_id /* Customizing Begin */ AND t1.productgroup_id = t2.productgroup_id) /* Customizing End */ AND (t2.pg_featurevalue_47_id = t3.value_id) AND (t1.pd_price_units_eur BETWEEN t4.lbound AND t4.ubound) AND (t1.period_id = t5.value_id) ) /* Attribute Filters */ AND ((t2.productgroup_id = 15520) AND (t1.productgroup_id = 15520) /* Push Down Filters */ AND NOT ((t2.pg_featurevalue_15_id IN (1474,1481,1483,1484) OR /* ElementGroup Subselect */ ( t2.pg_featurevalue_15_id IN (SELECT g1.value_id FROM lu_elementgroup_rel g1 WHERE /* ElementGroup Filters */ (g1.elementgroup_id = 8507) ) ) OR /* ElementRange Subselect */ t2.pg_featurevalue_15_id IN (SELECT r1.pg_featurevalue_15_id FROM lu_pg_featurevalue_15 r1, lu_elementrange_rel r2 WHERE /* Feature Filter */ (r1.pg_feature_15_id = 977) /* Attribute Join */ AND (r1.pg_featurevalue_15_num BETWEEN r2.lbound AND r2.ubound) /* ElementRange Filter */ AND (r2.elementrange_id = 5783) ) ) ) AND (t3.elementgroup_id = 6624) AND (t4.elementrange_id IN (8656,8657,8658,8659,8660,8661,8662,8663,8664,8665,8666, 8667,8668,8669,8670,8671,8672,8673,8674,8675,8676,8679,8680 ,8681,8682,8683,8684,8685,8686,8687,8688,8689,8690,8691,869 2,8693,8694,8695,8696,8697,8698,8699)) AND (t5.elementgroup_id = 14659) AND (t1.period_id IN (20030699 999060,20030799999030,20030799999060,20030799999120)) /* Resolved ElementGroup Filters */ ) /* Fact Filters */ AND (t1.project_type_id = '1' ) GROUP BY t3.elementgroup_id, t4.elementrange_id, t2.productgroup_id, t5.elementgroup_id
Execution Statistics: ----------------------------- Base Plan Test Plan ---------------------------- ---------------------------- Elapsed Time (s): .007189 .009228 CPU Time (s): .007151 .009174 Buffer Gets: 2704 372 Optimizer Cost: 108 129 Disk Reads: 0 0 Direct Writes: 0 0 Rows Processed: 0 0 Executions: 10 10
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The plan was verified in 1.91600 seconds. It failed the benefit criterion because its verified performance was 0.77953 times worse than that of the baseline plan.
EXPLAIN PLANS SECTION ---------------------------------------------------------------------------------------------
Baseline Plan ----------------------------- Plan Id : 13693 Plan Hash Value : 1206776759
------------------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost | Time | ------------------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 1 | 102 | 108 | 00:00:01 | | 1 | HASH GROUP BY | | 1 | 102 | 108 | 00:00:01 | | * 2 | FILTER | | | | | | | * 3 | HASH JOIN ANTI NA | | 1 | 102 | 102 | 00:00:01 | | 4 | NESTED LOOPS | | 1 | 91 | 92 | 00:00:01 | | 5 | NESTED LOOPS | | 1 | 91 | 92 | 00:00:01 | | 6 | MERGE JOIN CARTESIAN | | 1 | 57 | 30 | 00:00:01 | | * 7 | HASH JOIN | | 1 | 42 | 24 | 00:00:01 | | 8 | MERGE JOIN CARTESIAN | | 33 | 1023 | 14 | 00:00:01 | | * 9 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTGROUP_REL | 1 | 11 | 11 | 00:00:01 | | 10 | BUFFER SORT | | 3697 | 73940 | 3 | 00:00:01 | | * 11 | TABLE ACCESS INMEMORY FULL | LU_ITEM_293 | 3697 | 73940 | 3 | 00:00:01 | | * 12 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTGROUP_REL | 6 | 66 | 10 | 00:00:01 | | 13 | BUFFER SORT | | 42 | 630 | 19 | 00:00:01 | | * 14 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTRANGE_REL | 42 | 630 | 5 | 00:00:01 | | 15 | BITMAP CONVERSION TO ROWIDS | | | | | | | 16 | BITMAP AND | | | | | | | * 17 | BITMAP INDEX SINGLE VALUE | FACT_274_PER_IDX | | | | | | * 18 | BITMAP INDEX SINGLE VALUE | FACT_274_ITEM_IDX | | | | | | * 19 | TABLE ACCESS BY INDEX ROWID | FACT_PD_OUT_ITM_293 | 1 | 34 | 92 | 00:00:01 | | * 20 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTGROUP_REL | 6 | 66 | 10 | 00:00:01 | | 21 | NESTED LOOPS SEMI | | 1 | 35 | 4 | 00:00:01 | | * 22 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTRANGE_REL | 1 | 15 | 2 | 00:00:01 | | * 23 | TABLE ACCESS BY INDEX ROWID BATCHED | ADM_PG_FEATUREVALUE | 1 | 20 | 2 | 00:00:01 | | * 24 | INDEX RANGE SCAN | ADM_PG_FEATUREVALUE_PK | 1 | | 1 | 00:00:01 | -------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 2 - filter( NOT EXISTS (SELECT /*+ LEADING ("R2" "ADM_PG_FEATUREVALUE") FULL ("R2") INDEX_RS_ASC ("ADM_PG_FEATUREVALUE" "ADM_PG_FEATUREVALUE_PK") BATCH_TABLE_ACCESS_BY_ROWID ("ADM_PG_FEATUREVALUE") USE_NL ("ADM_PG_FEATUREVALUE") PARTIAL_JOIN ("ADM_PG_FEATUREVALUE") */ 0 FROM "LU_ELEMENTRANGE_REL" "R2","APPS"."ADM_PG_FEATUREVALUE" "ADM_PG_FEATUREVALUE" WHERE "FEATUREVALUE_ID"=:B1 AND "FEATURE_ID"=977 AND "TABLE_NR"=15 AND "FEATUREVALUE_NUM"<="R2"."UBOUND" AND "FEATUREVALUE_NUM">="R2"."LBOUND" AND "DELETED"=0 AND "R2"."ELEMENTRANGE_ID"=5783)) * 3 - access("T2"."PG_FEATUREVALUE_15_ID"="G1"."VALUE_ID") * 7 - access("T2"."PG_FEATUREVALUE_47_ID"="T3"."VALUE_ID") * 9 - access("T5"."ELEMENTGROUP_ID"=14659 AND ("T5"."VALUE_ID"=20030699999060 OR "T5"."VALUE_ID"=20030799999030 OR "T5"."VALUE_ID"=20030799999060 OR "T5"."VALUE_ID"=20030799999120)) * 9 - filter("T5"."ELEMENTGROUP_ID"=14659 AND ("T5"."VALUE_ID"=20030699999060 OR "T5"."VALUE_ID"=20030799999030 OR "T5"."VALUE_ID"=20030799999060 OR "T5"."VALUE_ID"=20030799999120)) * 11 - access("T2"."PG_FEATUREVALUE_15_ID"<>1481 AND "T2"."PG_FEATUREVALUE_15_ID"<>1474 AND "T2"."PG_FEATUREVALUE_15_ID"<>1484 AND "T2"."PG_FEATUREVALUE_15_ID"<>1483 AND "T2"."PRODUCTGROUP_ID"=15520) * 11 - filter("T2"."PG_FEATUREVALUE_15_ID"<>1481 AND "T2"."PG_FEATUREVALUE_15_ID"<>1474 AND "T2"."PG_FEATUREVALUE_15_ID"<>1484 AND "T2"."PG_FEATUREVALUE_15_ID"<>1483 AND "T2"."PRODUCTGROUP_ID"=15520) * 12 - access("T3"."ELEMENTGROUP_ID"=6624) * 12 - filter("T3"."ELEMENTGROUP_ID"=6624) * 14 - access("T4"."ELEMENTRANGE_ID"=8656 OR "T4"."ELEMENTRANGE_ID"=8657 OR "T4"."ELEMENTRANGE_ID"=8658 OR "T4"."ELEMENTRANGE_ID"=8659 OR "T4"."ELEMENTRANGE_ID"=8660 OR "T4"."ELEMENTRANGE_ID"=8661 OR "T4"."ELEMENTRANGE_ID"=8662 OR "T4"."ELEMENTRANGE_ID"=8663 OR "T4"."ELEMENTRANGE_ID"=8664 OR "T4"."ELEMENTRANGE_ID"=8665 OR "T4"."ELEMENTRANGE_ID"=8666 OR "T4"."ELEMENTRANGE_ID"=8667 OR "T4"."ELEMENTRANGE_ID"=8668 OR "T4"."ELEMENTRANGE_ID"=8669 OR "T4"."ELEMENTRANGE_ID"=8670 OR "T4"."ELEMENTRANGE_ID"=8671 OR "T4"."ELEMENTRANGE_ID"=8672 OR "T4"."ELEMENTRANGE_ID"=8673 OR "T4"."ELEMENTRANGE_ID"=8674 OR "T4"."ELEMENTRANGE_ID"=8675 OR "T4"."ELEMENTRANGE_ID"=8676 OR "T4"."ELEMENTRANGE_ID"=8679 OR "T4"."ELEMENTRANGE_ID"=8680 OR "T4"."ELEMENTRANGE_ID"=8681 OR "T4"."ELEMENTRANGE_ID"=8682 OR "T4"."ELEMENTRANGE_ID"=8683 OR "T4"."ELEMENTRANGE_ID"=8684 OR "T4"."ELEMENTRANGE_ID"=8685 OR "T4"."ELEMENTRANGE_ID"=8686 OR "T4"."ELEMENTRANGE_ID"=8687 OR "T4"."ELEMENTRANGE_ID"=8688 OR "T4"."ELEMENTRANGE_ID"=8689 OR "T4"."ELEMENTRANGE_ID"=8690 OR "T4"."ELEMENTRANGE_ID"=8691 OR "T4"."ELEMENTRANGE_ID"=8692 OR "T4"."ELEMENTRANGE_ID"=8693 OR "T4"."ELEMENTRANGE_ID"=8694 OR "T4"."ELEMENTRANGE_ID"=8695 OR "T4"."ELEMENTRANGE_ID"=8696 OR "T4"."ELEMENTRANGE_ID"=8697 OR "T4"."ELEMENTRANGE_ID"=8698 OR "T4"."ELEMENTRANGE_ID"=8699) * 14 - filter("T4"."ELEMENTRANGE_ID"=8656 OR "T4"."ELEMENTRANGE_ID"=8657 OR "T4"."ELEMENTRANGE_ID"=8658 OR "T4"."ELEMENTRANGE_ID"=8659 OR "T4"."ELEMENTRANGE_ID"=8660 OR "T4"."ELEMENTRANGE_ID"=8661 OR "T4"."ELEMENTRANGE_ID"=8662 OR "T4"."ELEMENTRANGE_ID"=8663 OR "T4"."ELEMENTRANGE_ID"=8664 OR "T4"."ELEMENTRANGE_ID"=8665 OR "T4"."ELEMENTRANGE_ID"=8666 OR "T4"."ELEMENTRANGE_ID"=8667 OR "T4"."ELEMENTRANGE_ID"=8668 OR "T4"."ELEMENTRANGE_ID"=8669 OR "T4"."ELEMENTRANGE_ID"=8670 OR "T4"."ELEMENTRANGE_ID"=8671 OR "T4"."ELEMENTRANGE_ID"=8672 OR "T4"."ELEMENTRANGE_ID"=8673 OR "T4"."ELEMENTRANGE_ID"=8674 OR "T4"."ELEMENTRANGE_ID"=8675 OR "T4"."ELEMENTRANGE_ID"=8676 OR "T4"."ELEMENTRANGE_ID"=8679 OR "T4"."ELEMENTRANGE_ID"=8680 OR "T4"."ELEMENTRANGE_ID"=8681 OR "T4"."ELEMENTRANGE_ID"=8682 OR "T4"."ELEMENTRANGE_ID"=8683 OR "T4"."ELEMENTRANGE_ID"=8684 OR "T4"."ELEMENTRANGE_ID"=8685 OR "T4"."ELEMENTRANGE_ID"=8686 OR "T4"."ELEMENTRANGE_ID"=8687 OR "T4"."ELEMENTRANGE_ID"=8688 OR "T4"."ELEMENTRANGE_ID"=8689 OR "T4"."ELEMENTRANGE_ID"=8690 OR "T4"."ELEMENTRANGE_ID"=8691 OR "T4"."ELEMENTRANGE_ID"=8692 OR "T4"."ELEMENTRANGE_ID"=8693 OR "T4"."ELEMENTRANGE_ID"=8694 OR "T4"."ELEMENTRANGE_ID"=8695 OR "T4"."ELEMENTRANGE_ID"=8696 OR "T4"."ELEMENTRANGE_ID"=8697 OR "T4"."ELEMENTRANGE_ID"=8698 OR "T4"."ELEMENTRANGE_ID"=8699) * 17 - access("T1"."PERIOD_ID"="T5"."VALUE_ID") * 17 - filter("T1"."PERIOD_ID"=20030699999060 OR "T1"."PERIOD_ID"=20030799999030 OR "T1"."PERIOD_ID"=20030799999060 OR "T1"."PERIOD_ID"=20030799999120) * 18 - access("T1"."ITEM_ID"="T2"."ITEM_ID") * 19 - filter(("T1"."PERIOD_ID"=20030699999060 OR "T1"."PERIOD_ID"=20030799999030 OR "T1"."PERIOD_ID"=20030799999060 OR "T1"."PERIOD_ID"=20030799999120) AND "T1"."PD_PRICE_UNITS_EUR">="T4"."LBOUND" AND "T1"."PD_PRICE_UNITS_EUR"<="T4"."UBOUND" AND "T1"."PRODUCTGROUP_ID"=15520 AND "T1"."PROJECT_TYPE_ID"='1' AND "T1"."PRODUCTGROUP_ID"="T2"."PRODUCTGROUP_ID") * 20 - access("G1"."ELEMENTGROUP_ID"=8507) * 20 - filter("G1"."ELEMENTGROUP_ID"=8507) * 22 - access("R2"."ELEMENTRANGE_ID"=5783) * 22 - filter("R2"."ELEMENTRANGE_ID"=5783) * 23 - filter("TABLE_NR"=15 AND "FEATUREVALUE_NUM"<="R2"."UBOUND" AND "FEATUREVALUE_NUM">="R2"."LBOUND" AND "DELETED"=0) * 24 - access("FEATURE_ID"=977 AND "FEATUREVALUE_ID"=:B1)
Hint Report (identified by operation id / Query Block Name / Object Alias): Total hints for statement: 1 (U - Unused (1)) ------------------------------------------------------------------------------- 0 - STATEMENT U - NO_PARALLEL
Notes ----- - dop_reason = hint - dop = 1 - px_in_memory_imc = no - px_in_memory = no
Test Plan ----------------------------- Plan Id : 13694 Plan Hash Value : 2370812173
---------------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost | Time | ---------------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 1 | 104 | 129 | 00:00:01 | | 1 | HASH GROUP BY | | 1 | 104 | 129 | 00:00:01 | | 2 | NESTED LOOPS | | 1 | 104 | 128 | 00:00:01 | | * 3 | HASH JOIN ANTI NA | | 1 | 89 | 123 | 00:00:01 | | 4 | NESTED LOOPS ANTI | | 1 | 78 | 112 | 00:00:01 | | * 5 | HASH JOIN | | 1 | 76 | 108 | 00:00:01 | | 6 | NESTED LOOPS | | 24 | 1560 | 97 | 00:00:01 | | 7 | NESTED LOOPS | | 24 | 1560 | 97 | 00:00:01 | | * 8 | HASH JOIN | | 1 | 31 | 14 | 00:00:01 | | 9 | JOIN FILTER CREATE | :BF0000 | 6 | 66 | 10 | 00:00:01 | | * 10 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTGROUP_REL | 6 | 66 | 10 | 00:00:01 | | 11 | JOIN FILTER USE | :BF0000 | 3697 | 73940 | 4 | 00:00:01 | | * 12 | TABLE ACCESS INMEMORY FULL | LU_ITEM_293 | 3697 | 73940 | 4 | 00:00:01 | | 13 | BITMAP CONVERSION TO ROWIDS | | | | | | | 14 | BITMAP AND | | | | | | | * 15 | BITMAP INDEX SINGLE VALUE | FACT_274_ITEM_IDX | | | | | | 16 | BITMAP OR | | | | | | | * 17 | BITMAP INDEX SINGLE VALUE | FACT_274_PER_IDX | | | | | | * 18 | BITMAP INDEX SINGLE VALUE | FACT_274_PER_IDX | | | | | | * 19 | BITMAP INDEX SINGLE VALUE | FACT_274_PER_IDX | | | | | | * 20 | BITMAP INDEX SINGLE VALUE | FACT_274_PER_IDX | | | | | | * 21 | TABLE ACCESS BY INDEX ROWID | FACT_PD_OUT_ITM_293 | 27 | 918 | 97 | 00:00:01 | | * 22 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTGROUP_REL | 1 | 11 | 11 | 00:00:01 | | 23 | VIEW PUSHED PREDICATE | VW_NSO_1 | 1 | 2 | 4 | 00:00:01 | | 24 | NESTED LOOPS | | 1 | 35 | 4 | 00:00:01 | | 25 | NESTED LOOPS | | 1 | 35 | 4 | 00:00:01 | | * 26 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTRANGE_REL | 1 | 15 | 2 | 00:00:01 | | * 27 | INDEX RANGE SCAN | ADM_PG_FEATUREVALUE_PK | 1 | | 1 | 00:00:01 | | * 28 | TABLE ACCESS BY INDEX ROWID | ADM_PG_FEATUREVALUE | 1 | 20 | 2 | 00:00:01 | | * 29 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTGROUP_REL | 6 | 66 | 10 | 00:00:01 | | * 30 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTRANGE_REL | 42 | 630 | 5 | 00:00:01 | ----------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 3 - access("T2"."PG_FEATUREVALUE_15_ID"="G1"."VALUE_ID") * 5 - access("T1"."PERIOD_ID"="T5"."VALUE_ID") * 8 - access("T2"."PG_FEATUREVALUE_47_ID"="T3"."VALUE_ID") * 10 - access("T3"."ELEMENTGROUP_ID"=6624) * 10 - filter("T3"."ELEMENTGROUP_ID"=6624) * 12 - access("T2"."PG_FEATUREVALUE_15_ID"<>1481 AND "T2"."PG_FEATUREVALUE_15_ID"<>1474 AND "T2"."PG_FEATUREVALUE_15_ID"<>1484 AND "T2"."PG_FEATUREVALUE_15_ID"<>1483 AND "T2"."PRODUCTGROUP_ID"=15520 AND SYS_OP_BLOOM_FILTER(:BF0000,"T2"."PG_FEATUREVALUE_47_ID")) * 12 - filter("T2"."PG_FEATUREVALUE_15_ID"<>1481 AND "T2"."PG_FEATUREVALUE_15_ID"<>1474 AND "T2"."PG_FEATUREVALUE_15_ID"<>1484 AND "T2"."PG_FEATUREVALUE_15_ID"<>1483 AND "T2"."PRODUCTGROUP_ID"=15520 AND SYS_OP_BLOOM_FILTER(:BF0000,"T2"."PG_FEATUREVALUE_47_ID")) * 15 - access("T1"."ITEM_ID"="T2"."ITEM_ID") * 17 - access("T1"."PERIOD_ID"=20030699999060) * 18 - access("T1"."PERIOD_ID"=20030799999030) * 19 - access("T1"."PERIOD_ID"=20030799999060) * 20 - access("T1"."PERIOD_ID"=20030799999120) * 21 - filter(("T1"."PERIOD_ID"=20030699999060 OR "T1"."PERIOD_ID"=20030799999030 OR "T1"."PERIOD_ID"=20030799999060 OR "T1"."PERIOD_ID"=20030799999120) AND "T1"."PRODUCTGROUP_ID"=15520 AND "T1"."PROJECT_TYPE_ID"='1' AND "T1"."PRODUCTGROUP_ID"="T2"."PRODUCTGROUP_ID") * 22 - access("T5"."ELEMENTGROUP_ID"=14659 AND ("T5"."VALUE_ID"=20030699999060 OR "T5"."VALUE_ID"=20030799999030 OR "T5"."VALUE_ID"=20030799999060 OR "T5"."VALUE_ID"=20030799999120)) * 22 - filter("T5"."ELEMENTGROUP_ID"=14659 AND ("T5"."VALUE_ID"=20030699999060 OR "T5"."VALUE_ID"=20030799999030 OR "T5"."VALUE_ID"=20030799999060 OR "T5"."VALUE_ID"=20030799999120)) * 26 - access("R2"."ELEMENTRANGE_ID"=5783) * 26 - filter("R2"."ELEMENTRANGE_ID"=5783) * 27 - access("FEATURE_ID"=977 AND "FEATUREVALUE_ID"="T2"."PG_FEATUREVALUE_15_ID") * 28 - filter("TABLE_NR"=15 AND "FEATUREVALUE_NUM"<="R2"."UBOUND" AND "FEATUREVALUE_NUM">="R2"."LBOUND" AND "DELETED"=0) * 29 - access("G1"."ELEMENTGROUP_ID"=8507) * 29 - filter("G1"."ELEMENTGROUP_ID"=8507) * 30 - access(("T4"."ELEMENTRANGE_ID"=8656 OR "T4"."ELEMENTRANGE_ID"=8657 OR "T4"."ELEMENTRANGE_ID"=8658 OR "T4"."ELEMENTRANGE_ID"=8659 OR "T4"."ELEMENTRANGE_ID"=8660 OR "T4"."ELEMENTRANGE_ID"=8661 OR "T4"."ELEMENTRANGE_ID"=8662 OR "T4"."ELEMENTRANGE_ID"=8663 OR "T4"."ELEMENTRANGE_ID"=8664 OR "T4"."ELEMENTRANGE_ID"=8665 OR "T4"."ELEMENTRANGE_ID"=8666 OR "T4"."ELEMENTRANGE_ID"=8667 OR "T4"."ELEMENTRANGE_ID"=8668 OR "T4"."ELEMENTRANGE_ID"=8669 OR "T4"."ELEMENTRANGE_ID"=8670 OR "T4"."ELEMENTRANGE_ID"=8671 OR "T4"."ELEMENTRANGE_ID"=8672 OR "T4"."ELEMENTRANGE_ID"=8673 OR "T4"."ELEMENTRANGE_ID"=8674 OR "T4"."ELEMENTRANGE_ID"=8675 OR "T4"."ELEMENTRANGE_ID"=8676 OR "T4"."ELEMENTRANGE_ID"=8679 OR "T4"."ELEMENTRANGE_ID"=8680 OR "T4"."ELEMENTRANGE_ID"=8681 OR "T4"."ELEMENTRANGE_ID"=8682 OR "T4"."ELEMENTRANGE_ID"=8683 OR "T4"."ELEMENTRANGE_ID"=8684 OR "T4"."ELEMENTRANGE_ID"=8685 OR "T4"."ELEMENTRANGE_ID"=8686 OR "T4"."ELEMENTRANGE_ID"=8687 OR "T4"."ELEMENTRANGE_ID"=8688 OR "T4"."ELEMENTRANGE_ID"=8689 OR "T4"."ELEMENTRANGE_ID"=8690 OR "T4"."ELEMENTRANGE_ID"=8691 OR "T4"."ELEMENTRANGE_ID"=8692 OR "T4"."ELEMENTRANGE_ID"=8693 OR "T4"."ELEMENTRANGE_ID"=8694 OR "T4"."ELEMENTRANGE_ID"=8695 OR "T4"."ELEMENTRANGE_ID"=8696 OR "T4"."ELEMENTRANGE_ID"=8697 OR "T4"."ELEMENTRANGE_ID"=8698 OR "T4"."ELEMENTRANGE_ID"=8699) AND "T1"."PD_PRICE_UNITS_EUR">="T4"."LBOUND" AND "T1"."PD_PRICE_UNITS_EUR"<="T4"."UBOUND") * 30 - filter(("T4"."ELEMENTRANGE_ID"=8656 OR "T4"."ELEMENTRANGE_ID"=8657 OR "T4"."ELEMENTRANGE_ID"=8658 OR "T4"."ELEMENTRANGE_ID"=8659 OR "T4"."ELEMENTRANGE_ID"=8660 OR "T4"."ELEMENTRANGE_ID"=8661 OR "T4"."ELEMENTRANGE_ID"=8662 OR "T4"."ELEMENTRANGE_ID"=8663 OR "T4"."ELEMENTRANGE_ID"=8664 OR "T4"."ELEMENTRANGE_ID"=8665 OR "T4"."ELEMENTRANGE_ID"=8666 OR "T4"."ELEMENTRANGE_ID"=8667 OR "T4"."ELEMENTRANGE_ID"=8668 OR "T4"."ELEMENTRANGE_ID"=8669 OR "T4"."ELEMENTRANGE_ID"=8670 OR "T4"."ELEMENTRANGE_ID"=8671 OR "T4"."ELEMENTRANGE_ID"=8672 OR "T4"."ELEMENTRANGE_ID"=8673 OR "T4"."ELEMENTRANGE_ID"=8674 OR "T4"."ELEMENTRANGE_ID"=8675 OR "T4"."ELEMENTRANGE_ID"=8676 OR "T4"."ELEMENTRANGE_ID"=8679 OR "T4"."ELEMENTRANGE_ID"=8680 OR "T4"."ELEMENTRANGE_ID"=8681 OR "T4"."ELEMENTRANGE_ID"=8682 OR "T4"."ELEMENTRANGE_ID"=8683 OR "T4"."ELEMENTRANGE_ID"=8684 OR "T4"."ELEMENTRANGE_ID"=8685 OR "T4"."ELEMENTRANGE_ID"=8686 OR "T4"."ELEMENTRANGE_ID"=8687 OR "T4"."ELEMENTRANGE_ID"=8688 OR "T4"."ELEMENTRANGE_ID"=8689 OR "T4"."ELEMENTRANGE_ID"=8690 OR "T4"."ELEMENTRANGE_ID"=8691 OR "T4"."ELEMENTRANGE_ID"=8692 OR "T4"."ELEMENTRANGE_ID"=8693 OR "T4"."ELEMENTRANGE_ID"=8694 OR "T4"."ELEMENTRANGE_ID"=8695 OR "T4"."ELEMENTRANGE_ID"=8696 OR "T4"."ELEMENTRANGE_ID"=8697 OR "T4"."ELEMENTRANGE_ID"=8698 OR "T4"."ELEMENTRANGE_ID"=8699) AND "T1"."PD_PRICE_UNITS_EUR">="T4"."LBOUND" AND "T1"."PD_PRICE_UNITS_EUR"<="T4"."UBOUND")
Hint Report (identified by operation id / Query Block Name / Object Alias): Total hints for statement: 2 (U - Unused (2)) ------------------------------------------------------------------------------- 0 - STATEMENT U - NO_PARALLEL 21 - SEL$99438B98 / T1@SEL$1 U - BITMAP_TREE(@"SEL$99438B98" "T1"@"SEL$1" AND(("FACT_PD_OUT_ITM_293"."ITEM_ID") OR(2 1 ("FACT_PD_OUT_ITM_293"."PERIOD_ID") 2 ("FACT_PD_OUT_ITM_293"."PERIOD_ID") 3 ("FACT_PD_OUT_ITM_293"."PERIOD_ID") 4 ("FACT_PD_OUT_ITM_293"."PERIOD_ID"))))
Notes ----- - dop_reason = hint - dop = 1 - px_in_memory_imc = no - px_in_memory = no
--------------------------------------------------------------------------------------------- Object ID : 13942 Test Plan Name : SQL_PLAN_8kb8xnguq2pj7ffb2a113 Base Plan Name : Cost-based plan SQL Handle : SQL_892d1da3f5615627 Parsing Schema : SYS Test Plan Creator : SYS SQL Text : select con#,obj#,rcon#,enabled,nvl(defer,0),spare2,spare3,refact from cdef$ where robj#=:1
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. This plan was skipped because either the database is not fully open or the SQL statement is ineligible for SQL Plan Management.
--------------------------------------------------------------------------------------------- Object ID : 13943 Test Plan Name : SQL_PLAN_3zkuzv4vrvmdn1207502e Base Plan Name : Cost-based plan SQL Handle : SQL_3fcb5fd9377dcdb4 Parsing Schema : SYS Test Plan Creator : SYS SQL Text : select * from ( SELECT OBJECT_NAME, OBJECT_ID, cast(last_ddl_time as timestamp) LAST_MODIFIED, DECODE(STATUS, 'INVALID', 'TRUE', 'FALSE') INVALID, 'TRUE' runnable, 'TRUE' BODY_ALLOWED, PLSQL_DEBUG, 'PACKAGE BODY' BODY_TYPE FROM SYS.Dba_OBJECTS o, Dba_plsql_object_settings s WHERE o.OWNER = :SCHEMA AND s.OWNER(+) = :SCHEMA AND s.name(+) = o.OBJECT_NAME AND s.type(+) = 'PACKAGE' AND OBJECT_TYPE = 'PACKAGE' AND SUBOBJECT_NAME IS NULL AND OBJECT_ID NOT IN ( SELECT PURGE_OBJECT FROM RECYCLEBIN ) )
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. This plan was skipped because either the database is not fully open or the SQL statement is ineligible for SQL Plan Management.
--------------------------------------------------------------------------------------------- Object ID : 13944 Test Plan Name : SQL_PLAN_1b2nh1v13jyv2e6c7959f Base Plan Name : Cost-based plan SQL Handle : SQL_158a900ec238fb62 Parsing Schema : SYS Test Plan Creator : SYS SQL Text : select nvl2(stale_stats, decode(stale_stats, 'NO', 3, 1), 2) from dba_tab_statistics where owner=:1 and table_name=:2
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. This plan was skipped because either the database is not fully open or the SQL statement is ineligible for SQL Plan Management.
--------------------------------------------------------------------------------------------- Object ID : 13945 Test Plan Name : SQL_PLAN_dx0x682qjvdpq7990ea6a Base Plan Name : Cost-based plan SQL Handle : SQL_de83a640ad1db6b6 Parsing Schema : SYS Test Plan Creator : SYS SQL Text : select /*+ connect_by_filtering index(sysauth$ i_sysauth1) */ privilege#, bitand(nvl(option$, 0), 72), grantee#, level from sysauth$ connect by grantee#=prior privilege# and privilege#>0 start with grantee#=:1 and privilege#>0
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 13945, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 13946 Test Plan Name : SQL_PLAN_9rswfgkpj2z3k5e46503b Base Plan Name : Cost-based plan SQL Handle : SQL_9be38e7cab117c72 Parsing Schema : SYS Test Plan Creator : SYS SQL Text : SELECT EXTRACTVALUE(VALUE(D), '/row/@op'), EXTRACTVALUE(VALUE(D), '/row/@dis'), EXTRACTVALUE(VALUE(D), '/row/@par'), EXTRACTVALUE(VALUE(D), '/row/@prt'), EXTRACTVALUE(VALUE(D), '/row/@dep'), EXTRACTVALUE(VALUE(D), '/row/@skp') FROM TABLE(XMLSEQUENCE(EXTRACT(XMLTYPE(:B1 ), '/*/display_map/row'))) D
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 13946, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 13947 Test Plan Name : SQL_PLAN_2sbbguhtmhu9a4e05c5e8 Base Plan Name : Cost-based plan SQL Handle : SQL_2c2d6fd43338692a Parsing Schema : DBSNMP Test Plan Creator : SYS SQL Text : with last_run as ( SELECT all_runs.OWNER, all_runs.JOB_NAME, all_runs.STATUS FROM DBA_SCHEDULER_JOB_RUN_DETAILS all_runs, (SELECT sub.OWNER, sub.JOB_NAME, MAX(sub.ACTUAL_START_DATE) AS START_DATE FROM DBA_SCHEDULER_JOB_RUN_DETAILS sub WHERE sub.job_name in (SELECT job_name FROM DBA_SCHEDULER_JOB_RUN_DETAILS where status = 'FAILED') GROUP BY sub.OWNER,JOB_NAME) latest_runs WHERE all_runs.status = 'FAILED' AND all_runs.OWNER= latest_runs.OWNER AND all_runs.JOB_NAME= latest_runs.JOB_NAME AND all_runs.ACTUAL_START_DATE=latest_runs.START_DATE ) SELECT NVL(SUM(broken),0), NVL(SUM(failed),0) FROM (SELECT DECODE(broken, 'N', 0, 1) broken, DECODE(NVL(failures,0), 0, 0, 1) failed FROM dba_jobs UNION ALL SELECT DECODE(STATE,'BROKEN',1,0) broken, DECODE(STATUS ,'FAILED',DECODE(STATE,'BROKEN',0,'DISABLED',0,1),0) failed FROM (SELECT all_jobs.OWNER, all_jobs.JOB_NAME, last_run.STATUS, all_jobs.STATE FROM last_run, DBA_SCHEDULER_JOBS all_jobs WHERE last_run.OWNER=all_jobs.OWNER AND last_run.JOB_NAME=all_jobs.JOB_NAME))
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 13947, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 13948 Test Plan Name : SQL_PLAN_46d4rk9vaf26x03139f39 Base Plan Name : Cost-based plan SQL Handle : SQL_4334979276a708dd Parsing Schema : BOTANG Test Plan Creator : SYS SQL Text : select * from sys.all_objects where object_type = :object_type and owner = :object_owner and object_name = :object_name and :sub_object is null
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 13948, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 13949 Test Plan Name : SQL_PLAN_djzmaknc190hgee8bb7c0 Base Plan Name : Cost-based plan SQL Handle : SQL_d8fe6a951814820f Parsing Schema : APPS Test Plan Creator : SYS SQL Text : SELECT /* ORDERED INDEX(t1) USE_HASH(t1) */ 'B' || t2.pg_featurevalue_13_id pg_featurevalue_13_id, 'B' || t2.pg_featurevalue_02_id pg_featurevalue_02_id, 'r' || t4.elementrange_id pg_featurevalue_15_id, 'B' || t2.pg_featurevalue_08_id pg_featurevalue_08_id, 'B' || t2.pg_featurevalue_01_id pg_featurevalue_01_id, 'r' || t5.elementrange_id price_eur_id, 'B' || t2.productgroup_id productgroup_id, 'G' || t6.elementgroup_id period_id, SUM(t 1.pd_sales_units*t1.pd_projection_factor*t1.pd_price_units_ eur) salesvalueeur FROM lu_item_293 t2, lu_pg_featurevalue_15 t3, lu_elementrange_rel t4, fact_pd_out_itm_293 t1, lu_elementgroup_rel t6, lu_elementrange_rel t5 WHERE /* Attribute Joins */ ((t1.item_id = t2.item_id /* Customizing Begin */ AND t1.productgroup_id = t2.productgroup_id) /* Customizing End */ AND (t2.pg_featurevalue_15_id = t3.pg_featurevalue_15_id) AND (t3.pg_featurevalue_15_num BETWEEN t4.lbound AND t4.ubound) AND (t1.pd_price_units_eur BETWEEN t5.lbound AND t5.ubound) AND (t1.period_id = t6.value_id) ) /* Attribute Filters */ AND ((t2.productgroup_id = 15520) AND (t1.productgroup_id = 15520) /* Push Down Filters */ AND (t2.pg_featurevalue_01_id IN (103,104,107,110,113,134,148,1 67,171,186,192,216,2259,236,241,2477,24958,27445,297,3891,7 1,76,89,92,95)) AND (t2.pg_featurevalue_08_id IN (716,717)) AND (t2.pg_featurevalue_02_id IN (4165,4166)) AND (t2.pg_featurevalue_13_id = 5424) AND (t4.elementrange_id IN (3091,3092)) AND (t5.elementrange_id IN (8671,8672,8673,8674,8675,8676,8679)) AND (t6.elementgroup_id = 14659) AND (t1.period_id IN (20030699 999060,20030799999030,20030799999060,20030799999120)) /* Resolved ElementGroup Filters */ ) /* Fact Filters */ AND (t1.project_type_id = '1' ) GROUP BY t2.pg_featurevalue_13_id, t2.pg_featurevalue_02_id, t4.elementrange_id, t2.pg_featurevalue_08_id, t2.pg_featurevalue_01_id, t5.elementrange_id, t2.productgroup_id, t6.elementgroup_id
Execution Statistics: ----------------------------- Base Plan Test Plan ---------------------------- ---------------------------- Elapsed Time (s): .013065 .010226 CPU Time (s): .012977 .010173 Buffer Gets: 3406 212 Optimizer Cost: 84 909 Disk Reads: 0 0 Direct Writes: 0 0 Rows Processed: 24 22 Executions: 9 10
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (2): ----------------------------- 1. The plan was verified in 2.41400 seconds. It passed the benefit criterion because its verified performance was 14.39727 times better than that of the baseline plan. 2. The plan was automatically accepted.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 13949, task_owner => 'SYS');
EXPLAIN PLANS SECTION ---------------------------------------------------------------------------------------------
Baseline Plan ----------------------------- Plan Id : 13695 Plan Hash Value : 546558701
---------------------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost | Time | ---------------------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 6 | 396 | 84 | 00:00:01 | | 1 | HASH GROUP BY | | 6 | 396 | 84 | 00:00:01 | | 2 | MERGE JOIN | | 6 | 396 | 83 | 00:00:01 | | 3 | SORT JOIN | | 9 | 459 | 80 | 00:00:01 | | 4 | NESTED LOOPS | | 9 | 459 | 79 | 00:00:01 | | 5 | NESTED LOOPS | | 9 | 459 | 79 | 00:00:01 | | 6 | VIEW | VW_GBC_16 | 9 | 315 | 61 | 00:00:01 | | 7 | HASH GROUP BY | | 9 | 828 | 61 | 00:00:01 | | 8 | MERGE JOIN | | 9 | 828 | 60 | 00:00:01 | | 9 | SORT JOIN | | 1 | 77 | 56 | 00:00:01 | | 10 | NESTED LOOPS | | 1 | 77 | 55 | 00:00:01 | | 11 | NESTED LOOPS | | 1 | 77 | 55 | 00:00:01 | | 12 | MERGE JOIN CARTESIAN | | 4 | 172 | 14 | 00:00:01 | | * 13 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTGROUP_REL | 1 | 11 | 11 | 00:00:01 | | 14 | BUFFER SORT | | 397 | 12704 | 4 | 00:00:01 | | * 15 | TABLE ACCESS INMEMORY FULL | LU_ITEM_293 | 397 | 12704 | 4 | 00:00:01 | | 16 | BITMAP CONVERSION TO ROWIDS | | | | | | | 17 | BITMAP AND | | | | | | | * 18 | BITMAP INDEX SINGLE VALUE | FACT_274_PER_IDX | | | | | | * 19 | BITMAP INDEX SINGLE VALUE | FACT_274_ITEM_IDX | | | | | | * 20 | TABLE ACCESS BY INDEX ROWID | FACT_PD_OUT_ITM_293 | 1 | 34 | 55 | 00:00:01 | | * 21 | FILTER | | | | | | | * 22 | SORT JOIN | | 7 | 105 | 4 | 00:00:01 | | * 23 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTRANGE_REL | 7 | 105 | 3 | 00:00:01 | | * 24 | INDEX RANGE SCAN | ADM_PG_FEATUREVALUE_IDX2 | 1 | | 1 | 00:00:01 | | * 25 | TABLE ACCESS BY INDEX ROWID | ADM_PG_FEATUREVALUE | 1 | 16 | 2 | 00:00:01 | | * 26 | FILTER | | | | | | | * 27 | SORT JOIN | | 2 | 30 | 3 | 00:00:01 | | * 28 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTRANGE_REL | 2 | 30 | 2 | 00:00:01 | ----------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 13 - access("T6"."ELEMENTGROUP_ID"=14659 AND ("T6"."VALUE_ID"=20030699999060 OR "T6"."VALUE_ID"=20030799999030 OR "T6"."VALUE_ID"=20030799999060 OR "T6"."VALUE_ID"=20030799999120)) * 13 - filter("T6"."ELEMENTGROUP_ID"=14659 AND ("T6"."VALUE_ID"=20030699999060 OR "T6"."VALUE_ID"=20030799999030 OR "T6"."VALUE_ID"=20030799999060 OR "T6"."VALUE_ID"=20030799999120)) * 15 - access("T2"."PG_FEATUREVALUE_13_ID"=5424 AND ("T2"."PG_FEATUREVALUE_01_ID"=71 OR "T2"."PG_FEATUREVALUE_01_ID"=76 OR "T2"."PG_FEATUREVALUE_01_ID"=89 OR "T2"."PG_FEATUREVALUE_01_ID"=92 OR "T2"."PG_FEATUREVALUE_01_ID"=95 OR "T2"."PG_FEATUREVALUE_01_ID"=103 OR "T2"."PG_FEATUREVALUE_01_ID"=104 OR "T2"."PG_FEATUREVALUE_01_ID"=107 OR "T2"."PG_FEATUREVALUE_01_ID"=110 OR "T2"."PG_FEATUREVALUE_01_ID"=113 OR "T2"."PG_FEATUREVALUE_01_ID"=134 OR "T2"."PG_FEATUREVALUE_01_ID"=148 OR "T2"."PG_FEATUREVALUE_01_ID"=167 OR "T2"."PG_FEATUREVALUE_01_ID"=171 OR "T2"."PG_FEATUREVALUE_01_ID"=186 OR "T2"."PG_FEATUREVALUE_01_ID"=192 OR "T2"."PG_FEATUREVALUE_01_ID"=216 OR "T2"."PG_FEATUREVALUE_01_ID"=236 OR "T2"."PG_FEATUREVALUE_01_ID"=241 OR "T2"."PG_FEATUREVALUE_01_ID"=297 OR "T2"."PG_FEATUREVALUE_01_ID"=2259 OR "T2"."PG_FEATUREVALUE_01_ID"=2477 OR "T2"."PG_FEATUREVALUE_01_ID"=3891 OR "T2"."PG_FEATUREVALUE_01_ID"=24958 OR "T2"."PG_FEATUREVALUE_01_ID"=27445) AND "T2"."PRODUCTGROUP_ID"=15520 AND ("T2"."PG_FEATUREVALUE_02_ID"=4165 OR "T2"."PG_FEATUREVALUE_02_ID"=4166) AND ("T2"."PG_FEATUREVALUE_08_ID"=716 OR "T2"."PG_FEATUREVALUE_08_ID"=717)) * 15 - filter("T2"."PG_FEATUREVALUE_13_ID"=5424 AND ("T2"."PG_FEATUREVALUE_01_ID"=71 OR "T2"."PG_FEATUREVALUE_01_ID"=76 OR "T2"."PG_FEATUREVALUE_01_ID"=89 OR "T2"."PG_FEATUREVALUE_01_ID"=92 OR "T2"."PG_FEATUREVALUE_01_ID"=95 OR "T2"."PG_FEATUREVALUE_01_ID"=103 OR "T2"."PG_FEATUREVALUE_01_ID"=104 OR "T2"."PG_FEATUREVALUE_01_ID"=107 OR "T2"."PG_FEATUREVALUE_01_ID"=110 OR "T2"."PG_FEATUREVALUE_01_ID"=113 OR "T2"."PG_FEATUREVALUE_01_ID"=134 OR "T2"."PG_FEATUREVALUE_01_ID"=148 OR "T2"."PG_FEATUREVALUE_01_ID"=167 OR "T2"."PG_FEATUREVALUE_01_ID"=171 OR "T2"."PG_FEATUREVALUE_01_ID"=186 OR "T2"."PG_FEATUREVALUE_01_ID"=192 OR "T2"."PG_FEATUREVALUE_01_ID"=216 OR "T2"."PG_FEATUREVALUE_01_ID"=236 OR "T2"."PG_FEATUREVALUE_01_ID"=241 OR "T2"."PG_FEATUREVALUE_01_ID"=297 OR "T2"."PG_FEATUREVALUE_01_ID"=2259 OR "T2"."PG_FEATUREVALUE_01_ID"=2477 OR "T2"."PG_FEATUREVALUE_01_ID"=3891 OR "T2"."PG_FEATUREVALUE_01_ID"=24958 OR "T2"."PG_FEATUREVALUE_01_ID"=27445) AND "T2"."PRODUCTGROUP_ID"=15520 AND ("T2"."PG_FEATUREVALUE_02_ID"=4165 OR "T2"."PG_FEATUREVALUE_02_ID"=4166) AND ("T2"."PG_FEATUREVALUE_08_ID"=716 OR "T2"."PG_FEATUREVALUE_08_ID"=717)) * 18 - access("T1"."PERIOD_ID"="T6"."VALUE_ID") * 18 - filter("T1"."PERIOD_ID"=20030699999060 OR "T1"."PERIOD_ID"=20030799999030 OR "T1"."PERIOD_ID"=20030799999060 OR "T1"."PERIOD_ID"=20030799999120) * 19 - access("T1"."ITEM_ID"="T2"."ITEM_ID") * 20 - filter(("T1"."PERIOD_ID"=20030699999060 OR "T1"."PERIOD_ID"=20030799999030 OR "T1"."PERIOD_ID"=20030799999060 OR "T1"."PERIOD_ID"=20030799999120) AND "T1"."PRODUCTGROUP_ID"=15520 AND "T1"."PROJECT_TYPE_ID"='1' AND "T1"."PRODUCTGROUP_ID"="T2"."PRODUCTGROUP_ID") * 21 - filter("T1"."PD_PRICE_UNITS_EUR">="T5"."LBOUND") * 22 - access("T1"."PD_PRICE_UNITS_EUR"<="T5"."UBOUND") * 22 - filter("T1"."PD_PRICE_UNITS_EUR"<="T5"."UBOUND") * 23 - access("T5"."ELEMENTRANGE_ID"=8671 OR "T5"."ELEMENTRANGE_ID"=8672 OR "T5"."ELEMENTRANGE_ID"=8673 OR "T5"."ELEMENTRANGE_ID"=8674 OR "T5"."ELEMENTRANGE_ID"=8675 OR "T5"."ELEMENTRANGE_ID"=8676 OR "T5"."ELEMENTRANGE_ID"=8679) * 23 - filter("T5"."ELEMENTRANGE_ID"=8671 OR "T5"."ELEMENTRANGE_ID"=8672 OR "T5"."ELEMENTRANGE_ID"=8673 OR "T5"."ELEMENTRANGE_ID"=8674 OR "T5"."ELEMENTRANGE_ID"=8675 OR "T5"."ELEMENTRANGE_ID"=8676 OR "T5"."ELEMENTRANGE_ID"=8679) * 24 - access("ITEM_1"="FEATUREVALUE_ID") * 25 - filter("TABLE_NR"=15 AND "DELETED"=0) * 26 - filter("FEATUREVALUE_NUM"<="T4"."UBOUND") * 27 - access(INTERNAL_FUNCTION("FEATUREVALUE_NUM")>=INTERNAL_FUNCTION("T4"."LBOUND")) * 27 - filter(INTERNAL_FUNCTION("FEATUREVALUE_NUM")>=INTERNAL_FUNCTION("T4"."LBOUND")) * 28 - access("T4"."ELEMENTRANGE_ID"=3091 OR "T4"."ELEMENTRANGE_ID"=3092) * 28 - filter("T4"."ELEMENTRANGE_ID"=3091 OR "T4"."ELEMENTRANGE_ID"=3092)
Hint Report (identified by operation id / Query Block Name / Object Alias): Total hints for statement: 1 (U - Unused (1)) ------------------------------------------------------------------------------- 0 - STATEMENT U - NO_PARALLEL
Notes ----- - dop_reason = hint - dop = 1 - px_in_memory_imc = no - px_in_memory = no
Test Plan ----------------------------- Plan Id : 13696 Plan Hash Value : 4002133952
----------------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost | Time | ----------------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 6 | 738 | 909 | 00:00:01 | | 1 | HASH GROUP BY | | 6 | 738 | 909 | 00:00:01 | | 2 | MERGE JOIN | | 6 | 738 | 908 | 00:00:01 | | 3 | SORT JOIN | | 1 | 108 | 904 | 00:00:01 | | 4 | MERGE JOIN | | 1 | 108 | 903 | 00:00:01 | | 5 | SORT JOIN | | 1 | 93 | 900 | 00:00:01 | | * 6 | HASH JOIN | | 1 | 93 | 899 | 00:00:01 | | * 7 | HASH JOIN | | 1 | 77 | 582 | 00:00:01 | | * 8 | TABLE ACCESS INMEMORY FULL | LU_ITEM_293 | 397 | 12704 | 4 | 00:00:01 | | * 9 | HASH JOIN | | 15 | 675 | 578 | 00:00:01 | | 10 | JOIN FILTER CREATE | :BF0000 | 1 | 11 | 11 | 00:00:01 | | * 11 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTGROUP_REL | 1 | 11 | 11 | 00:00:01 | | 12 | JOIN FILTER USE | :BF0000 | 120991 | 4113694 | 565 | 00:00:01 | | * 13 | TABLE ACCESS INMEMORY FULL | FACT_PD_OUT_ITM_293 | 120991 | 4113694 | 565 | 00:00:01 | | * 14 | TABLE ACCESS FULL | ADM_PG_FEATUREVALUE | 2472 | 39552 | 317 | 00:00:01 | | * 15 | FILTER | | | | | | | * 16 | SORT JOIN | | 2 | 30 | 3 | 00:00:01 | | * 17 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTRANGE_REL | 2 | 30 | 2 | 00:00:01 | | * 18 | FILTER | | | | | | | * 19 | SORT JOIN | | 7 | 105 | 4 | 00:00:01 | | * 20 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTRANGE_REL | 7 | 105 | 3 | 00:00:01 | -----------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 6 - access("T2"."PG_FEATUREVALUE_15_ID"="FEATUREVALUE_ID") * 7 - access("T1"."ITEM_ID"="T2"."ITEM_ID" AND "T1"."PRODUCTGROUP_ID"="T2"."PRODUCTGROUP_ID") * 8 - access("T2"."PG_FEATUREVALUE_13_ID"=5424 AND ("T2"."PG_FEATUREVALUE_01_ID"=71 OR "T2"."PG_FEATUREVALUE_01_ID"=76 OR "T2"."PG_FEATUREVALUE_01_ID"=89 OR "T2"."PG_FEATUREVALUE_01_ID"=92 OR "T2"."PG_FEATUREVALUE_01_ID"=95 OR "T2"."PG_FEATUREVALUE_01_ID"=103 OR "T2"."PG_FEATUREVALUE_01_ID"=104 OR "T2"."PG_FEATUREVALUE_01_ID"=107 OR "T2"."PG_FEATUREVALUE_01_ID"=110 OR "T2"."PG_FEATUREVALUE_01_ID"=113 OR "T2"."PG_FEATUREVALUE_01_ID"=134 OR "T2"."PG_FEATUREVALUE_01_ID"=148 OR "T2"."PG_FEATUREVALUE_01_ID"=167 OR "T2"."PG_FEATUREVALUE_01_ID"=171 OR "T2"."PG_FEATUREVALUE_01_ID"=186 OR "T2"."PG_FEATUREVALUE_01_ID"=192 OR "T2"."PG_FEATUREVALUE_01_ID"=216 OR "T2"."PG_FEATUREVALUE_01_ID"=236 OR "T2"."PG_FEATUREVALUE_01_ID"=241 OR "T2"."PG_FEATUREVALUE_01_ID"=297 OR "T2"."PG_FEATUREVALUE_01_ID"=2259 OR "T2"."PG_FEATUREVALUE_01_ID"=2477 OR "T2"."PG_FEATUREVALUE_01_ID"=3891 OR "T2"."PG_FEATUREVALUE_01_ID"=24958 OR "T2"."PG_FEATUREVALUE_01_ID"=27445) AND "T2"."PRODUCTGROUP_ID"=15520 AND ("T2"."PG_FEATUREVALUE_02_ID"=4165 OR "T2"."PG_FEATUREVALUE_02_ID"=4166) AND ("T2"."PG_FEATUREVALUE_08_ID"=716 OR "T2"."PG_FEATUREVALUE_08_ID"=717)) * 8 - filter("T2"."PG_FEATUREVALUE_13_ID"=5424 AND ("T2"."PG_FEATUREVALUE_01_ID"=71 OR "T2"."PG_FEATUREVALUE_01_ID"=76 OR "T2"."PG_FEATUREVALUE_01_ID"=89 OR "T2"."PG_FEATUREVALUE_01_ID"=92 OR "T2"."PG_FEATUREVALUE_01_ID"=95 OR "T2"."PG_FEATUREVALUE_01_ID"=103 OR "T2"."PG_FEATUREVALUE_01_ID"=104 OR "T2"."PG_FEATUREVALUE_01_ID"=107 OR "T2"."PG_FEATUREVALUE_01_ID"=110 OR "T2"."PG_FEATUREVALUE_01_ID"=113 OR "T2"."PG_FEATUREVALUE_01_ID"=134 OR "T2"."PG_FEATUREVALUE_01_ID"=148 OR "T2"."PG_FEATUREVALUE_01_ID"=167 OR "T2"."PG_FEATUREVALUE_01_ID"=171 OR "T2"."PG_FEATUREVALUE_01_ID"=186 OR "T2"."PG_FEATUREVALUE_01_ID"=192 OR "T2"."PG_FEATUREVALUE_01_ID"=216 OR "T2"."PG_FEATUREVALUE_01_ID"=236 OR "T2"."PG_FEATUREVALUE_01_ID"=241 OR "T2"."PG_FEATUREVALUE_01_ID"=297 OR "T2"."PG_FEATUREVALUE_01_ID"=2259 OR "T2"."PG_FEATUREVALUE_01_ID"=2477 OR "T2"."PG_FEATUREVALUE_01_ID"=3891 OR "T2"."PG_FEATUREVALUE_01_ID"=24958 OR "T2"."PG_FEATUREVALUE_01_ID"=27445) AND "T2"."PRODUCTGROUP_ID"=15520 AND ("T2"."PG_FEATUREVALUE_02_ID"=4165 OR "T2"."PG_FEATUREVALUE_02_ID"=4166) AND ("T2"."PG_FEATUREVALUE_08_ID"=716 OR "T2"."PG_FEATUREVALUE_08_ID"=717)) * 9 - access("T1"."PERIOD_ID"="T6"."VALUE_ID") * 11 - access("T6"."ELEMENTGROUP_ID"=14659 AND ("T6"."VALUE_ID"=20030699999060 OR "T6"."VALUE_ID"=20030799999030 OR "T6"."VALUE_ID"=20030799999060 OR "T6"."VALUE_ID"=20030799999120)) * 11 - filter("T6"."ELEMENTGROUP_ID"=14659 AND ("T6"."VALUE_ID"=20030699999060 OR "T6"."VALUE_ID"=20030799999030 OR "T6"."VALUE_ID"=20030799999060 OR "T6"."VALUE_ID"=20030799999120)) * 13 - access(("T1"."PERIOD_ID"=20030699999060 OR "T1"."PERIOD_ID"=20030799999030 OR "T1"."PERIOD_ID"=20030799999060 OR "T1"."PERIOD_ID"=20030799999120) AND "T1"."PRODUCTGROUP_ID"=15520 AND "T1"."PROJECT_TYPE_ID"='1' AND SYS_OP_BLOOM_FILTER(:BF0000,"T1"."PERIOD_ID")) * 13 - filter(("T1"."PERIOD_ID"=20030699999060 OR "T1"."PERIOD_ID"=20030799999030 OR "T1"."PERIOD_ID"=20030799999060 OR "T1"."PERIOD_ID"=20030799999120) AND "T1"."PRODUCTGROUP_ID"=15520 AND "T1"."PROJECT_TYPE_ID"='1' AND SYS_OP_BLOOM_FILTER(:BF0000,"T1"."PERIOD_ID")) * 14 - filter("TABLE_NR"=15 AND "DELETED"=0) * 15 - filter("FEATUREVALUE_NUM"<="T4"."UBOUND") * 16 - access(INTERNAL_FUNCTION("FEATUREVALUE_NUM")>=INTERNAL_FUNCTION("T4"."LBOUND")) * 16 - filter(INTERNAL_FUNCTION("FEATUREVALUE_NUM")>=INTERNAL_FUNCTION("T4"."LBOUND")) * 17 - access("T4"."ELEMENTRANGE_ID"=3091 OR "T4"."ELEMENTRANGE_ID"=3092) * 17 - filter("T4"."ELEMENTRANGE_ID"=3091 OR "T4"."ELEMENTRANGE_ID"=3092) * 18 - filter("T1"."PD_PRICE_UNITS_EUR"<="T5"."UBOUND") * 19 - access(INTERNAL_FUNCTION("T1"."PD_PRICE_UNITS_EUR")>=INTERNAL_FUNCTION("T5"."LBOUND")) * 19 - filter(INTERNAL_FUNCTION("T1"."PD_PRICE_UNITS_EUR")>=INTERNAL_FUNCTION("T5"."LBOUND")) * 20 - access("T5"."ELEMENTRANGE_ID"=8671 OR "T5"."ELEMENTRANGE_ID"=8672 OR "T5"."ELEMENTRANGE_ID"=8673 OR "T5"."ELEMENTRANGE_ID"=8674 OR "T5"."ELEMENTRANGE_ID"=8675 OR "T5"."ELEMENTRANGE_ID"=8676 OR "T5"."ELEMENTRANGE_ID"=8679) * 20 - filter("T5"."ELEMENTRANGE_ID"=8671 OR "T5"."ELEMENTRANGE_ID"=8672 OR "T5"."ELEMENTRANGE_ID"=8673 OR "T5"."ELEMENTRANGE_ID"=8674 OR "T5"."ELEMENTRANGE_ID"=8675 OR "T5"."ELEMENTRANGE_ID"=8676 OR "T5"."ELEMENTRANGE_ID"=8679)
Hint Report (identified by operation id / Query Block Name / Object Alias): Total hints for statement: 1 (U - Unused (1)) ------------------------------------------------------------------------------- 0 - STATEMENT U - NO_PARALLEL
Notes ----- - dop_reason = hint - dop = 1 - px_in_memory_imc = no - px_in_memory = no
--------------------------------------------------------------------------------------------- Object ID : 13950 Test Plan Name : SQL_PLAN_5uxa4v3v717mka65f911f Base Plan Name : Cost-based plan SQL Handle : SQL_5d7544d8f6709e72 Parsing Schema : BOTANG Test Plan Creator : SYS SQL Text : select column_name from sys.all_cons_columns where owner = :owner and table_name = :table_name and constraint_name = :constraint_name order by position
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 13950, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 13951 Test Plan Name : SQL_PLAN_bdcbtbx1d35xa60f40b81 Base Plan Name : Cost-based plan SQL Handle : SQL_b6b1795f42d197aa Parsing Schema : SYS Test Plan Creator : SYS SQL Text : select procedure#,procedurename,properties,itypeobj#, properties2 from procedureinfo$ where obj#=:1 order by procedurename desc, overload# desc
ERRORS SECTION --------------------------------------------------------------------------------------------- ORA-16960: SQL Analyze could not reproduce the desired plan. --------------------------------------------------------------------------------------------- Object ID : 13952 Test Plan Name : SQL_PLAN_7j1sw3rx2pp98cf3fab04 Base Plan Name : Cost-based plan SQL Handle : SQL_78871c1dfa2ad528 Parsing Schema : SYS Test Plan Creator : SYS SQL Text : select xmlagg( xmlelement("operation", xmlattributes(operation as "name", options as "options", id as "id", depth as "depth", position as "pos"), nvl2(object_name, xmlelement("object", object_name), NULL), decode(:format, 'BASIC', null, nvl2(cardinality, xmlelement("card", cardinality), NULL)), decode(:format, 'BASIC', null, nvl2(bytes, xmlelement("bytes", bytes), NULL)), nvl2(temp_space, xmlelement("temp_space",temp_space), NULL), decode(:format, 'BASIC', null, nvl2(cost, xmlelement("cost", cost), NULL)), nvl2(io_cost, xmlelement("io_cost", io_cost), NULL), nvl2(cpu_cost, xmlelement("cpu_cost",cpu_cost),NULL), decode(:format, 'BASIC', null, nvl2(time, xmlelement("time", sys.dbms_xplan.format_time_s(time)), NULL)), nvl2(partition_start, xmlelement("partition", xmlattributes(partition_start as "start", partition_stop as "stop")), NULL), nvl2(object_node, xmlelement("node", object_node), NULL), nvl2(distribution,xmlelement("distrib",distribution), NULL), nvl2(projection, xmlelement("project", projection), NULL), nvl2(access_predicates, xmlelement("predicates", xmlattributes(decode(substr(options, 1, 8), 'STORAGE ', 'storage', 'access') as "type"), access_predicates), NULL), nvl2(filter_predicates, xmlelement("predicates", xmlattributes('filter' as "type"), filter_predicates), NULL), nvl2(qblock_name, xmlelement("qblock", qblock_name), NULL), nvl2(object_alias, xmlelement("object_alias", object_alias), NULL), (case when other_xml is null then null else xmltype(other_xml) end) ) ) plan from (select id, parent_id, position, depth, operation, options, object_name, cardinality, bytes, temp_space, cost, io_cost, cpu_cost, time, pstart as partition_start, pstop as partition_stop, object_node, other_tag, distrib as distribution, projection, access_pred as access_predicates, filter_pred as filter_predicates, other, qblock_name, object_alias, other_xml, sql_profile, sql_plan_baseline, starts, outrows, crgets, cugets, reads, writes, etime, mem_opt, mem_one, last_mem_used, last_mem_usage, mem_opt_cnt, mem_one_cnt, mem_multi_cnt, max_tmp_used, last_tmp_used from table(dbms_xplan.get_plan_rows(:tab_name, :stmt_id, :plan_id, :format, :fpreds, 1, null)))
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 13952, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 13953 Test Plan Name : SQL_PLAN_6txh6j6k2x7fr1937c287 Base Plan Name : Cost-based plan SQL Handle : SQL_6cf60689a42e9dd7 Parsing Schema : SYS Test Plan Creator : SYS SQL Text : delete from ind_stats$ where obj#=:1
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. This plan was skipped because either the database is not fully open or the SQL statement is ineligible for SQL Plan Management.
--------------------------------------------------------------------------------------------- Object ID : 13954 Test Plan Name : SQL_PLAN_crzpzs5b4sxy3d6075f7d Base Plan Name : Cost-based plan SQL Handle : SQL_cbfebfc1564c77c3 Parsing Schema : SH Test Plan Creator : SYS SQL Text : /*+ NO_SQL_TRANSLATION */ SELECT 'COLUMN' type, owner, table_name object_name, column_name, column_id, data_type FROM sys.all_tab_cols WHERE hidden_column = 'NO' and rownum <=50 and owner = :1 and table_name = :2
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 13954, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 13955 Test Plan Name : SQL_PLAN_4thwparybvmbsee8bb7c0 Base Plan Name : Cost-based plan SQL Handle : SQL_4cc39555fcbdcd78 Parsing Schema : APPS Test Plan Creator : SYS SQL Text : SELECT /* ORDERED INDEX(t1) USE_HASH(t1) */ 'B' || t2.pg_featurevalue_13_id pg_featurevalue_13_id, 'B' || t2.pg_featurevalue_02_id pg_featurevalue_02_id, 'r' || t4.elementrange_id pg_featurevalue_15_id, 'B' || t2.pg_featurevalue_08_id pg_featurevalue_08_id, 'B' || t2.pg_featurevalue_01_id pg_featurevalue_01_id, 'r' || t5.elementrange_id price_eur_id, 'B' || t2.productgroup_id productgroup_id, 'G' || t6.elementgroup_id period_id, SUM(t 1.pd_sales_units*t1.pd_projection_factor*t1.pd_price_units_ eur) salesvalueeur FROM lu_item_293 t2, lu_pg_featurevalue_15 t3, lu_elementrange_rel t4, fact_pd_out_itm_293 t1, lu_elementgroup_rel t6, lu_elementrange_rel t5 WHERE /* Attribute Joins */ ((t1.item_id = t2.item_id /* Customizing Begin */ AND t1.productgroup_id = t2.productgroup_id) /* Customizing End */ AND (t2.pg_featurevalue_15_id = t3.pg_featurevalue_15_id) AND (t3.pg_featurevalue_15_num BETWEEN t4.lbound AND t4.ubound) AND (t1.pd_price_units_eur BETWEEN t5.lbound AND t5.ubound) AND (t1.period_id = t6.value_id) ) /* Attribute Filters */ AND ((t2.productgroup_id = 15520) AND (t1.productgroup_id = 15520) /* Push Down Filters */ AND (t2.pg_featurevalue_01_id IN (103,104,107,110,113,134,148,1 67,171,186,192,216,2259,236,241,2477,24958,27445,297,3891,7 1,76,89,92,95)) AND (t2.pg_featurevalue_08_id IN (716,717)) AND (t2.pg_featurevalue_02_id IN (4165,4166)) AND (t2.pg_featurevalue_13_id = 5424) AND (t4.elementrange_id IN (3091,3092)) AND (t5.elementrange_id IN (8680,8681,8682,8683,8684,8685,8686)) AND (t6.elementgroup_id = 14659) AND (t1.period_id IN (20030699 999060,20030799999030,20030799999060,20030799999120)) /* Resolved ElementGroup Filters */ ) /* Fact Filters */ AND (t1.project_type_id = '1' ) GROUP BY t2.pg_featurevalue_13_id, t2.pg_featurevalue_02_id, t4.elementrange_id, t2.pg_featurevalue_08_id, t2.pg_featurevalue_01_id, t5.elementrange_id, t2.productgroup_id, t6.elementgroup_id
Execution Statistics: ----------------------------- Base Plan Test Plan ---------------------------- ---------------------------- Elapsed Time (s): .009808 .007418 CPU Time (s): .00975 .007381 Buffer Gets: 3020 212 Optimizer Cost: 84 909 Disk Reads: 0 0 Direct Writes: 0 0 Rows Processed: 0 0 Executions: 10 10
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (2): ----------------------------- 1. The plan was verified in 2.19300 seconds. It passed the benefit criterion because its verified performance was 14.20044 times better than that of the baseline plan. 2. The plan was automatically accepted.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 13955, task_owner => 'SYS');
EXPLAIN PLANS SECTION ---------------------------------------------------------------------------------------------
Baseline Plan ----------------------------- Plan Id : 13699 Plan Hash Value : 546558701
---------------------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost | Time | ---------------------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 6 | 396 | 84 | 00:00:01 | | 1 | HASH GROUP BY | | 6 | 396 | 84 | 00:00:01 | | 2 | MERGE JOIN | | 6 | 396 | 83 | 00:00:01 | | 3 | SORT JOIN | | 9 | 459 | 80 | 00:00:01 | | 4 | NESTED LOOPS | | 9 | 459 | 79 | 00:00:01 | | 5 | NESTED LOOPS | | 9 | 459 | 79 | 00:00:01 | | 6 | VIEW | VW_GBC_16 | 9 | 315 | 61 | 00:00:01 | | 7 | HASH GROUP BY | | 9 | 828 | 61 | 00:00:01 | | 8 | MERGE JOIN | | 9 | 828 | 60 | 00:00:01 | | 9 | SORT JOIN | | 1 | 77 | 56 | 00:00:01 | | 10 | NESTED LOOPS | | 1 | 77 | 55 | 00:00:01 | | 11 | NESTED LOOPS | | 1 | 77 | 55 | 00:00:01 | | 12 | MERGE JOIN CARTESIAN | | 4 | 172 | 14 | 00:00:01 | | * 13 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTGROUP_REL | 1 | 11 | 11 | 00:00:01 | | 14 | BUFFER SORT | | 397 | 12704 | 4 | 00:00:01 | | * 15 | TABLE ACCESS INMEMORY FULL | LU_ITEM_293 | 397 | 12704 | 4 | 00:00:01 | | 16 | BITMAP CONVERSION TO ROWIDS | | | | | | | 17 | BITMAP AND | | | | | | | * 18 | BITMAP INDEX SINGLE VALUE | FACT_274_PER_IDX | | | | | | * 19 | BITMAP INDEX SINGLE VALUE | FACT_274_ITEM_IDX | | | | | | * 20 | TABLE ACCESS BY INDEX ROWID | FACT_PD_OUT_ITM_293 | 1 | 34 | 55 | 00:00:01 | | * 21 | FILTER | | | | | | | * 22 | SORT JOIN | | 7 | 105 | 4 | 00:00:01 | | * 23 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTRANGE_REL | 7 | 105 | 3 | 00:00:01 | | * 24 | INDEX RANGE SCAN | ADM_PG_FEATUREVALUE_IDX2 | 1 | | 1 | 00:00:01 | | * 25 | TABLE ACCESS BY INDEX ROWID | ADM_PG_FEATUREVALUE | 1 | 16 | 2 | 00:00:01 | | * 26 | FILTER | | | | | | | * 27 | SORT JOIN | | 2 | 30 | 3 | 00:00:01 | | * 28 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTRANGE_REL | 2 | 30 | 2 | 00:00:01 | ----------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 13 - access("T6"."ELEMENTGROUP_ID"=14659 AND ("T6"."VALUE_ID"=20030699999060 OR "T6"."VALUE_ID"=20030799999030 OR "T6"."VALUE_ID"=20030799999060 OR "T6"."VALUE_ID"=20030799999120)) * 13 - filter("T6"."ELEMENTGROUP_ID"=14659 AND ("T6"."VALUE_ID"=20030699999060 OR "T6"."VALUE_ID"=20030799999030 OR "T6"."VALUE_ID"=20030799999060 OR "T6"."VALUE_ID"=20030799999120)) * 15 - access("T2"."PG_FEATUREVALUE_13_ID"=5424 AND ("T2"."PG_FEATUREVALUE_01_ID"=71 OR "T2"."PG_FEATUREVALUE_01_ID"=76 OR "T2"."PG_FEATUREVALUE_01_ID"=89 OR "T2"."PG_FEATUREVALUE_01_ID"=92 OR "T2"."PG_FEATUREVALUE_01_ID"=95 OR "T2"."PG_FEATUREVALUE_01_ID"=103 OR "T2"."PG_FEATUREVALUE_01_ID"=104 OR "T2"."PG_FEATUREVALUE_01_ID"=107 OR "T2"."PG_FEATUREVALUE_01_ID"=110 OR "T2"."PG_FEATUREVALUE_01_ID"=113 OR "T2"."PG_FEATUREVALUE_01_ID"=134 OR "T2"."PG_FEATUREVALUE_01_ID"=148 OR "T2"."PG_FEATUREVALUE_01_ID"=167 OR "T2"."PG_FEATUREVALUE_01_ID"=171 OR "T2"."PG_FEATUREVALUE_01_ID"=186 OR "T2"."PG_FEATUREVALUE_01_ID"=192 OR "T2"."PG_FEATUREVALUE_01_ID"=216 OR "T2"."PG_FEATUREVALUE_01_ID"=236 OR "T2"."PG_FEATUREVALUE_01_ID"=241 OR "T2"."PG_FEATUREVALUE_01_ID"=297 OR "T2"."PG_FEATUREVALUE_01_ID"=2259 OR "T2"."PG_FEATUREVALUE_01_ID"=2477 OR "T2"."PG_FEATUREVALUE_01_ID"=3891 OR "T2"."PG_FEATUREVALUE_01_ID"=24958 OR "T2"."PG_FEATUREVALUE_01_ID"=27445) AND "T2"."PRODUCTGROUP_ID"=15520 AND ("T2"."PG_FEATUREVALUE_02_ID"=4165 OR "T2"."PG_FEATUREVALUE_02_ID"=4166) AND ("T2"."PG_FEATUREVALUE_08_ID"=716 OR "T2"."PG_FEATUREVALUE_08_ID"=717)) * 15 - filter("T2"."PG_FEATUREVALUE_13_ID"=5424 AND ("T2"."PG_FEATUREVALUE_01_ID"=71 OR "T2"."PG_FEATUREVALUE_01_ID"=76 OR "T2"."PG_FEATUREVALUE_01_ID"=89 OR "T2"."PG_FEATUREVALUE_01_ID"=92 OR "T2"."PG_FEATUREVALUE_01_ID"=95 OR "T2"."PG_FEATUREVALUE_01_ID"=103 OR "T2"."PG_FEATUREVALUE_01_ID"=104 OR "T2"."PG_FEATUREVALUE_01_ID"=107 OR "T2"."PG_FEATUREVALUE_01_ID"=110 OR "T2"."PG_FEATUREVALUE_01_ID"=113 OR "T2"."PG_FEATUREVALUE_01_ID"=134 OR "T2"."PG_FEATUREVALUE_01_ID"=148 OR "T2"."PG_FEATUREVALUE_01_ID"=167 OR "T2"."PG_FEATUREVALUE_01_ID"=171 OR "T2"."PG_FEATUREVALUE_01_ID"=186 OR "T2"."PG_FEATUREVALUE_01_ID"=192 OR "T2"."PG_FEATUREVALUE_01_ID"=216 OR "T2"."PG_FEATUREVALUE_01_ID"=236 OR "T2"."PG_FEATUREVALUE_01_ID"=241 OR "T2"."PG_FEATUREVALUE_01_ID"=297 OR "T2"."PG_FEATUREVALUE_01_ID"=2259 OR "T2"."PG_FEATUREVALUE_01_ID"=2477 OR "T2"."PG_FEATUREVALUE_01_ID"=3891 OR "T2"."PG_FEATUREVALUE_01_ID"=24958 OR "T2"."PG_FEATUREVALUE_01_ID"=27445) AND "T2"."PRODUCTGROUP_ID"=15520 AND ("T2"."PG_FEATUREVALUE_02_ID"=4165 OR "T2"."PG_FEATUREVALUE_02_ID"=4166) AND ("T2"."PG_FEATUREVALUE_08_ID"=716 OR "T2"."PG_FEATUREVALUE_08_ID"=717)) * 18 - access("T1"."PERIOD_ID"="T6"."VALUE_ID") * 18 - filter("T1"."PERIOD_ID"=20030699999060 OR "T1"."PERIOD_ID"=20030799999030 OR "T1"."PERIOD_ID"=20030799999060 OR "T1"."PERIOD_ID"=20030799999120) * 19 - access("T1"."ITEM_ID"="T2"."ITEM_ID") * 20 - filter(("T1"."PERIOD_ID"=20030699999060 OR "T1"."PERIOD_ID"=20030799999030 OR "T1"."PERIOD_ID"=20030799999060 OR "T1"."PERIOD_ID"=20030799999120) AND "T1"."PRODUCTGROUP_ID"=15520 AND "T1"."PROJECT_TYPE_ID"='1' AND "T1"."PRODUCTGROUP_ID"="T2"."PRODUCTGROUP_ID") * 21 - filter("T1"."PD_PRICE_UNITS_EUR">="T5"."LBOUND") * 22 - access("T1"."PD_PRICE_UNITS_EUR"<="T5"."UBOUND") * 22 - filter("T1"."PD_PRICE_UNITS_EUR"<="T5"."UBOUND") * 23 - access("T5"."ELEMENTRANGE_ID"=8680 OR "T5"."ELEMENTRANGE_ID"=8681 OR "T5"."ELEMENTRANGE_ID"=8682 OR "T5"."ELEMENTRANGE_ID"=8683 OR "T5"."ELEMENTRANGE_ID"=8684 OR "T5"."ELEMENTRANGE_ID"=8685 OR "T5"."ELEMENTRANGE_ID"=8686) * 23 - filter("T5"."ELEMENTRANGE_ID"=8680 OR "T5"."ELEMENTRANGE_ID"=8681 OR "T5"."ELEMENTRANGE_ID"=8682 OR "T5"."ELEMENTRANGE_ID"=8683 OR "T5"."ELEMENTRANGE_ID"=8684 OR "T5"."ELEMENTRANGE_ID"=8685 OR "T5"."ELEMENTRANGE_ID"=8686) * 24 - access("ITEM_1"="FEATUREVALUE_ID") * 25 - filter("TABLE_NR"=15 AND "DELETED"=0) * 26 - filter("FEATUREVALUE_NUM"<="T4"."UBOUND") * 27 - access(INTERNAL_FUNCTION("FEATUREVALUE_NUM")>=INTERNAL_FUNCTION("T4"."LBOUND")) * 27 - filter(INTERNAL_FUNCTION("FEATUREVALUE_NUM")>=INTERNAL_FUNCTION("T4"."LBOUND")) * 28 - access("T4"."ELEMENTRANGE_ID"=3091 OR "T4"."ELEMENTRANGE_ID"=3092) * 28 - filter("T4"."ELEMENTRANGE_ID"=3091 OR "T4"."ELEMENTRANGE_ID"=3092)
Hint Report (identified by operation id / Query Block Name / Object Alias): Total hints for statement: 1 (U - Unused (1)) ------------------------------------------------------------------------------- 0 - STATEMENT U - NO_PARALLEL
Notes ----- - dop_reason = hint - dop = 1 - px_in_memory_imc = no - px_in_memory = no
Test Plan ----------------------------- Plan Id : 13700 Plan Hash Value : 4002133952
----------------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost | Time | ----------------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 6 | 738 | 909 | 00:00:01 | | 1 | HASH GROUP BY | | 6 | 738 | 909 | 00:00:01 | | 2 | MERGE JOIN | | 6 | 738 | 908 | 00:00:01 | | 3 | SORT JOIN | | 1 | 108 | 904 | 00:00:01 | | 4 | MERGE JOIN | | 1 | 108 | 903 | 00:00:01 | | 5 | SORT JOIN | | 1 | 93 | 900 | 00:00:01 | | * 6 | HASH JOIN | | 1 | 93 | 899 | 00:00:01 | | * 7 | HASH JOIN | | 1 | 77 | 582 | 00:00:01 | | * 8 | TABLE ACCESS INMEMORY FULL | LU_ITEM_293 | 397 | 12704 | 4 | 00:00:01 | | * 9 | HASH JOIN | | 15 | 675 | 578 | 00:00:01 | | 10 | JOIN FILTER CREATE | :BF0000 | 1 | 11 | 11 | 00:00:01 | | * 11 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTGROUP_REL | 1 | 11 | 11 | 00:00:01 | | 12 | JOIN FILTER USE | :BF0000 | 120991 | 4113694 | 565 | 00:00:01 | | * 13 | TABLE ACCESS INMEMORY FULL | FACT_PD_OUT_ITM_293 | 120991 | 4113694 | 565 | 00:00:01 | | * 14 | TABLE ACCESS FULL | ADM_PG_FEATUREVALUE | 2472 | 39552 | 317 | 00:00:01 | | * 15 | FILTER | | | | | | | * 16 | SORT JOIN | | 2 | 30 | 3 | 00:00:01 | | * 17 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTRANGE_REL | 2 | 30 | 2 | 00:00:01 | | * 18 | FILTER | | | | | | | * 19 | SORT JOIN | | 7 | 105 | 4 | 00:00:01 | | * 20 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTRANGE_REL | 7 | 105 | 3 | 00:00:01 | -----------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 6 - access("T2"."PG_FEATUREVALUE_15_ID"="FEATUREVALUE_ID") * 7 - access("T1"."ITEM_ID"="T2"."ITEM_ID" AND "T1"."PRODUCTGROUP_ID"="T2"."PRODUCTGROUP_ID") * 8 - access("T2"."PG_FEATUREVALUE_13_ID"=5424 AND ("T2"."PG_FEATUREVALUE_01_ID"=71 OR "T2"."PG_FEATUREVALUE_01_ID"=76 OR "T2"."PG_FEATUREVALUE_01_ID"=89 OR "T2"."PG_FEATUREVALUE_01_ID"=92 OR "T2"."PG_FEATUREVALUE_01_ID"=95 OR "T2"."PG_FEATUREVALUE_01_ID"=103 OR "T2"."PG_FEATUREVALUE_01_ID"=104 OR "T2"."PG_FEATUREVALUE_01_ID"=107 OR "T2"."PG_FEATUREVALUE_01_ID"=110 OR "T2"."PG_FEATUREVALUE_01_ID"=113 OR "T2"."PG_FEATUREVALUE_01_ID"=134 OR "T2"."PG_FEATUREVALUE_01_ID"=148 OR "T2"."PG_FEATUREVALUE_01_ID"=167 OR "T2"."PG_FEATUREVALUE_01_ID"=171 OR "T2"."PG_FEATUREVALUE_01_ID"=186 OR "T2"."PG_FEATUREVALUE_01_ID"=192 OR "T2"."PG_FEATUREVALUE_01_ID"=216 OR "T2"."PG_FEATUREVALUE_01_ID"=236 OR "T2"."PG_FEATUREVALUE_01_ID"=241 OR "T2"."PG_FEATUREVALUE_01_ID"=297 OR "T2"."PG_FEATUREVALUE_01_ID"=2259 OR "T2"."PG_FEATUREVALUE_01_ID"=2477 OR "T2"."PG_FEATUREVALUE_01_ID"=3891 OR "T2"."PG_FEATUREVALUE_01_ID"=24958 OR "T2"."PG_FEATUREVALUE_01_ID"=27445) AND "T2"."PRODUCTGROUP_ID"=15520 AND ("T2"."PG_FEATUREVALUE_02_ID"=4165 OR "T2"."PG_FEATUREVALUE_02_ID"=4166) AND ("T2"."PG_FEATUREVALUE_08_ID"=716 OR "T2"."PG_FEATUREVALUE_08_ID"=717)) * 8 - filter("T2"."PG_FEATUREVALUE_13_ID"=5424 AND ("T2"."PG_FEATUREVALUE_01_ID"=71 OR "T2"."PG_FEATUREVALUE_01_ID"=76 OR "T2"."PG_FEATUREVALUE_01_ID"=89 OR "T2"."PG_FEATUREVALUE_01_ID"=92 OR "T2"."PG_FEATUREVALUE_01_ID"=95 OR "T2"."PG_FEATUREVALUE_01_ID"=103 OR "T2"."PG_FEATUREVALUE_01_ID"=104 OR "T2"."PG_FEATUREVALUE_01_ID"=107 OR "T2"."PG_FEATUREVALUE_01_ID"=110 OR "T2"."PG_FEATUREVALUE_01_ID"=113 OR "T2"."PG_FEATUREVALUE_01_ID"=134 OR "T2"."PG_FEATUREVALUE_01_ID"=148 OR "T2"."PG_FEATUREVALUE_01_ID"=167 OR "T2"."PG_FEATUREVALUE_01_ID"=171 OR "T2"."PG_FEATUREVALUE_01_ID"=186 OR "T2"."PG_FEATUREVALUE_01_ID"=192 OR "T2"."PG_FEATUREVALUE_01_ID"=216 OR "T2"."PG_FEATUREVALUE_01_ID"=236 OR "T2"."PG_FEATUREVALUE_01_ID"=241 OR "T2"."PG_FEATUREVALUE_01_ID"=297 OR "T2"."PG_FEATUREVALUE_01_ID"=2259 OR "T2"."PG_FEATUREVALUE_01_ID"=2477 OR "T2"."PG_FEATUREVALUE_01_ID"=3891 OR "T2"."PG_FEATUREVALUE_01_ID"=24958 OR "T2"."PG_FEATUREVALUE_01_ID"=27445) AND "T2"."PRODUCTGROUP_ID"=15520 AND ("T2"."PG_FEATUREVALUE_02_ID"=4165 OR "T2"."PG_FEATUREVALUE_02_ID"=4166) AND ("T2"."PG_FEATUREVALUE_08_ID"=716 OR "T2"."PG_FEATUREVALUE_08_ID"=717)) * 9 - access("T1"."PERIOD_ID"="T6"."VALUE_ID") * 11 - access("T6"."ELEMENTGROUP_ID"=14659 AND ("T6"."VALUE_ID"=20030699999060 OR "T6"."VALUE_ID"=20030799999030 OR "T6"."VALUE_ID"=20030799999060 OR "T6"."VALUE_ID"=20030799999120)) * 11 - filter("T6"."ELEMENTGROUP_ID"=14659 AND ("T6"."VALUE_ID"=20030699999060 OR "T6"."VALUE_ID"=20030799999030 OR "T6"."VALUE_ID"=20030799999060 OR "T6"."VALUE_ID"=20030799999120)) * 13 - access(("T1"."PERIOD_ID"=20030699999060 OR "T1"."PERIOD_ID"=20030799999030 OR "T1"."PERIOD_ID"=20030799999060 OR "T1"."PERIOD_ID"=20030799999120) AND "T1"."PRODUCTGROUP_ID"=15520 AND "T1"."PROJECT_TYPE_ID"='1' AND SYS_OP_BLOOM_FILTER(:BF0000,"T1"."PERIOD_ID")) * 13 - filter(("T1"."PERIOD_ID"=20030699999060 OR "T1"."PERIOD_ID"=20030799999030 OR "T1"."PERIOD_ID"=20030799999060 OR "T1"."PERIOD_ID"=20030799999120) AND "T1"."PRODUCTGROUP_ID"=15520 AND "T1"."PROJECT_TYPE_ID"='1' AND SYS_OP_BLOOM_FILTER(:BF0000,"T1"."PERIOD_ID")) * 14 - filter("TABLE_NR"=15 AND "DELETED"=0) * 15 - filter("FEATUREVALUE_NUM"<="T4"."UBOUND") * 16 - access(INTERNAL_FUNCTION("FEATUREVALUE_NUM")>=INTERNAL_FUNCTION("T4"."LBOUND")) * 16 - filter(INTERNAL_FUNCTION("FEATUREVALUE_NUM")>=INTERNAL_FUNCTION("T4"."LBOUND")) * 17 - access("T4"."ELEMENTRANGE_ID"=3091 OR "T4"."ELEMENTRANGE_ID"=3092) * 17 - filter("T4"."ELEMENTRANGE_ID"=3091 OR "T4"."ELEMENTRANGE_ID"=3092) * 18 - filter("T1"."PD_PRICE_UNITS_EUR"<="T5"."UBOUND") * 19 - access(INTERNAL_FUNCTION("T1"."PD_PRICE_UNITS_EUR")>=INTERNAL_FUNCTION("T5"."LBOUND")) * 19 - filter(INTERNAL_FUNCTION("T1"."PD_PRICE_UNITS_EUR")>=INTERNAL_FUNCTION("T5"."LBOUND")) * 20 - access("T5"."ELEMENTRANGE_ID"=8680 OR "T5"."ELEMENTRANGE_ID"=8681 OR "T5"."ELEMENTRANGE_ID"=8682 OR "T5"."ELEMENTRANGE_ID"=8683 OR "T5"."ELEMENTRANGE_ID"=8684 OR "T5"."ELEMENTRANGE_ID"=8685 OR "T5"."ELEMENTRANGE_ID"=8686) * 20 - filter("T5"."ELEMENTRANGE_ID"=8680 OR "T5"."ELEMENTRANGE_ID"=8681 OR "T5"."ELEMENTRANGE_ID"=8682 OR "T5"."ELEMENTRANGE_ID"=8683 OR "T5"."ELEMENTRANGE_ID"=8684 OR "T5"."ELEMENTRANGE_ID"=8685 OR "T5"."ELEMENTRANGE_ID"=8686)
Hint Report (identified by operation id / Query Block Name / Object Alias): Total hints for statement: 1 (U - Unused (1)) ------------------------------------------------------------------------------- 0 - STATEMENT U - NO_PARALLEL
Notes ----- - dop_reason = hint - dop = 1 - px_in_memory_imc = no - px_in_memory = no
--------------------------------------------------------------------------------------------- Object ID : 13956 Test Plan Name : SQL_PLAN_dkww7unaq0g9ubd025b6c Base Plan Name : Cost-based plan SQL Handle : SQL_d97387d515603d3a Parsing Schema : SYS Test Plan Creator : SYS SQL Text : INSERT /*+ LEADING(@"SEL$F5BB74E1" "H"@"SEL$2" "A"@"SEL$1") USE_NL(@"SEL$F5BB74E1" "A"@"SEL$1") */ INTO WRH$_ACTIVE_SESSION_HISTORY ( snap_id, dbid, instance_number , sample_id, sample_time,sample_time_utc, usecs_per_row , session_id, session_serial#, session_type , flags , user_id , sql_id, sql_child_number, sql_opcode, force_matching_signature , top_level_sql_id, top_level_sql_opcode , sql_plan_hash_value, sql_full_plan_hash_value , sql_adaptive_plan_resolved , sql_plan_line_id , sql_plan_operation#, sql_plan_options# , sql_exec_id, sql_exec_start , plsql_entry_object_id, plsql_entry_subprogram_id , plsql_object_id, plsql_subprogram_id , qc_instance_id, qc_session_id, qc_session_serial#, px_flags , event_id, seq#, p1, p2, p3 , wait_time, time_waited , blocking_session, blocking_session_serial#, blocking_inst_id , current_obj#, current_file#, current_block#, current_row# , top_level_call#, consumer_group_id, xid, remote_instance#, time_model , service_hash, program, module, action, client_id, machine, port, ecid , dbreplay_file_id, dbreplay_call_counter , con_dbid, per_pdb , tm_delta_time, tm_delta_cpu_time, tm_delta_db_time, delta_time, delta_read_io_requests, delta_write_io_requests, delta_read_io_bytes, delta_write_io_bytes, delta_interconnect_io_bytes, pga_allocated, temp_space_allocated , dbop_name, dbop_exec_id ) (SELECT /*+ PARAM('_module_action_old_length',0) */:snap_id, :dbid, :instance_number , a.sample_id, a.sample_time,a.sample_time_utc , a.usecs_per_row * :disk_filter_ratio , a.session_id, a.session_serial#, a.session_type , decode(a.flags, 0, to_number(NULL), a.flags) , a.user_id , a.sql_id, a.sql_child_number, a.sql_opcode, a.force_matching_signature , a.top_level_sql_id, a.top_level_sql_opcode , a.sql_plan_hash_value, a.sql_full_plan_hash_value , a.sql_adaptive_plan_resolved , a.sql_plan_line_id , a.sql_plan_operation#, a.sql_plan_options# , a.sql_exec_id, a.sql_exec_start , a.plsql_entry_object_id, a.plsql_entry_subprogram_id , a.plsql_object_id, a.plsql_subprogram_id , a.qc_instance_id, a.qc_session_id, a.qc_session_serial#, a.px_flags , a.event_id, a.seq#, a.p1, a.p2, a.p3 , a.wait_time, a.time_waited , a.blocking_session, a.blocking_session_serial#, a.blocking_inst_id , a.current_obj#, a.current_file#, a.current_block#, a.current_row# , a.top_level_call#, a.consumer_group_id, a.xid, a.remote_instance# , a.time_model , a.service_hash , substrb(a.program, 1, 64) , a.module, a.action, a.client_id, a.machine, a.port, a.ecid , a.dbreplay_file_id, a.dbreplay_call_counter , a.con_dbid, a.con_id , decode(a.tm_delta_time, 0, to_number(null), a.tm_delta_time), decode(a.tm_delta_time, 0, to_number(null), a.tm_delta_cpu_time), decode(a.tm_delta_time, 0, to_number(null), a.tm_delta_db_time), decode(a.delta_time, 0, to_number(null), a.delta_time), decode(a.delta_time, 0, to_number(null), decode(a.delta_read_io_requests, 0, to_number(null), a.delta_read_io_requests)), decode(a.delta_time, 0, to_number(null), decode(a.delta_write_io_requests, 0, to_number(null), a.delta_write_io_requests)), decode(a.delta_time, 0, to_number(null), decode(a.delta_read_io_bytes, 0, to_number(null), a.delta_read_io_bytes)), decode(a.delta_time, 0, to_number(null), decode(a.delta_write_io_bytes, 0, to_number(null), a.delta_write_io_bytes)), decode(a.delta_time, 0, to_number(null), decode(a.delta_interconnect_io_bytes, 0, to_number(null), a.delta_interconnect_io_bytes)), decode(a.pga_allocated, 0, to_number(null), a.pga_allocated), decode(a.pga_allocated, 0, to_number(null), decode(a.temp_space_allocated, 0, to_number(null), a.temp_space_allocated)) , a.dbop_name, a.dbop_exec_id FROM x$ash a, (SELECT h.sample_addr, h.sample_id FROM x$kewash h WHERE ( (h.sample_id >= :begin_flushing) and (h.sample_id < :latest_sample_id) ) and (nlssort(h.is_awr_sample,'nls_sort=BINARY') = nlssort('Y', 'nls_sort=BINARY')) ) shdr WHERE (1 = 1) and shdr.sample_addr = a.sample_addr and shdr.sample_id = a.sample_id and nlssort(a.need_awr_sample, 'nls_sort=BINARY') = nlssort('Y', 'nls_sort=BINARY'))
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 13956, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 13957 Test Plan Name : SQL_PLAN_5mj87z0zpg3tfd88ea6d2 Base Plan Name : Cost-based plan SQL Handle : SQL_59c507f83f578f2e Parsing Schema : DBSNMP Test Plan Creator : SYS SQL Text : SELECT TASK_LIST.TASK_ID FROM (SELECT /*+ NO_MERGE(T) ORDERED */ T.TASK_ID FROM (SELECT * FROM DBA_ADVISOR_TASKS ORDER BY TASK_ID DESC) T, DBA_ADVISOR_PARAMETERS_PROJ P1, DBA_ADVISOR_PARAMETERS_PROJ P2 WHERE T.ADVISOR_NAME='ADDM' AND T.STATUS = 'COMPLETED' AND T.EXECUTION_START >= (SYSDATE - 1) AND T.HOW_CREATED = 'AUTO' AND T.TASK_ID = P1.TASK_ID AND P1.PARAMETER_NAME = 'INSTANCE' AND P1.PARAMETER_VALUE = SYS_CONTEXT('USERENV','INSTANCE') AND T.TASK_ID = P2.TASK_ID AND P2.PARAMETER_NAME = 'DB_ID' AND P2.PARAMETER_VALUE = TO_CHAR(:B1 ) ORDER BY T.TASK_ID DESC) TASK_LIST WHERE ROWNUM = 1
Execution Statistics: ----------------------------- Base Plan Test Plan ---------------------------- ---------------------------- Elapsed Time (s): .000353 .000146 CPU Time (s): .000349 .00015 Buffer Gets: 46 13 Optimizer Cost: 67 696 Disk Reads: 0 0 Direct Writes: 0 0 Rows Processed: 0 0 Executions: 10 10
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (2): ----------------------------- 1. The plan was verified in 0.10300 seconds. It passed the benefit criterion because its verified performance was 3.39014 times better than that of the baseline plan. 2. The plan was automatically accepted.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 13957, task_owner => 'SYS');
EXPLAIN PLANS SECTION ---------------------------------------------------------------------------------------------
Baseline Plan ----------------------------- Plan Id : 13701 Plan Hash Value : 3327622465
------------------------------------------------------------------------------------------------------ | Id | Operation | Name | Rows | Bytes | Cost | Time | ------------------------------------------------------------------------------------------------------ | 0 | SELECT STATEMENT | | 1 | 13 | 67 | 00:00:01 | | * 1 | COUNT STOPKEY | | | | | | | 2 | VIEW | | 1 | 13 | 67 | 00:00:01 | | * 3 | SORT ORDER BY STOPKEY | | 1 | 155 | 67 | 00:00:01 | | 4 | NESTED LOOPS | | 1 | 155 | 66 | 00:00:01 | | * 5 | HASH JOIN | | 1 | 129 | 65 | 00:00:01 | | 6 | VIEW | | 685 | 70555 | 9 | 00:00:01 | | * 7 | FILTER | | | | | | | * 8 | HASH JOIN OUTER | | 685 | 43840 | 9 | 00:00:01 | | * 9 | TABLE ACCESS FULL | WRI$_ADV_TASKS | 685 | 23975 | 6 | 00:00:01 | | 10 | TABLE ACCESS FULL | WRI$_ADV_EXECUTIONS | 828 | 24012 | 3 | 00:00:01 | | * 11 | TABLE ACCESS FULL | WRI$_ADV_PARAMETERS | 1 | 26 | 56 | 00:00:01 | | * 12 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_PARAMETERS | 1 | 26 | 1 | 00:00:01 | | * 13 | INDEX UNIQUE SCAN | WRI$_ADV_PARAMETERS_PK | 1 | | 0 | 00:00:01 | ------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 1 - filter(ROWNUM=1) * 3 - filter(ROWNUM=1) * 5 - access("T"."TASK_ID"="A"."TASK_ID") * 7 - filter(DECODE(NVL("E"."STATUS","A"."STATUS"),1,'INITIAL',2,'EXECUTING',3,'COMPLETED',4,'INTERRUPTED',5,'CANCELLED',6,'FATAL ERROR')='COMPLETED' AND NVL("E"."EXEC_START","A"."EXEC_START")>=SYSDATE@!-1) * 8 - access("A"."ID"="E"."TASK_ID"(+) AND "A"."ADVISOR_ID"="E"."ADVISOR_ID"(+) AND "A"."LAST_EXEC_NAME"="E"."NAME"(+)) * 9 - filter("A"."ADVISOR_NAME"='ADDM' AND "A"."HOW_CREATED"='AUTO' AND BITAND("A"."PROPERTY",6)=4) * 11 - filter("A"."NAME"='INSTANCE' AND "A"."VALUE"=SYS_CONTEXT('USERENV','INSTANCE')) * 12 - filter("A"."VALUE"=TO_CHAR(:B1)) * 13 - access("T"."TASK_ID"="A"."TASK_ID" AND "A"."NAME"='DB_ID')
Hint Report (identified by operation id / Query Block Name / Object Alias): Total hints for statement: 3 (U - Unused (3)) ------------------------------------------------------------------------------- 0 - STATEMENT U - NO_PARALLEL 2 - SEL$F1A1D320 / T@SEL$2 U - NO_MERGE(T) / rejected by IGNORE_OPTIM_EMBEDDED_HINTS 3 - SEL$F1A1D320 U - ORDERED / rejected by IGNORE_OPTIM_EMBEDDED_HINTS
Notes ----- - dop_reason = hint - dop = 1 - px_in_memory_imc = no - px_in_memory = no
Test Plan ----------------------------- Plan Id : 13702 Plan Hash Value : 3633227474
------------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost | Time | ------------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 1 | 13 | 696 | 00:00:01 | | * 1 | COUNT STOPKEY | | | | | | | 2 | VIEW | | 1 | 13 | 696 | 00:00:01 | | * 3 | SORT ORDER BY STOPKEY | | 1 | 155 | 696 | 00:00:01 | | 4 | NESTED LOOPS | | 1 | 155 | 695 | 00:00:01 | | 5 | NESTED LOOPS | | 1 | 129 | 694 | 00:00:01 | | 6 | VIEW | | 685 | 70555 | 9 | 00:00:01 | | * 7 | FILTER | | | | | | | * 8 | HASH JOIN OUTER | | 685 | 43840 | 9 | 00:00:01 | | * 9 | TABLE ACCESS FULL | WRI$_ADV_TASKS | 685 | 23975 | 6 | 00:00:01 | | 10 | TABLE ACCESS FULL | WRI$_ADV_EXECUTIONS | 828 | 24012 | 3 | 00:00:01 | | * 11 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_PARAMETERS | 1 | 26 | 1 | 00:00:01 | | * 12 | INDEX UNIQUE SCAN | WRI$_ADV_PARAMETERS_PK | 1 | | 0 | 00:00:01 | | * 13 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_PARAMETERS | 1 | 26 | 1 | 00:00:01 | | * 14 | INDEX UNIQUE SCAN | WRI$_ADV_PARAMETERS_PK | 1 | | 0 | 00:00:01 | -------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 1 - filter(ROWNUM=1) * 3 - filter(ROWNUM=1) * 7 - filter(DECODE(NVL("E"."STATUS","A"."STATUS"),1,'INITIAL',2,'EXECUTING',3,'COMPLETED',4,'INTERRUPTED',5,'CANCELLED',6,'FATAL ERROR')='COMPLETED' AND NVL("E"."EXEC_START","A"."EXEC_START")>=SYSDATE@!-1) * 8 - access("A"."ID"="E"."TASK_ID"(+) AND "A"."ADVISOR_ID"="E"."ADVISOR_ID"(+) AND "A"."LAST_EXEC_NAME"="E"."NAME"(+)) * 9 - filter("A"."ADVISOR_NAME"='ADDM' AND "A"."HOW_CREATED"='AUTO' AND BITAND("A"."PROPERTY",6)=4) * 11 - filter("A"."VALUE"=SYS_CONTEXT('USERENV','INSTANCE')) * 12 - access("T"."TASK_ID"="A"."TASK_ID" AND "A"."NAME"='INSTANCE') * 13 - filter("A"."VALUE"=TO_CHAR(:B1)) * 14 - access("T"."TASK_ID"="A"."TASK_ID" AND "A"."NAME"='DB_ID')
Hint Report (identified by operation id / Query Block Name / Object Alias): Total hints for statement: 3 (U - Unused (3)) ------------------------------------------------------------------------------- 0 - STATEMENT U - NO_PARALLEL 2 - SEL$F1A1D320 / T@SEL$2 U - NO_MERGE(T) / rejected by IGNORE_OPTIM_EMBEDDED_HINTS 3 - SEL$F1A1D320 U - ORDERED / rejected by IGNORE_OPTIM_EMBEDDED_HINTS
Notes ----- - dop_reason = hint - dop = 1 - px_in_memory_imc = no - px_in_memory = no
--------------------------------------------------------------------------------------------- Object ID : 13958 Test Plan Name : SQL_PLAN_bu3q1aspn9kqg9a46fad3 Base Plan Name : Cost-based plan SQL Handle : SQL_bd0ec1562b44cacf Parsing Schema : BOTANG Test Plan Creator : SYS SQL Text : select col.*, com.Comments from sys.all_tab_columns col, sys.all_col_comments com where col.owner = 'BOTANG' and col.table_name = 'V_BANK_INVOICE_DIM_RMB_LC_G_GR' and com.Owner (+) = 'BOTANG' and com.Table_Name (+) = 'V_BANK_INVOICE_DIM_RMB_LC_G_GR' and com.Column_Name (+) = col.Column_Name order by col.column_id
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 13958, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 13959 Test Plan Name : SQL_PLAN_8hwvrs1y9wa3cfd5fe0c3 Base Plan Name : Cost-based plan SQL Handle : SQL_887377c07c9e286c Parsing Schema : SYS Test Plan Creator : SYS SQL Text : select text from view$ where rowid=:1
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 13959, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 13960 Test Plan Name : SQL_PLAN_4aa2vths1hnu9d0a37403 Base Plan Name : Cost-based plan SQL Handle : SQL_45285bcc30185349 Parsing Schema : SYS Test Plan Creator : SYS SQL Text : select timestamp, flags from fixed_obj$ where obj#=:1
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. This plan was skipped because either the database is not fully open or the SQL statement is ineligible for SQL Plan Management.
--------------------------------------------------------------------------------------------- Object ID : 13961 Test Plan Name : SQL_PLAN_76k808f1h3c4x6b7604fd Base Plan Name : Cost-based plan SQL Handle : SQL_734900438301b09d Parsing Schema : BOTANG Test Plan Creator : SYS SQL Text : select table_name from sys.all_constraints where constraint_name = :r_constraint_name and owner = :r_owner and constraint_type in ('P', 'U')
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 13961, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 13962 Test Plan Name : SQL_PLAN_8mnv9m5u88qyv125daea2 Base Plan Name : Cost-based plan SQL Handle : SQL_89d3699974845bdb Parsing Schema : SYS Test Plan Creator : SYS SQL Text : SELECT XMLTYPE(DBMS_REPORT.GET_REPORT_WITH_SUMMARY(:B1 )) FROM DUAL
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 13962, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 13963 Test Plan Name : SQL_PLAN_12td309b4pgk6852d2e73 Base Plan Name : Cost-based plan SQL Handle : SQL_1165a302564abe46 Parsing Schema : SYS Test Plan Creator : SYS SQL Text : select /*+ index(idl_ub2$ i_idl_ub21) */ piece#,length,piece from idl_ub2$ where obj#=:1 and part=:2 and version=:3 order by piece#
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 13963, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 13964 Test Plan Name : SQL_PLAN_cyx6f99tcpqww4bd36088 Base Plan Name : Cost-based plan SQL Handle : SQL_cf74ce4a72cadb9c Parsing Schema : APPS Test Plan Creator : SYS SQL Text : SELECT /* ORDERED INDEX(t1) USE_HASH(t1) */ 'r' || t4.elementrange_id pg_featurevalue_15_id, 'B' || t2.pg_featurevalue_01_id pg_featurevalue_01_id, 'r' || t5.elementrange_id price_eur_id, 'B' || t2.productgroup_id productgroup_id, 'G' || t6.elementgroup_id period_id, SUM(t 1.pd_sales_units*t1.pd_projection_factor*t1.pd_price_units_ eur) salesvalueeur FROM lu_item_293 t2, lu_pg_featurevalue_15 t3, lu_elementrange_rel t4, fact_pd_out_itm_293 t1, lu_elementgroup_rel t6, lu_elementrange_rel t5 WHERE /* Attribute Joins */ ((t1.item_id = t2.item_id /* Customizing Begin */ AND t1.productgroup_id = t2.productgroup_id) /* Customizing End */ AND (t2.pg_featurevalue_15_id = t3.pg_featurevalue_15_id) AND (t3.pg_featurevalue_15_num BETWEEN t4.lbound AND t4.ubound) AND (t1.pd_price_units_eur BETWEEN t5.lbound AND t5.ubound) AND (t1.period_id = t6.value_id) ) /* Attribute Filters */ AND ((t2.productgroup_id = 15520) AND (t1.productgroup_id = 15520) /* Push Down Filters */ AND (t2.pg_featurevalue_01_id IN (103,104,107,110,113,134,148,1 67,171,186,192,216,2259,236,241,2477,24958,27445,297,3891,7 1,76,89,92,95)) AND (t4.elementrange_id IN (3091,3092,3093,3107)) AND (t5.elementrange_id IN (8680,8681,8682,8683,8684,8685,8686,8687,8688,8689)) AND (t6.elementgroup_id = 14659) AND (t1.period_id IN (20030699 999060,20030799999030,20030799999060,20030799999120)) /* Resolved ElementGroup Filters */ ) /* Fact Filters */ AND (t1.project_type_id = '1' ) GROUP BY t4.elementrange_id, t2.pg_featurevalue_01_id, t5.elementrange_id, t2.productgroup_id, t6.elementgroup_id
Execution Statistics: ----------------------------- Base Plan Test Plan ---------------------------- ---------------------------- Elapsed Time (s): .061081 .005063 CPU Time (s): .060785 .005031 Buffer Gets: 19698 1 Optimizer Cost: 347 802 Disk Reads: 0 0 Direct Writes: 0 0 Rows Processed: 0 0 Executions: 4 10
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (2): ----------------------------- 1. The plan was verified in 1.83000 seconds. It passed the benefit criterion because its verified performance was 4628.07248 times better than that of the baseline plan. 2. The plan was automatically accepted.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 13964, task_owner => 'SYS');
EXPLAIN PLANS SECTION ---------------------------------------------------------------------------------------------
Baseline Plan ----------------------------- Plan Id : 13703 Plan Hash Value : 546558701
---------------------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost | Time | ---------------------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 138 | 8004 | 347 | 00:00:01 | | 1 | HASH GROUP BY | | 138 | 8004 | 347 | 00:00:01 | | 2 | MERGE JOIN | | 138 | 8004 | 346 | 00:00:01 | | 3 | SORT JOIN | | 104 | 4472 | 343 | 00:00:01 | | 4 | NESTED LOOPS | | 104 | 4472 | 342 | 00:00:01 | | 5 | NESTED LOOPS | | 104 | 4472 | 342 | 00:00:01 | | 6 | VIEW | VW_GBC_16 | 104 | 2808 | 134 | 00:00:01 | | 7 | HASH GROUP BY | | 104 | 8320 | 134 | 00:00:01 | | 8 | MERGE JOIN | | 104 | 8320 | 133 | 00:00:01 | | 9 | SORT JOIN | | 10 | 650 | 129 | 00:00:01 | | 10 | NESTED LOOPS | | 10 | 650 | 128 | 00:00:01 | | 11 | NESTED LOOPS | | 10 | 650 | 128 | 00:00:01 | | 12 | MERGE JOIN CARTESIAN | | 28 | 868 | 15 | 00:00:01 | | * 13 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTGROUP_REL | 1 | 11 | 11 | 00:00:01 | | 14 | BUFFER SORT | | 3084 | 61680 | 4 | 00:00:01 | | * 15 | TABLE ACCESS INMEMORY FULL | LU_ITEM_293 | 3084 | 61680 | 4 | 00:00:01 | | 16 | BITMAP CONVERSION TO ROWIDS | | | | | | | 17 | BITMAP AND | | | | | | | * 18 | BITMAP INDEX SINGLE VALUE | FACT_274_PER_IDX | | | | | | * 19 | BITMAP INDEX SINGLE VALUE | FACT_274_ITEM_IDX | | | | | | * 20 | TABLE ACCESS BY INDEX ROWID | FACT_PD_OUT_ITM_293 | 1 | 34 | 128 | 00:00:01 | | * 21 | FILTER | | | | | | | * 22 | SORT JOIN | | 10 | 150 | 4 | 00:00:01 | | * 23 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTRANGE_REL | 10 | 150 | 3 | 00:00:01 | | * 24 | INDEX RANGE SCAN | ADM_PG_FEATUREVALUE_IDX2 | 1 | | 1 | 00:00:01 | | * 25 | TABLE ACCESS BY INDEX ROWID | ADM_PG_FEATUREVALUE | 1 | 16 | 2 | 00:00:01 | | * 26 | FILTER | | | | | | | * 27 | SORT JOIN | | 4 | 60 | 4 | 00:00:01 | | * 28 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTRANGE_REL | 4 | 60 | 3 | 00:00:01 | ----------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 13 - access("T6"."ELEMENTGROUP_ID"=14659 AND ("T6"."VALUE_ID"=20030699999060 OR "T6"."VALUE_ID"=20030799999030 OR "T6"."VALUE_ID"=20030799999060 OR "T6"."VALUE_ID"=20030799999120)) * 13 - filter("T6"."ELEMENTGROUP_ID"=14659 AND ("T6"."VALUE_ID"=20030699999060 OR "T6"."VALUE_ID"=20030799999030 OR "T6"."VALUE_ID"=20030799999060 OR "T6"."VALUE_ID"=20030799999120)) * 15 - access(("T2"."PG_FEATUREVALUE_01_ID"=71 OR "T2"."PG_FEATUREVALUE_01_ID"=76 OR "T2"."PG_FEATUREVALUE_01_ID"=89 OR "T2"."PG_FEATUREVALUE_01_ID"=92 OR "T2"."PG_FEATUREVALUE_01_ID"=95 OR "T2"."PG_FEATUREVALUE_01_ID"=103 OR "T2"."PG_FEATUREVALUE_01_ID"=104 OR "T2"."PG_FEATUREVALUE_01_ID"=107 OR "T2"."PG_FEATUREVALUE_01_ID"=110 OR "T2"."PG_FEATUREVALUE_01_ID"=113 OR "T2"."PG_FEATUREVALUE_01_ID"=134 OR "T2"."PG_FEATUREVALUE_01_ID"=148 OR "T2"."PG_FEATUREVALUE_01_ID"=167 OR "T2"."PG_FEATUREVALUE_01_ID"=171 OR "T2"."PG_FEATUREVALUE_01_ID"=186 OR "T2"."PG_FEATUREVALUE_01_ID"=192 OR "T2"."PG_FEATUREVALUE_01_ID"=216 OR "T2"."PG_FEATUREVALUE_01_ID"=236 OR "T2"."PG_FEATUREVALUE_01_ID"=241 OR "T2"."PG_FEATUREVALUE_01_ID"=297 OR "T2"."PG_FEATUREVALUE_01_ID"=2259 OR "T2"."PG_FEATUREVALUE_01_ID"=2477 OR "T2"."PG_FEATUREVALUE_01_ID"=3891 OR "T2"."PG_FEATUREVALUE_01_ID"=24958 OR "T2"."PG_FEATUREVALUE_01_ID"=27445) AND "T2"."PRODUCTGROUP_ID"=15520) * 15 - filter(("T2"."PG_FEATUREVALUE_01_ID"=71 OR "T2"."PG_FEATUREVALUE_01_ID"=76 OR "T2"."PG_FEATUREVALUE_01_ID"=89 OR "T2"."PG_FEATUREVALUE_01_ID"=92 OR "T2"."PG_FEATUREVALUE_01_ID"=95 OR "T2"."PG_FEATUREVALUE_01_ID"=103 OR "T2"."PG_FEATUREVALUE_01_ID"=104 OR "T2"."PG_FEATUREVALUE_01_ID"=107 OR "T2"."PG_FEATUREVALUE_01_ID"=110 OR "T2"."PG_FEATUREVALUE_01_ID"=113 OR "T2"."PG_FEATUREVALUE_01_ID"=134 OR "T2"."PG_FEATUREVALUE_01_ID"=148 OR "T2"."PG_FEATUREVALUE_01_ID"=167 OR "T2"."PG_FEATUREVALUE_01_ID"=171 OR "T2"."PG_FEATUREVALUE_01_ID"=186 OR "T2"."PG_FEATUREVALUE_01_ID"=192 OR "T2"."PG_FEATUREVALUE_01_ID"=216 OR "T2"."PG_FEATUREVALUE_01_ID"=236 OR "T2"."PG_FEATUREVALUE_01_ID"=241 OR "T2"."PG_FEATUREVALUE_01_ID"=297 OR "T2"."PG_FEATUREVALUE_01_ID"=2259 OR "T2"."PG_FEATUREVALUE_01_ID"=2477 OR "T2"."PG_FEATUREVALUE_01_ID"=3891 OR "T2"."PG_FEATUREVALUE_01_ID"=24958 OR "T2"."PG_FEATUREVALUE_01_ID"=27445) AND "T2"."PRODUCTGROUP_ID"=15520) * 18 - access("T1"."PERIOD_ID"="T6"."VALUE_ID") * 18 - filter("T1"."PERIOD_ID"=20030699999060 OR "T1"."PERIOD_ID"=20030799999030 OR "T1"."PERIOD_ID"=20030799999060 OR "T1"."PERIOD_ID"=20030799999120) * 19 - access("T1"."ITEM_ID"="T2"."ITEM_ID") * 20 - filter(("T1"."PERIOD_ID"=20030699999060 OR "T1"."PERIOD_ID"=20030799999030 OR "T1"."PERIOD_ID"=20030799999060 OR "T1"."PERIOD_ID"=20030799999120) AND "T1"."PRODUCTGROUP_ID"=15520 AND "T1"."PROJECT_TYPE_ID"='1' AND "T1"."PRODUCTGROUP_ID"="T2"."PRODUCTGROUP_ID") * 21 - filter("T1"."PD_PRICE_UNITS_EUR">="T5"."LBOUND") * 22 - access("T1"."PD_PRICE_UNITS_EUR"<="T5"."UBOUND") * 22 - filter("T1"."PD_PRICE_UNITS_EUR"<="T5"."UBOUND") * 23 - access("T5"."ELEMENTRANGE_ID"=8680 OR "T5"."ELEMENTRANGE_ID"=8681 OR "T5"."ELEMENTRANGE_ID"=8682 OR "T5"."ELEMENTRANGE_ID"=8683 OR "T5"."ELEMENTRANGE_ID"=8684 OR "T5"."ELEMENTRANGE_ID"=8685 OR "T5"."ELEMENTRANGE_ID"=8686 OR "T5"."ELEMENTRANGE_ID"=8687 OR "T5"."ELEMENTRANGE_ID"=8688 OR "T5"."ELEMENTRANGE_ID"=8689) * 23 - filter("T5"."ELEMENTRANGE_ID"=8680 OR "T5"."ELEMENTRANGE_ID"=8681 OR "T5"."ELEMENTRANGE_ID"=8682 OR "T5"."ELEMENTRANGE_ID"=8683 OR "T5"."ELEMENTRANGE_ID"=8684 OR "T5"."ELEMENTRANGE_ID"=8685 OR "T5"."ELEMENTRANGE_ID"=8686 OR "T5"."ELEMENTRANGE_ID"=8687 OR "T5"."ELEMENTRANGE_ID"=8688 OR "T5"."ELEMENTRANGE_ID"=8689) * 24 - access("ITEM_1"="FEATUREVALUE_ID") * 25 - filter("TABLE_NR"=15 AND "DELETED"=0) * 26 - filter("FEATUREVALUE_NUM"<="T4"."UBOUND") * 27 - access(INTERNAL_FUNCTION("FEATUREVALUE_NUM")>=INTERNAL_FUNCTION("T4"."LBOUND")) * 27 - filter(INTERNAL_FUNCTION("FEATUREVALUE_NUM")>=INTERNAL_FUNCTION("T4"."LBOUND")) * 28 - access("T4"."ELEMENTRANGE_ID"=3091 OR "T4"."ELEMENTRANGE_ID"=3092 OR "T4"."ELEMENTRANGE_ID"=3093 OR "T4"."ELEMENTRANGE_ID"=3107) * 28 - filter("T4"."ELEMENTRANGE_ID"=3091 OR "T4"."ELEMENTRANGE_ID"=3092 OR "T4"."ELEMENTRANGE_ID"=3093 OR "T4"."ELEMENTRANGE_ID"=3107)
Hint Report (identified by operation id / Query Block Name / Object Alias): Total hints for statement: 1 (U - Unused (1)) ------------------------------------------------------------------------------- 0 - STATEMENT U - NO_PARALLEL
Notes ----- - dop_reason = hint - dop = 1 - px_in_memory_imc = no - px_in_memory = no
Test Plan ----------------------------- Plan Id : 13704 Plan Hash Value : 1272144008
------------------------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost | Time | ------------------------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 138 | 8004 | 802 | 00:00:01 | | 1 | HASH GROUP BY | | 138 | 8004 | 802 | 00:00:01 | | 2 | MERGE JOIN | | 138 | 8004 | 801 | 00:00:01 | | 3 | SORT JOIN | | 104 | 4472 | 798 | 00:00:01 | | 4 | NESTED LOOPS | | 104 | 4472 | 797 | 00:00:01 | | 5 | NESTED LOOPS | | 104 | 4472 | 797 | 00:00:01 | | 6 | VIEW | VW_GBC_16 | 104 | 2808 | 588 | 00:00:01 | | 7 | HASH GROUP BY | | 104 | 8320 | 588 | 00:00:01 | | 8 | MERGE JOIN | | 104 | 8320 | 587 | 00:00:01 | | 9 | SORT JOIN | | 10 | 650 | 583 | 00:00:01 | | * 10 | HASH JOIN | | 10 | 650 | 582 | 00:00:01 | | 11 | MERGE JOIN CARTESIAN | | 28 | 868 | 15 | 00:00:01 | | * 12 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTGROUP_REL | 1 | 11 | 11 | 00:00:01 | | 13 | BUFFER SORT | | 3084 | 61680 | 4 | 00:00:01 | | * 14 | TABLE ACCESS INMEMORY FULL | LU_ITEM_293 | 3084 | 61680 | 4 | 00:00:01 | | * 15 | TABLE ACCESS INMEMORY FULL | FACT_PD_OUT_ITM_293 | 120991 | 4113694 | 565 | 00:00:01 | | * 16 | FILTER | | | | | | | * 17 | SORT JOIN | | 10 | 150 | 4 | 00:00:01 | | * 18 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTRANGE_REL | 10 | 150 | 3 | 00:00:01 | | * 19 | INDEX RANGE SCAN | ADM_PG_FEATUREVALUE_IDX2 | 1 | | 1 | 00:00:01 | | * 20 | TABLE ACCESS BY INDEX ROWID | ADM_PG_FEATUREVALUE | 1 | 16 | 2 | 00:00:01 | | * 21 | FILTER | | | | | | | * 22 | SORT JOIN | | 4 | 60 | 4 | 00:00:01 | | * 23 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTRANGE_REL | 4 | 60 | 3 | 00:00:01 | -------------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 10 - access("T1"."PERIOD_ID"="T6"."VALUE_ID" AND "T1"."PRODUCTGROUP_ID"="T2"."PRODUCTGROUP_ID" AND "T1"."ITEM_ID"="T2"."ITEM_ID") * 12 - access("T6"."ELEMENTGROUP_ID"=14659 AND ("T6"."VALUE_ID"=20030699999060 OR "T6"."VALUE_ID"=20030799999030 OR "T6"."VALUE_ID"=20030799999060 OR "T6"."VALUE_ID"=20030799999120)) * 12 - filter("T6"."ELEMENTGROUP_ID"=14659 AND ("T6"."VALUE_ID"=20030699999060 OR "T6"."VALUE_ID"=20030799999030 OR "T6"."VALUE_ID"=20030799999060 OR "T6"."VALUE_ID"=20030799999120)) * 14 - access(("T2"."PG_FEATUREVALUE_01_ID"=71 OR "T2"."PG_FEATUREVALUE_01_ID"=76 OR "T2"."PG_FEATUREVALUE_01_ID"=89 OR "T2"."PG_FEATUREVALUE_01_ID"=92 OR "T2"."PG_FEATUREVALUE_01_ID"=95 OR "T2"."PG_FEATUREVALUE_01_ID"=103 OR "T2"."PG_FEATUREVALUE_01_ID"=104 OR "T2"."PG_FEATUREVALUE_01_ID"=107 OR "T2"."PG_FEATUREVALUE_01_ID"=110 OR "T2"."PG_FEATUREVALUE_01_ID"=113 OR "T2"."PG_FEATUREVALUE_01_ID"=134 OR "T2"."PG_FEATUREVALUE_01_ID"=148 OR "T2"."PG_FEATUREVALUE_01_ID"=167 OR "T2"."PG_FEATUREVALUE_01_ID"=171 OR "T2"."PG_FEATUREVALUE_01_ID"=186 OR "T2"."PG_FEATUREVALUE_01_ID"=192 OR "T2"."PG_FEATUREVALUE_01_ID"=216 OR "T2"."PG_FEATUREVALUE_01_ID"=236 OR "T2"."PG_FEATUREVALUE_01_ID"=241 OR "T2"."PG_FEATUREVALUE_01_ID"=297 OR "T2"."PG_FEATUREVALUE_01_ID"=2259 OR "T2"."PG_FEATUREVALUE_01_ID"=2477 OR "T2"."PG_FEATUREVALUE_01_ID"=3891 OR "T2"."PG_FEATUREVALUE_01_ID"=24958 OR "T2"."PG_FEATUREVALUE_01_ID"=27445) AND "T2"."PRODUCTGROUP_ID"=15520) * 14 - filter(("T2"."PG_FEATUREVALUE_01_ID"=71 OR "T2"."PG_FEATUREVALUE_01_ID"=76 OR "T2"."PG_FEATUREVALUE_01_ID"=89 OR "T2"."PG_FEATUREVALUE_01_ID"=92 OR "T2"."PG_FEATUREVALUE_01_ID"=95 OR "T2"."PG_FEATUREVALUE_01_ID"=103 OR "T2"."PG_FEATUREVALUE_01_ID"=104 OR "T2"."PG_FEATUREVALUE_01_ID"=107 OR "T2"."PG_FEATUREVALUE_01_ID"=110 OR "T2"."PG_FEATUREVALUE_01_ID"=113 OR "T2"."PG_FEATUREVALUE_01_ID"=134 OR "T2"."PG_FEATUREVALUE_01_ID"=148 OR "T2"."PG_FEATUREVALUE_01_ID"=167 OR "T2"."PG_FEATUREVALUE_01_ID"=171 OR "T2"."PG_FEATUREVALUE_01_ID"=186 OR "T2"."PG_FEATUREVALUE_01_ID"=192 OR "T2"."PG_FEATUREVALUE_01_ID"=216 OR "T2"."PG_FEATUREVALUE_01_ID"=236 OR "T2"."PG_FEATUREVALUE_01_ID"=241 OR "T2"."PG_FEATUREVALUE_01_ID"=297 OR "T2"."PG_FEATUREVALUE_01_ID"=2259 OR "T2"."PG_FEATUREVALUE_01_ID"=2477 OR "T2"."PG_FEATUREVALUE_01_ID"=3891 OR "T2"."PG_FEATUREVALUE_01_ID"=24958 OR "T2"."PG_FEATUREVALUE_01_ID"=27445) AND "T2"."PRODUCTGROUP_ID"=15520) * 15 - access(("T1"."PERIOD_ID"=20030699999060 OR "T1"."PERIOD_ID"=20030799999030 OR "T1"."PERIOD_ID"=20030799999060 OR "T1"."PERIOD_ID"=20030799999120) AND "T1"."PRODUCTGROUP_ID"=15520 AND "T1"."PROJECT_TYPE_ID"='1') * 15 - filter(("T1"."PERIOD_ID"=20030699999060 OR "T1"."PERIOD_ID"=20030799999030 OR "T1"."PERIOD_ID"=20030799999060 OR "T1"."PERIOD_ID"=20030799999120) AND "T1"."PRODUCTGROUP_ID"=15520 AND "T1"."PROJECT_TYPE_ID"='1') * 16 - filter("T1"."PD_PRICE_UNITS_EUR">="T5"."LBOUND") * 17 - access("T1"."PD_PRICE_UNITS_EUR"<="T5"."UBOUND") * 17 - filter("T1"."PD_PRICE_UNITS_EUR"<="T5"."UBOUND") * 18 - access("T5"."ELEMENTRANGE_ID"=8680 OR "T5"."ELEMENTRANGE_ID"=8681 OR "T5"."ELEMENTRANGE_ID"=8682 OR "T5"."ELEMENTRANGE_ID"=8683 OR "T5"."ELEMENTRANGE_ID"=8684 OR "T5"."ELEMENTRANGE_ID"=8685 OR "T5"."ELEMENTRANGE_ID"=8686 OR "T5"."ELEMENTRANGE_ID"=8687 OR "T5"."ELEMENTRANGE_ID"=8688 OR "T5"."ELEMENTRANGE_ID"=8689) * 18 - filter("T5"."ELEMENTRANGE_ID"=8680 OR "T5"."ELEMENTRANGE_ID"=8681 OR "T5"."ELEMENTRANGE_ID"=8682 OR "T5"."ELEMENTRANGE_ID"=8683 OR "T5"."ELEMENTRANGE_ID"=8684 OR "T5"."ELEMENTRANGE_ID"=8685 OR "T5"."ELEMENTRANGE_ID"=8686 OR "T5"."ELEMENTRANGE_ID"=8687 OR "T5"."ELEMENTRANGE_ID"=8688 OR "T5"."ELEMENTRANGE_ID"=8689) * 19 - access("ITEM_1"="FEATUREVALUE_ID") * 20 - filter("TABLE_NR"=15 AND "DELETED"=0) * 21 - filter("FEATUREVALUE_NUM"<="T4"."UBOUND") * 22 - access(INTERNAL_FUNCTION("FEATUREVALUE_NUM")>=INTERNAL_FUNCTION("T4"."LBOUND")) * 22 - filter(INTERNAL_FUNCTION("FEATUREVALUE_NUM")>=INTERNAL_FUNCTION("T4"."LBOUND")) * 23 - access("T4"."ELEMENTRANGE_ID"=3091 OR "T4"."ELEMENTRANGE_ID"=3092 OR "T4"."ELEMENTRANGE_ID"=3093 OR "T4"."ELEMENTRANGE_ID"=3107) * 23 - filter("T4"."ELEMENTRANGE_ID"=3091 OR "T4"."ELEMENTRANGE_ID"=3092 OR "T4"."ELEMENTRANGE_ID"=3093 OR "T4"."ELEMENTRANGE_ID"=3107)
Hint Report (identified by operation id / Query Block Name / Object Alias): Total hints for statement: 1 (U - Unused (1)) ------------------------------------------------------------------------------- 0 - STATEMENT U - NO_PARALLEL
Notes ----- - dop_reason = hint - dop = 1 - px_in_memory_imc = no - px_in_memory = no
--------------------------------------------------------------------------------------------- Object ID : 13965 Test Plan Name : SQL_PLAN_9czd64gy7pzyf51e412e4 Base Plan Name : Cost-based plan SQL Handle : SQL_967da623fc7affce Parsing Schema : SYS Test Plan Creator : SYS SQL Text : delete from dependency$ where d_obj#=:1
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 13965, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 13966 Test Plan Name : SQL_PLAN_ckm3qj7xa542wb5103220 Base Plan Name : Cost-based plan SQL Handle : SQL_c94c7689faa2905c Parsing Schema : SYS Test Plan Creator : SYS SQL Text : select nvl(sum(space),0) from recyclebin$ where ts# = :1
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 13966, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 13967 Test Plan Name : SQL_PLAN_g86rau6g1f46d259d8eb5 Base Plan Name : Cost-based plan SQL Handle : SQL_f41aead19e1710cd Parsing Schema : SYS Test Plan Creator : SYS SQL Text : SELECT sqlset_row(sql_id, force_matching_signature, sql_text, object_list, bind_data, parsing_schema_name, module, action, elapsed_time, cpu_time, buffer_gets, disk_reads, direct_writes, rows_processed, fetches, executions, end_of_fetch_count, optimizer_cost, optimizer_env, priority, command_type, first_load_time, stat_period, active_stat_period, other, plan_hash_value, sql_plan, bind_list, con_dbid, last_exec_start_time) FROM ( SELECT /*+ first_rows(1) */ sql_id, force_matching_signature, sql_text, cast(NULL as SQL_OBJECTS) object_list, bind_data, parsing_schema_name, module, action, elapsed_time, cpu_time, buffer_gets, disk_reads, direct_writes,rows_processed, fetches, executions, end_of_fetch_count, optimizer_cost, optimizer_env,NULL priority, command_type, NULL first_load_time, null stat_period, null active_stat_period, xmlelement( "other_attrs", xmlelement("parsing_user_id", parsing_user_id)).getClobVal() other, plan_hash_value, cast(NULL as SQL_PLAN_TABLE_TYPE) sql_plan, cast (NULL as SQL_BINDS) bind_list, con_dbid , null last_exec_start_time FROM ((SELECT /* prepare_awr_statement */ t1.sql_id, t1.force_matching_signature, sql_text, module, action, selap as ELAPSED_TIME, scpu as CPU_TIME, sbgets as BUFFER_GETS, swrites as DIRECT_WRITES, sdreads as DISK_READS, srow as ROWS_PROCESSED, sfetches as fetches, sexec as EXECUTIONS, seofc as end_of_fetch_count, optimizer_cost, optimizer_env, command_type, parsing_schema_name, parsing_user_id, T1.snap_id, T1.plan_hash_value, T1.dbid, bind_data, T1.con_dbid AS con_dbid FROM (SELECT sql_id, force_matching_signature, action, module, snap_id, dbid, instance_number, sql_text, command_type, optimizer_env, bind_data, parsing_schema_name, parsing_user_id, plan_hash_value, optimizer_cost, con_dbid FROM (SELECT s.snap_id, s.dbid, s.instance_number, s.sql_id, s.force_matching_signature, t.sql_text, t.command_type, module, action, fetches_delta as FETCHES, executions_delta as EXECUTIONS, end_of_fetch_count_delta as END_OF_FETCH_COUNT, disk_reads_delta AS DISK_READS, direct_writes_delta DIRECT_WRITES, buffer_gets_delta as BUFFER_GETS, optimizer_env, rows_processed_delta as ROWS_PROCESSED, cpu_time_delta as CPU_TIME, elapsed_time_delta as ELAPSED_TIME, optimizer_cost, s.parsing_schema_name, s.parsing_user_id, plan_hash_value, loaded_versions, bind_data, s.con_dbid FROM sys.AWR_ROOT_SQLSTAT s, sys.AWR_ROOT_SQLTEXT t, sys.AWR_ROOT_OPTIMIZER_ENV e WHERE s.sql_id = t.sql_id and s.dbid = t.dbid and s.con_dbid = t.con_dbid and s.dbid = e.dbid(+) and s.optimizer_env_hash_value = e.optimizer_env_hash_value(+) and s.con_dbid = e.con_dbid(+) and /* only capture sqls with the full set of execution stats */ (bitand(nvl(s.flag, 0), 1) = 0) AND s.dbid = :dbid AND s.sql_id = :sqlid AND s.plan_hash_value = :phv AND s.con_dbid = :con_dbid AND s.snap_id >= :begin_snap AND s.snap_id <= :end_snap AND t.command_type in (1,2,3,6,7,189) ) ) T1, (SELECT sql_id, plan_hash_value, con_dbid, dbid, sum(CPU_TIME) AS scpu, sum(BUFFER_GETS) AS sbgets, sum(DISK_READS) AS sdreads, sum(DIRECT_WRITES) AS swrites, sum(ROWS_PROCESSED) AS srow, sum(FETCHES) AS sfetches, sum(EXECUTIONS) AS sexec, sum(END_OF_FETCH_COUNT) AS seofc, sum(ELAPSED_TIME) AS selap, MAX(SNAP_ID) KEEP (DENSE_RANK LAST ORDER BY ELAPSED_TIME) AS snap_id, MAX(INSTANCE_NUMBER) KEEP (DENSE_RANK LAST ORDER BY ELAPSED_TIME) AS instance_number FROM (SELECT s.snap_id, s.dbid, s.instance_number, s.sql_id, s.plan_hash_value, s.con_dbid, fetches_delta as FETCHES, executions_delta as EXECUTIONS, end_of_fetch_count_delta as END_OF_FETCH_COUNT, disk_reads_delta AS DISK_READS, direct_writes_delta DIRECT_WRITES, buffer_gets_delta as BUFFER_GETS, rows_processed_delta as ROWS_PROCESSED, cpu_time_delta as CPU_TIME, elapsed_time_delta as ELAPSED_TIME FROM sys.AWR_ROOT_SQLSTAT s WHERE /* only capture sqls with the full set of execution stats */ (bitand(nvl(s.flag, 0), 1) = 0) AND s.dbid = :dbid AND s.sql_id = :sqlid AND s.plan_hash_value = :phv AND s.con_dbid = :con_dbid AND s.snap_id >= :begin_snap AND s.snap_id <= :end_snap ) GROUP BY sql_id, plan_hash_value, con_dbid, dbid) T2 WHERE T1.sql_id = T2.sql_id AND T1.plan_hash_value = T2.plan_hash_value AND T1.snap_id = T2.snap_id AND T1.instance_number = T2.instance_number AND T1.con_dbid = T2.con_dbid AND T1.dbid = T2.dbid)) S )
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 13967, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 13968 Test Plan Name : SQL_PLAN_0tk6k4h17ptkn7bbe3323 Base Plan Name : Cost-based plan SQL Handle : SQL_0cc8d224027ae654 Parsing Schema : DBSNMP Test Plan Creator : SYS SQL Text : SELECT TASKS.TASK_ID, TASKS.EXECUTION_START START_TIME, SUBSTR(OBJ.ATTR1,1, 30) SEGOWNER, SUBSTR(OBJ.ATTR2,1, 30) SEGNAME, SUBSTR(D.OBJECT_TYPE,1, 18) SEGTYPE, SUBSTR(OBJ.ATTR3, 1,30) PARTNAME, TO_CHAR(SUBSTR(OBJ.ATTR4, 1,30)) TBSNAME, FIN.MSG_ID, FIN.MORE_INFO_ID, ACT.COMMAND, FIN.TYPE, SUBSTR(ACT.ATTR1, 1, 1000) SHKOFF, SUBSTR(ACT.ATTR2, 1, 1000) SHKON, SUBSTR(ACT.ATTR3, 1, 1000) ROWM FROM SYS.DBA_ADVISOR_TASKS TASKS, SYS.WRI$_ADV_FINDINGS FIN, SYS.WRI$_ADV_OBJECTS OBJ, SYS.DBA_ADVISOR_OBJECT_TYPES D, SYS.WRI$_ADV_RECOMMENDATIONS REC, SYS.WRI$_ADV_ACTIONS ACT WHERE TASKS.ADVISOR_ID = 5 AND TASKS.TASK_ID = ACT.TASK_ID AND ACT.TASK_ID = OBJ.TASK_ID AND ACT.OBJ_ID = OBJ.ID AND OBJ.TYPE = D.OBJECT_TYPE_ID AND ACT.TASK_ID = FIN.TASK_ID AND ACT.OBJ_ID = FIN.OBJ_ID AND FIN.TASK_ID = REC.TASK_ID AND FIN.ID = REC.FINDING_ID AND NVL(REC.ANNOTATION,0) <> 3 ORDER BY TBSNAME, SEGOWNER, SEGNAME, SEGTYPE, START_TIME DESC
Execution Statistics: ----------------------------- Base Plan Test Plan ---------------------------- ---------------------------- Elapsed Time (s): .00006 .000307 CPU Time (s): .000058 .000305 Buffer Gets: 4 13 Optimizer Cost: 195 342 Disk Reads: 0 0 Direct Writes: 0 0 Rows Processed: 0 0 Executions: 10 10
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The plan was verified in 0.20700 seconds. It failed the benefit criterion because its verified performance was 0.19048 times worse than that of the baseline plan.
EXPLAIN PLANS SECTION ---------------------------------------------------------------------------------------------
Baseline Plan ----------------------------- Plan Id : 13705 Plan Hash Value : 3659899306
--------------------------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost | Time | --------------------------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 15 | 3705 | 195 | 00:00:01 | | 1 | SORT ORDER BY | | 15 | 3705 | 195 | 00:00:01 | | * 2 | HASH JOIN | | 15 | 3705 | 194 | 00:00:01 | | * 3 | HASH JOIN | | 83 | 19671 | 191 | 00:00:01 | | 4 | NESTED LOOPS | | 83 | 17596 | 177 | 00:00:01 | | 5 | NESTED LOOPS | | 83 | 16185 | 177 | 00:00:01 | | * 6 | HASH JOIN | | 83 | 6723 | 10 | 00:00:01 | | * 7 | HASH JOIN OUTER | | 14 | 658 | 6 | 00:00:01 | | * 8 | TABLE ACCESS BY INDEX ROWID BATCHED | WRI$_ADV_TASKS | 14 | 294 | 3 | 00:00:01 | | * 9 | INDEX RANGE SCAN | WRI$_ADV_TASKS_IDX_03 | 14 | | 2 | 00:00:01 | | * 10 | TABLE ACCESS FULL | WRI$_ADV_EXECUTIONS | 13 | 338 | 3 | 00:00:01 | | 11 | TABLE ACCESS FULL | WRI$_ADV_ACTIONS | 659 | 22406 | 4 | 00:00:01 | | 12 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_OBJECTS | 1 | 114 | 2 | 00:00:01 | | * 13 | INDEX UNIQUE SCAN | WRI$_ADV_OBJECTS_PK | 1 | | 1 | 00:00:01 | | * 14 | FIXED TABLE FIXED INDEX | X$KEAOBJT (ind:2) | 1 | 17 | 0 | 00:00:01 | | 15 | TABLE ACCESS FULL | WRI$_ADV_FINDINGS | 10162 | 254050 | 14 | 00:00:01 | | * 16 | TABLE ACCESS FULL | WRI$_ADV_RECOMMENDATIONS | 807 | 8070 | 3 | 00:00:01 | ---------------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 2 - access("FIN"."TASK_ID"="REC"."TASK_ID" AND "FIN"."ID"="REC"."FINDING_ID") * 3 - access("ACT"."TASK_ID"="FIN"."TASK_ID" AND "ACT"."OBJ_ID"="FIN"."OBJ_ID") * 6 - access("A"."ID"="ACT"."TASK_ID") * 7 - access("A"."ID"="E"."TASK_ID"(+) AND "A"."ADVISOR_ID"="E"."ADVISOR_ID"(+) AND "A"."LAST_EXEC_NAME"="E"."NAME"(+)) * 8 - filter(BITAND("A"."PROPERTY",6)=4) * 9 - access("A"."ADVISOR_ID"=5) * 10 - filter("E"."ADVISOR_ID"(+)=5) * 13 - access("ACT"."TASK_ID"="OBJ"."TASK_ID" AND "ACT"."OBJ_ID"="OBJ"."ID") * 14 - filter("OBJ"."TYPE"="A"."INDX") * 16 - filter(NVL("REC"."ANNOTATION",0)<>3)
Hint Report (identified by operation id / Query Block Name / Object Alias): Total hints for statement: 1 (U - Unused (1)) ------------------------------------------------------------------------------- 0 - STATEMENT U - NO_PARALLEL
Notes ----- - dop_reason = hint - dop = 1 - px_in_memory_imc = no - px_in_memory = no
Test Plan ----------------------------- Plan Id : 13706 Plan Hash Value : 2076062499
------------------------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost | Time | ------------------------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 107 | 26429 | 342 | 00:00:01 | | 1 | SORT ORDER BY | | 107 | 26429 | 342 | 00:00:01 | | 2 | NESTED LOOPS | | 107 | 26429 | 341 | 00:00:01 | | 3 | NESTED LOOPS | | 107 | 24610 | 341 | 00:00:01 | | 4 | NESTED LOOPS OUTER | | 107 | 12412 | 126 | 00:00:01 | | * 5 | HASH JOIN | | 107 | 9630 | 24 | 00:00:01 | | * 6 | TABLE ACCESS BY INDEX ROWID BATCHED | WRI$_ADV_TASKS | 14 | 294 | 3 | 00:00:01 | | * 7 | INDEX RANGE SCAN | WRI$_ADV_TASKS_IDX_03 | 14 | | 2 | 00:00:01 | | * 8 | HASH JOIN | | 857 | 59133 | 21 | 00:00:01 | | 9 | TABLE ACCESS FULL | WRI$_ADV_ACTIONS | 659 | 22406 | 4 | 00:00:01 | | * 10 | HASH JOIN | | 807 | 28245 | 17 | 00:00:01 | | * 11 | TABLE ACCESS FULL | WRI$_ADV_RECOMMENDATIONS | 807 | 8070 | 3 | 00:00:01 | | 12 | TABLE ACCESS FULL | WRI$_ADV_FINDINGS | 10162 | 254050 | 14 | 00:00:01 | | * 13 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_EXECUTIONS | 1 | 26 | 1 | 00:00:01 | | * 14 | INDEX UNIQUE SCAN | WRI$_ADV_EXECS_PK | 1 | | 0 | 00:00:01 | | 15 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_OBJECTS | 1 | 114 | 2 | 00:00:01 | | * 16 | INDEX UNIQUE SCAN | WRI$_ADV_OBJECTS_PK | 1 | | 1 | 00:00:01 | | * 17 | FIXED TABLE FIXED INDEX | X$KEAOBJT (ind:2) | 1 | 17 | 0 | 00:00:01 | -------------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 5 - access("A"."ID"="ACT"."TASK_ID") * 6 - filter(BITAND("A"."PROPERTY",6)=4) * 7 - access("A"."ADVISOR_ID"=5) * 8 - access("ACT"."TASK_ID"="FIN"."TASK_ID" AND "ACT"."OBJ_ID"="FIN"."OBJ_ID") * 10 - access("FIN"."TASK_ID"="REC"."TASK_ID" AND "FIN"."ID"="REC"."FINDING_ID") * 11 - filter(NVL("REC"."ANNOTATION",0)<>3) * 13 - filter("E"."ADVISOR_ID"(+)=5) * 14 - access("A"."ID"="E"."TASK_ID"(+) AND "A"."LAST_EXEC_NAME"="E"."NAME"(+)) * 16 - access("ACT"."TASK_ID"="OBJ"."TASK_ID" AND "ACT"."OBJ_ID"="OBJ"."ID") * 17 - filter("OBJ"."TYPE"="A"."INDX")
Hint Report (identified by operation id / Query Block Name / Object Alias): Total hints for statement: 1 (U - Unused (1)) ------------------------------------------------------------------------------- 0 - STATEMENT U - NO_PARALLEL
Notes ----- - dop_reason = hint - dop = 1 - px_in_memory_imc = no - px_in_memory = no
--------------------------------------------------------------------------------------------- Object ID : 13969 Test Plan Name : SQL_PLAN_66mywg77hg64be4dfb105 Base Plan Name : Cost-based plan SQL Handle : SQL_634fdc79cf07988b Parsing Schema : SYS Test Plan Creator : SYS SQL Text : select o.owner#, o.name, o.namespace, o.obj#, d.d_timestamp, nvl(d.property,0), o.type#, o.subname, d.d_attrs from dependency$ d, obj$ o where d.p_obj#=:1 and (d.p_timestamp=nvl(:2,d.p_timestamp) or d.property=2) and o.owner#=nvl(:3,o.owner#) and d.d_obj#=o.obj# order by o.obj#
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. This plan was skipped because either the database is not fully open or the SQL statement is ineligible for SQL Plan Management.
--------------------------------------------------------------------------------------------- Object ID : 13970 Test Plan Name : SQL_PLAN_43yhmmxxj01xkee4c49e8 Base Plan Name : Cost-based plan SQL Handle : SQL_41fa139f7b1007b2 Parsing Schema : SYS Test Plan Creator : SYS SQL Text : select file#, block# from recyclebin$ where ts# = :1 and file# != 0 and block# != 0 and space = 0
Execution Statistics: ----------------------------- Base Plan Test Plan ---------------------------- ---------------------------- Elapsed Time (s): .000005 .000004 CPU Time (s): .000005 .000004 Buffer Gets: 0 0 Optimizer Cost: 2 2 Disk Reads: 0 0 Direct Writes: 0 0 Rows Processed: 0 0 Executions: 10 10
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (2): ----------------------------- 1. The plan was verified in 0.01500 seconds. It passed the benefit criterion because its verified performance was 1.99751 times better than that of the baseline plan. 2. The plan was automatically accepted.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 13970, task_owner => 'SYS');
EXPLAIN PLANS SECTION ---------------------------------------------------------------------------------------------
Baseline Plan ----------------------------- Plan Id : 13707 Plan Hash Value : 477952160
---------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost | Time | ---------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 1 | 12 | 2 | 00:00:01 | | * 1 | TABLE ACCESS FULL | RECYCLEBIN$ | 1 | 12 | 2 | 00:00:01 | ----------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 1 - filter("TS#"=:1 AND "FILE#"<>0 AND "BLOCK#"<>0 AND "SPACE"=0)
Hint Report (identified by operation id / Query Block Name / Object Alias): Total hints for statement: 1 (U - Unused (1)) ------------------------------------------------------------------------------- 0 - STATEMENT U - NO_PARALLEL
Notes ----- - dop_reason = hint - dop = 1 - px_in_memory_imc = no - px_in_memory = no
Test Plan ----------------------------- Plan Id : 13708 Plan Hash Value : 3997977064
------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost | Time | ------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 1 | 12 | 2 | 00:00:01 | | * 1 | TABLE ACCESS BY INDEX ROWID BATCHED | RECYCLEBIN$ | 1 | 12 | 2 | 00:00:01 | | * 2 | INDEX RANGE SCAN | RECYCLEBIN$_TS | 8 | | 1 | 00:00:01 | -------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 1 - filter("FILE#"<>0 AND "BLOCK#"<>0 AND "SPACE"=0) * 2 - access("TS#"=:1)
--------------------------------------------------------------------------------------------- Object ID : 13971 Test Plan Name : SQL_PLAN_7q9u629td6j4g9a46fad3 Base Plan Name : Cost-based plan SQL Handle : SQL_7b27461272d3448f Parsing Schema : BOTANG Test Plan Creator : SYS SQL Text : select col.*, com.Comments from sys.all_tab_columns col, sys.all_col_comments com where col.owner = 'BOTANG' and col.table_name = 'V_BANK_INVOICE_RMB_LC17_22_G93' and com.Owner (+) = 'BOTANG' and com.Table_Name (+) = 'V_BANK_INVOICE_RMB_LC17_22_G93' and com.Column_Name (+) = col.Column_Name order by col.column_id
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 13971, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 13972 Test Plan Name : SQL_PLAN_7zxxartnskaxx4bd36088 Base Plan Name : Cost-based plan SQL Handle : SQL_7ff7aabe69892bbd Parsing Schema : APPS Test Plan Creator : SYS SQL Text : SELECT /* ORDERED INDEX(t1) USE_HASH(t1) */ 'B' || t2.pg_featurevalue_13_id pg_featurevalue_13_id, 'B' || t2.pg_featurevalue_02_id pg_featurevalue_02_id, 'r' || t4.elementrange_id pg_featurevalue_15_id, 'B' || t2.pg_featurevalue_08_id pg_featurevalue_08_id, 'B' || t2.pg_featurevalue_01_id pg_featurevalue_01_id, 'r' || t5.elementrange_id price_eur_id, 'B' || t2.productgroup_id productgroup_id, 'G' || t6.elementgroup_id period_id, SUM(t 1.pd_sales_units*t1.pd_projection_factor*t1.pd_price_units_ eur) salesvalueeur FROM lu_item_293 t2, lu_pg_featurevalue_15 t3, lu_elementrange_rel t4, fact_pd_out_itm_293 t1, lu_elementgroup_rel t6, lu_elementrange_rel t5 WHERE /* Attribute Joins */ ((t1.item_id = t2.item_id /* Customizing Begin */ AND t1.productgroup_id = t2.productgroup_id) /* Customizing End */ AND (t2.pg_featurevalue_15_id = t3.pg_featurevalue_15_id) AND (t3.pg_featurevalue_15_num BETWEEN t4.lbound AND t4.ubound) AND (t1.pd_price_units_eur BETWEEN t5.lbound AND t5.ubound) AND (t1.period_id = t6.value_id) ) /* Attribute Filters */ AND ((t2.productgroup_id = 15520) AND (t1.productgroup_id = 15520) /* Push Down Filters */ AND (t2.pg_featurevalue_01_id IN (103,104,107,110,113,134,148,1 67,171,186,192,216,2259,236,241,2477,24958,27445,297,3891,7 1,76,89,92,95)) AND (t2.pg_featurevalue_08_id IN (716,717)) AND (t2.pg_featurevalue_02_id IN (4165,4166)) AND (t2.pg_featurevalue_13_id = 5424) AND (t4.elementrange_id IN (3091,3092)) AND (t5.elementrange_id IN (8686,8687,8688,8689,8690,8691,8692,8693)) AND (t6.elementgroup_id = 14659) AND (t1.period_id IN (20030699 999060,20030799999030,20030799999060,20030799999120)) /* Resolved ElementGroup Filters */ ) /* Fact Filters */ AND (t1.project_type_id = '1' ) GROUP BY t2.pg_featurevalue_13_id, t2.pg_featurevalue_02_id, t4.elementrange_id, t2.pg_featurevalue_08_id, t2.pg_featurevalue_01_id, t5.elementrange_id, t2.productgroup_id, t6.elementgroup_id
Execution Statistics: ----------------------------- Base Plan Test Plan ---------------------------- ---------------------------- Elapsed Time (s): .009772 .003171 CPU Time (s): .009718 .003164 Buffer Gets: 3020 1 Optimizer Cost: 88 615 Disk Reads: 0 0 Direct Writes: 0 0 Rows Processed: 0 0 Executions: 10 10
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (2): ----------------------------- 1. The plan was verified in 1.63200 seconds. It passed the benefit criterion because its verified performance was 1992.21294 times better than that of the baseline plan. 2. The plan was automatically accepted.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 13972, task_owner => 'SYS');
EXPLAIN PLANS SECTION ---------------------------------------------------------------------------------------------
Baseline Plan ----------------------------- Plan Id : 13709 Plan Hash Value : 546558701
---------------------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost | Time | ---------------------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 7 | 462 | 88 | 00:00:01 | | 1 | HASH GROUP BY | | 7 | 462 | 88 | 00:00:01 | | 2 | MERGE JOIN | | 7 | 462 | 87 | 00:00:01 | | 3 | SORT JOIN | | 11 | 561 | 84 | 00:00:01 | | 4 | NESTED LOOPS | | 11 | 561 | 83 | 00:00:01 | | 5 | NESTED LOOPS | | 11 | 561 | 83 | 00:00:01 | | 6 | VIEW | VW_GBC_16 | 11 | 385 | 61 | 00:00:01 | | 7 | HASH GROUP BY | | 11 | 1012 | 61 | 00:00:01 | | 8 | MERGE JOIN | | 11 | 1012 | 60 | 00:00:01 | | 9 | SORT JOIN | | 1 | 77 | 56 | 00:00:01 | | 10 | NESTED LOOPS | | 1 | 77 | 55 | 00:00:01 | | 11 | NESTED LOOPS | | 1 | 77 | 55 | 00:00:01 | | 12 | MERGE JOIN CARTESIAN | | 4 | 172 | 14 | 00:00:01 | | * 13 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTGROUP_REL | 1 | 11 | 11 | 00:00:01 | | 14 | BUFFER SORT | | 397 | 12704 | 4 | 00:00:01 | | * 15 | TABLE ACCESS INMEMORY FULL | LU_ITEM_293 | 397 | 12704 | 4 | 00:00:01 | | 16 | BITMAP CONVERSION TO ROWIDS | | | | | | | 17 | BITMAP AND | | | | | | | * 18 | BITMAP INDEX SINGLE VALUE | FACT_274_PER_IDX | | | | | | * 19 | BITMAP INDEX SINGLE VALUE | FACT_274_ITEM_IDX | | | | | | * 20 | TABLE ACCESS BY INDEX ROWID | FACT_PD_OUT_ITM_293 | 1 | 34 | 55 | 00:00:01 | | * 21 | FILTER | | | | | | | * 22 | SORT JOIN | | 8 | 120 | 4 | 00:00:01 | | * 23 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTRANGE_REL | 8 | 120 | 3 | 00:00:01 | | * 24 | INDEX RANGE SCAN | ADM_PG_FEATUREVALUE_IDX2 | 1 | | 1 | 00:00:01 | | * 25 | TABLE ACCESS BY INDEX ROWID | ADM_PG_FEATUREVALUE | 1 | 16 | 2 | 00:00:01 | | * 26 | FILTER | | | | | | | * 27 | SORT JOIN | | 2 | 30 | 3 | 00:00:01 | | * 28 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTRANGE_REL | 2 | 30 | 2 | 00:00:01 | ----------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 13 - access("T6"."ELEMENTGROUP_ID"=14659 AND ("T6"."VALUE_ID"=20030699999060 OR "T6"."VALUE_ID"=20030799999030 OR "T6"."VALUE_ID"=20030799999060 OR "T6"."VALUE_ID"=20030799999120)) * 13 - filter("T6"."ELEMENTGROUP_ID"=14659 AND ("T6"."VALUE_ID"=20030699999060 OR "T6"."VALUE_ID"=20030799999030 OR "T6"."VALUE_ID"=20030799999060 OR "T6"."VALUE_ID"=20030799999120)) * 15 - access("T2"."PG_FEATUREVALUE_13_ID"=5424 AND ("T2"."PG_FEATUREVALUE_01_ID"=71 OR "T2"."PG_FEATUREVALUE_01_ID"=76 OR "T2"."PG_FEATUREVALUE_01_ID"=89 OR "T2"."PG_FEATUREVALUE_01_ID"=92 OR "T2"."PG_FEATUREVALUE_01_ID"=95 OR "T2"."PG_FEATUREVALUE_01_ID"=103 OR "T2"."PG_FEATUREVALUE_01_ID"=104 OR "T2"."PG_FEATUREVALUE_01_ID"=107 OR "T2"."PG_FEATUREVALUE_01_ID"=110 OR "T2"."PG_FEATUREVALUE_01_ID"=113 OR "T2"."PG_FEATUREVALUE_01_ID"=134 OR "T2"."PG_FEATUREVALUE_01_ID"=148 OR "T2"."PG_FEATUREVALUE_01_ID"=167 OR "T2"."PG_FEATUREVALUE_01_ID"=171 OR "T2"."PG_FEATUREVALUE_01_ID"=186 OR "T2"."PG_FEATUREVALUE_01_ID"=192 OR "T2"."PG_FEATUREVALUE_01_ID"=216 OR "T2"."PG_FEATUREVALUE_01_ID"=236 OR "T2"."PG_FEATUREVALUE_01_ID"=241 OR "T2"."PG_FEATUREVALUE_01_ID"=297 OR "T2"."PG_FEATUREVALUE_01_ID"=2259 OR "T2"."PG_FEATUREVALUE_01_ID"=2477 OR "T2"."PG_FEATUREVALUE_01_ID"=3891 OR "T2"."PG_FEATUREVALUE_01_ID"=24958 OR "T2"."PG_FEATUREVALUE_01_ID"=27445) AND "T2"."PRODUCTGROUP_ID"=15520 AND ("T2"."PG_FEATUREVALUE_02_ID"=4165 OR "T2"."PG_FEATUREVALUE_02_ID"=4166) AND ("T2"."PG_FEATUREVALUE_08_ID"=716 OR "T2"."PG_FEATUREVALUE_08_ID"=717)) * 15 - filter("T2"."PG_FEATUREVALUE_13_ID"=5424 AND ("T2"."PG_FEATUREVALUE_01_ID"=71 OR "T2"."PG_FEATUREVALUE_01_ID"=76 OR "T2"."PG_FEATUREVALUE_01_ID"=89 OR "T2"."PG_FEATUREVALUE_01_ID"=92 OR "T2"."PG_FEATUREVALUE_01_ID"=95 OR "T2"."PG_FEATUREVALUE_01_ID"=103 OR "T2"."PG_FEATUREVALUE_01_ID"=104 OR "T2"."PG_FEATUREVALUE_01_ID"=107 OR "T2"."PG_FEATUREVALUE_01_ID"=110 OR "T2"."PG_FEATUREVALUE_01_ID"=113 OR "T2"."PG_FEATUREVALUE_01_ID"=134 OR "T2"."PG_FEATUREVALUE_01_ID"=148 OR "T2"."PG_FEATUREVALUE_01_ID"=167 OR "T2"."PG_FEATUREVALUE_01_ID"=171 OR "T2"."PG_FEATUREVALUE_01_ID"=186 OR "T2"."PG_FEATUREVALUE_01_ID"=192 OR "T2"."PG_FEATUREVALUE_01_ID"=216 OR "T2"."PG_FEATUREVALUE_01_ID"=236 OR "T2"."PG_FEATUREVALUE_01_ID"=241 OR "T2"."PG_FEATUREVALUE_01_ID"=297 OR "T2"."PG_FEATUREVALUE_01_ID"=2259 OR "T2"."PG_FEATUREVALUE_01_ID"=2477 OR "T2"."PG_FEATUREVALUE_01_ID"=3891 OR "T2"."PG_FEATUREVALUE_01_ID"=24958 OR "T2"."PG_FEATUREVALUE_01_ID"=27445) AND "T2"."PRODUCTGROUP_ID"=15520 AND ("T2"."PG_FEATUREVALUE_02_ID"=4165 OR "T2"."PG_FEATUREVALUE_02_ID"=4166) AND ("T2"."PG_FEATUREVALUE_08_ID"=716 OR "T2"."PG_FEATUREVALUE_08_ID"=717)) * 18 - access("T1"."PERIOD_ID"="T6"."VALUE_ID") * 18 - filter("T1"."PERIOD_ID"=20030699999060 OR "T1"."PERIOD_ID"=20030799999030 OR "T1"."PERIOD_ID"=20030799999060 OR "T1"."PERIOD_ID"=20030799999120) * 19 - access("T1"."ITEM_ID"="T2"."ITEM_ID") * 20 - filter(("T1"."PERIOD_ID"=20030699999060 OR "T1"."PERIOD_ID"=20030799999030 OR "T1"."PERIOD_ID"=20030799999060 OR "T1"."PERIOD_ID"=20030799999120) AND "T1"."PRODUCTGROUP_ID"=15520 AND "T1"."PROJECT_TYPE_ID"='1' AND "T1"."PRODUCTGROUP_ID"="T2"."PRODUCTGROUP_ID") * 21 - filter("T1"."PD_PRICE_UNITS_EUR">="T5"."LBOUND") * 22 - access("T1"."PD_PRICE_UNITS_EUR"<="T5"."UBOUND") * 22 - filter("T1"."PD_PRICE_UNITS_EUR"<="T5"."UBOUND") * 23 - access("T5"."ELEMENTRANGE_ID"=8686 OR "T5"."ELEMENTRANGE_ID"=8687 OR "T5"."ELEMENTRANGE_ID"=8688 OR "T5"."ELEMENTRANGE_ID"=8689 OR "T5"."ELEMENTRANGE_ID"=8690 OR "T5"."ELEMENTRANGE_ID"=8691 OR "T5"."ELEMENTRANGE_ID"=8692 OR "T5"."ELEMENTRANGE_ID"=8693) * 23 - filter("T5"."ELEMENTRANGE_ID"=8686 OR "T5"."ELEMENTRANGE_ID"=8687 OR "T5"."ELEMENTRANGE_ID"=8688 OR "T5"."ELEMENTRANGE_ID"=8689 OR "T5"."ELEMENTRANGE_ID"=8690 OR "T5"."ELEMENTRANGE_ID"=8691 OR "T5"."ELEMENTRANGE_ID"=8692 OR "T5"."ELEMENTRANGE_ID"=8693) * 24 - access("ITEM_1"="FEATUREVALUE_ID") * 25 - filter("TABLE_NR"=15 AND "DELETED"=0) * 26 - filter("FEATUREVALUE_NUM"<="T4"."UBOUND") * 27 - access(INTERNAL_FUNCTION("FEATUREVALUE_NUM")>=INTERNAL_FUNCTION("T4"."LBOUND")) * 27 - filter(INTERNAL_FUNCTION("FEATUREVALUE_NUM")>=INTERNAL_FUNCTION("T4"."LBOUND")) * 28 - access("T4"."ELEMENTRANGE_ID"=3091 OR "T4"."ELEMENTRANGE_ID"=3092) * 28 - filter("T4"."ELEMENTRANGE_ID"=3091 OR "T4"."ELEMENTRANGE_ID"=3092)
Hint Report (identified by operation id / Query Block Name / Object Alias): Total hints for statement: 1 (U - Unused (1)) ------------------------------------------------------------------------------- 0 - STATEMENT U - NO_PARALLEL
Notes ----- - dop_reason = hint - dop = 1 - px_in_memory_imc = no - px_in_memory = no
Test Plan ----------------------------- Plan Id : 13710 Plan Hash Value : 1272144008
------------------------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost | Time | ------------------------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 7 | 462 | 615 | 00:00:01 | | 1 | HASH GROUP BY | | 7 | 462 | 615 | 00:00:01 | | 2 | MERGE JOIN | | 7 | 462 | 614 | 00:00:01 | | 3 | SORT JOIN | | 11 | 561 | 611 | 00:00:01 | | 4 | NESTED LOOPS | | 11 | 561 | 610 | 00:00:01 | | 5 | NESTED LOOPS | | 11 | 561 | 610 | 00:00:01 | | 6 | VIEW | VW_GBC_16 | 11 | 385 | 588 | 00:00:01 | | 7 | HASH GROUP BY | | 11 | 1012 | 588 | 00:00:01 | | 8 | MERGE JOIN | | 11 | 1012 | 587 | 00:00:01 | | 9 | SORT JOIN | | 1 | 77 | 583 | 00:00:01 | | * 10 | HASH JOIN | | 1 | 77 | 582 | 00:00:01 | | 11 | MERGE JOIN CARTESIAN | | 4 | 172 | 14 | 00:00:01 | | * 12 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTGROUP_REL | 1 | 11 | 11 | 00:00:01 | | 13 | BUFFER SORT | | 397 | 12704 | 4 | 00:00:01 | | * 14 | TABLE ACCESS INMEMORY FULL | LU_ITEM_293 | 397 | 12704 | 4 | 00:00:01 | | * 15 | TABLE ACCESS INMEMORY FULL | FACT_PD_OUT_ITM_293 | 120991 | 4113694 | 565 | 00:00:01 | | * 16 | FILTER | | | | | | | * 17 | SORT JOIN | | 8 | 120 | 4 | 00:00:01 | | * 18 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTRANGE_REL | 8 | 120 | 3 | 00:00:01 | | * 19 | INDEX RANGE SCAN | ADM_PG_FEATUREVALUE_IDX2 | 1 | | 1 | 00:00:01 | | * 20 | TABLE ACCESS BY INDEX ROWID | ADM_PG_FEATUREVALUE | 1 | 16 | 2 | 00:00:01 | | * 21 | FILTER | | | | | | | * 22 | SORT JOIN | | 2 | 30 | 3 | 00:00:01 | | * 23 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTRANGE_REL | 2 | 30 | 2 | 00:00:01 | -------------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 10 - access("T1"."PERIOD_ID"="T6"."VALUE_ID" AND "T1"."PRODUCTGROUP_ID"="T2"."PRODUCTGROUP_ID" AND "T1"."ITEM_ID"="T2"."ITEM_ID") * 12 - access("T6"."ELEMENTGROUP_ID"=14659 AND ("T6"."VALUE_ID"=20030699999060 OR "T6"."VALUE_ID"=20030799999030 OR "T6"."VALUE_ID"=20030799999060 OR "T6"."VALUE_ID"=20030799999120)) * 12 - filter("T6"."ELEMENTGROUP_ID"=14659 AND ("T6"."VALUE_ID"=20030699999060 OR "T6"."VALUE_ID"=20030799999030 OR "T6"."VALUE_ID"=20030799999060 OR "T6"."VALUE_ID"=20030799999120)) * 14 - access("T2"."PG_FEATUREVALUE_13_ID"=5424 AND ("T2"."PG_FEATUREVALUE_01_ID"=71 OR "T2"."PG_FEATUREVALUE_01_ID"=76 OR "T2"."PG_FEATUREVALUE_01_ID"=89 OR "T2"."PG_FEATUREVALUE_01_ID"=92 OR "T2"."PG_FEATUREVALUE_01_ID"=95 OR "T2"."PG_FEATUREVALUE_01_ID"=103 OR "T2"."PG_FEATUREVALUE_01_ID"=104 OR "T2"."PG_FEATUREVALUE_01_ID"=107 OR "T2"."PG_FEATUREVALUE_01_ID"=110 OR "T2"."PG_FEATUREVALUE_01_ID"=113 OR "T2"."PG_FEATUREVALUE_01_ID"=134 OR "T2"."PG_FEATUREVALUE_01_ID"=148 OR "T2"."PG_FEATUREVALUE_01_ID"=167 OR "T2"."PG_FEATUREVALUE_01_ID"=171 OR "T2"."PG_FEATUREVALUE_01_ID"=186 OR "T2"."PG_FEATUREVALUE_01_ID"=192 OR "T2"."PG_FEATUREVALUE_01_ID"=216 OR "T2"."PG_FEATUREVALUE_01_ID"=236 OR "T2"."PG_FEATUREVALUE_01_ID"=241 OR "T2"."PG_FEATUREVALUE_01_ID"=297 OR "T2"."PG_FEATUREVALUE_01_ID"=2259 OR "T2"."PG_FEATUREVALUE_01_ID"=2477 OR "T2"."PG_FEATUREVALUE_01_ID"=3891 OR "T2"."PG_FEATUREVALUE_01_ID"=24958 OR "T2"."PG_FEATUREVALUE_01_ID"=27445) AND "T2"."PRODUCTGROUP_ID"=15520 AND ("T2"."PG_FEATUREVALUE_02_ID"=4165 OR "T2"."PG_FEATUREVALUE_02_ID"=4166) AND ("T2"."PG_FEATUREVALUE_08_ID"=716 OR "T2"."PG_FEATUREVALUE_08_ID"=717)) * 14 - filter("T2"."PG_FEATUREVALUE_13_ID"=5424 AND ("T2"."PG_FEATUREVALUE_01_ID"=71 OR "T2"."PG_FEATUREVALUE_01_ID"=76 OR "T2"."PG_FEATUREVALUE_01_ID"=89 OR "T2"."PG_FEATUREVALUE_01_ID"=92 OR "T2"."PG_FEATUREVALUE_01_ID"=95 OR "T2"."PG_FEATUREVALUE_01_ID"=103 OR "T2"."PG_FEATUREVALUE_01_ID"=104 OR "T2"."PG_FEATUREVALUE_01_ID"=107 OR "T2"."PG_FEATUREVALUE_01_ID"=110 OR "T2"."PG_FEATUREVALUE_01_ID"=113 OR "T2"."PG_FEATUREVALUE_01_ID"=134 OR "T2"."PG_FEATUREVALUE_01_ID"=148 OR "T2"."PG_FEATUREVALUE_01_ID"=167 OR "T2"."PG_FEATUREVALUE_01_ID"=171 OR "T2"."PG_FEATUREVALUE_01_ID"=186 OR "T2"."PG_FEATUREVALUE_01_ID"=192 OR "T2"."PG_FEATUREVALUE_01_ID"=216 OR "T2"."PG_FEATUREVALUE_01_ID"=236 OR "T2"."PG_FEATUREVALUE_01_ID"=241 OR "T2"."PG_FEATUREVALUE_01_ID"=297 OR "T2"."PG_FEATUREVALUE_01_ID"=2259 OR "T2"."PG_FEATUREVALUE_01_ID"=2477 OR "T2"."PG_FEATUREVALUE_01_ID"=3891 OR "T2"."PG_FEATUREVALUE_01_ID"=24958 OR "T2"."PG_FEATUREVALUE_01_ID"=27445) AND "T2"."PRODUCTGROUP_ID"=15520 AND ("T2"."PG_FEATUREVALUE_02_ID"=4165 OR "T2"."PG_FEATUREVALUE_02_ID"=4166) AND ("T2"."PG_FEATUREVALUE_08_ID"=716 OR "T2"."PG_FEATUREVALUE_08_ID"=717)) * 15 - access(("T1"."PERIOD_ID"=20030699999060 OR "T1"."PERIOD_ID"=20030799999030 OR "T1"."PERIOD_ID"=20030799999060 OR "T1"."PERIOD_ID"=20030799999120) AND "T1"."PRODUCTGROUP_ID"=15520 AND "T1"."PROJECT_TYPE_ID"='1') * 15 - filter(("T1"."PERIOD_ID"=20030699999060 OR "T1"."PERIOD_ID"=20030799999030 OR "T1"."PERIOD_ID"=20030799999060 OR "T1"."PERIOD_ID"=20030799999120) AND "T1"."PRODUCTGROUP_ID"=15520 AND "T1"."PROJECT_TYPE_ID"='1') * 16 - filter("T1"."PD_PRICE_UNITS_EUR">="T5"."LBOUND") * 17 - access("T1"."PD_PRICE_UNITS_EUR"<="T5"."UBOUND") * 17 - filter("T1"."PD_PRICE_UNITS_EUR"<="T5"."UBOUND") * 18 - access("T5"."ELEMENTRANGE_ID"=8686 OR "T5"."ELEMENTRANGE_ID"=8687 OR "T5"."ELEMENTRANGE_ID"=8688 OR "T5"."ELEMENTRANGE_ID"=8689 OR "T5"."ELEMENTRANGE_ID"=8690 OR "T5"."ELEMENTRANGE_ID"=8691 OR "T5"."ELEMENTRANGE_ID"=8692 OR "T5"."ELEMENTRANGE_ID"=8693) * 18 - filter("T5"."ELEMENTRANGE_ID"=8686 OR "T5"."ELEMENTRANGE_ID"=8687 OR "T5"."ELEMENTRANGE_ID"=8688 OR "T5"."ELEMENTRANGE_ID"=8689 OR "T5"."ELEMENTRANGE_ID"=8690 OR "T5"."ELEMENTRANGE_ID"=8691 OR "T5"."ELEMENTRANGE_ID"=8692 OR "T5"."ELEMENTRANGE_ID"=8693) * 19 - access("ITEM_1"="FEATUREVALUE_ID") * 20 - filter("TABLE_NR"=15 AND "DELETED"=0) * 21 - filter("FEATUREVALUE_NUM"<="T4"."UBOUND") * 22 - access(INTERNAL_FUNCTION("FEATUREVALUE_NUM")>=INTERNAL_FUNCTION("T4"."LBOUND")) * 22 - filter(INTERNAL_FUNCTION("FEATUREVALUE_NUM")>=INTERNAL_FUNCTION("T4"."LBOUND")) * 23 - access("T4"."ELEMENTRANGE_ID"=3091 OR "T4"."ELEMENTRANGE_ID"=3092) * 23 - filter("T4"."ELEMENTRANGE_ID"=3091 OR "T4"."ELEMENTRANGE_ID"=3092)
Hint Report (identified by operation id / Query Block Name / Object Alias): Total hints for statement: 1 (U - Unused (1)) ------------------------------------------------------------------------------- 0 - STATEMENT U - NO_PARALLEL
Notes ----- - dop_reason = hint - dop = 1 - px_in_memory_imc = no - px_in_memory = no
--------------------------------------------------------------------------------------------- Object ID : 13973 Test Plan Name : SQL_PLAN_1kdtzygpt3f999a46fad3 Base Plan Name : Cost-based plan SQL Handle : SQL_19373ff3eb91b929 Parsing Schema : BOTANG Test Plan Creator : SYS SQL Text : select col.*, com.Comments from sys.all_tab_columns col, sys.all_col_comments com where col.owner = 'BOTANG' and col.table_name = 'V_BANK_INVOICE_DIM_RMB_LC_G_G2' and com.Owner (+) = 'BOTANG' and com.Table_Name (+) = 'V_BANK_INVOICE_DIM_RMB_LC_G_G2' and com.Column_Name (+) = col.Column_Name order by col.column_id
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 13973, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 13974 Test Plan Name : SQL_PLAN_956hhtva41qqh9a46fad3 Base Plan Name : Cost-based plan SQL Handle : SQL_929a10ced440dad0 Parsing Schema : BOTANG Test Plan Creator : SYS SQL Text : select col.*, com.Comments from sys.all_tab_columns col, sys.all_col_comments com where col.owner = 'BOTANG' and col.table_name = 'V_BANK_INVOICE_RMB_LC05_09_G77' and com.Owner (+) = 'BOTANG' and com.Table_Name (+) = 'V_BANK_INVOICE_RMB_LC05_09_G77' and com.Column_Name (+) = col.Column_Name order by col.column_id
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 13974, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 13975 Test Plan Name : SQL_PLAN_fpd46vjrczqw20f95a3de Base Plan Name : Cost-based plan SQL Handle : SQL_eab486dc6ecfdb82 Parsing Schema : DBSNMP Test Plan Creator : SYS SQL Text : SELECT j.job_name, j.owner, CASE WHEN j.state = 'SCHEDULED' THEN TO_CHAR(j.NEXT_RUN_DATE,'DD-MON-YYYY HH24:MI:SS TZH:TZM') ELSE NULL END scheduled_date, CASE WHEN j.state = 'RUNNING' THEN ((SYS_EXTRACT_UTC(systimestamp)+0) - (SYS_EXTRACT_UTC(j.last_start_date)+0))*24*60 ELSE NULL END duration_mins, j.state FROM dba_scheduler_jobs j, dba_scheduler_running_jobs r WHERE ((j.state = 'RUNNING' OR j.state = 'CHAIN_STALLED') OR (j.state = 'SCHEDULED')) AND j.job_subname IS NULL AND r.job_subname IS NULL AND j.job_name = r.job_name(+) AND j.owner = r.owner(+) AND ((j.state = 'SCHEDULED' AND ((SYS_EXTRACT_UTC(j.NEXT_RUN_DATE)+0) - (SYS_EXTRACT_UTC(systimestamp)+0)) *24*60 < 24*60) OR (j.state = 'RUNNING' OR j.state = 'CHAIN_STALLED')) UNION SELECT sj.job_name, sj.owner,NULL scheduled_date, extract(day from 24*60*sj.RUN_DURATION) duration_mins, sj.status FROM dba_SCHEDULER_JOB_RUN_DETAILS sj WHERE ((sj.status = 'STOPPED' AND ((SYS_EXTRACT_UTC(systimestamp)+0) -(((SYS_EXTRACT_UTC(sj.ACTUAL_START_DATE)+0)) + extract(day from sj.RUN_DURATION)))*24*60 < 24*60) OR (sj.STATUS = 'FAILED' AND ((SYS_EXTRACT_UTC(systimestamp)+0) -(((SYS_EXTRACT_UTC(sj.ACTUAL_START_DATE)+0)) + extract(day from sj.RUN_DURATION)))*24*60 < 24*60))
ERRORS SECTION --------------------------------------------------------------------------------------------- ORA-16960: SQL Analyze could not reproduce the desired plan. --------------------------------------------------------------------------------------------- Object ID : 13976 Test Plan Name : SQL_PLAN_1b75bv2pf8fp639c9c8b2 Base Plan Name : Cost-based plan SQL Handle : SQL_159cabd8aae43aa6 Parsing Schema : SYS Test Plan Creator : SYS SQL Text : select /* QOSD */ /*+ index(do) */ dir_cnt from opt_directive_own$ do where dir_own# = :1
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 13976, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 13977 Test Plan Name : SQL_PLAN_98js01r287wd8673e2c3f Base Plan Name : Cost-based plan SQL Handle : SQL_9447000dc483f1a8 Parsing Schema : BOTANG Test Plan Creator : SYS SQL Text : SELECT C.COLUMN_NAME FROM SYS.ALL_CONSTRAINTS A, SYS.ALL_CONS_COLUMNS C, SYS.ALL_TAB_COLS T WHERE A.CONSTRAINT_NAME = C.CONSTRAINT_NAME AND A.CONSTRAINT_TYPE = 'C' AND A.OWNER = C.OWNER AND A.OWNER = T.OWNER AND A.OWNER = :1 AND A.TABLE_NAME = C.TABLE_NAME AND A.TABLE_NAME = :2 AND A.TABLE_NAME = T.TABLE_NAME AND T.QUALIFIED_COL_NAME = C.COLUMN_NAME AND T.DATA_TYPE IN ('CLOB','BLOB', 'NCLOB') AND A.STATUS = 'ENABLED'
ERRORS SECTION --------------------------------------------------------------------------------------------- ORA-16960: SQL Analyze could not reproduce the desired plan. --------------------------------------------------------------------------------------------- Object ID : 13978 Test Plan Name : SQL_PLAN_0sgk4uxcxtq1n02e05c65 Base Plan Name : Cost-based plan SQL Handle : SQL_0c3e44d759dcd834 Parsing Schema : SYS Test Plan Creator : SYS SQL Text : WITH MONITOR_DATA AS (SELECT INST_ID, KEY, NVL2(PX_QCSID, NULL, STATUS) STATUS, FIRST_REFRESH_TIME, LAST_REFRESH_TIME, REFRESH_COUNT, PROCESS_NAME, SID, SQL_ID, SQL_EXEC_START, SQL_EXEC_ID, DBOP_NAME, DBOP_EXEC_ID, SQL_PLAN_HASH_VALUE, SQL_FULL_PLAN_HASH_VALUE, SESSION_SERIAL#, SQL_TEXT, PX_SERVER#, PX_SERVER_GROUP, PX_SERVER_SET, PX_QCINST_ID, PX_QCSID, CASE WHEN ELAPSED_TIME < (CPU_TIME+ APPLICATION_WAIT_TIME+ CONCURRENCY_WAIT_TIME+ CLUSTER_WAIT_TIME+ USER_IO_WAIT_TIME+ QUEUING_TIME) THEN (CPU_TIME+ APPLICATION_WAIT_TIME+ CONCURRENCY_WAIT_TIME+ CLUSTER_WAIT_TIME+ USER_IO_WAIT_TIME+ QUEUING_TIME) ELSE ELAPSED_TIME END ELAPSED_TIME, QUEUING_TIME, CPU_TIME, APPLICATION_WAIT_TIME, CONCURRENCY_WAIT_TIME, CLUSTER_WAIT_TIME, USER_IO_WAIT_TIME, CASE WHEN ELAPSED_TIME < (CPU_TIME+ APPLICATION_WAIT_TIME+ CONCURRENCY_WAIT_TIME+ CLUSTER_WAIT_TIME+ USER_IO_WAIT_TIME+ QUEUING_TIME) THEN 0 ELSE ELAPSED_TIME - (CPU_TIME+ APPLICATION_WAIT_TIME+ CONCURRENCY_WAIT_TIME+ CLUSTER_WAIT_TIME+ USER_IO_WAIT_TIME+ QUEUING_TIME) END OTHER_WAIT_TIME, PLSQL_EXEC_TIME, JAVA_EXEC_TIME, FETCHES, BUFFER_GETS, IO_INTERCONNECT_BYTES IO_INTER_BYTES, PHYSICAL_READ_REQUESTS READ_REQS, PHYSICAL_READ_BYTES READ_BYTES, PHYSICAL_WRITE_REQUESTS WRITE_REQS, PHYSICAL_WRITE_BYTES WRITE_BYTES, NVL(PHYSICAL_READ_BYTES, 0) + NVL(PHYSICAL_WRITE_BYTES, 0) IO_BYTES, NVL(PHYSICAL_READ_REQUESTS, 0) + NVL(PHYSICAL_WRITE_REQUESTS, 0) IO_REQS, IO_CELL_UNCOMPRESSED_BYTES IO_UNC_BYTES, IO_CELL_OFFLOAD_ELIGIBLE_BYTES IO_ELIG_BYTES, IO_CELL_OFFLOAD_RETURNED_BYTES IO_RET_BYTES, USER# USERID, USERNAME, MODULE, ACTION, SERVICE_NAME, CLIENT_IDENTIFIER, CLIENT_INFO, PROGRAM, PLSQL_OBJECT_ID PL_OID, PLSQL_SUBPROGRAM_ID PL_PROGID, PLSQL_ENTRY_OBJECT_ID PL_ENTRY_OID, PLSQL_ENTRY_SUBPROGRAM_ID PL_ENTRY_PROGID, PX_MAXDOP MAX_DOP, PX_IS_CROSS_INSTANCE, PX_MAXDOP_INSTANCES MAX_DOP_INSTANCES, PX_SERVERS_REQUESTED SERVERS_REQUESTED, PX_SERVERS_ALLOCATED SERVERS_ALLOCATED, ERROR_NUMBER, ERROR_FACILITY, ERROR_MESSAGE, NVL2(OTHER_XML, 'Y', NULL) HAS_OTHER_XML, NVL2(BINDS_XML, 'Y', NULL) HAS_BINDS_XML, NVL2(RM_CONSUMER_GROUP, NVL2(RM_LAST_ACTION_TIME, TO_CHAR(RM_LAST_ACTION_TIME, :B12 ), '00/00/0000 00:00:01') || XMLELEMENT( "rminfo", XMLATTRIBUTES( RM_LAST_ACTION AS "rmlastact", RM_LAST_ACTION_REASON AS "rmlastreason", TO_CHAR(RM_LAST_ACTION_TIME, :B12 ) AS "rmlasttime", RM_CONSUMER_GROUP AS "rmcg")).GETSTRINGVAL(), '00/00/0000 00:00:00') RM_INFO, CON_NAME, CON_ID FROM GV$ALL_SQL_MONITOR MO1 WHERE MO1.INST_ID BETWEEN :B11 AND :B10 AND MO1.SQL_ID = NVL(:B9 , MO1.SQL_ID) AND MO1.SQL_EXEC_START = NVL(:B8 , MO1.SQL_EXEC_START) AND MO1.SQL_EXEC_ID = NVL(:B7 , MO1.SQL_EXEC_ID) OR (MO1.DBOP_NAME = NVL(:B6 , MO1.DBOP_NAME) AND MO1.DBOP_EXEC_ID = NVL(:B5 , MO1.DBOP_EXEC_ID)) AND ((:B4 = 1 AND MO1.PX_QCSID IS NULL) OR (MO1.PX_SERVER_GROUP = NVL(:B3 , MO1.PX_SERVER_GROUP) AND MO1.PX_SERVER_SET = NVL(:B2 , MO1.PX_SERVER_SET) AND MO1.PX_SERVER# = NVL(:B1 , MO1.PX_SERVER#)))), MONITOR_AGG AS (SELECT MAX_PX_QCSID, MAX_KEY, MAX_INST_ID, MAX_SESSION_ID, MAX_SESSION_SERIAL, MAX_PX_DOP, MAX_PX_DOP_INSTANCES, MAX_PX_IS_CROSS_INSTANCE, SUM_SERVERS_REQUESTED, SUM_SERVERS_ALLOCATED, DIST_INST_COUNT, DIST_PX_GROUP_COUNT, DIST_PX_SET_COUNT, MAX_PLAN_HASH_VALUE, MAX_FULL_PLAN_HASH_VALUE, MAX_USERID, MAX_PROGRAM, MAX_USERNAME, MAX_MODULE, MAX_ACTION, MAX_SERVICE_NAME, MAX_CLIENT_ID, MAX_CLIENT_INFO, MAX_ERROR_NUMBER, MAX_ERROR_FACILITY, MAX_ERROR_MESSAGE, QC_HAS_OTHER_XML, QC_HAS_BINDS_XML, MAX_PL_OID, MAX_PL_PROGID, MAX_PL_ENTRY_OID, MAX_PL_ENTRY_PROGID, MAX_SQL_ID, MAX_SQL_EXEC_START, MAX_SQL_EXEC_ID, MAX_LAST_REFRESH_TIME, MAX_DBOP_NAME, MAX_DBOP_EXEC_ID, CASE WHEN MAX_PL_OID IS NOT NULL THEN NVL((SELECT P.OWNER || '.' || P.OBJECT_NAME || DECODE(P.PROCEDURE_NAME, NULL, '', '.' || P.PROCEDURE_NAME) FROM ALL_PROCEDURES P WHERE P.OBJECT_ID = MAX_PL_OID AND P.SUBPROGRAM_ID = MAX_PL_PROGID AND ROWNUM = 1), 'Unavailable') END MAX_PL_NAME, CASE WHEN MAX_PL_ENTRY_OID IS NOT NULL THEN NVL((SELECT P.OWNER || '.' || P.OBJECT_NAME || DECODE(P.PROCEDURE_NAME, NULL, '', '.' || P.PROCEDURE_NAME) FROM ALL_PROCEDURES P WHERE P.OBJECT_ID = MAX_PL_ENTRY_OID AND P.SUBPROGRAM_ID = MAX_PL_ENTRY_PROGID AND ROWNUM = 1), 'Unavailable') END MAX_PL_ENTRY_NAME, MAX_STATUS, SUM_REFRESH_COUNT, MIN_FIRST_REFRESH_TIME, SQLMON_TEXT, SUM_ELAPSED_TIME, MAX_ELAPSED_TIME, MAX_QUEUING_TIME, SUM_CPU_TIME, SUM_USER_IO_WAIT_TIME, SUM_APPLICATION_WAIT_TIME, SUM_CONCURRENCY_WAIT_TIME, SUM_CLUSTER_WAIT_TIME, SUM_PLSQL_EXEC_TIME, SUM_JAVA_EXEC_TIME, SUM_OTHER_WAIT_TIME, SUM_FETCHES, SUM_BUFFER_GETS, SUM_READ_REQS, SUM_READ_BYTES, SUM_WRITE_REQS, SUM_WRITE_BYTES, SUM_IO_BYTES, SUM_IO_INTER_BYTES, SUM_IO_UNC_BYTES, SUM_IO_ELIG_BYTES, SUM_IO_RET_BYTES, DECODE(:B14 , 1, 'db_name', SYS_CONTEXT('userenv', 'db_unique_name')) DB_UNIQUE_NAME, DECODE(:B14 , 1, 'platform_name', SYS.DBMS_UTILITY.PORT_STRING) PLATFORM_NAME, DECODE(:B14 , 1, 'host_name', SYS_CONTEXT('userenv', 'server_host')) HOST_NAME, AGG_RM_INFO MAX_RM_INFO, MAX_CON_NAME, DECODE(MAX_CON_ID, 0, NULL, MAX_CON_ID) MAX_CON_ID FROM (SELECT MAX(PX_QCSID) MAX_PX_QCSID, MAX(CASE WHEN PX_QCSID IS NULL THEN KEY ELSE NULL END) MAX_KEY, MAX(CASE WHEN PX_QCSID IS NULL THEN INST_ID ELSE NULL END) MAX_INST_ID, MAX(CASE WHEN PX_QCSID IS NULL THEN SID ELSE NULL END) MAX_SESSION_ID, MAX(CASE WHEN PX_QCSID IS NULL THEN SESSION_SERIAL# ELSE NULL END) MAX_SESSION_SERIAL, MAX(MAX_DOP) MAX_PX_DOP, MAX(MAX_DOP_INSTANCES) MAX_PX_DOP_INSTANCES, MAX(PX_IS_CROSS_INSTANCE) MAX_PX_IS_CROSS_INSTANCE, SUM(SERVERS_REQUESTED) SUM_SERVERS_REQUESTED, SUM(SERVERS_ALLOCATED) SUM_SERVERS_ALLOCATED, COUNT(DISTINCT INST_ID) DIST_INST_COUNT, COUNT(DISTINCT PX_SERVER_GROUP) DIST_PX_GROUP_COUNT, COUNT(DISTINCT PX_SERVER_SET) DIST_PX_SET_COUNT, MAX(SQL_PLAN_HASH_VALUE) MAX_PLAN_HASH_VALUE, MAX(SQL_FULL_PLAN_HASH_VALUE) MAX_FULL_PLAN_HASH_VALUE, MAX(USERID) MAX_USERID, MAX(PROGRAM) MAX_PROGRAM, MAX(USERNAME) MAX_USERNAME, MAX(MODULE) MAX_MODULE, MAX(ACTION) MAX_ACTION, MAX(SERVICE_NAME) MAX_SERVICE_NAME, MAX(CLIENT_IDENTIFIER) MAX_CLIENT_ID, MAX(CLIENT_INFO) MAX_CLIENT_INFO, MAX(ERROR_NUMBER) MAX_ERROR_NUMBER, MAX(ERROR_FACILITY) MAX_ERROR_FACILITY, MAX(ERROR_MESSAGE) MAX_ERROR_MESSAGE, MAX(NVL2(PX_QCSID, HAS_OTHER_XML, NULL)) QC_HAS_OTHER_XML, MAX(HAS_BINDS_XML) QC_HAS_BINDS_XML, MAX(PL_OID) MAX_PL_OID, MAX(PL_PROGID) MAX_PL_PROGID, MAX(PL_ENTRY_OID) MAX_PL_ENTRY_OID, MAX(PL_ENTRY_PROGID) MAX_PL_ENTRY_PROGID, MAX(SQL_ID) MAX_SQL_ID, MAX(SQL_EXEC_START) MAX_SQL_EXEC_START, MAX(SQL_EXEC_ID) MAX_SQL_EXEC_ID, MAX(LAST_REFRESH_TIME) MAX_LAST_REFRESH_TIME, MAX(STATUS) MAX_STATUS, SUM(REFRESH_COUNT) SUM_REFRESH_COUNT, MIN(FIRST_REFRESH_TIME) MIN_FIRST_REFRESH_TIME, MAX(DBOP_NAME) MAX_DBOP_NAME, MAX(DBOP_EXEC_ID) MAX_DBOP_EXEC_ID, CASE WHEN :B13 = 0 THEN NULL ELSE MAX(SQL_TEXT) END SQLMON_TEXT, SUM(ELAPSED_TIME) SUM_ELAPSED_TIME, MAX(ELAPSED_TIME) MAX_ELAPSED_TIME, MAX(QUEUING_TIME) MAX_QUEUING_TIME, SUM(CPU_TIME) SUM_CPU_TIME, SUM(USER_IO_WAIT_TIME) SUM_USER_IO_WAIT_TIME, SUM(APPLICATION_WAIT_TIME) SUM_APPLICATION_WAIT_TIME, SUM(CONCURRENCY_WAIT_TIME) SUM_CONCURRENCY_WAIT_TIME, SUM(CLUSTER_WAIT_TIME) SUM_CLUSTER_WAIT_TIME, SUM(PLSQL_EXEC_TIME) SUM_PLSQL_EXEC_TIME, SUM(JAVA_EXEC_TIME) SUM_JAVA_EXEC_TIME, SUM(OTHER_WAIT_TIME) SUM_OTHER_WAIT_TIME, SUM(FETCHES) SUM_FETCHES, SUM(BUFFER_GETS) SUM_BUFFER_GETS, SUM(READ_REQS) SUM_READ_REQS, SUM(READ_BYTES) SUM_READ_BYTES, SUM(WRITE_REQS) SUM_WRITE_REQS, SUM(WRITE_BYTES) SUM_WRITE_BYTES, NVL(SUM(READ_BYTES), 0) + NVL(SUM(WRITE_BYTES), 0) SUM_IO_BYTES, SUM(IO_INTER_BYTES) SUM_IO_INTER_BYTES, SUM(IO_UNC_BYTES) SUM_IO_UNC_BYTES, SUM(IO_ELIG_BYTES) SUM_IO_ELIG_BYTES, SUM(IO_RET_BYTES) SUM_IO_RET_BYTES, MAX(RM_INFO) AGG_RM_INFO, MAX(CON_NAME) MAX_CON_NAME, MAX(CON_ID) MAX_CON_ID FROM MONITOR_DATA) MD), ASH_DATA AS (SELECT AD0.INST_ID, AD0.SESSION_ID, AD0.PLAN_LINE_ID, AD0.PLSQL_OBJECT_ID, AD0.PLSQL_SUBPROGRAM_ID, AD0.ACTIVITY_BUCKET_NUM, AD0.PLAN_ACTIVITY_BUCKET_NUM, AD0.SQL, AD0.TOP_LEVEL_SQL_ID, AD0.DBOP_NAME, AD0.IS_MONITORED_SQL, AD0.IS_PX_SLAVE, AD0.BUCKET_ACTIVITY_START, AD0.ACTIVITY_START, AD0.BUCKET_ACTIVITY_END, AD0.ACTIVITY_END, AD0.ACTIVITY_COUNT, AD0.ACTIVITY_TYPE, AD0.OTHER_SQL_ACTIVITY_TYPE, AD0.EVENT_NAME, AD0.IMQ_COUNT, AD0.WAIT_COUNT, AD0.CPU_COUNT, AD0.OTHER_SQL_COUNT, AD0.PX_SERVER_SET, AD0.PX_DFO_ACTIVITY_COUNT, AD0.DFO_MOST_ACTIVE_IID, AD0.DFO_MOST_ACTIVE_SID, (CASE WHEN AD0.DFO_MOST_ACTIVE_IID = AD0.INST_ID AND AD0.DFO_MOST_ACTIVE_SID = AD0.SESSION_ID AND (((AD0.PX_DFO_ACTIVITY_COUNT / AD0.DFO_MOST_ACTIVE_COUNT) >= AD0.PX_DOP * 1.05) OR ((AD0.PX_DFO_ACTIVITY_COUNT / AD0.DFO_MOST_ACTIVE_COUNT) <= AD0.PX_DOP *0.95)) AND (AD0.DFO_DURATION * 100) > :B32 THEN AD0.ACTIVITY_COUNT ELSE NULL END) DFO_MOST_ACTIVE_COUNT, AD0.BUCKET_DISTINCT_SAMPLES, AD0.SQL_BUCKET_DISTINCT_SAMPLES, CASE WHEN AD0.PX_SERVER_GROUP IS NULL AND AD0.IS_PX_SLAVE = 1 THEN 1 ELSE AD0.PX_SERVER_GROUP END PX_SERVER_GROUP, AD0.PX_STEP_ID, AD0.PX_DFO_PAIR_TYPE, AD0.PX_DFO_PAIR_ID, AD0.PX_STEP_ARG, AD0.PX_DOP, CASE WHEN AD0.PX_DOP IS NOT NULL AND AD0.PX_DOP <> AD0.PX_MIN_DOP AND AD0.PX_MIN_DOP != 0 THEN PX_MIN_DOP ELSE NULL END PX_MIN_DOP FROM (SELECT /*+ use_hash(ash) leading(mo) */ ASH.INST_ID, ASH.IS_PX_SLAVE, ASH.SESSION_ID, ASH.PLAN_LINE_ID, ASH.PLSQL_OBJECT_ID, ASH.PLSQL_SUBPROGRAM_ID, ASH.ACTIVITY_BUCKET_NUM, ASH.PLAN_ACTIVITY_BUCKET_NUM, ASH.SQL, ASH.TOP_LEVEL_SQL_ID, ASH.DBOP_NAME, ASH.IS_MONITORED_SQL, ASH.BUCKET_ACTIVITY_START, ASH.ACTIVITY_START, ASH.BUCKET_ACTIVITY_END, ASH.ACTIVITY_END, ASH.ACTIVITY_COUNT, ASH.ACTIVITY_TYPE, ASH.OTHER_SQL_ACTIVITY_TYPE, ASH.EVENT_NAME, ASH.IMQ_COUNT, ASH.WAIT_COUNT, ASH.CPU_COUNT, ASH.OTHER_SQL_COUNT, MO.PX_SERVER_SET, ASH.PX_DFO_ACTIVITY_COUNT, TRUNC(ASH.MOST_ACTIVE_IN_DFO / 10000000000) DFO_MOST_ACTIVE_COUNT, MOD(TRUNC(ASH.MOST_ACTIVE_IN_DFO / 1000000), 10000) DFO_MOST_ACTIVE_IID, MOD(ASH.MOST_ACTIVE_IN_DFO, 1000000) DFO_MOST_ACTIVE_SID, ASH.DFO_DURATION, ASH.BUCKET_DISTINCT_SAMPLES, ASH.SQL_BUCKET_DISTINCT_SAMPLES, MO.PX_SERVER_GROUP, ASH.PX_STEP_ID, ASH.PX_DFO_PAIR_TYPE, ASH.PX_DFO_PAIR_ID, ASH.PX_STEP_ARG, ASH.PX_DOP, ASH.PX_MIN_DOP FROM (SELECT /*+ no_merge */ MD.INST_ID, MD.SID, MD.SESSION_SERIAL#, MD.PX_SERVER_SET, MD.PX_SERVER_GROUP FROM MONITOR_DATA MD WHERE MD.SID IS NOT NULL OR :B31 = 1) MO, (SELECT /*+ no_merge */ GVTF.INST_ID, GVTF.GLOBAL_SAMPLE_ID, GVTF.IS_PX_SLAVE, GVTF.SESSION_ID, GVTF.PLAN_LINE_ID, GVTF.PLSQL_OBJECT_ID, GVTF.PLSQL_SUBPROGRAM_ID, GVTF.ACTIVITY_BUCKET_NUM, GVTF.PLAN_ACTIVITY_BUCKET_NUM, GVTF.SQL, GVTF.TOP_LEVEL_SQL_ID, GVTF.DBOP_NAME, GVTF.IS_MONITORED_SQL, GVTF.BUCKET_ACTIVITY_START, GVTF.ACTIVITY_START, GVTF.BUCKET_ACTIVITY_END, GVTF.ACTIVITY_END, GVTF.ACTIVITY_COUNT, GVTF.ACTIVITY_TYPE, GVTF.OTHER_SQL_ACTIVITY_TYPE, GVTF.EVENT_NAME, GVTF.IMQ_COUNT, GVTF.WAIT_COUNT, GVTF.CPU_COUNT, GVTF.OTHER_SQL_COUNT, MAX(GVTF.PER_SERVER_DFO_COUNT * 10000000000 + GVTF.INST_ID * 1000000 + GVTF.SESSION_ID) OVER(PARTITION BY GVTF.PX_DFO_PAIR_TYPE, GVTF.PX_DFO_PAIR_ID) MOST_ACTIVE_IN_DFO, SUM(GVTF.ACTIVITY_COUNT) OVER(PARTITION BY GVTF.PX_DFO_PAIR_TYPE, GVTF.PX_DFO_PAIR_ID) PX_DFO_ACTIVITY_COUNT, GVTF.DFO_DURATION, GVTF.PX_STEP_ID, GVTF.PX_DFO_PAIR_TYPE, GVTF.PX_DFO_PAIR_ID, GVTF.PX_STEP_ARG, GVTF.PX_DOP, GVTF.PX_MIN_DOP, COUNT(DISTINCT GVTF.GLOBAL_SAMPLE_ID) OVER(PARTITION BY GVTF.ACTIVITY_BUCKET_NUM) BUCKET_DISTINCT_SAMPLES, COUNT(DISTINCT GVTF.GLOBAL_SAMPLE_ID) OVER(PARTITION BY GVTF.SQL, GVTF.ACTIVITY_BUCKET_NUM) SQL_BUCKET_DISTINCT_SAMPLES FROM TABLE(SYS.GV$(CURSOR( (SELECT USERENV('INSTANCE') INST_ID, ASH2.GLOBAL_SAMPLE_ID, CASE WHEN :B30 = 1 AND :B27 > 1 THEN BUCKET_NUM ELSE NULL END ACTIVITY_BUCKET_NUM, CASE WHEN :B29 = 1 AND :B27 > 1 THEN BUCKET_NUM ELSE NULL END PLAN_ACTIVITY_BUCKET_NUM, ASH2.SQL, ASH2.TOP_LEVEL_SQL_ID, ASH2.DBOP_NAME, ASH2.IS_MONITORED_SQL, ASH2.PLAN_LINE_ID, ASH2.PLSQL_OBJECT_ID, ASH2.PLSQL_SUBPROGRAM_ID, ASH2.ACTIVITY_TYPE, ASH2.OTHER_SQL_ACTIVITY_TYPE, ASH2.EVENT_NAME, ASH2.IS_PX_SLAVE, ASH2.SESSION_ID, ASH2.PX_STEP_ID, ASH2.PX_DFO_PAIR_TYPE, ASH2.PX_DFO_PAIR_ID, ASH2.PX_STEP_ARG, CASE WHEN ASH2.PX_DFO_PAIR_ID IS NOT NULL THEN DECODE(ASH2.PX_DOP, 0, :B28 , ASH2.PX_DOP) ELSE NULL END PX_DOP, ASH2.PX_MIN_DOP, :B20 + NUMTODSINTERVAL(:B26 * (ASH2.BUCKET_NUM-1), 'SECOND') BUCKET_ACTIVITY_START, :B20 + NUMTODSINTERVAL( :B26 * ASH2.BUCKET_NUM - 1, 'SECOND') BUCKET_ACTIVITY_END, ASH2.ACTIVITY_START, ASH2.ACTIVITY_END, ASH2.ACTIVITY_COUNT, ASH2.IMQ_COUNT, ASH2.WAIT_COUNT, ASH2.CPU_COUNT, ASH2.OTHER_SQL_COUNT, SUM(ASH2.ACTIVITY_COUNT) OVER(PARTITION BY ASH2.PX_DFO_PAIR_ID, ASH2.PX_DFO_PAIR_TYPE, DECODE(ASH2.PX_DFO_PAIR_ID, NULL, NULL, ASH2.SESSION_ID)) PER_SERVER_DFO_COUNT, CEIL((MAX(ASH2.MAX_SAMPLE_DATE) OVER(PARTITION BY ASH2.PX_DFO_PAIR_ID, ASH2.PX_DFO_PAIR_TYPE) - MIN(ASH2.MIN_SAMPLE_DATE) OVER(PARTITION BY ASH2.PX_DFO_PAIR_ID, ASH2.PX_DFO_PAIR_TYPE)) * 3600 * 24) DFO_DURATION FROM (SELECT ASH1.BUCKET_NUM, ASH1.GLOBAL_SAMPLE_ID, ASH1.PLAN_LINE_ID, ASH1.PLSQL_OBJECT_ID, ASH1.PLSQL_SUBPROGRAM_ID, ASH1.ACTIVITY_TYPE, ASH1.OTHER_SQL_ACTIVITY_TYPE, ASH1.EVENT_NAME, ASH1.SESSION_ID, ASH1.PX_STEP_ID, ASH1.PX_STEP_ARG, MAX(ASH1.SQL) SQL, MAX(ASH1.IS_MONITORED_SQL) IS_MONITORED_SQL, MAX(ASH1.PX_DFO_PAIR_TYPE) PX_DFO_PAIR_TYPE, MAX(ASH1.PX_DFO_PAIR_ID) PX_DFO_PAIR_ID, MIN(SAMPLE_DATE) MIN_SAMPLE_DATE, MAX(SAMPLE_DATE) MAX_SAMPLE_DATE, MAX(ASH1.IS_PX_SLAVE) IS_PX_SLAVE, MAX(ASH1.PX_DOP) PX_DOP, MIN(ASH1.PX_DOP) PX_MIN_DOP, MIN(ASH1.SAMPLE_DATE) ACTIVITY_START, MAX(ASH1.SAMPLE_DATE) ACTIVITY_END, COUNT(ASH1.SQL) ACTIVITY_COUNT, COUNT(CASE WHEN ASH1.ACTIVITY_TYPE = 'Cpu' AND ASH1.EVENT_NAME = 'in memory' THEN 1 ELSE NULL END) IMQ_COUNT, COUNT(CASE WHEN ASH1.ACTIVITY_TYPE != 'Other SQL Execution' AND ASH1.ACTIVITY_TYPE != 'Non SQL' AND ASH1.ACTIVITY_TYPE != 'Cpu' THEN 1 ELSE NULL END) WAIT_COUNT, COUNT(CASE WHEN ASH1.ACTIVITY_TYPE = 'Cpu' AND ASH1.EVENT_NAME IS NULL THEN 1 ELSE NULL END) CPU_COUNT, COUNT(CASE WHEN ASH1.ACTIVITY_TYPE = 'Other SQL Execution' AND ASH1.ACTIVITY_TYPE != 'Non SQL' THEN 1 ELSE NULL END) OTHER_SQL_COUNT, MAX(ASH1.TOP_LEVEL_SQL_ID) TOP_LEVEL_SQL_ID, MAX(ASH1.DBOP_NAME) DBOP_NAME FROM ( SELECT (CASE WHEN :B27 > 1 THEN (TRUNC(DELTA_TIME_SECONDS/ :B26 ) + 1) ELSE 1 END) BUCKET_NUM, ASH00.SQL, ASH00.SAMPLE_DATE, NVL2(DUP.C2, TRUNC(DELTA_TIME_SECONDS/ (:B25 )) + 1, NULL) GLOBAL_SAMPLE_ID, NVL2(DUP.C2, NULL, ASH00.IS_MONITORED_SQL) IS_MONITORED_SQL, NVL2(DUP.C2, NULL, ASH00.IN_INMEMORY_QUERY) IN_INMEMORY_QUERY, NVL2(DUP.C2, NULL, ASH00.WAIT_CLASS) WAIT_CLASS, NVL2(DUP.C2, NULL, ASH00.ACTIVITY_TYPE) ACTIVITY_TYPE, NVL2(DUP.C2, NULL, ASH00.OTHER_SQL_ACTIVITY_TYPE) OTHER_SQL_ACTIVITY_TYPE, NVL2(DUP.C2, NULL, ASH00.EVENT_NAME) EVENT_NAME, NVL2(DUP.C2, NULL, ASH00.TOP_LEVEL_SQL_ID) TOP_LEVEL_SQL_ID, NVL2(DUP.C2, NULL, ASH00.DBOP_NAME) DBOP_NAME, NVL2(DUP.C2, NULL, ASH00.IS_PX_SLAVE) IS_PX_SLAVE, NVL2(DUP.C2, NULL, ASH00.SESSION_ID) SESSION_ID, NVL2(DUP.C2, NULL, ASH00.PLSQL_OBJECT_ID) PLSQL_OBJECT_ID, NVL2(DUP.C2, NULL, ASH00.PLSQL_SUBPROGRAM_ID) PLSQL_SUBPROGRAM_ID, NVL2(DUP.C2, NULL, ASH00.PLAN_LINE_ID) PLAN_LINE_ID, NVL2(DUP.C2, NULL, ASH00.PX_STEP_ID) PX_STEP_ID, NVL2(DUP.C2, NULL, ASH00.PX_STEP_ARG) PX_STEP_ARG, NVL2(DUP.C2, NULL, ASH00.PX_DFO_PAIR_ID) PX_DFO_PAIR_ID, NVL2(DUP.C2, NULL, ASH00.PX_DFO_PAIR_TYPE) PX_DFO_PAIR_TYPE, NVL2(DUP.C2, NULL, ASH00.PX_DOP) PX_DOP FROM (SELECT 1 C1, NULL C2 FROM V$DUAL UNION ALL SELECT 1 C1, 1 C2 FROM V$DUAL) DUP, (SELECT /*+ no_merge */ 1 C1, ASH000.SAMPLE_DATE, ASH000.IS_MONITORED_SQL, ((EXTRACT(SECOND FROM(DELTA_TIME)) + EXTRACT(MINUTE FROM(DELTA_TIME)) * 60 + EXTRACT(HOUR FROM(DELTA_TIME)) * 3600 + EXTRACT(DAY FROM(DELTA_TIME)) * 86400)) DELTA_TIME_SECONDS, ASH000.IN_INMEMORY_QUERY, ASH000.WAIT_CLASS, DECODE(ASH000.IS_MONITORED_SQL, 1, NVL(ASH000.WAIT_CLASS, 'Cpu'), DECODE(SQL_ID, NULL, 'Non SQL', 'Other SQL Execution')) ACTIVITY_TYPE, NVL(ASH000.WAIT_CLASS, 'Cpu') OTHER_SQL_ACTIVITY_TYPE, DECODE(:B24 , 1, CASE WHEN ASH000.IS_MONITORED_SQL = 1 THEN NVL(ASH000.EVENT, DECODE(ASH000.IN_INMEMORY_QUERY, 'Y', 'in memory', ASH000.EVENT)) WHEN ASH000.SQL_ID IS NOT NULL THEN 'sql_id: ' || ASH000.SQL_ID WHEN ASH000.CALL_NAME IS NOT NULL THEN 'call: ' || ASH000.CALL_NAME ELSE 'anonymous: '|| ASH000.EVENT END, NULL) EVENT_NAME, CASE WHEN ASH000.IS_MONITORED_SQL = 1 AND (NVL(ASH000.SQL_ID, :B9 ) = :B9 OR NVL(ASH000.DBOP_NAME, :B6 ) = :B6 ) THEN 'this' WHEN ASH000.IS_PX_SLAVE = 1 AND ASH000.SQL_ID IS NOT NULL AND ASH000.TOP_LEVEL_SQL_ID != ASH000.SQL_ID THEN ASH000.TOP_LEVEL_SQL_ID WHEN ASH000.SQL_ID IS NOT NULL THEN ASH000.SQL_ID ELSE NVL(CALL_NAME, 'anonymous') END SQL, CASE WHEN ASH000.IS_PX_SLAVE = 0 AND (ASH000.SQL_ID IS NULL OR ASH000.TOP_LEVEL_SQL_ID != ASH000.SQL_ID) THEN ASH000.TOP_LEVEL_SQL_ID END TOP_LEVEL_SQL_ID, ASH000.DBOP_NAME, ASH000.IS_PX_SLAVE, CASE WHEN ASH000.IS_PX_SLAVE = 1 AND ASH000.IS_MONITORED_SQL != 1 THEN 65536 ELSE ASH000.SESSION_ID END SESSION_ID, DECODE(ASH000.IS_MONITORED_SQL, 1, ASH000.PLSQL_OBJECT_ID, NULL) PLSQL_OBJECT_ID, DECODE(ASH000.IS_MONITORED_SQL, 1, ASH000.PLSQL_SUBPROGRAM_ID, NULL) PLSQL_SUBPROGRAM_ID, DECODE(ASH000.IS_MONITORED_SQL, 1, ASH000.SQL_PLAN_LINE_ID, NULL) PLAN_LINE_ID, DECODE(ASH000.IS_MONITORED_SQL, 1, ASH000.PX_STEP_ID, NULL) PX_STEP_ID, CASE WHEN ASH000.IS_PX_SLAVE = 1 AND ASH000.IS_MONITORED_SQL = 1 AND ASH000.PX_STEP_ID IN (1, 2, 3) THEN ASH000.PX_STEP_ARG ELSE NULL END PX_DFO_PAIR_ID, CASE WHEN ASH000.IS_PX_SLAVE = 0 OR ASH000.IS_MONITORED_SQL != 1 THEN NULL WHEN ASH000.PX_STEP_ID = 1 THEN 1 WHEN ASH000.PX_STEP_ID IN (2, 3) THEN 0 ELSE NULL END PX_DFO_PAIR_TYPE, DECODE(ASH000.IS_MONITORED_SQL, 1, ASH000.PX_STEP_ARG, NULL) PX_STEP_ARG, DECODE(ASH000.IS_MONITORED_SQL, 1, ASH000.PX_DOP, NULL) PX_DOP FROM (SELECT ASH0.*, CASE WHEN ASH0.IS_TARGET_SQL = 1 OR (ASH0.IS_PX_SLAVE = 1 AND ((NVL(ASH0.TOP_LEVEL_SQL_ID, ASH0.SQL_ID) IS NOT NULL AND NVL(ASH0.TOP_LEVEL_SQL_ID, ASH0.SQL_ID) = :B9 ) OR (SQL_ID IS NULL AND :B23 = 'Y'))) THEN 1 ELSE 0 END IS_MONITORED_SQL FROM (SELECT (CASE WHEN (ASH.SQL_ID = :B9 AND ASH.SQL_EXEC_ID = :B7 AND ASH.SQL_EXEC_START = :B8 ) THEN 1 ELSE 0 END) IS_TARGET_SQL, ASH.SQL_ID, ASH.SQL_PLAN_LINE_ID, ASH.PLSQL_OBJECT_ID, ASH.PLSQL_SUBPROGRAM_ID, ASH.TOP_LEVEL_SQL_ID, DECODE(ASH.SQL_ID, NULL, ASH.TOP_LEVEL_CALL_NAME, NULL) CALL_NAME, ASH.EVENT, ASH.IN_INMEMORY_QUERY, ASH.WAIT_CLASS, ASH.SQL_EXEC_ID, ASH.SQL_EXEC_START, ASH.DBOP_NAME, ASH.DBOP_EXEC_ID, ASH.SESSION_ID, ASH.SESSION_SERIAL#, CASE WHEN QC_INSTANCE_ID IS NOT NULL AND (ASH.SESSION_ID != ASH.QC_SESSION_ID OR ASH.SESSION_SERIAL# != ASH.QC_SESSION_SERIAL# OR USERENV('instance') != ASH.QC_INSTANCE_ID) THEN 1 ELSE 0 END IS_PX_SLAVE, SAMPLE_TIME - CAST(:B20 AS TIMESTAMP) DELTA_TIME, CAST(FROM_TZ(ASH.SAMPLE_TIME, DBTIMEZONE) AS DATE) SAMPLE_DATE, TRUNC(MOD(PX_FLAGS/65536, 32)) PX_STEP_ID, MOD(PX_FLAGS, 65536) PX_STEP_ARG, TRUNC(PX_FLAGS/2097152) PX_DOP FROM V$ALL_ACTIVE_SESSION_HISTORY ASH WHERE ((ASH.SESSION_ID = :B19 AND ASH.SESSION_SERIAL# = :B18 AND USERENV('INSTANCE') = :B17 ) OR (ASH.QC_SESSION_ID IS NOT NULL AND ASH.QC_SESSION_ID = :B19 AND ASH.QC_SESSION_SERIAL# = :B18 AND ASH.QC_INSTANCE_ID = :B17 )) AND SAMPLE_TIME BETWEEN :B16 AND :B15 ) ASH0 WHERE (ASH0.SAMPLE_DATE BETWEEN :B20 + 1/24/3600 AND :B22 - 1/24/3600 OR (ASH0.SQL_ID = :B9 AND ASH0.SQL_EXEC_START = :B8 AND ASH0.SQL_EXEC_ID = :B7 ) OR (ASH0.DBOP_NAME = :B6 AND ASH0.DBOP_EXEC_ID = :B5 )) AND (:B21 IS NULL OR ASH0.SQL_PLAN_LINE_ID = :B21 ) AND (ASH0.IS_PX_SLAVE = 0 OR ASH0.SQL_ID IS NOT NULL)) ASH000 ) ASH00 WHERE ASH00.C1 = DUP.C1) ASH1 WHERE ASH1.BUCKET_NUM > 0 AND ASH1.BUCKET_NUM <= :B27 GROUP BY USERENV('INSTANCE'), ASH1.GLOBAL_SAMPLE_ID, ASH1.BUCKET_NUM, ASH1.SESSION_ID, ASH1.PLAN_LINE_ID, ASH1.PLSQL_OBJECT_ID, ASH1.PLSQL_SUBPROGRAM_ID, ASH1.ACTIVITY_TYPE, ASH1.EVENT_NAME, ASH1.OTHER_SQL_ACTIVITY_TYPE, ASH1.PX_STEP_ID, ASH1.PX_STEP_ARG) ASH2)))) GVTF WHERE GVTF.INST_ID BETWEEN :B11 AND :B10 ) ASH WHERE ASH.GLOBAL_SAMPLE_ID IS NULL AND ASH.SESSION_ID = MO.SID(+) AND ASH.INST_ID = MO.INST_ID(+)) AD0), RESPONSE_TIME_DATA AS (SELECT ADH.BUCKET_NUM, ADH.SQL_ROWNUM, ADH.SQL, ADH.TOP_LEVEL_SQL_ID, ADH.DBOP_NAME, ADH.PX_ID, DECODE( ADH.PX_STEP_ID, NULL, NULL, 0, NULL, 1, 'PX Server(s) - Executing Parent DFO', 2, 'PX Server(s) - Executing Child DFO', 3, 'PX Server(s) - Sampling Child DFO', 4, 'PX Server(s) - Joining Group', 5, 'QC - Scheduling Child DFO', 6, 'QC - Scheduling Parent DFO', 7, 'QC - Initializing Objects', 8, 'QC - Flushing Objects', 9, 'QC - Allocating Slaves', 10, 'QC - Initializing Granules', 11, 'PX Server(s) - Parsing Cursor', 12, 'PX Server(s) - Executing Cursor', 13, 'PX Server(s) - Preparing Transaction', 14, 'PX Server(s) - Joining Transaction', 15, 'PX Server(s) - Load Commit', 16, 'PX Server(s) - Aborting Transaction', 17, 'QC - Executing Child DFO', 18, 'QC - Executing Parent DFO', 'PX Step - ' || PX_STEP_ID) PX_STEP_ID, ADH.PX_STEP_ARG, ADH.PX_DFO_PAIR_ID, ADH.PX_DOP, ADH.PX_MIN_DOP, ADH.DFO_MOST_ACTIVE_IID, ADH.DFO_MOST_ACTIVE_SID, ADH.DFO_MOST_ACTIVE_COUNT, ADH.ACTIVITY_START, ADH.ACTIVITY_END, ADH.ACTIVITY_TYPE, ADH.OTHER_SQL_ACTIVITY_TYPE, ADH.EVENT_NAME, ADH.PLAN_LINE_ID, ADH.PLSQL_OBJECT_ID, ADH.PLSQL_SUBPROGRAM_ID, CASE WHEN PLSQL_ROWNUM = 1 AND ADH.PLSQL_OBJECT_ID IS NOT NULL THEN NVL((SELECT P.OWNER || '.' || P.OBJECT_NAME || DECODE(P.PROCEDURE_NAME, NULL, '', '.' || P.PROCEDURE_NAME) FROM ALL_PROCEDURES P WHERE P.OBJECT_ID = ADH.PLSQL_OBJECT_ID AND P.SUBPROGRAM_ID = ADH.PLSQL_SUBPROGRAM_ID), 'Unavailable') ELSE NULL END PLSQL_NAME, ADH.ACTIVITY_COUNT, ADH.BUCKET_ACTIVE_SECONDS, ADH.BUCKET_IDLE_SECONDS, (CASE WHEN ADH.IS_MONITORED_SQL = 0 THEN ADH.ACTIVE_SECONDS WHEN ADH.PX_DFO_PAIR_ID IS NOT NULL AND ADH.DFO_PAIR_CPU_HEIGHT >= :B34 THEN DECODE(ADH.ACTIVITY_TYPE, 'Cpu', (ADH.DFO_PAIR_ACTIVITY_HEIGHT / ADH.DFO_PAIR_CPU_HEIGHT) * ADH.DFO_PAIR_TOTAL_SECONDS, 0) WHEN ADH.PX_DFO_PAIR_ID IS NOT NULL AND ADH.PX_DOP > :B34 THEN (ADH.DFO_PAIR_TOTAL_SECONDS * DECODE(ADH.ACTIVITY_TYPE, 'Cpu', ADH.DFO_PAIR_ACTIVITY_HEIGHT, (ADH.DFO_PAIR_ACTIVITY_HEIGHT * (:B34 - ADH.DFO_PAIR_CPU_HEIGHT)) / (ADH.DFO_PAIR_TOTAL_HEIGHT_ADJ - ADH.DFO_PAIR_CPU_HEIGHT))) / :B34 WHEN ADH.PX_DFO_PAIR_ID IS NOT NULL THEN (ADH.DFO_PAIR_TOTAL_SECONDS * ADH.DFO_PAIR_ACTIVITY_HEIGHT) / ADH.PX_DOP ELSE ADH.ACTIVE_SECONDS END) RESP_TIME, (CASE WHEN ADH.PX_DFO_PAIR_ID IS NOT NULL AND ADH.DFO_PAIR_IDLE_HEIGHT > 0 AND ADH.PX_DOP > :B34 THEN (ADH.DFO_PAIR_TOTAL_SECONDS * (ADH.DFO_PAIR_IDLE_HEIGHT * (:B34 - ADH.DFO_PAIR_CPU_HEIGHT)) / (ADH.DFO_PAIR_TOTAL_HEIGHT_ADJ - ADH.DFO_PAIR_CPU_HEIGHT)) / :B34 WHEN ADH.PX_DFO_PAIR_ID IS NOT NULL AND ADH.DFO_PAIR_IDLE_HEIGHT > 0 THEN (ADH.DFO_PAIR_TOTAL_SECONDS * ADH.DFO_PAIR_IDLE_HEIGHT) / ADH.PX_DOP ELSE 0 END) DFO_PAIR_IDLE_RESP_TIME, ADH.DFO_PAIR_ACTIVITY_HEIGHT, ADH.DFO_PAIR_CPU_HEIGHT, ADH.DFO_PAIR_IDLE_HEIGHT, ADH.DFO_PAIR_TOTAL_HEIGHT, ADH.DFO_PAIR_CPU_ACTIVITY, ADH.DFO_PAIR_TOTAL_SECONDS FROM (SELECT ADH_1.*, (ROW_NUMBER() OVER(PARTITION BY ADH_1.PLSQL_OBJECT_ID, ADH_1.PLSQL_SUBPROGRAM_ID ORDER BY ADH_1.BUCKET_NUM, ADH_1.ACTIVITY_TYPE, ADH_1.EVENT_NAME)) PLSQL_ROWNUM, (ROW_NUMBER() OVER(PARTITION BY ADH_1.SQL ORDER BY ADH_1.BUCKET_NUM, ADH_1.ACTIVITY_TYPE, ADH_1.EVENT_NAME)) SQL_ROWNUM, (CASE WHEN ADH_1.PX_DFO_PAIR_ID IS NOT NULL AND (ADH_1.DFO_PAIR_TOTAL_HEIGHT < ADH_1.PX_DOP) AND (ADH_1.DFO_PAIR_CPU_HEIGHT < :B34 ) THEN ADH_1.PX_DOP - ADH_1.DFO_PAIR_TOTAL_HEIGHT ELSE 0 END) DFO_PAIR_IDLE_HEIGHT, (CASE WHEN ADH_1.PX_DFO_PAIR_ID IS NOT NULL AND (ADH_1.DFO_PAIR_TOTAL_HEIGHT < ADH_1.PX_DOP) AND (ADH_1.DFO_PAIR_CPU_HEIGHT < :B34 ) THEN ADH_1.PX_DOP ELSE ADH_1.DFO_PAIR_TOTAL_HEIGHT END) DFO_PAIR_TOTAL_HEIGHT_ADJ FROM (SELECT ADH_0.*, (CASE WHEN ADH_0.DFO_PAIR_TOTAL_SECONDS > 0 THEN (ADH_0.DFO_PAIR_TOTAL_ACTIVITY * :B25 ) / ADH_0.DFO_PAIR_TOTAL_SECONDS ELSE 0 END) DFO_PAIR_TOTAL_HEIGHT, (CASE WHEN ADH_0.DFO_PAIR_TOTAL_SECONDS > 0 THEN (ADH_0.DFO_PAIR_CPU_ACTIVITY * :B25 ) / ADH_0.DFO_PAIR_TOTAL_SECONDS ELSE 0 END) DFO_PAIR_CPU_HEIGHT, (CASE WHEN ADH_0.PX_DFO_PAIR_ID IS NOT NULL AND ADH_0.DFO_PAIR_TOTAL_SECONDS > 0 THEN (ADH_0.ACTIVITY_COUNT * :B25 ) / ADH_0.DFO_PAIR_TOTAL_SECONDS ELSE 0 END) DFO_PAIR_ACTIVITY_HEIGHT FROM (SELECT AD3.*, (SUM(DECODE(AD3.PX_DFO_PAIR_ID, NULL, 0, AD3.ACTIVE_SECONDS)) OVER(PARTITION BY DECODE(AD3.PX_DFO_PAIR_ID, NULL, NULL, AD3.BUCKET_NUM), DECODE(AD3.PX_DFO_PAIR_ID, NULL, NULL, AD3.PX_STEP_ARG))) DFO_PAIR_TOTAL_SECONDS FROM (SELECT AD2.*, CASE WHEN AD2.IS_MONITORED_SQL = 0 THEN SQL_BUCKET_DISTINCT_SAMPLES * :B25 WHEN AD2.PX_ID IS NULL THEN AD2.ACTIVITY_COUNT * :B25 WHEN AD2.BUCKET_PARALLEL_MON_ACTIVITY > 0 THEN (AD2.ACTIVITY_COUNT * AD2.BUCKET_PARALLEL_MON_SECONDS) / AD2.BUCKET_PARALLEL_MON_ACTIVITY ELSE 0 END ACTIVE_SECONDS, CASE WHEN AD2.BUCKET_INTERVAL > BUCKET_ACTIVE_SECONDS THEN AD2.BUCKET_INTERVAL - BUCKET_ACTIVE_SECONDS ELSE 0 END BUCKET_IDLE_SECONDS FROM (SELECT AD1.*, (AD1.BUCKET_SERIAL_MON_ACTIVITY * :B25 ) BUCKET_SERIAL_MON_SECONDS, (AD1.BUCKET_TOTAL_MON_ACTIVITY - AD1.BUCKET_SERIAL_MON_ACTIVITY) BUCKET_PARALLEL_MON_ACTIVITY, (AD1.BUCKET_ACTIVE_SECONDS - (AD1.BUCKET_OTHER_ACTIVITY + AD1.BUCKET_SERIAL_MON_ACTIVITY) * :B25 ) BUCKET_PARALLEL_MON_SECONDS, (AD1.BUCKET_OTHER_ACTIVITY * :B25 ) BUCKET_OTHER_SECONDS, DECODE(AD1.PX_DFO_PAIR_ID, NULL, NULL, SUM(AD1.ACTIVITY_COUNT) OVER(PARTITION BY DECODE(AD1.PX_DFO_PAIR_ID, NULL, NULL, AD1.BUCKET_NUM), AD1.PX_DFO_PAIR_ID)) DFO_PAIR_TOTAL_ACTIVITY, DECODE(AD1.PX_DFO_PAIR_ID, NULL, NULL, SUM(DECODE(AD1.ACTIVITY_TYPE, 'Cpu', AD1.ACTIVITY_COUNT, 0)) OVER(PARTITION BY DECODE(AD1.PX_DFO_PAIR_ID, NULL, NULL, AD1.BUCKET_NUM), AD1.PX_DFO_PAIR_ID)) DFO_PAIR_CPU_ACTIVITY FROM (SELECT AD01.*, NVL((SUM(DECODE(AD01.IS_MONITORED_SQL, 1, AD01.ACTIVITY_COUNT, NULL)) OVER(PARTITION BY AD01.BUCKET_NUM)), 0) BUCKET_TOTAL_MON_ACTIVITY, (NVL(SUM(CASE WHEN AD01.IS_MONITORED_SQL = 1 AND AD01.PX_ID IS NULL THEN AD01.ACTIVITY_COUNT ELSE NULL END) OVER(PARTITION BY AD01.BUCKET_NUM), 0)) BUCKET_SERIAL_MON_ACTIVITY, (NVL((SUM(DECODE(AD01.IS_MONITORED_SQL, 0, AD01.SQL_BUCKET_DISTINCT_SAMPLES, NULL)) OVER(PARTITION BY AD01.BUCKET_NUM)), 0)) BUCKET_OTHER_ACTIVITY, (NVL(AD01.BUCKET_DISTINCT_SAMPLES, 0) * :B25 ) BUCKET_ACTIVE_SECONDS, DECODE(AD01.BUCKET_NUM, :B27 , MOD(:B32 , :B26 ), :B26 ) BUCKET_INTERVAL FROM (SELECT AD0.ACTIVITY_BUCKET_NUM BUCKET_NUM, AD0.PX_ID, AD0.ACTIVITY_TYPE, AD0.OTHER_SQL_ACTIVITY_TYPE, AD0.EVENT_NAME, AD0.PLAN_LINE_ID, AD0.PX_STEP_ID, AD0.PX_STEP_ARG, AD0.PLSQL_OBJECT_ID, AD0.PLSQL_SUBPROGRAM_ID, SUM(AD0.ACTIVITY_COUNT) ACTIVITY_COUNT, MIN(AD0.ACTIVITY_START) ACTIVITY_START, MAX(AD0.ACTIVITY_END) ACTIVITY_END, MAX(AD0.IS_MONITORED_SQL) IS_MONITORED_SQL, MAX(AD0.SQL) SQL, MAX(AD0.TOP_LEVEL_SQL_ID) TOP_LEVEL_SQL_ID, MAX(AD0.DBOP_NAME) DBOP_NAME, MAX(DECODE(AD0.DFO_MOST_ACTIVE_COUNT, NULL, NULL, AD0.DFO_MOST_ACTIVE_IID)) DFO_MOST_ACTIVE_IID, MAX(DECODE(AD0.DFO_MOST_ACTIVE_COUNT, NULL, NULL, AD0.DFO_MOST_ACTIVE_SID)) DFO_MOST_ACTIVE_SID, SUM(AD0.DFO_MOST_ACTIVE_COUNT) DFO_MOST_ACTIVE_COUNT, MAX(PX_DFO_PAIR_TYPE) PX_DFO_PAIR_TYPE, MAX(PX_DFO_PAIR_ID) PX_DFO_PAIR_ID, MAX(AD0.PX_DOP) PX_DOP, MIN(AD0.PX_MIN_DOP) PX_MIN_DOP, MAX(AD0.BUCKET_DISTINCT_SAMPLES) BUCKET_DISTINCT_SAMPLES, MAX(AD0.SQL_BUCKET_DISTINCT_SAMPLES) SQL_BUCKET_DISTINCT_SAMPLES FROM (SELECT AD00.*, (CASE WHEN AD00.IS_MONITORED_SQL = 1 AND (AD00.SESSION_ID != :B19 OR AD00.INST_ID != :B17 ) THEN AD00.PX_SERVER_GROUP END) PX_ID FROM ASH_DATA AD00 WHERE :B33 = 1 ) AD0 GROUP BY AD0.ACTIVITY_BUCKET_NUM, AD0.PX_ID, AD0.ACTIVITY_TYPE, AD0.EVENT_NAME, AD0.OTHER_SQL_ACTIVITY_TYPE, AD0.PLAN_LINE_ID, AD0.PLSQL_OBJECT_ID, AD0.PLSQL_SUBPROGRAM_ID, AD0.PX_STEP_ID, AD0.PX_STEP_ARG ) AD01) AD1) AD2) AD3) ADH_0) ADH_1) ADH) SELECT /*+ no_monitor no_xml_query_rewrite opt_param('_gby_hash_aggregation_enabled', 'false') */ XMLELEMENT( "sql_monitor_report", XMLATTRIBUTES(:B59 AS "version", TO_CHAR(:B58 , :B12 ) AS "sysdate"), XMLELEMENT( "report_parameters", NULL, CASE WHEN :B57 IS NOT NULL THEN XMLFOREST( :B57 AS "dbop_name", :B56 AS "dbop_exec_id") ELSE XMLFOREST( :B55 AS "sql_id", :B54 AS "sql_exec_id") END, XMLFOREST( :B53 AS "session_id", :B52 AS "session_serial", TO_CHAR(:B51 , :B12 ) AS "sql_exec_start", :B27 AS "bucket_count", TO_CHAR(:B50 , :B12 ) AS "interval_start", TO_CHAR(:B22 , :B12 ) AS "interval_end", DECODE(:B49 , 'Y', :B48 , NULL) AS "auto_refresh", :B47 AS "base_path"), CASE WHEN :B23 = 'Y' AND :B46 IS NOT NULL AND NOT (:B4 = 1 AND :B3 IS NULL AND :B2 IS NULL AND :B1 IS NULL) THEN XMLELEMENT( "parallel_filter", NULL, XMLFOREST( DECODE(:B4 , 1, 'yes', 'no') AS "qc", :B3 AS "server_group", :B2 AS "server_set", :B1 AS "server_number")) ELSE NULL END), CASE WHEN :B14 = 1 THEN XMLELEMENT( "derived_parameters_testing", NULL, XMLFOREST(:B11 AS "instance_id_low", :B10 AS "instance_id_high", :B26 AS "bucket_interval_sec", :B32 AS "interval_second", :B27 AS "bucket_calc_count", :B45 AS "bucket_calc_max_count", :B13 AS "sel_sqltext")) ELSE NULL END, (SELECT XMLCONCAT( CASE WHEN :B46 IS NULL AND :B67 IS NULL THEN XMLELEMENT( "target", XMLATTRIBUTES(:B17 AS "instance_id", :B19 AS "session_id", :B18 AS "session_serial", NVL2(:B6 , NULL, :B9 ) AS "sql_id", NVL2(:B6 , NULL, TO_CHAR(:B8 , :B12 )) AS "sql_exec_start", NVL2(:B6 , NULL, :B7 ) AS "sql_exec_id", NVL2(:B6 , :B6 , NULL) AS "dbop_name", NVL2(:B6 , :B5 , NULL) AS "dbop_exec_id", NVL2(:B6 , TO_CHAR(:B8 , :B12 ), NULL) AS "dbop_exec_start", NVL2(:B6 , NULL, MAX_PLAN_HASH_VALUE) AS "sql_plan_hash", NVL2(:B6 , NULL, MAX_FULL_PLAN_HASH_VALUE) AS "sql_full_plan_hash", MAGG.DB_UNIQUE_NAME AS "db_unique_name", MAGG.PLATFORM_NAME AS "db_platform_name", MAGG.HOST_NAME AS "report_host_name"), NVL2(SUM_SERVERS_REQUESTED, XMLELEMENT( "servers_requested", NULL, SUM_SERVERS_REQUESTED), NULL), NVL2(SUM_SERVERS_ALLOCATED, XMLELEMENT( "servers_allocated", NULL, SUM_SERVERS_ALLOCATED), NULL), NVL2(MAX_USERID, XMLELEMENT( "user_id", NULL, MAX_USERID), NULL), NVL2(MAX_USERNAME, XMLELEMENT( "user", NULL, MAX_USERNAME), NULL), NVL2(MAX_CON_ID, XMLELEMENT( "con_id", NULL, MAX_CON_ID), NULL), NVL2(MAX_CON_NAME, XMLELEMENT( "con_name", NULL, MAX_CON_NAME), NULL), NVL2(MAX_PROGRAM, XMLELEMENT( "program", NULL, MAX_PROGRAM), NULL), NVL2(MAX_MODULE, XMLELEMENT( "module", NULL, MAX_MODULE), NULL), NVL2(MAX_ACTION, XMLELEMENT( "action", NULL, MAX_ACTION), NULL), NVL2(MAX_SERVICE_NAME, XMLELEMENT( "service", NULL, MAX_SERVICE_NAME), NULL), NVL2(MAX_CLIENT_ID, XMLELEMENT( "client_id", NULL, MAX_CLIENT_ID), NULL), NVL2(MAX_CLIENT_INFO, XMLELEMENT( "client_info", NULL, MAX_CLIENT_INFO), NULL), NVL2(MAX_PL_ENTRY_OID, XMLELEMENT( "plsql_entry_object_id", NULL, MAX_PL_ENTRY_OID), NULL), NVL2(MAX_PL_ENTRY_PROGID, XMLELEMENT( "plsql_entry_subprogram_id", NULL, MAX_PL_ENTRY_PROGID), NULL), NVL2(MAX_PL_ENTRY_NAME, XMLELEMENT( "plsql_entry_name", NULL, MAX_PL_ENTRY_NAME), NULL), NVL2(MAX_PL_OID, XMLELEMENT( "plsql_object_id", NULL, MAX_PL_OID), NULL), NVL2(MAX_PL_PROGID, XMLELEMENT( "plsql_subprogram_id", NULL, MAX_PL_PROGID), NULL), NVL2(MAX_PL_NAME, XMLELEMENT( "plsql_name", NULL, MAX_PL_NAME), NULL), CASE WHEN (:B13 = 0 OR :B6 IS NOT NULL) THEN NULL ELSE XMLELEMENT( "sql_fulltext", XMLATTRIBUTES( NVL2(:B65 , 'Y', :B66 ) AS "is_full"), NVL2(:B65 , :B65 , SQLMON_TEXT)) END, XMLELEMENT( "status", NULL, MAX_STATUS), XMLELEMENT( "refresh_count", NULL, SUM_REFRESH_COUNT), XMLELEMENT( "first_refresh_time", NULL, TO_CHAR(MIN_FIRST_REFRESH_TIME, :B12 )), XMLELEMENT( "last_refresh_time", NULL, TO_CHAR(:B58 , :B12 )), XMLELEMENT( "duration", NULL, GREATEST(:B64 , LEAST(MAX_ELAPSED_TIME/1000000, 1), CEIL(MAX_QUEUING_TIME/1000000))), DECODE(MAX_RM_INFO, '00/00/0000 00:00:00', NULL, XMLTYPE(SUBSTR(MAX_RM_INFO, 20))), CASE WHEN (:B62 = 'Y') THEN XMLELEMENT( "adaptive_plan", XMLATTRIBUTES(:B63 AS "is_final"), :B62 ) ELSE NULL END ) END, XMLELEMENT( "stats", XMLATTRIBUTES('monitor' AS "type"), DECODE(NVL(SUM_ELAPSED_TIME, 0), 0, NULL, XMLELEMENT( "stat", XMLATTRIBUTES('elapsed_time' AS "name"), SUM_ELAPSED_TIME)), DECODE(NVL(MAX_QUEUING_TIME, 0), 0, NULL, XMLELEMENT( "stat", XMLATTRIBUTES('queuing_time' AS "name"), MAX_QUEUING_TIME)), DECODE(NVL(SUM_CPU_TIME, 0), 0, NULL, XMLELEMENT( "stat", XMLATTRIBUTES('cpu_time' AS "name"), SUM_CPU_TIME)), DECODE(NVL(SUM_USER_IO_WAIT_TIME, 0), 0, NULL, XMLELEMENT( "stat", XMLATTRIBUTES('user_io_wait_time' AS "name"), SUM_USER_IO_WAIT_TIME)), DECODE(NVL(SUM_APPLICATION_WAIT_TIME, 0), 0, NULL, XMLELEMENT( "stat", XMLATTRIBUTES('application_wait_time' AS "name"), SUM_APPLICATION_WAIT_TIME)), DECODE(NVL(SUM_CONCURRENCY_WAIT_TIME, 0), 0, NULL, XMLELEMENT( "stat", XMLATTRIBUTES('concurrency_wait_time' AS "name"), SUM_CONCURRENCY_WAIT_TIME)), DECODE(NVL(SUM_CLUSTER_WAIT_TIME, 0), 0, NULL, XMLELEMENT( "stat", XMLATTRIBUTES('cluster_wait_time' AS "name"), SUM_CLUSTER_WAIT_TIME)), DECODE(NVL(SUM_PLSQL_EXEC_TIME, 0), 0, NULL, XMLELEMENT( "stat", XMLATTRIBUTES('plsql_exec_time' AS "name"), SUM_PLSQL_EXEC_TIME)), DECODE(NVL(SUM_JAVA_EXEC_TIME, 0), 0, NULL, XMLELEMENT( "stat", XMLATTRIBUTES('java_exec_time' AS "name"), SUM_JAVA_EXEC_TIME)), DECODE(NVL(SUM_OTHER_WAIT_TIME, 0), 0, NULL, XMLELEMENT( "stat", XMLATTRIBUTES('other_wait_time' AS "name"), SUM_OTHER_WAIT_TIME)), DECODE(NVL(SUM_FETCHES, 0), 0, NULL, XMLELEMENT( "stat", XMLATTRIBUTES('user_fetch_count' AS "name"), SUM_FETCHES)), DECODE(NVL(SUM_BUFFER_GETS, 0), 0, NULL, XMLELEMENT( "stat", XMLATTRIBUTES('buffer_gets' AS "name"), SUM_BUFFER_GETS)), DECODE(NVL(SUM_READ_REQS, 0), 0, NULL, XMLELEMENT( "stat", XMLATTRIBUTES('disk_reads' AS "name"), SUM_READ_REQS)), DECODE(NVL(SUM_WRITE_REQS, 0), 0, NULL, XMLELEMENT( "stat", XMLATTRIBUTES('direct_writes' AS "name"), SUM_WRITE_REQS)), DECODE(NVL(SUM_READ_REQS, 0), 0, NULL, XMLELEMENT( "stat", XMLATTRIBUTES('read_reqs' AS "name"), SUM_READ_REQS)), DECODE(NVL(SUM_READ_BYTES, 0), 0, NULL, XMLELEMENT( "stat", XMLATTRIBUTES('read_bytes' AS "name"), SUM_READ_BYTES)), DECODE(NVL(SUM_WRITE_REQS, 0), 0, NULL, XMLELEMENT( "stat", XMLATTRIBUTES('write_reqs' AS "name"), SUM_WRITE_REQS)), DECODE(NVL(SUM_WRITE_BYTES, 0), 0, NULL, XMLELEMENT( "stat", XMLATTRIBUTES('write_bytes' AS "name"), SUM_WRITE_BYTES)), DECODE(NVL(SUM_IO_UNC_BYTES, 0), 0, NULL, XMLELEMENT( "stat", XMLATTRIBUTES('unc_bytes' AS "name"), SUM_IO_UNC_BYTES)), DECODE(NVL(SUM_IO_ELIG_BYTES, 0), 0, NULL, XMLELEMENT( "stat", XMLATTRIBUTES('elig_bytes' AS "name"), SUM_IO_ELIG_BYTES)), DECODE(NVL(SUM_IO_RET_BYTES, 0), 0, NULL, XMLELEMENT( "stat", XMLATTRIBUTES('ret_bytes' AS "name"), SUM_IO_RET_BYTES)), CASE WHEN SUM_IO_INTER_BYTES IS NULL OR SUM_IO_BYTES = 0 OR SUM_IO_INTER_BYTES = SUM_IO_BYTES OR NVL(SUM_IO_ELIG_BYTES, 0) = 0 THEN NULL ELSE XMLELEMENT( "stat", XMLATTRIBUTES('cell_offload_efficiency' AS "name"), ROUND(SUM_IO_BYTES / DECODE(SUM_IO_INTER_BYTES, 0, 1, SUM_IO_INTER_BYTES), 2)) END, CASE WHEN NVL(SUM_IO_ELIG_BYTES, 0) = 0 OR SUM_IO_BYTES = 0 OR SUM_IO_UNC_BYTES = SUM_IO_RET_BYTES THEN NULL ELSE XMLELEMENT( "stat", XMLATTRIBUTES('cell_offload_efficiency2' AS "name"), GREATEST(0, ROUND(100* (GREATEST(SUM_IO_UNC_BYTES, SUM_IO_ELIG_BYTES) - SUM_IO_RET_BYTES) / SUM_IO_ELIG_BYTES, 2))) END), CASE WHEN :B33 = 1 THEN (SELECT CASE WHEN SUM(ACTIVITY_COUNT) > 0 THEN XMLELEMENT( "activity_sampled", XMLAGG( XMLELEMENT( "activity", XMLATTRIBUTES( AD1.ACTIVITY_TYPE AS "class", AD1.EVENT_NAME AS "event"), AD1.ACTIVITY_COUNT) ORDER BY AD1.ACTIVITY_TYPE, AD1.EVENT_NAME)) ELSE NULL END FROM (SELECT AD0.ACTIVITY_TYPE, AD0.EVENT_NAME, SUM(AD0.ACTIVITY_COUNT) ACTIVITY_COUNT FROM ASH_DATA AD0 GROUP BY AD0.ACTIVITY_TYPE, AD0.EVENT_NAME) AD1) ELSE NULL END, NVL2(MAX_ERROR_NUMBER, XMLELEMENT( "error", XMLATTRIBUTES(MAX_ERROR_NUMBER AS "number", MAX_ERROR_FACILITY AS "facility"), MAX_ERROR_MESSAGE), NULL), CASE WHEN :B61 = 1 AND MAGG.QC_HAS_BINDS_XML = 'Y' THEN (SELECT XMLTYPE(BINDS_XML) FROM GV$ALL_SQL_MONITOR MON WHERE MON.INST_ID = :B17 AND MON.KEY = MAGG.MAX_KEY AND MON.SID = MAGG.MAX_SESSION_ID AND MON.SQL_ID = :B9 AND MON.SQL_EXEC_START = :B8 AND MON.SQL_EXEC_ID = :B7 AND ROWNUM = 1) ELSE NULL END, CASE WHEN :B60 = 1 AND MAGG.QC_HAS_OTHER_XML = 'Y' THEN (SELECT XMLTYPE(OTHER_XML) FROM GV$ALL_SQL_MONITOR MON WHERE MON.INST_ID = MAGG.MAX_INST_ID AND MON.KEY = MAGG.MAX_KEY AND MON.SID = MAGG.MAX_SESSION_ID AND MON.SQL_ID = :B9 AND MON.SQL_EXEC_START = :B8 AND MON.SQL_EXEC_ID = :B7 AND ROWNUM = 1) ELSE NULL END) FROM MONITOR_AGG MAGG), CASE WHEN :B44 = 1 THEN (SELECT CASE WHEN AT.ACTIVITY_COUNT > 0 THEN XMLELEMENT( "activity_sampled", XMLATTRIBUTES( :B41 AS "ash_missing_seconds", TO_CHAR(AT.ACTIVITY_START, :B12 ) AS "first_sample_time", TO_CHAR(AT.ACTIVITY_END, :B12 ) AS "last_sample_time", ROUND((AT.ACTIVITY_END - AT.ACTIVITY_START) * 3600 * 24) + 1 AS "duration", AT.ACTIVITY_COUNT AS "count", AT.IMQ_COUNT AS "imq_count", AT.WAIT_COUNT AS "wait_count", AT.CPU_COUNT AS "cpu_count", DECODE(AT.OTHER_SQL_COUNT, 0, NULL, AT.OTHER_SQL_COUNT) AS "other_sql_count", :B40 AS "cpu_cores", :B39 AS "hyperthread"), AT.ACTIVITY_TOTAL, AH.GLOB_ACTIVITY_HISTO) WHEN :B41 IS NOT NULL THEN XMLELEMENT( "activity_sampled", XMLATTRIBUTES( DECODE( :B41 , -1, 'all', TO_CHAR( :B41 )) AS "ash_missing_seconds")) ELSE NULL END FROM (SELECT MIN(AD1.ACTIVITY_START) ACTIVITY_START, MAX(AD1.ACTIVITY_END) ACTIVITY_END, SUM(AD1.ACTIVITY_COUNT) ACTIVITY_COUNT, SUM(AD1.IMQ_COUNT) IMQ_COUNT, SUM(AD1.WAIT_COUNT) WAIT_COUNT, SUM(AD1.CPU_COUNT) CPU_COUNT, SUM(AD1.OTHER_SQL_COUNT) OTHER_SQL_COUNT, SUBSTR(MAX(LPAD(AD1.ACTIVITY_COUNT,10)|| AD1.ACTIVITY_TYPE), 11) MOST_ACTIVE, XMLAGG( XMLELEMENT( "activity", XMLATTRIBUTES( AD1.ACTIVITY_TYPE AS "class", AD1.EVENT_NAME AS "event"), AD1.ACTIVITY_COUNT) ORDER BY AD1.ACTIVITY_TYPE, AD1.EVENT_NAME) ACTIVITY_TOTAL FROM (SELECT AD0.ACTIVITY_TYPE, AD0.EVENT_NAME, MIN(AD0.ACTIVITY_START) ACTIVITY_START, MAX(AD0.ACTIVITY_END) ACTIVITY_END, SUM(AD0.ACTIVITY_COUNT) ACTIVITY_COUNT, SUM(AD0.IMQ_COUNT) IMQ_COUNT, SUM(AD0.WAIT_COUNT) WAIT_COUNT, SUM(AD0.CPU_COUNT) CPU_COUNT, SUM(AD0.OTHER_SQL_COUNT) OTHER_SQL_COUNT FROM ASH_DATA AD0 GROUP BY AD0.ACTIVITY_TYPE, AD0.EVENT_NAME) AD1) AT, (SELECT CASE WHEN :B30 = 1 AND :B27 > 1 THEN XMLELEMENT( "activity_histogram", XMLATTRIBUTES( :B26 AS "bucket_interval", :B27 AS "bucket_count", TO_CHAR( :B20 , :B12 ) AS "start_time", TO_CHAR( :B22 , :B12 ) AS "end_time", ROUND(( :B22 - :B20 ) *3600*24) + 1 AS "duration"), XMLAGG( XMLELEMENT( "bucket", XMLATTRIBUTES( AD2.BUCKET_NUM AS "number"), ACTIVITY_BUCKET) ORDER BY AD2.BUCKET_NUM)) ELSE NULL END GLOB_ACTIVITY_HISTO FROM (SELECT AD1.BUCKET_NUM, SUM(ACTIVITY_COUNT) ACTIVITY_COUNT, SUM(IMQ_COUNT) IMQ_COUNT, SUM(WAIT_COUNT) WAIT_COUNT, SUM(CPU_COUNT) CPU_COUNT, SUM(OTHER_SQL_COUNT) OTHER_SQL_COUNT, MIN(AD1.ACTIVITY_START) ACTIVITY_START, MAX(AD1.ACTIVITY_END) ACTIVITY_END, MIN(AD1.BUCKET_ACTIVITY_START) BUCKET_ACTIVITY_START, MAX(AD1.BUCKET_ACTIVITY_END) BUCKET_ACTIVITY_END, SUBSTR(MAX(LPAD(AD1.ACTIVITY_COUNT,10)|| AD1.ACTIVITY_TYPE), 11) MOST_ACTIVE, XMLAGG( XMLELEMENT( "activity", XMLATTRIBUTES( AD1.ACTIVITY_TYPE AS "class", AD1.EVENT_NAME AS "event"), AD1.ACTIVITY_COUNT) ORDER BY AD1.ACTIVITY_TYPE, AD1.EVENT_NAME) ACTIVITY_BUCKET FROM (SELECT AD0.ACTIVITY_BUCKET_NUM BUCKET_NUM, AD0.ACTIVITY_TYPE, AD0.EVENT_NAME, MIN(AD0.ACTIVITY_START) ACTIVITY_START, MAX(AD0.ACTIVITY_END) ACTIVITY_END, SUM(AD0.ACTIVITY_COUNT) ACTIVITY_COUNT, SUM(AD0.IMQ_COUNT) IMQ_COUNT, SUM(AD0.WAIT_COUNT) WAIT_COUNT, SUM(AD0.CPU_COUNT) CPU_COUNT, SUM(AD0.OTHER_SQL_COUNT) OTHER_SQL_COUNT, MIN(AD0.BUCKET_ACTIVITY_START) BUCKET_ACTIVITY_START, MAX(AD0.BUCKET_ACTIVITY_END) BUCKET_ACTIVITY_END FROM ASH_DATA AD0 GROUP BY AD0.ACTIVITY_BUCKET_NUM, AD0.ACTIVITY_TYPE, AD0.EVENT_NAME) AD1 GROUP BY AD1.BUCKET_NUM) AD2) AH) ELSE NULL END, CASE WHEN :B33 = 1 THEN (SELECT CASE WHEN AH.ACTIVITY_COUNT > 0 THEN XMLELEMENT( "activity_detail", XMLATTRIBUTES( TO_CHAR( :B20 , :B12 ) AS "start_time", TO_CHAR( :B22 , :B12 ) AS "end_time", :B41 AS "ash_missing_seconds", TO_CHAR(AH.ACTIVITY_START, :B12 ) AS "first_sample_time", TO_CHAR(AH.ACTIVITY_END, :B12 ) AS "last_sample_time", ROUND((AH.ACTIVITY_END - AH.ACTIVITY_START) * 3600 * 24) + 1 AS "duration", :B25 AS "sample_interval", :B26 AS "bucket_interval", :B27 AS "bucket_count", ROUND((:B22 - :B20 ) *3600*24) + 1 AS "bucket_duration", :B40 AS "cpu_cores", :B34 AS "total_cpu_cores", :B39 AS "hyperthread"), AH.GLOB_ACTIVITY_HISTO) WHEN :B41 IS NOT NULL THEN XMLELEMENT( "activity_detail", XMLATTRIBUTES( DECODE( :B41 , -1, 'all', TO_CHAR( :B41 )) AS "ash_missing_seconds")) ELSE NULL END FROM (SELECT MIN(AD2.ACTIVITY_START) ACTIVITY_START, MAX(AD2.ACTIVITY_END) ACTIVITY_END, SUM(AD2.ACTIVITY_COUNT) ACTIVITY_COUNT, XMLAGG( XMLELEMENT( "bucket", XMLATTRIBUTES( AD2.BUCKET_NUM AS "number"), ACTIVITY_BUCKET_XML) ORDER BY AD2.BUCKET_NUM) GLOB_ACTIVITY_HISTO FROM (SELECT AD1.BUCKET_NUM, MIN(AD1.ACTIVITY_START) ACTIVITY_START, MAX(AD1.ACTIVITY_END) ACTIVITY_END, SUM(AD1.ACTIVITY_COUNT) ACTIVITY_COUNT, MAX(AD1.BUCKET_IDLE_SECONDS) BUCKET_IDLE_SECONDS, XMLAGG( XMLCONCAT( CASE WHEN AD1.DFO_PAIR_IDLE_RESP_TIME != 0 AND DFO_PAIR_ROWNUM = 1 THEN XMLELEMENT( "activity", XMLATTRIBUTES( 'Parallel Skew' AS "class", AD1.PX_STEP_ARG AS "line", AD1.PX_ID AS "px", ROUND(AD1.DFO_PAIR_IDLE_RESP_TIME, 2) AS "rt"), 0) ELSE NULL END, XMLELEMENT( "activity", XMLATTRIBUTES( NVL(AD1.OTHER_SQL, AD1.RPI) AS "sql", AD1.NON_SQL AS "non_sql", AD1.CLASS AS "class", AD1.OTHER_SQL_CLASS AS "other_sql_class", AD1.EVENT AS "event", AD1.PLAN_LINE_ID AS "line", NVL2(AD1.PLSQL_OBJECT_ID, AD1.PLSQL_OBJECT_ID||'.'|| AD1.PLSQL_SUBPROGRAM_ID, NULL) AS "plsql_id", AD1.PLSQL_NAME AS "plsql_name", CASE WHEN AD1.SQL_ROWNUM = 1 THEN AD1.TOP_LEVEL_SQL_ID END AS "top_sql_id", CASE WHEN AD1.DBOP_NAME IS NOT NULL THEN AD1.DBOP_NAME END AS "dbop_name", CASE WHEN AD1.DFO_MOST_ACTIVE_IID IS NOT NULL AND :B68 = 'Y' THEN AD1.DFO_MOST_ACTIVE_IID END AS "skew_iid", DECODE(AD1.DFO_MOST_ACTIVE_COUNT, NULL,NULL, AD1.DFO_MOST_ACTIVE_SID) AS "skew_sid", AD1.DFO_MOST_ACTIVE_COUNT AS "skew_count", DECODE(AD1.PX_DOP, :B28 , NULL, AD1.PX_DOP) AS "dop", DECODE(AD1.PX_DOP, AD1.PX_MIN_DOP, NULL, AD1.PX_MIN_DOP) AS "min_dop", AD1.PX_ID AS "px", AD1.PX_STEP_ID AS "step", AD1.PX_STEP_ARG AS "arg", DECODE(AD1.ACTIVITY_COUNT, AD1.RESP_TIME, NULL, ROUND(AD1.RESP_TIME, 2)) AS "rt"), AD1.ACTIVITY_COUNT)) ORDER BY AD1.PX_STEP_ID, AD1.PX_STEP_ARG, AD1.DFO_PAIR_ROWNUM) ACTIVITY_BUCKET_XML FROM (SELECT AD01.*, CASE WHEN AD01.ACTIVITY_TYPE != 'Other SQL Execution' AND AD01.ACTIVITY_TYPE != 'Non SQL' THEN AD01.ACTIVITY_TYPE END CLASS, CASE WHEN (AD01.ACTIVITY_TYPE = 'Other SQL Execution' OR AD01.ACTIVITY_TYPE = 'Non SQL') THEN AD01.OTHER_SQL_ACTIVITY_TYPE END OTHER_SQL_CLASS, CASE WHEN AD01.ACTIVITY_TYPE != 'Other SQL Execution' AND AD01.ACTIVITY_TYPE != 'Non SQL' THEN AD01.EVENT_NAME END EVENT, CASE WHEN AD01.SQL IN ('this', 'anonymous') THEN NULL ELSE AD01.SQL END RPI, DECODE(AD01.ACTIVITY_TYPE, 'Other SQL Execution', SUBSTR(AD01.EVENT_NAME, 9), NULL) OTHER_SQL, DECODE(AD01.ACTIVITY_TYPE, 'Non SQL', AD01.EVENT_NAME, NULL) NON_SQL, ROW_NUMBER() OVER(PARTITION BY AD01.BUCKET_NUM, AD01.PX_DFO_PAIR_ID ORDER BY AD01.ACTIVITY_TYPE, AD01.EVENT_NAME, AD01.PLAN_LINE_ID) DFO_PAIR_ROWNUM FROM RESPONSE_TIME_DATA AD01) AD1 GROUP BY AD1.BUCKET_NUM) AD2) AH) ELSE NULL END, CASE WHEN :B23 = 'Y' THEN (SELECT XMLELEMENT( "parallel_info", XMLATTRIBUTES( :B17 AS "qc_instance_id", MAX_PX_QCSID AS "qc_session_id", MAX_PX_IS_CROSS_INSTANCE AS "is_cross_instance", MAX_PX_DOP AS "dop", MAX_PX_DOP_INSTANCES AS "max_dop_instances", DIST_INST_COUNT AS "inst_count", DIST_PX_GROUP_COUNT AS "server_group_count", DIST_PX_SET_COUNT AS "server_set_count"), CASE WHEN :B70 = 1 THEN PX_SESSIONS ELSE NULL END, CASE WHEN :B68 = 'Y' THEN DECODE(:B69 , 1, PX_INSTANCES, NULL) ELSE NULL END) FROM (SELECT MAX_PX_QCSID, MAX_PX_DOP, MAX_PX_DOP_INSTANCES, MAX_PX_IS_CROSS_INSTANCE, SUM_SERVERS_REQUESTED, SUM_SERVERS_ALLOCATED, DIST_INST_COUNT, DIST_PX_GROUP_COUNT, DIST_PX_SET_COUNT, (SELECT XMLELEMENT( "sessions", XMLATTRIBUTES(MAX(PX_SESSION.ACTIVITY_COUNT) AS "max_activity_count", MAX(PX_SESSION.IMQ_COUNT) AS "max_imq_count", MAX(PX_SESSION.CPU_COUNT) AS "max_cpu_count", MAX(PX_SESSION.WAIT_COUNT) AS "max_wait_count", MAX(PX_SESSION.OTHER_SQL_COUNT) AS "max_other_sql_count", MAX(PX_SESSION.MAX_IO_REQS) AS "max_io_reqs", MAX(PX_SESSION.MAX_IO_BYTES) AS "max_io_bytes", MAX(PX_SESSION.MAX_BUFFER_GETS) AS "max_buffer_gets", MAX(PX_SESSION.MAX_ELAPSED_TIME) AS "max_elapsed_time"), XMLAGG(PX_SESSION.PX_SESSION_XML ORDER BY PX_SERVER_GROUP NULLS FIRST, PX_SERVER_SET, PX_SERVER#)) FROM (SELECT PX_SERVER_GROUP, PX_SERVER_SET, PX_SERVER#, MAX(PI.MAX_ELAPSED_TIME) MAX_ELAPSED_TIME, MAX(PI.MAX_IO_REQS) MAX_IO_REQS, MAX(PI.MAX_IO_BYTES) MAX_IO_BYTES, MAX(PI.MAX_BUFFER_GETS) MAX_BUFFER_GETS, SUM(PI.ACTIVITY_COUNT) ACTIVITY_COUNT, SUM(PI.IMQ_COUNT) IMQ_COUNT, SUM(PI.WAIT_COUNT) WAIT_COUNT, SUM(PI.CPU_COUNT) CPU_COUNT, SUM(PI.OTHER_SQL_COUNT) OTHER_SQL_COUNT, XMLELEMENT( "session", XMLATTRIBUTES( INST_ID AS "inst_id", PROCESS_NAME AS "process_name", SID AS "session_id", SESSION_SERIAL# AS "session_serial", PX_SERVER_GROUP AS "server_group", PX_SERVER_SET AS "server_set", PX_SERVER# AS "server_num"), XMLELEMENT( "stats", XMLATTRIBUTES( 'monitor' AS "type"), NVL2(MAX(ELAPSED_TIME), XMLELEMENT( "stat", XMLATTRIBUTES('elapsed_time' AS "name"), MAX(ELAPSED_TIME)), NULL), NVL2(MAX(QUEUING_TIME), XMLELEMENT( "stat", XMLATTRIBUTES('queuing_time' AS "name"), MAX(QUEUING_TIME)), NULL), NVL2(MAX(CPU_TIME), XMLELEMENT( "stat", XMLATTRIBUTES('cpu_time' AS "name"), MAX(CPU_TIME)), NULL), NVL2(MAX(USER_IO_WAIT_TIME), XMLELEMENT( "stat", XMLATTRIBUTES('user_io_wait_time' AS "name"), MAX(USER_IO_WAIT_TIME)), NULL), NVL2(MAX(APPLICATION_WAIT_TIME), XMLELEMENT( "stat", XMLATTRIBUTES('application_wait_time' AS "name"), MAX(APPLICATION_WAIT_TIME)), NULL), NVL2(MAX(CONCURRENCY_WAIT_TIME), XMLELEMENT( "stat", XMLATTRIBUTES('concurrency_wait_time' AS "name"), MAX(CONCURRENCY_WAIT_TIME)), NULL), NVL2(MAX(CLUSTER_WAIT_TIME), XMLELEMENT( "stat", XMLATTRIBUTES('cluster_wait_time' AS "name"), MAX(CLUSTER_WAIT_TIME)), NULL), NVL2(MAX(PLSQL_EXEC_TIME), XMLELEMENT( "stat", XMLATTRIBUTES('plsql_exec_time' AS "name"), MAX(PLSQL_EXEC_TIME)), NULL), NVL2(MAX(JAVA_EXEC_TIME), XMLELEMENT( "stat", XMLATTRIBUTES('java_exec_time' AS "name"), MAX(JAVA_EXEC_TIME)), NULL), NVL2(MAX(OTHER_WAIT_TIME), XMLELEMENT( "stat", XMLATTRIBUTES( 'other_wait_time' AS "name"), MAX(OTHER_WAIT_TIME)), NULL), NVL2(MAX(FETCHES), XMLELEMENT( "stat", XMLATTRIBUTES('user_fetch_count' AS "name"), MAX(FETCHES)), NULL), NVL2(MAX(BUFFER_GETS), XMLELEMENT( "stat", XMLATTRIBUTES('buffer_gets' AS "name"), MAX(BUFFER_GETS)), NULL), NVL2(MAX(READ_REQS), XMLELEMENT( "stat", XMLATTRIBUTES('disk_reads' AS "name"), MAX(READ_REQS)), NULL), NVL2(MAX(WRITE_REQS), XMLELEMENT( "stat", XMLATTRIBUTES('direct_writes' AS "name"), MAX(WRITE_REQS)), NULL), NVL2(MAX(READ_REQS), XMLELEMENT( "stat", XMLATTRIBUTES('read_reqs' AS "name"), MAX(READ_REQS)), NULL), NVL2(MAX(READ_BYTES), XMLELEMENT( "stat", XMLATTRIBUTES('read_bytes' AS "name"), MAX(READ_BYTES)), NULL), NVL2(MAX(WRITE_REQS), XMLELEMENT( "stat", XMLATTRIBUTES('write_reqs' AS "name"), MAX(WRITE_REQS)), NULL), NVL2(MAX(WRITE_BYTES), XMLELEMENT( "stat", XMLATTRIBUTES('write_bytes' AS "name"), MAX(WRITE_BYTES)), NULL), NVL2(MAX(IO_UNC_BYTES), XMLELEMENT( "stat", XMLATTRIBUTES('unc_bytes' AS "name"), MAX(IO_UNC_BYTES)), NULL), NVL2(MAX(IO_ELIG_BYTES), XMLELEMENT( "stat", XMLATTRIBUTES('elig_bytes' AS "name"), MAX(IO_ELIG_BYTES)), NULL), NVL2(MAX(IO_RET_BYTES), XMLELEMENT( "stat", XMLATTRIBUTES('ret_bytes' AS "name"), MAX(IO_RET_BYTES)), NULL), CASE WHEN MAX(IO_INTER_BYTES) IS NULL OR NVL(MAX(IO_BYTES), 0) = 0 OR MAX(IO_INTER_BYTES) = MAX(IO_BYTES) OR NVL(MAX(IO_ELIG_BYTES), 0) = 0 THEN NULL ELSE XMLELEMENT( "stat", XMLATTRIBUTES('cell_offload_efficiency' AS "name"), ROUND(MAX(IO_BYTES) / DECODE(MAX(IO_INTER_BYTES), 0, 1, MAX(IO_INTER_BYTES)), 2)) END, CASE WHEN NVL(MAX(IO_ELIG_BYTES), 0) = 0 OR NVL(MAX(IO_BYTES), 0) = 0 OR MAX(IO_UNC_BYTES) = MAX(IO_RET_BYTES) THEN NULL ELSE XMLELEMENT( "stat", XMLATTRIBUTES('cell_offload_efficiency2' AS "name"), GREATEST(0, ROUND(100* (GREATEST( NVL(MAX(IO_UNC_BYTES),0), NVL(MAX(IO_ELIG_BYTES),0)) - MAX(IO_RET_BYTES)) / MAX(IO_ELIG_BYTES), 2))) END), CASE WHEN SUM(PI.ACTIVITY_COUNT) > 0 AND :B33 = 1 THEN XMLELEMENT( "activity_sampled", XMLATTRIBUTES( TO_CHAR(MIN(PI.ACTIVITY_START), :B12 ) AS "first_sample_time", TO_CHAR(MAX(PI.ACTIVITY_END), :B12 ) AS "last_sample_time", ROUND((MAX(PI.ACTIVITY_END) - MIN(PI.ACTIVITY_START)) * 3600 * 24) + 1 AS "duration", SUM(PI.ACTIVITY_COUNT) AS "count", SUM(PI.IMQ_COUNT) AS "imq_count", SUM(PI.CPU_COUNT) AS "cpu_count", SUM(PI.WAIT_COUNT) AS "wait_count", SUM(PI.OTHER_SQL_COUNT)AS "other_sql_count", :B40 AS "cpu_cores", :B39 AS "hyperthread"), XMLAGG( NVL2(ACTIVITY_TYPE, XMLELEMENT( "activity", XMLATTRIBUTES( PI.ACTIVITY_TYPE AS "class", PI.EVENT_NAME AS "event"), ACTIVITY_COUNT), NULL) ORDER BY PI.ACTIVITY_TYPE, PI.EVENT_NAME)) ELSE NULL END, CASE WHEN :B60 = 1 AND PI.HAS_OTHER_XML = 'Y' THEN (SELECT XMLTYPE(OTHER_XML) FROM GV$ALL_SQL_MONITOR MON WHERE MON.INST_ID = PI.INST_ID AND MON.KEY = PI.KEY AND MON.SID = PI.SID AND MON.SQL_ID = :B9 AND MON.SQL_EXEC_START = :B8 AND MON.SQL_EXEC_ID = :B7 AND ROWNUM = 1) ELSE NULL END) PX_SESSION_XML FROM (SELECT MO.HAS_OTHER_XML, MO.KEY, MO.INST_ID, DECODE(MO.PROCESS_NAME, 'ora', 'PX Coordinator', MO.PROCESS_NAME) PROCESS_NAME, MO.SID, MO.SESSION_SERIAL#, MO.PX_SERVER_GROUP, MO.PX_SERVER_SET, MO.PX_SERVER#, ASH0.ACTIVITY_TYPE, ASH0.EVENT_NAME, MAX(MO.IO_REQS) MAX_IO_REQS, MAX(MO.IO_BYTES) MAX_IO_BYTES, MAX(MO.BUFFER_GETS) MAX_BUFFER_GETS, MAX(MO.ELAPSED_TIME) MAX_ELAPSED_TIME, SUM(DECODE(ASH0.ACTIVITY_TYPE, NULL, NULL, ASH0.ACTIVITY_COUNT)) ACTIVITY_COUNT, SUM(DECODE(ASH0.ACTIVITY_TYPE, NULL, NULL, ASH0.IMQ_COUNT)) IMQ_COUNT, SUM(DECODE(ASH0.ACTIVITY_TYPE, NULL, NULL, ASH0.WAIT_COUNT)) WAIT_COUNT, SUM(DECODE(ASH0.ACTIVITY_TYPE, NULL, NULL, ASH0.CPU_COUNT)) CPU_COUNT, SUM(DECODE(ASH0.ACTIVITY_TYPE, NULL, NULL, ASH0.OTHER_SQL_COUNT)) OTHER_SQL_COUNT, MIN(ASH0.ACTIVITY_START) ACTIVITY_START, MAX(ASH0.ACTIVITY_END) ACTIVITY_END, MAX(DECODE(MO.ELAPSED_TIME, 0, NULL, MO.ELAPSED_TIME)) ELAPSED_TIME, MAX(DECODE(MO.QUEUING_TIME, 0, NULL, MO.QUEUING_TIME)) QUEUING_TIME, MAX(DECODE(MO.CPU_TIME, 0, NULL, CPU_TIME)) CPU_TIME, MAX(DECODE(MO.FETCHES, 0, NULL, FETCHES)) FETCHES, MAX(DECODE(MO.BUFFER_GETS, 0, NULL, MO.BUFFER_GETS)) BUFFER_GETS, MAX(DECODE(MO.IO_INTER_BYTES, 0, NULL, MO.IO_INTER_BYTES)) IO_INTER_BYTES, MAX(DECODE(MO.READ_REQS, 0, NULL, MO.READ_REQS)) READ_REQS, MAX(DECODE(MO.READ_BYTES, 0, NULL, MO.READ_BYTES)) READ_BYTES, MAX(DECODE(MO.WRITE_REQS, 0, NULL, MO.WRITE_REQS)) WRITE_REQS, MAX(DECODE(MO.WRITE_BYTES, 0, NULL, MO.WRITE_BYTES)) WRITE_BYTES, MAX(DECODE(MO.IO_BYTES, 0, NULL, MO.IO_BYTES)) IO_BYTES, MAX(DECODE(MO.IO_UNC_BYTES, 0, NULL, MO.IO_UNC_BYTES)) IO_UNC_BYTES, MAX(DECODE(MO.IO_ELIG_BYTES, 0, NULL, MO.IO_ELIG_BYTES)) IO_ELIG_BYTES, MAX(DECODE(MO.IO_RET_BYTES, 0, NULL, MO.IO_RET_BYTES)) IO_RET_BYTES, MAX(DECODE(MO.APPLICATION_WAIT_TIME, 0, NULL, MO.APPLICATION_WAIT_TIME)) APPLICATION_WAIT_TIME, MAX(DECODE(MO.CONCURRENCY_WAIT_TIME, 0, NULL, MO.CONCURRENCY_WAIT_TIME)) CONCURRENCY_WAIT_TIME, MAX(DECODE(MO.CLUSTER_WAIT_TIME, 0, NULL, MO.CLUSTER_WAIT_TIME)) CLUSTER_WAIT_TIME, MAX(DECODE(MO.USER_IO_WAIT_TIME, 0, NULL, MO.USER_IO_WAIT_TIME)) USER_IO_WAIT_TIME, MAX(DECODE(PLSQL_EXEC_TIME, 0, NULL, PLSQL_EXEC_TIME)) PLSQL_EXEC_TIME, MAX(DECODE(MO.JAVA_EXEC_TIME, 0, NULL, MO.JAVA_EXEC_TIME)) JAVA_EXEC_TIME, MAX(DECODE(MO.OTHER_WAIT_TIME, 0, NULL, MO.OTHER_WAIT_TIME)) OTHER_WAIT_TIME FROM MONITOR_DATA MO, (SELECT ASH1.INST_ID, ASH1.SESSION_ID, ASH1.ACTIVITY_TYPE, ASH1.EVENT_NAME, SUM(ASH1.ACTIVITY_COUNT) ACTIVITY_COUNT, SUM(ASH1.IMQ_COUNT) IMQ_COUNT, SUM(ASH1.WAIT_COUNT) WAIT_COUNT, SUM(ASH1.CPU_COUNT) CPU_COUNT, SUM(ASH1.OTHER_SQL_COUNT)OTHER_SQL_COUNT, MIN(ASH1.ACTIVITY_START) ACTIVITY_START, MAX(ASH1.ACTIVITY_END) ACTIVITY_END FROM ASH_DATA ASH1 GROUP BY ASH1.INST_ID, ASH1.SESSION_ID, ASH1.ACTIVITY_TYPE, ASH1.EVENT_NAME) ASH0 WHERE MO.INST_ID = ASH0.INST_ID(+) AND MO.SID = ASH0.SESSION_ID(+) AND (:B70 = 1 OR :B69 = 1) GROUP BY MO.INST_ID, MO.KEY, MO.HAS_OTHER_XML, MO.PROCESS_NAME, MO.SID, MO.SESSION_SERIAL#, MO.PX_SERVER_GROUP, MO.PX_SERVER_SET, MO.PX_SERVER#, ASH0.ACTIVITY_TYPE, ASH0.EVENT_NAME) PI WHERE (:B70 = 1) GROUP BY PI.INST_ID, PI.KEY, PI.HAS_OTHER_XML, PI.SID, PI.PROCESS_NAME, PI.SESSION_SERIAL#, PI.PX_SERVER_GROUP, PI.PX_SERVER_SET, PI.PX_SERVER#) PX_SESSION) PX_SESSIONS, (SELECT XMLELEMENT( "instances", XMLATTRIBUTES( MAX(PX_INSTANCE.ACTIVITY_COUNT) AS "max_activity_count", MAX(PX_INSTANCE.IMQ_COUNT) AS "max_imq_count", MAX(PX_INSTANCE.CPU_COUNT) AS "max_cpu_count", MAX(PX_INSTANCE.WAIT_COUNT) AS "max_wait_count", MAX(PX_INSTANCE.OTHER_SQL_COUNT) AS "max_other_sql_count", MAX(PX_INSTANCE.ELAPSED_TIME) AS "max_elapsed_time", MAX(PX_INSTANCE.BUFFER_GETS) AS "max_buffer_gets", MAX(PX_INSTANCE.IO_REQS) AS "max_io_reqs", MAX(PX_INSTANCE.IO_BYTES) AS "max_io_bytes"), XMLAGG(PX_INSTANCE.PX_INSTANCES_XML ORDER BY INST_ID)) FROM (SELECT PI.INST_ID, MAX(PI.ELAPSED_TIME) ELAPSED_TIME, MAX(PI.IO_REQS) IO_REQS, MAX(PI.IO_BYTES) IO_BYTES, MAX(PI.BUFFER_GETS) BUFFER_GETS, SUM(PI.ACTIVITY_COUNT) ACTIVITY_COUNT, SUM(PI.IMQ_COUNT) IMQ_COUNT, SUM(PI.WAIT_COUNT) WAIT_COUNT, SUM(PI.CPU_COUNT) CPU_COUNT, SUM(PI.OTHER_SQL_COUNT) OTHER_SQL_COUNT, XMLELEMENT( "instance", XMLATTRIBUTES( INST_ID AS "inst_id"), XMLELEMENT( "stats", XMLATTRIBUTES( 'monitor' AS "type"), NVL2(MAX(ELAPSED_TIME), XMLELEMENT( "stat", XMLATTRIBUTES('elapsed_time' AS "name"), MAX(ELAPSED_TIME)), NULL), NVL2(MAX(QUEUING_TIME), XMLELEMENT( "stat", XMLATTRIBUTES('queuing_time' AS "name"), MAX(QUEUING_TIME)), NULL), NVL2(MAX(CPU_TIME), XMLELEMENT( "stat", XMLATTRIBUTES('cpu_time' AS "name"), MAX(CPU_TIME)), NULL), NVL2(MAX(USER_IO_WAIT_TIME), XMLELEMENT( "stat", XMLATTRIBUTES('user_io_wait_time' AS "name"), MAX(USER_IO_WAIT_TIME)), NULL), NVL2(MAX(APPLICATION_WAIT_TIME), XMLELEMENT( "stat", XMLATTRIBUTES('application_wait_time' AS "name"), MAX(APPLICATION_WAIT_TIME)), NULL), NVL2(MAX(CONCURRENCY_WAIT_TIME), XMLELEMENT( "stat", XMLATTRIBUTES('concurrency_wait_time' AS "name"), MAX(CONCURRENCY_WAIT_TIME)), NULL), NVL2(MAX(CLUSTER_WAIT_TIME), XMLELEMENT( "stat", XMLATTRIBUTES('cluster_wait_time' AS "name"), MAX(CLUSTER_WAIT_TIME)), NULL), NVL2(MAX(PLSQL_EXEC_TIME), XMLELEMENT( "stat", XMLATTRIBUTES('plsql_exec_time' AS "name"), MAX(PLSQL_EXEC_TIME)), NULL), NVL2(MAX(JAVA_EXEC_TIME), XMLELEMENT( "stat", XMLATTRIBUTES('java_exec_time' AS "name"), MAX(JAVA_EXEC_TIME)), NULL), NVL2(MAX(OTHER_WAIT_TIME), XMLELEMENT( "stat", XMLATTRIBUTES( 'other_wait_time' AS "name"), MAX(OTHER_WAIT_TIME)), NULL), NVL2(MAX(FETCHES), XMLELEMENT( "stat", XMLATTRIBUTES('user_fetch_count' AS "name"), MAX(FETCHES)), NULL), NVL2(MAX(BUFFER_GETS), XMLELEMENT( "stat", XMLATTRIBUTES('buffer_gets' AS "name"), MAX(BUFFER_GETS)), NULL), NVL2(MAX(READ_REQS), XMLELEMENT( "stat", XMLATTRIBUTES('disk_reads' AS "name"), MAX(READ_REQS)), NULL), NVL2(MAX(WRITE_REQS), XMLELEMENT( "stat", XMLATTRIBUTES('direct_writes' AS "name"), MAX(WRITE_REQS)), NULL), NVL2(MAX(READ_REQS), XMLELEMENT( "stat", XMLATTRIBUTES('read_reqs' AS "name"), MAX(READ_REQS)), NULL), NVL2(MAX(READ_BYTES), XMLELEMENT( "stat", XMLATTRIBUTES('read_bytes' AS "name"), MAX(READ_BYTES)), NULL), NVL2(MAX(WRITE_REQS), XMLELEMENT( "stat", XMLATTRIBUTES('write_reqs' AS "name"), MAX(WRITE_REQS)), NULL), NVL2(MAX(WRITE_BYTES), XMLELEMENT( "stat", XMLATTRIBUTES('write_bytes' AS "name"), MAX(WRITE_BYTES)), NULL), NVL2(MAX(IO_UNC_BYTES), XMLELEMENT( "stat", XMLATTRIBUTES('unc_bytes' AS "name"), MAX(IO_UNC_BYTES)), NULL), NVL2(MAX(IO_ELIG_BYTES), XMLELEMENT( "stat", XMLATTRIBUTES('elig_bytes' AS "name"), MAX(IO_ELIG_BYTES)), NULL), NVL2(MAX(IO_RET_BYTES), XMLELEMENT( "stat", XMLATTRIBUTES('ret_bytes' AS "name"), MAX(IO_RET_BYTES)), NULL), CASE WHEN MAX(IO_INTER_BYTES) IS NULL OR NVL(MAX(IO_BYTES), 0) = 0 OR MAX(IO_INTER_BYTES) = MAX(IO_BYTES) OR NVL(MAX(IO_ELIG_BYTES), 0) = 0 THEN NULL ELSE XMLELEMENT( "stat", XMLATTRIBUTES('cell_offload_efficiency' AS "name"), ROUND(MAX(IO_BYTES)/ DECODE(MAX(IO_INTER_BYTES), 0, 1, MAX(IO_INTER_BYTES)), 2)) END, CASE WHEN NVL(MAX(IO_ELIG_BYTES), 0) = 0 OR NVL(MAX(IO_BYTES), 0) = 0 OR MAX(IO_UNC_BYTES) = MAX(IO_RET_BYTES) THEN NULL ELSE XMLELEMENT( "stat", XMLATTRIBUTES('cell_offload_efficiency2' AS "name"), GREATEST(0, ROUND(100* (GREATEST( NVL(MAX(IO_UNC_BYTES), 0), NVL(MAX(IO_ELIG_BYTES), 0)) - MAX(IO_RET_BYTES)) / MAX(IO_ELIG_BYTES), 2))) END), CASE WHEN :B33 = 1 AND SUM(PI.ACTIVITY_COUNT) > 0 THEN XMLELEMENT( "activity_sampled", XMLATTRIBUTES( TO_CHAR(MIN(PI.ACTIVITY_START), :B12 ) AS "start_time", TO_CHAR(MAX(PI.ACTIVITY_END), :B12 ) AS "end_time", ROUND((MAX(PI.ACTIVITY_END) - MIN(PI.ACTIVITY_START)) * 3600 * 24) + 1 AS "duration", SUM(PI.ACTIVITY_COUNT) AS "count", SUM(PI.IMQ_COUNT) AS "imq_count", SUM(PI.WAIT_COUNT) AS "wait_count", SUM(PI.CPU_COUNT) AS "cpu_count", SUM(PI.OTHER_SQL_COUNT) AS "other_sql_count", :B40 AS "cpu_cores", :B39 AS "hyperthread"), XMLAGG( NVL2(ACTIVITY_TYPE, XMLELEMENT( "activity", XMLATTRIBUTES( PI.ACTIVITY_TYPE AS "class", PI.EVENT_NAME AS "event"), ACTIVITY_COUNT), NULL) ORDER BY PI.ACTIVITY_TYPE, PI.EVENT_NAME)) ELSE NULL END) PX_INSTANCES_XML FROM (SELECT MO.INST_ID, ASH.ACTIVITY_TYPE, ASH.EVENT_NAME, ASH.ACTIVITY_COUNT, ASH.IMQ_COUNT, ASH.WAIT_COUNT, ASH.CPU_COUNT, ASH.OTHER_SQL_COUNT, ASH.ACTIVITY_START, ASH.ACTIVITY_END, MO.ELAPSED_TIME, MO.QUEUING_TIME, MO.CPU_TIME, MO.APPLICATION_WAIT_TIME, MO.CONCURRENCY_WAIT_TIME, MO.CLUSTER_WAIT_TIME, MO.USER_IO_WAIT_TIME, MO.PLSQL_EXEC_TIME, MO.JAVA_EXEC_TIME, MO.OTHER_WAIT_TIME, MO.FETCHES, MO.BUFFER_GETS, MO.IO_INTER_BYTES, MO.IO_BYTES, MO.READ_REQS, MO.READ_BYTES, MO.WRITE_REQS, MO.WRITE_BYTES, MO.IO_REQS, MO.IO_UNC_BYTES, MO.IO_ELIG_BYTES, MO.IO_RET_BYTES FROM (SELECT MO0.INST_ID, SUM(MO0.ELAPSED_TIME) ELAPSED_TIME, SUM(MO0.QUEUING_TIME) QUEUING_TIME, SUM(MO0.CPU_TIME) CPU_TIME, SUM(MO0.FETCHES) FETCHES, SUM(MO0.BUFFER_GETS) BUFFER_GETS, SUM(MO0.IO_INTER_BYTES) IO_INTER_BYTES, SUM(MO0.IO_BYTES) IO_BYTES, SUM(MO0.READ_REQS) READ_REQS, SUM(MO0.READ_BYTES) READ_BYTES, SUM(MO0.WRITE_REQS) WRITE_REQS, SUM(MO0.WRITE_BYTES) WRITE_BYTES, SUM(MO0.IO_REQS) IO_REQS, SUM(MO0.IO_UNC_BYTES) IO_UNC_BYTES, SUM(MO0.IO_ELIG_BYTES) IO_ELIG_BYTES, SUM(MO0.IO_RET_BYTES) IO_RET_BYTES, SUM(MO0.APPLICATION_WAIT_TIME) APPLICATION_WAIT_TIME, SUM(MO0.CONCURRENCY_WAIT_TIME) CONCURRENCY_WAIT_TIME, SUM(MO0.CLUSTER_WAIT_TIME) CLUSTER_WAIT_TIME, SUM(MO0.USER_IO_WAIT_TIME) USER_IO_WAIT_TIME, SUM(MO0.PLSQL_EXEC_TIME) PLSQL_EXEC_TIME, SUM(MO0.JAVA_EXEC_TIME) JAVA_EXEC_TIME, SUM(MO0.OTHER_WAIT_TIME) OTHER_WAIT_TIME FROM MONITOR_DATA MO0 GROUP BY MO0.INST_ID) MO, (SELECT ASH0.INST_ID, ASH0.ACTIVITY_TYPE, ASH0.EVENT_NAME, SUM(ASH0.ACTIVITY_COUNT) ACTIVITY_COUNT, SUM(ASH0.IMQ_COUNT) IMQ_COUNT, SUM(ASH0.WAIT_COUNT) WAIT_COUNT, SUM(ASH0.CPU_COUNT) CPU_COUNT, SUM(ASH0.OTHER_SQL_COUNT) OTHER_SQL_COUNT, MIN(ASH0.ACTIVITY_START) ACTIVITY_START, MAX(ASH0.ACTIVITY_END) ACTIVITY_END FROM ASH_DATA ASH0 GROUP BY ASH0.INST_ID, ASH0.ACTIVITY_TYPE, ASH0.EVENT_NAME) ASH, MONITOR_AGG WHERE MO.INST_ID = ASH.INST_ID(+) AND MONITOR_AGG.DIST_INST_COUNT > 0 ) PI GROUP BY PI.INST_ID)PX_INSTANCE) PX_INSTANCES FROM MONITOR_AGG)) ELSE NULL END, XPLAN_XML, CASE WHEN :B43 = 1 THEN (SELECT XMLELEMENT( "plan_monitor", XMLATTRIBUTES(MAX(PLI.MAX_LINE_ACTIVITY_COUNT) AS "max_activity_count", MAX(PLI.OVERALL_MAX_IO_REQS) AS "max_io_reqs", MAX(PLI.OVERALL_MAX_IO_BYTES) AS "max_io_bytes", MAX(PLI.MAX_LINE_IMQ_COUNT) AS "max_imq_count", MAX(PLI.MAX_LINE_CPU_COUNT) AS "max_cpu_count", MAX(PLI.MAX_LINE_WAIT_COUNT) AS "max_wait_count", MAX(PLI.MAX_LINE_OTHER_SQL_COUNT) AS "max_other_sql_count"), XMLAGG( XMLELEMENT( "operation", XMLATTRIBUTES( PLI.PLAN_LINE_ID AS "id", PLI.PARENT_ID AS "parent_id", PLI.OPERATION AS "name", PLI.OPTIONS AS "options", PLI.DEPTH AS "depth", PLI.POSITION AS "position", PLI.INACTIVE AS "skp", PLI.PX_TYPE AS "px_type"), NVL2(PLI.OBJECT_NAME, XMLELEMENT( "object", XMLATTRIBUTES(PLI.OBJECT_TYPE AS "type"), XMLFOREST(PLI.OBJECT_OWNER AS "owner"), XMLFOREST(PLI.OBJECT_NAME AS "name")), NULL), XMLFOREST(PLI.PARTITION_START AS "partition_start", PLI.PARTITION_STOP AS "partition_stop"), CASE WHEN PLI.CARDINALITY IS NULL AND PLI.BYTES IS NULL AND PLI.COST IS NULL AND PLI.TEMP_SPACE IS NULL AND PLI.TIME IS NULL THEN NULL ELSE XMLELEMENT( "optimizer", NULL, NVL2(PLI.CARDINALITY, XMLFOREST(PLI.CARDINALITY AS "cardinality"), NULL), NVL2(PLI.BYTES, XMLFOREST(PLI.BYTES AS "bytes"), NULL), NVL2(PLI.COST, XMLFOREST(PLI.COST AS "cost"), NULL), NVL2(PLI.CPU_COST, XMLFOREST(PLI.CPU_COST AS "cpu_cost"), NULL), NVL2(PLI.IO_COST, XMLFOREST(PLI.IO_COST AS "io_cost"), NULL), NVL2(PLI.TEMP_SPACE, XMLFOREST(PLI.TEMP_SPACE AS "temp"), NULL), NVL2(PLI.TIME, XMLFOREST(PLI.TIME AS "time"), NULL)) END, XMLELEMENT( "stats", XMLATTRIBUTES('plan_monitor' AS "type"), NVL2(PLI.FIRST_MOVE_TIME, XMLELEMENT( "stat", XMLATTRIBUTES('first_active' AS "name"), TO_CHAR(FIRST_MOVE_TIME, :B12 )), NULL), CASE WHEN PLI.FIRST_MOVE_TIME != PLI.FIRST_CHANGE_TIME THEN XMLELEMENT( "stat", XMLATTRIBUTES('first_row' AS "name"), TO_CHAR(FIRST_CHANGE_TIME, :B12 )) ELSE NULL END, NVL2(PLI.LAST_MOVE_TIME, XMLELEMENT( "stat", XMLATTRIBUTES('last_active' AS "name"), TO_CHAR(LAST_MOVE_TIME, :B12 )), NULL), CASE WHEN (PLI.FIRST_MOVE_TIME IS NULL OR PLI.LAST_MOVE_TIME IS NULL) THEN NULL ELSE XMLELEMENT( "stat", XMLATTRIBUTES('duration' AS "name"), ROUND((LAST_MOVE_TIME - FIRST_MOVE_TIME) * 3600 * 24)+1) END, CASE WHEN (PLI.OVERALL_LAST_MOVE_TIME IS NULL OR PLI.LAST_MOVE_TIME IS NULL) THEN NULL ELSE XMLELEMENT( "stat", XMLATTRIBUTES('from_most_recent' AS "name"), ROUND((PLI.OVERALL_LAST_MOVE_TIME - PLI.LAST_MOVE_TIME) * 3600 * 24)) END, NVL2(PLI.LAST_MOVE_TIME, XMLELEMENT( "stat", XMLATTRIBUTES( 'from_sql_exec_start' AS "name"), ROUND( (FIRST_MOVE_TIME - :B8 ) * 3600*24)), NULL), NVL2(PLI.PERCENT_COMPLETE, XMLELEMENT( "stat", XMLATTRIBUTES('percent_complete' AS "name"), PLI.PERCENT_COMPLETE), NULL), NVL2(PLI.TIME_REMAINING, XMLELEMENT( "stat", XMLATTRIBUTES('time_left' AS "name"), PLI.TIME_REMAINING), NULL), CASE WHEN PLI.HAS_EXECUTED = 1 THEN XMLELEMENT( "stat", XMLATTRIBUTES('starts' AS "name"), PLI.STARTS) ELSE NULL END, CASE WHEN PLI.DOP > 0 AND PLI.HAS_EXECUTED = 1 THEN XMLELEMENT( "stat", XMLATTRIBUTES( 'max_starts' AS "name", DECODE(:B68 , 'Y', MOD(TRUNC(MAX_STARTS/1000000), 10000), NULL) AS "iid", MOD(MAX_STARTS, 1000000) AS "sid"), TRUNC(PLI.MAX_STARTS/10000000000)) ELSE NULL END, CASE WHEN PLI.DOP > 0 AND PLI.HAS_EXECUTED = 1 THEN XMLELEMENT( "stat", XMLATTRIBUTES('dop' AS "name"), PLI.DOP) ELSE NULL END, CASE WHEN NEED_ROWS IS NOT NULL AND PLI.FIRST_MOVE_TIME IS NOT NULL THEN XMLELEMENT( "stat", XMLATTRIBUTES('cardinality' AS "name"), PLI.OUTPUT_ROWS) ELSE NULL END, CASE WHEN PLI.NEED_ROWS IS NOT NULL AND PLI.DOP > 0 AND PLI.MAX_OUTPUT_ROWS IS NOT NULL AND (PLI.FIRST_MOVE_TIME IS NOT NULL) THEN XMLELEMENT( "stat", XMLATTRIBUTES( 'max_card' AS "name", DECODE(:B68 , 'Y', MOD(TRUNC(MAX_OUTPUT_ROWS/1000000), 10000), NULL) AS "iid", MOD(MAX_OUTPUT_ROWS, 1000000) AS "sid"), TRUNC(PLI.MAX_OUTPUT_ROWS/10000000000)) ELSE NULL END, CASE WHEN PLI.MEM > 0 THEN XMLELEMENT( "stat", XMLATTRIBUTES('memory' AS "name"), PLI.MEM) ELSE NULL END, CASE WHEN PLI.MAX_MEM > 0 THEN XMLELEMENT( "stat", XMLATTRIBUTES('max_memory' AS "name"), PLI.MAX_MEM) ELSE NULL END, CASE WHEN PLI.DOP > 0 AND PLI.MIN_MAX_MEM IS NOT NULL AND PLI.MAX_MEM > 0 THEN XMLELEMENT( "stat", XMLATTRIBUTES( 'min_max_mem' AS "name", DECODE(:B68 , 'Y', MOD(TRUNC(MIN_MAX_MEM/1000000), 10000), NULL) AS "iid", MOD(MIN_MAX_MEM, 1000000) AS "sid"), TRUNC(PLI.MIN_MAX_MEM/10000000000)) ELSE NULL END, CASE WHEN PLI.TEMP > 0 THEN XMLELEMENT( "stat", XMLATTRIBUTES('temp' AS "name"), PLI.TEMP) ELSE NULL END, CASE WHEN PLI.MAX_TEMP > 0 THEN XMLELEMENT( "stat", XMLATTRIBUTES('max_temp' AS "name"), PLI.MAX_TEMP) ELSE NULL END, CASE WHEN PLI.MAX_TEMP > 0 THEN XMLELEMENT( "stat", XMLATTRIBUTES('spill_count' AS "name"), PLI.SPILL_COUNT) ELSE NULL END, CASE WHEN PLI.DOP > 0 AND PLI.MAX_MAX_TEMP IS NOT NULL AND PLI.MAX_TEMP > 0 THEN XMLELEMENT( "stat", XMLATTRIBUTES( 'max_max_temp' AS "name", DECODE(:B68 , 'Y', MOD(TRUNC(MAX_MAX_TEMP/1000000), 10000), NULL) AS "iid", MOD(MAX_MAX_TEMP, 1000000) AS "sid"), TRUNC(PLI.MAX_MAX_TEMP/10000000000)) ELSE NULL END, CASE WHEN PLI.READ_REQS > 0 THEN XMLELEMENT( "stat", XMLATTRIBUTES('read_reqs' AS "name"), PLI.READ_REQS) ELSE NULL END, CASE WHEN PLI.DOP > 0 AND PLI.MAX_READ_REQS IS NOT NULL AND PLI.READ_REQS > 0 THEN XMLELEMENT( "stat", XMLATTRIBUTES( 'max_read_reqs' AS "name", DECODE(:B68 , 'Y', MOD(TRUNC(PLI.MAX_READ_REQS/1000000), 10000), NULL) AS "iid", MOD(PLI.MAX_READ_REQS, 1000000) AS "sid"), TRUNC(PLI.MAX_READ_REQS/10000000000)) ELSE NULL END, CASE WHEN PLI.READ_BYTES > 0 THEN XMLELEMENT( "stat", XMLATTRIBUTES('read_bytes' AS "name"), PLI.READ_BYTES) ELSE NULL END, CASE WHEN PLI.DOP > 0 AND PLI.MAX_READ_BYTES IS NOT NULL AND PLI.READ_BYTES > 0 THEN XMLELEMENT( "stat", XMLATTRIBUTES( 'max_read_bytes' AS "name", DECODE(:B68 , 'Y', MOD(TRUNC(PLI.MAX_READ_BYTES/1000000), 10000), NULL) AS "iid", MOD(PLI.MAX_READ_BYTES, 1000000) AS "sid"), TRUNC(PLI.MAX_READ_BYTES/10000000000)) ELSE NULL END, CASE WHEN PLI.WRITE_REQS > 0 THEN XMLELEMENT( "stat", XMLATTRIBUTES('write_reqs' AS "name"), PLI.WRITE_REQS) ELSE NULL END, CASE WHEN PLI.DOP > 0 AND PLI.MAX_WRITE_REQS IS NOT NULL AND PLI.WRITE_REQS > 0 THEN XMLELEMENT( "stat", XMLATTRIBUTES( 'max_write_reqs' AS "name", DECODE(:B68 , 'Y', MOD(TRUNC(PLI.MAX_WRITE_REQS/1000000), 10000), NULL) AS "iid", MOD(PLI.MAX_WRITE_REQS, 1000000) AS "sid"), TRUNC(PLI.MAX_WRITE_REQS/10000000000)) ELSE NULL END, CASE WHEN PLI.WRITE_BYTES > 0 THEN XMLELEMENT( "stat", XMLATTRIBUTES('write_bytes' AS "name"), PLI.WRITE_BYTES) ELSE NULL END, CASE WHEN PLI.DOP > 0 AND PLI.MAX_WRITE_BYTES IS NOT NULL AND PLI.WRITE_BYTES > 0 THEN XMLELEMENT( "stat", XMLATTRIBUTES( 'max_write_bytes' AS "name", DECODE(:B68 , 'Y', MOD(TRUNC(PLI.MAX_WRITE_BYTES/1000000), 10000), NULL) AS "iid", MOD(PLI.MAX_WRITE_BYTES, 1000000) AS "sid"), TRUNC(PLI.MAX_WRITE_BYTES/10000000000)) ELSE NULL END, CASE WHEN PLI.IO_INTER_BYTES IS NOT NULL AND PLI.IO_BYTES > 0 AND PLI.IO_BYTES != PLI.IO_INTER_BYTES THEN XMLELEMENT( "stat", XMLATTRIBUTES('io_inter_bytes' AS "name"), PLI.IO_INTER_BYTES) ELSE NULL END, CASE WHEN PLI.DOP > 0 AND PLI.MAX_IO_INTER_BYTES IS NOT NULL AND PLI.IO_BYTES > 0 AND PLI.IO_BYTES != PLI.IO_INTER_BYTES THEN XMLELEMENT( "stat", XMLATTRIBUTES( 'max_io_inter_bytes' AS "name", DECODE(:B68 , 'Y', MOD(TRUNC(MAX_IO_INTER_BYTES/1000000), 10000), NULL) AS "iid", MOD(MAX_IO_INTER_BYTES,1000000) AS "sid"), TRUNC(PLI.MAX_IO_INTER_BYTES/10000000000)) ELSE NULL END, CASE WHEN PLI.IO_INTER_BYTES IS NOT NULL AND PLI.IO_BYTES > 0 AND PLI.IO_BYTES != PLI.IO_INTER_BYTES THEN XMLELEMENT( "stat", XMLATTRIBUTES('cell_offload_efficiency' AS "name"), ROUND(PLI.IO_BYTES / DECODE(PLI.IO_INTER_BYTES, 0, 1, PLI.IO_INTER_BYTES), 2)) ELSE NULL END), NVL2(STAT_GID, XMLELEMENT( "rwsstats", XMLATTRIBUTES( PLI.STAT_GID AS "group_id"), DECODE(GID_ROWNUM, 1, (SELECT XMLELEMENT( "metadata", NULL, XMLAGG( XMLELEMENT( "stat", XMLATTRIBUTES( ROWNUM AS "id", NAME AS "name", DESCRIPTION AS "desc", TYPE AS "type", DECODE(FLAGS, 0, NULL, FLAGS) AS "flags"), NULL) ORDER BY ID)) FROM V$SQL_MONITOR_STATNAME WHERE GROUP_ID = PLI.STAT_GID), NULL), NVL2(STAT1_VALUE, XMLELEMENT( "stat", XMLATTRIBUTES(1 AS "id"), STAT1_VALUE), NULL), NVL2(STAT2_VALUE, XMLELEMENT( "stat", XMLATTRIBUTES(2 AS "id"), STAT2_VALUE), NULL), NVL2(STAT3_VALUE, XMLELEMENT( "stat", XMLATTRIBUTES(3 AS "id"), STAT3_VALUE), NULL), NVL2(STAT4_VALUE, XMLELEMENT( "stat", XMLATTRIBUTES(4 AS "id"), STAT4_VALUE), NULL), NVL2(STAT5_VALUE, XMLELEMENT( "stat", XMLATTRIBUTES(5 AS "id"), STAT5_VALUE), NULL), NVL2(STAT6_VALUE, XMLELEMENT( "stat", XMLATTRIBUTES(6 AS "id"), STAT6_VALUE), NULL), NVL2(STAT7_VALUE, XMLELEMENT( "stat", XMLATTRIBUTES(7 AS "id"), STAT7_VALUE), NULL), NVL2(STAT8_VALUE, XMLELEMENT( "stat", XMLATTRIBUTES(8 AS "id"), STAT8_VALUE), NULL), NVL2(STAT9_VALUE, XMLELEMENT( "stat", XMLATTRIBUTES(9 AS "id"), STAT9_VALUE), NULL), NVL2(STAT10_VALUE, XMLELEMENT( "stat", XMLATTRIBUTES(10 AS "id"), STAT10_VALUE), NULL)), NULL), CASE WHEN PLI.LINE_ACTIVITY_COUNT > 0 AND :B33 = 1 THEN XMLELEMENT( "activity_sampled", XMLATTRIBUTES( TO_CHAR(PLI.LINE_ACTIVITY_START, :B12 ) AS "start_time", TO_CHAR(PLI.LINE_ACTIVITY_END, :B12 ) AS "end_time", ROUND((PLI.LINE_ACTIVITY_END - PLI.LINE_ACTIVITY_START) * 3600*24) + 1 AS "duration", PLI.LINE_ACTIVITY_COUNT AS "count", PLI.LINE_IMQ_COUNT AS "imq_count", PLI.LINE_WAIT_COUNT AS "wait_count", PLI.LINE_CPU_COUNT AS "cpu_count", PLI.LINE_OTHER_SQL_COUNT AS "other_sql_count", :B40 AS "cpu_cores", :B39 AS "hyperthread"), PLI.ACTIVITY_TOTAL, PLI.PLAN_ACTIVITY_HISTO) ELSE NULL END) ORDER BY PLI.PLAN_LINE_ID) ) FROM (SELECT AT.MAX_LINE_ACTIVITY_COUNT, PM.OVERALL_MAX_IO_REQS, PM.OVERALL_MAX_IO_BYTES, AT.MAX_LINE_IMQ_COUNT, AT.MAX_LINE_CPU_COUNT, AT.MAX_LINE_WAIT_COUNT, AT.LINE_OTHER_SQL_COUNT, AT.MAX_LINE_OTHER_SQL_COUNT, PM.PLAN_LINE_ID, PM.PARENT_ID, PM.OPERATION, PM.OPTIONS, PM.DEPTH, PM.POSITION, PM.INACTIVE, CASE WHEN PM.OPERATION = 'PX COORDINATOR' AND :B23 = 'Y' AND (PM.PX_SERVER_SET IS NOT NULL OR AH.PX_SERVER_SET IS NOT NULL) THEN 'QC' WHEN PM.PX_SERVER_SET IS NOT NULL THEN TO_CHAR(PM.PX_SERVER_SET) WHEN AH.PX_SERVER_SET IS NOT NULL THEN TO_CHAR(AH.PX_SERVER_SET) WHEN (:B23 = 'N' OR (PM.LAST_CHANGE_TIME IS NULL AND AT.LINE_ACTIVITY_END IS NULL)) THEN NULL ELSE 'QC' END PX_TYPE, PM.FIRST_CHANGE_TIME, AT.LINE_ACTIVITY_START, PM.LAST_CHANGE_TIME, PM.OVERALL_LAST_CHANGE_TIME, AT.LINE_ACTIVITY_END, AT.OVERALL_LINE_ACTIVITY_END, LEAST(NVL(AT.LINE_ACTIVITY_START, PM.FIRST_CHANGE_TIME), NVL(PM.FIRST_CHANGE_TIME, AT.LINE_ACTIVITY_START)) FIRST_MOVE_TIME, GREATEST(NVL(AT.LINE_ACTIVITY_END, PM.LAST_CHANGE_TIME), NVL(PM.LAST_CHANGE_TIME, AT.LINE_ACTIVITY_END)) LAST_MOVE_TIME, GREATEST(NVL(AT.OVERALL_LINE_ACTIVITY_END, PM.OVERALL_LAST_CHANGE_TIME), NVL(PM.OVERALL_LAST_CHANGE_TIME, AT.OVERALL_LINE_ACTIVITY_END)) OVERALL_LAST_MOVE_TIME, CASE WHEN PM.STARTS IS NOT NULL AND PM.STARTS > 0 THEN 1 ELSE 0 END HAS_EXECUTED, PM.OBJECT_NAME, PM.OBJECT_TYPE, PM.OBJECT_OWNER, PM.PARTITION_START, PM.PARTITION_STOP, PM.CARDINALITY, PM.BYTES, PM.COST, PM.TEMP_SPACE, PM.TIME, PM.CPU_COST, PM.IO_COST, LO.PERCENT_COMPLETE, LO.TIME_REMAINING, PM.STARTS, PM.DOP, PM.MAX_STARTS, PM.OUTPUT_ROWS, PM.NEED_ROWS, PM.MAX_OUTPUT_ROWS, PM.MEM, PM.MAX_MEM, PM.MIN_MAX_MEM, PM.TEMP, PM.MAX_TEMP, PM.SPILL_COUNT, PM.MAX_MAX_TEMP, PM.READ_REQS, PM.MAX_READ_REQS, PM.READ_BYTES, PM.MAX_READ_BYTES, PM.WRITE_REQS, PM.MAX_WRITE_REQS, PM.WRITE_BYTES, PM.MAX_WRITE_BYTES, PM.IO_INTER_BYTES, PM.IO_BYTES, PM.MAX_IO_INTER_BYTES, AT.LINE_ACTIVITY_COUNT, AT.LINE_IMQ_COUNT, AT.LINE_WAIT_COUNT, AT.LINE_CPU_COUNT, AT.ACTIVITY_TOTAL, AH.PLAN_ACTIVITY_HISTO, PM.STAT_GID, PM.GID_ROWNUM, PM.STAT1_VALUE, PM.STAT2_VALUE, PM.STAT3_VALUE, PM.STAT4_VALUE, PM.STAT5_VALUE, PM.STAT6_VALUE, PM.STAT7_VALUE, PM.STAT8_VALUE, PM.STAT9_VALUE, PM.STAT10_VALUE FROM (SELECT AT0.*, MAX(LINE_ACTIVITY_END) OVER() OVERALL_LINE_ACTIVITY_END, MAX(LINE_ACTIVITY_COUNT) OVER() MAX_LINE_ACTIVITY_COUNT, MAX(LINE_IMQ_COUNT) OVER() MAX_LINE_IMQ_COUNT, MAX(LINE_CPU_COUNT) OVER() MAX_LINE_CPU_COUNT, MAX(LINE_WAIT_COUNT) OVER() MAX_LINE_WAIT_COUNT, MAX(LINE_OTHER_SQL_COUNT) OVER() MAX_LINE_OTHER_SQL_COUNT FROM (SELECT AD1.PLAN_LINE_ID, MIN(AD1.LINE_ACTIVITY_START) LINE_ACTIVITY_START, MAX(AD1.LINE_ACTIVITY_END) LINE_ACTIVITY_END, SUM(AD1.ACTIVITY_COUNT) LINE_ACTIVITY_COUNT, SUM(AD1.IMQ_COUNT) LINE_IMQ_COUNT, SUM(AD1.WAIT_COUNT) LINE_WAIT_COUNT, SUM(AD1.OTHER_SQL_COUNT) LINE_OTHER_SQL_COUNT, SUM(AD1.CPU_COUNT) LINE_CPU_COUNT, SUBSTR(MAX(LPAD(AD1.ACTIVITY_COUNT,10)|| AD1.ACTIVITY_TYPE), 11) MOST_ACTIVE, XMLAGG(XMLELEMENT( "activity", XMLATTRIBUTES( AD1.ACTIVITY_TYPE AS "class", AD1.EVENT_NAME AS "event"), AD1.ACTIVITY_COUNT) ORDER BY AD1.ACTIVITY_TYPE, AD1.EVENT_NAME) ACTIVITY_TOTAL FROM (SELECT AD0.PLAN_LINE_ID, AD0.ACTIVITY_TYPE, AD0.EVENT_NAME, MIN(AD0.ACTIVITY_START) LINE_ACTIVITY_START, MAX(AD0.ACTIVITY_END) LINE_ACTIVITY_END, SUM(AD0.ACTIVITY_COUNT) ACTIVITY_COUNT, SUM(AD0.IMQ_COUNT) IMQ_COUNT, SUM(AD0.WAIT_COUNT) WAIT_COUNT, SUM(AD0.CPU_COUNT) CPU_COUNT, SUM(AD0.OTHER_SQL_COUNT) OTHER_SQL_COUNT, MAX(AD0.DFO_MOST_ACTIVE_IID) DFO_MOST_ACTIVE_IID, MAX(AD0.DFO_MOST_ACTIVE_SID) DFO_MOST_ACTIVE_SID, SUM(AD0.DFO_MOST_ACTIVE_COUNT) DFO_MOST_ACTIVE_COUNT FROM ASH_DATA AD0 WHERE AD0.PLAN_LINE_ID IS NOT NULL GROUP BY AD0.PLAN_LINE_ID, AD0.ACTIVITY_TYPE, AD0.EVENT_NAME) AD1 GROUP BY AD1.PLAN_LINE_ID) AT0) AT, (SELECT AD2.PLAN_LINE_ID, MIN(AD2.PX_SERVER_SET) PX_SERVER_SET, MIN(AD2.LINE_ACTIVITY_START) LINE_ACTIVITY_START, MAX(AD2.LINE_ACTIVITY_END) LINE_ACTIVITY_END, SUM(AD2.ACTIVITY_COUNT) ACTIVITY_COUNT, SUM(AD2.IMQ_COUNT) IMQ_COUNT, SUM(AD2.WAIT_COUNT) WAIT_COUNT, SUM(AD2.CPU_COUNT) CPU_COUNT, SUM(AD2.OTHER_SQL_COUNT) OTHER_SQL_COUNT, CASE WHEN :B29 = 1 AND SUM(AD2.ACTIVITY_COUNT) > 0 THEN XMLELEMENT( "activity_histogram", XMLATTRIBUTES( :B26 AS "bucket_interval", :B27 AS "bucket_count", TO_CHAR( :B20 , :B12 ) AS "start_time", TO_CHAR(:B22 , :B12 ) AS "end_time", ROUND((:B22 -:B20 ) *3600*24) + 1 AS "duration"), XMLAGG(XMLELEMENT( "bucket", XMLATTRIBUTES( AD2.BUCKET_NUM AS "number"), AD2.ACTIVITY_BUCKET) ORDER BY AD2.BUCKET_NUM)) ELSE NULL END PLAN_ACTIVITY_HISTO FROM (SELECT AD1.PLAN_LINE_ID, AD1.BUCKET_NUM, MIN(AD1.PX_SERVER_SET) PX_SERVER_SET, MIN(AD1.LINE_ACTIVITY_START) LINE_ACTIVITY_START, MAX(AD1.LINE_ACTIVITY_END) LINE_ACTIVITY_END, MIN(AD1.BUCKET_ACTIVITY_START) BUCKET_ACTIVITY_START, MAX(AD1.BUCKET_ACTIVITY_END) BUCKET_ACTIVITY_END, SUM(AD1.ACTIVITY_COUNT) ACTIVITY_COUNT, SUM(AD1.IMQ_COUNT) IMQ_COUNT, SUM(AD1.WAIT_COUNT) WAIT_COUNT, SUM(AD1.CPU_COUNT) CPU_COUNT, SUM(AD1.OTHER_SQL_COUNT) OTHER_SQL_COUNT, SUBSTR(MAX(LPAD(AD1.ACTIVITY_COUNT,10)|| AD1.ACTIVITY_TYPE), 11) MOST_ACTIVE, XMLAGG(NVL2(AD1.ACTIVITY_TYPE, XMLELEMENT( "activity", XMLATTRIBUTES( AD1.ACTIVITY_TYPE AS "class", AD1.EVENT_NAME AS "event"), AD1.ACTIVITY_COUNT), NULL) ORDER BY AD1.ACTIVITY_TYPE, AD1.EVENT_NAME) ACTIVITY_BUCKET FROM (SELECT AD0.PLAN_LINE_ID, AD0.PLAN_ACTIVITY_BUCKET_NUM BUCKET_NUM, AD0.ACTIVITY_TYPE, AD0.EVENT_NAME, MIN(NVL2(AD0.ACTIVITY_START, AD0.PX_SERVER_SET, NULL)) PX_SERVER_SET, MIN(AD0.ACTIVITY_START) LINE_ACTIVITY_START, MAX(AD0.ACTIVITY_END) LINE_ACTIVITY_END, MIN(AD0.BUCKET_ACTIVITY_START) BUCKET_ACTIVITY_START, MAX(AD0.BUCKET_ACTIVITY_END) BUCKET_ACTIVITY_END, SUM(AD0.IMQ_COUNT) IMQ_COUNT, SUM(AD0.CPU_COUNT) CPU_COUNT, SUM(AD0.WAIT_COUNT) WAIT_COUNT, SUM(AD0.OTHER_SQL_COUNT) OTHER_SQL_COUNT, SUM(AD0.ACTIVITY_COUNT) ACTIVITY_COUNT FROM ASH_DATA AD0 GROUP BY AD0.PLAN_LINE_ID, AD0.PLAN_ACTIVITY_BUCKET_NUM, AD0.ACTIVITY_TYPE, AD0.EVENT_NAME) AD1 GROUP BY AD1.PLAN_LINE_ID, AD1.BUCKET_NUM) AD2 GROUP BY AD2.PLAN_LINE_ID) AH, (SELECT LO.SQL_PLAN_LINE_ID PLAN_LINE_ID, DECODE(SUM(LO.TOTALWORK), 0, NULL, ROUND(SUM(LO.SOFAR)*100/SUM(LO.TOTALWORK))) PERCENT_COMPLETE, MAX(LO.TIME_REMAINING) TIME_REMAINING FROM GV$SESSION_LONGOPS LO, MONITOR_DATA MO WHERE (:B49 = 'Y' OR :B71 = 'DONE (ERROR)') AND LO.SQL_ID = :B9 AND LO.SQL_EXEC_START = :B8 AND LO.SQL_EXEC_ID = :B7 AND LO.INST_ID = MO.INST_ID AND LO.SID = MO.SID GROUP BY LO.SQL_PLAN_LINE_ID) LO, (SELECT PM0.*, CASE WHEN PM0.STARTS IS NULL OR PM0.STARTS = 0 OR PM0.OUTPUT_ROWS IS NULL THEN NULL ELSE 1 END NEED_ROWS, ROW_NUMBER() OVER(PARTITION BY PM0.STAT_GID ORDER BY PM0.PLAN_LINE_ID ) GID_ROWNUM, MAX(LAST_CHANGE_TIME) OVER() OVERALL_LAST_CHANGE_TIME, MAX(MAX_IO_REQS) OVER() OVERALL_MAX_IO_REQS, MAX(MAX_IO_BYTES) OVER() OVERALL_MAX_IO_BYTES FROM (SELECT /*+ leading(mo) use_hash(plm) */ PLM.PLAN_LINE_ID PLAN_LINE_ID, PLM.PLAN_OPERATION OPERATION, PLM.PLAN_OPTIONS OPTIONS, MAX(PLM.PLAN_PARENT_ID) PARENT_ID, MAX(PLM.PLAN_DEPTH) DEPTH, MAX(PLM.PLAN_POSITION) POSITION, MAX(PLM.PLAN_OPERATION_INACTIVE) INACTIVE, MAX(PLM.PLAN_OBJECT_OWNER) OBJECT_OWNER, MAX(PLM.PLAN_OBJECT_NAME) OBJECT_NAME, MAX(PLM.PLAN_OBJECT_TYPE) OBJECT_TYPE, MAX(PLM.PLAN_COST) COST, MAX(PLM.PLAN_CARDINALITY) CARDINALITY, MAX(PLM.PLAN_BYTES) BYTES, MAX(PLM.PLAN_CPU_COST) CPU_COST, MAX(PLM.PLAN_IO_COST) IO_COST, MAX(PLM.PLAN_TEMP_SPACE) TEMP_SPACE, MAX(PLM.PLAN_TIME) TIME, MAX(PLM.PLAN_PARTITION_START) PARTITION_START, MAX(PLM.PLAN_PARTITION_STOP) PARTITION_STOP, MIN(PLM.FIRST_CHANGE_TIME) FIRST_CHANGE_TIME, MAX(PLM.LAST_CHANGE_TIME) LAST_CHANGE_TIME, MIN(PLM.LAST_CHANGE_TIME) MIN_LAST_CHANGE_TIME, MIN(NVL2(PLM.FIRST_CHANGE_TIME, MO.PX_SERVER_SET, NULL)) PX_SERVER_SET, COUNT(CASE WHEN PLM.PAR IS NOT NULL AND PLM.STARTS IS NOT NULL AND PLM.STARTS > 0 AND PLM.PLAN_LINE_ID != 0 AND PLM.PLAN_OPERATION != 'PX COORDINATOR' THEN 1 ELSE NULL END) DOP, SUM(PLM.STARTS) STARTS, MAX(NVL2(PAR, PLM.STARTS * 10000000000 + PLM.ES, NULL)) MAX_STARTS, SUM(PLM.OUTPUT_ROWS) OUTPUT_ROWS, MAX(NVL2(PAR, PLM.OUTPUT_ROWS * 10000000000 +PLM.ES, NULL)) MAX_OUTPUT_ROWS, SUM(PLM.WORKAREA_MEM) MEM, SUM(PLM.WORKAREA_MAX_MEM) MAX_MEM, MIN(NVL2(PAR, PLM.WORKAREA_MAX_MEM * 10000000000 + PLM.ES, NULL)) MIN_MAX_MEM, SUM(PLM.WORKAREA_TEMPSEG) TEMP, SUM(PLM.WORKAREA_MAX_TEMPSEG) MAX_TEMP, MAX(NVL2(PAR, PLM.WORKAREA_MAX_TEMPSEG * 10000000000 + PLM.ES, NULL)) MAX_MAX_TEMP, COUNT(PLM.WORKAREA_MAX_TEMPSEG) SPILL_COUNT, SUM(PLM.PHYSICAL_READ_REQUESTS) READ_REQS, MAX(NVL2(PAR, PLM.PHYSICAL_READ_REQUESTS * 10000000000 + PLM.ES, NULL)) MAX_READ_REQS, SUM(PLM.PHYSICAL_READ_BYTES) READ_BYTES, MAX(NVL2(PAR, PLM.PHYSICAL_READ_BYTES * 10000000000 + PLM.ES, NULL)) MAX_READ_BYTES, SUM(PLM.PHYSICAL_WRITE_REQUESTS) WRITE_REQS, MAX(NVL2(PAR, PLM.PHYSICAL_WRITE_REQUESTS * 10000000000 + PLM.ES, NULL)) MAX_WRITE_REQS, SUM(PLM.PHYSICAL_WRITE_BYTES) WRITE_BYTES, MAX(NVL2(PAR, PLM.PHYSICAL_WRITE_BYTES * 10000000000 + PLM.ES, NULL)) MAX_WRITE_BYTES, NVL(SUM(PLM.PHYSICAL_READ_BYTES), 0) + NVL(SUM(PLM.PHYSICAL_WRITE_BYTES), 0) IO_BYTES, SUM(NVL(PLM.PHYSICAL_READ_REQUESTS, 0) + NVL(PLM.PHYSICAL_WRITE_REQUESTS, 0)) MAX_IO_REQS, SUM(NVL(PLM.PHYSICAL_READ_BYTES, 0) + NVL(PLM.PHYSICAL_WRITE_BYTES, 0)) MAX_IO_BYTES, SUM(PLM.IO_INTERCONNECT_BYTES) IO_INTER_BYTES, MAX(NVL2(PAR, PLM.IO_INTERCONNECT_BYTES * 10000000000 + PLM.ES, NULL)) MAX_IO_INTER_BYTES, MAX(OTHERSTAT_GROUP_ID) STAT_GID, NVL(DECODE(MAX(OTHERSTAT_1_TYPE), 3, MAX(OTHERSTAT_1_VALUE), 4, MAX(OTHERSTAT_1_VALUE), 6, MIN(OTHERSTAT_1_VALUE), 7, MIN(OTHERSTAT_1_VALUE), NULL), SUM(DECODE(OTHERSTAT_1_TYPE, 1, OTHERSTAT_1_VALUE, 2, OTHERSTAT_1_VALUE, NULL))) STAT1_VALUE, NVL(MOD((DECODE(MAX(OTHERSTAT_2_TYPE), 3, MAX(OTHERSTAT_2_VALUE), 5, DECODE(MAX(OTHERSTAT_1_TYPE), 4, MAX(RMAX1 + OTHERSTAT_2_VALUE), 7, MIN(RMAX1 + OTHERSTAT_2_VALUE), NULL), 6, MIN(OTHERSTAT_2_VALUE), NULL)), 10000000000000000), SUM(DECODE(OTHERSTAT_2_TYPE, 1, OTHERSTAT_2_VALUE, 2, OTHERSTAT_2_VALUE, NULL))) STAT2_VALUE, NVL(MOD((DECODE(MAX(OTHERSTAT_3_TYPE), 3, MAX(OTHERSTAT_3_VALUE), 5, DECODE(MAX(OTHERSTAT_1_TYPE), 4, MAX(RMAX1 + OTHERSTAT_3_VALUE), 7, MIN(RMAX1 + OTHERSTAT_3_VALUE), NULL), 6, MIN(OTHERSTAT_3_VALUE), NULL)), 10000000000000000), SUM(DECODE(OTHERSTAT_3_TYPE, 1, OTHERSTAT_3_VALUE, 2, OTHERSTAT_3_VALUE, NULL))) STAT3_VALUE, NVL(MOD((DECODE(MAX(OTHERSTAT_4_TYPE), 3, MAX(OTHERSTAT_4_VALUE), 5, DECODE(MAX(OTHERSTAT_1_TYPE), 4, MAX(RMAX1 + OTHERSTAT_4_VALUE), 7, MIN(RMAX1 + OTHERSTAT_4_VALUE), NULL), 6, MIN(OTHERSTAT_4_VALUE), NULL)), 10000000000000000), SUM(DECODE(OTHERSTAT_4_TYPE, 1, OTHERSTAT_4_VALUE, 2, OTHERSTAT_4_VALUE, NULL))) STAT4_VALUE, NVL(MOD((DECODE(MAX(OTHERSTAT_5_TYPE), 3, MAX(OTHERSTAT_5_VALUE), 5, DECODE(MAX(OTHERSTAT_1_TYPE), 4, MAX(RMAX1 + OTHERSTAT_5_VALUE), 7, MIN(RMAX1 + OTHERSTAT_5_VALUE), NULL), 6, MIN(OTHERSTAT_5_VALUE), NULL)), 10000000000000000), SUM(DECODE(OTHERSTAT_5_TYPE, 1, OTHERSTAT_5_VALUE, 2, OTHERSTAT_5_VALUE, NULL))) STAT5_VALUE, NVL(MOD((DECODE(MAX(OTHERSTAT_6_TYPE), 3, MAX(OTHERSTAT_6_VALUE), 5, DECODE(MAX(OTHERSTAT_1_TYPE), 4, MAX(RMAX1 + OTHERSTAT_6_VALUE), 7, MIN(RMAX1 + OTHERSTAT_6_VALUE), NULL), 6, MIN(OTHERSTAT_6_VALUE), NULL)), 10000000000000000), SUM(DECODE(OTHERSTAT_6_TYPE, 1, OTHERSTAT_6_VALUE, 2, OTHERSTAT_6_VALUE, NULL))) STAT6_VALUE, NVL(MOD((DECODE(MAX(OTHERSTAT_7_TYPE), 3, MAX(OTHERSTAT_7_VALUE), 5, DECODE(MAX(OTHERSTAT_1_TYPE), 4, MAX(RMAX1 + OTHERSTAT_7_VALUE), 7, MIN(RMAX1 + OTHERSTAT_7_VALUE), NULL), 6, MIN(OTHERSTAT_7_VALUE), NULL)), 10000000000000000), SUM(DECODE(OTHERSTAT_7_TYPE, 1, OTHERSTAT_7_VALUE, 2, OTHERSTAT_7_VALUE, NULL))) STAT7_VALUE, NVL(MOD((DECODE(MAX(OTHERSTAT_8_TYPE), 3, MAX(OTHERSTAT_8_VALUE), 5, DECODE(MAX(OTHERSTAT_1_TYPE), 4, MAX(RMAX1 + OTHERSTAT_8_VALUE), 7, MIN(RMAX1 + OTHERSTAT_8_VALUE), NULL), 6, MIN(OTHERSTAT_8_VALUE), NULL)), 10000000000000000), SUM(DECODE(OTHERSTAT_8_TYPE, 1, OTHERSTAT_8_VALUE, 2, OTHERSTAT_8_VALUE, NULL))) STAT8_VALUE, NVL(MOD((DECODE(MAX(OTHERSTAT_9_TYPE), 3, MAX(OTHERSTAT_9_VALUE), 5, DECODE(MAX(OTHERSTAT_1_TYPE), 4, MAX(RMAX1 + OTHERSTAT_9_VALUE), 7, MIN(RMAX1 + OTHERSTAT_9_VALUE), NULL), 6, MIN(OTHERSTAT_9_VALUE), NULL)), 10000000000000000), SUM(DECODE(OTHERSTAT_9_TYPE, 1, OTHERSTAT_9_VALUE, 2, OTHERSTAT_9_VALUE, NULL))) STAT9_VALUE, NVL(MOD((DECODE(MAX(OTHERSTAT_10_TYPE), 3, MAX(OTHERSTAT_10_VALUE), 5, DECODE(MAX(OTHERSTAT_1_TYPE), 4, MAX(RMAX1 + OTHERSTAT_10_VALUE), 7, MIN(RMAX1 + OTHERSTAT_10_VALUE), NULL), 6, MIN(OTHERSTAT_10_VALUE), NULL)), 10000000000000000), SUM(DECODE(OTHERSTAT_10_TYPE, 1, OTHERSTAT_10_VALUE, 2, OTHERSTAT_10_VALUE, NULL))) STAT10_VALUE FROM (SELECT A.*, OTHERSTAT_1_VALUE * 10000000000000000 RMAX1, A.INST_ID * 1000000 + A.SID ES, DECODE(A.PROCESS_NAME, 'ora', NULL, 1) PAR FROM GV$ALL_SQL_PLAN_MONITOR A) PLM, MONITOR_DATA MO WHERE PLM.SQL_ID = :B9 AND PLM.SQL_EXEC_START = :B8 AND PLM.SQL_EXEC_ID = :B7 AND PLM.INST_ID = MO.INST_ID AND PLM.INST_ID BETWEEN :B11 AND :B10 AND PLM.KEY = MO.KEY GROUP BY PLM.PLAN_LINE_ID, PLM.PLAN_OPERATION, PLM.PLAN_OPTIONS) PM0) PM WHERE AH.PLAN_LINE_ID(+) = PM.PLAN_LINE_ID AND AT.PLAN_LINE_ID(+) = PM.PLAN_LINE_ID AND LO.PLAN_LINE_ID(+) = PM.PLAN_LINE_ID AND (:B21 IS NULL OR PM.PLAN_LINE_ID = :B21 )) PLI) ELSE NULL END, CASE WHEN :B42 = 1 THEN DBMS_SQLTUNE.BUILD_STASH_XML( SESSION_ID=>:B19 , SESSION_SERIAL=>:B18 , SESSION_INST_ID=>:B17 , PX_MODE=>'yes', START_TIME=>:B20 , END_TIME=>:B22 , MISSING_SECONDS=> :B41 , INSTANCE_LOW_FILTER=>:B11 , INSTANCE_HIGH_FILTER=>:B10 , BUCKET_MAX_COUNT=>NULL, BUCKET_INTERVAL=>:B26 , REPORT_LEVEL=>'typical', CPU_CORES=>:B40 , IS_HYPER=>:B39 ) ELSE NULL END), (CASE WHEN :B38 = 1 THEN (SELECT XMLELEMENT( "skewed_sessions", XMLATTRIBUTES( DECODE(MIN(INST_ID), NULL, :B17 , MIN(INST_ID)) AS "min_iid", DECODE(MAX(INST_ID), NULL, :B17 , MAX(INST_ID)) AS "max_iid"), XMLAGG( XMLELEMENT( "s", XMLATTRIBUTES( INST_ID AS "i"), SESSION_ID) ORDER BY INST_ID, SESSION_ID)) FROM (SELECT SESS.* FROM (SELECT DECODE(AD.DFO_MOST_ACTIVE_IID, :B17 , NULL, AD.DFO_MOST_ACTIVE_IID) INST_ID, AD.DFO_MOST_ACTIVE_SID SESSION_ID FROM ASH_DATA AD WHERE AD.DFO_MOST_ACTIVE_COUNT IS NOT NULL GROUP BY AD.DFO_MOST_ACTIVE_IID, AD.DFO_MOST_ACTIVE_SID ORDER BY MAX(AD.DFO_MOST_ACTIVE_COUNT) DESC) SESS WHERE ROWNUM <= 100)) ELSE NULL END), (CASE WHEN :B37 = 1 THEN (SELECT XMLELEMENT( "report_repository_summary", CASE WHEN MA.MAX_DBOP_NAME IS NOT NULL THEN XMLELEMENT( "dbop", XMLATTRIBUTES('F' AS "detail", MA.MAX_DBOP_NAME AS "dbop_name", TO_CHAR(MA.MIN_FIRST_REFRESH_TIME, :B12 ) AS "dbop_exec_start", MA.MAX_DBOP_EXEC_ID AS "dbop_exec_id"), XMLFOREST( MA.MAX_STATUS AS "status", TO_CHAR(NVL(MA.MAX_SQL_EXEC_START, MA.MIN_FIRST_REFRESH_TIME), :B12 )AS "first_refresh_time", TO_CHAR(MA.MAX_LAST_REFRESH_TIME, :B12 )AS "last_refresh_time", MA.SUM_REFRESH_COUNT AS "refresh_count", MA.MAX_INST_ID AS "inst_id", MA.MAX_SESSION_ID AS "session_id", MA.MAX_SESSION_SERIAL AS "session_serial", MA.MAX_USERID AS "user_id", MA.MAX_USERNAME AS "user", MA.MAX_CON_ID AS "con_id", MA.MAX_CON_NAME AS "con_name", MA.MAX_MODULE AS "module", MA.MAX_ACTION AS "action", MA.MAX_SERVICE_NAME AS "service", MA.MAX_CLIENT_ID AS "client_id", MA.MAX_CLIENT_INFO AS "client_info", MA.MAX_PROGRAM AS "program", MA.MAX_PL_ENTRY_OID AS "plsql_entry_object_id", MA.MAX_PL_ENTRY_PROGID AS "plsql_entry_subprogram_id", MA.MAX_PL_OID AS "plsql_object_id", MA.MAX_PL_PROGID AS "plsql_subprogram_id", MA.MAX_PX_IS_CROSS_INSTANCE AS "is_cross_instance", MA.MAX_PX_DOP AS "dop", MA.MAX_PX_DOP_INSTANCES AS "instances"), CASE WHEN MA.MAX_ERROR_NUMBER IS NULL THEN NULL ELSE XMLELEMENT( "error", XMLATTRIBUTES(MA.MAX_ERROR_NUMBER AS "number", MA.MAX_ERROR_FACILITY AS "facility"), MA.MAX_ERROR_MESSAGE) END, XMLELEMENT( "stats", XMLATTRIBUTES('monitor' AS "type"), XMLELEMENT( "stat", XMLATTRIBUTES('duration' AS "name"), GREATEST(ROUND((MA.MAX_LAST_REFRESH_TIME- NVL(MA.MAX_SQL_EXEC_START, MA.MIN_FIRST_REFRESH_TIME))*86400), LEAST(MA.SUM_ELAPSED_TIME/1000000, 1), CEIL(MA.MAX_QUEUING_TIME/1000000))), DECODE(MA.SUM_ELAPSED_TIME, 0, NULL, XMLELEMENT( "stat", XMLATTRIBUTES('elapsed_time' AS "name"), MA.SUM_ELAPSED_TIME)), DECODE(MA.MAX_QUEUING_TIME, 0, NULL, XMLELEMENT( "stat", XMLATTRIBUTES('queuing_time' AS "name"), MA.MAX_QUEUING_TIME)), DECODE(MA.SUM_CPU_TIME, 0, NULL, XMLELEMENT( "stat", XMLATTRIBUTES('cpu_time' AS "name"), MA.SUM_CPU_TIME)), DECODE(MA.SUM_USER_IO_WAIT_TIME, 0, NULL, XMLELEMENT( "stat", XMLATTRIBUTES('user_io_wait_time' AS "name"), MA.SUM_USER_IO_WAIT_TIME)), DECODE(MA.SUM_APPLICATION_WAIT_TIME, 0, NULL, XMLELEMENT( "stat", XMLATTRIBUTES('application_wait_time' AS "name"), MA.SUM_APPLICATION_WAIT_TIME)), DECODE(MA.SUM_CONCURRENCY_WAIT_TIME, 0, NULL, XMLELEMENT( "stat", XMLATTRIBUTES('concurrency_wait_time' AS "name"), MA.SUM_CONCURRENCY_WAIT_TIME)), DECODE(MA.SUM_CLUSTER_WAIT_TIME, 0, NULL, XMLELEMENT( "stat", XMLATTRIBUTES('cluster_wait_time' AS "name"), MA.SUM_CLUSTER_WAIT_TIME)), DECODE(MA.SUM_PLSQL_EXEC_TIME, 0, NULL, XMLELEMENT( "stat", XMLATTRIBUTES('plsql_exec_time' AS "name"), MA.SUM_PLSQL_EXEC_TIME)), DECODE(MA.SUM_JAVA_EXEC_TIME, 0, NULL, XMLELEMENT( "stat", XMLATTRIBUTES('java_exec_time' AS "name"), MA.SUM_JAVA_EXEC_TIME)), DECODE(MA.SUM_OTHER_WAIT_TIME, 0, NULL, XMLELEMENT( "stat", XMLATTRIBUTES('other_wait_time' AS "name"), MA.SUM_OTHER_WAIT_TIME)), DECODE(MA.SUM_FETCHES, 0, NULL, XMLELEMENT( "stat", XMLATTRIBUTES('user_fetch_count' AS "name"), MA.SUM_FETCHES)), DECODE(MA.SUM_BUFFER_GETS, 0, NULL, XMLELEMENT( "stat", XMLATTRIBUTES('buffer_gets' AS "name"), MA.SUM_BUFFER_GETS)), DECODE(MA.SUM_READ_REQS, 0, NULL, XMLELEMENT( "stat", XMLATTRIBUTES('read_reqs' AS "name"), MA.SUM_READ_REQS)), DECODE(MA.SUM_READ_BYTES, 0, NULL, XMLELEMENT( "stat", XMLATTRIBUTES('read_bytes' AS "name"), MA.SUM_READ_BYTES)), DECODE(MA.SUM_WRITE_REQS, 0, NULL, XMLELEMENT( "stat", XMLATTRIBUTES('write_reqs' AS "name"), MA.SUM_WRITE_REQS)), DECODE(MA.SUM_WRITE_BYTES, 0, NULL, XMLELEMENT( "stat", XMLATTRIBUTES('write_bytes' AS "name"), MA.SUM_WRITE_BYTES)), CASE WHEN MA.SUM_IO_INTER_BYTES IS NULL OR MA.SUM_IO_INTER_BYTES = MA.SUM_IO_BYTES OR MA.SUM_IO_BYTES = 0 OR NVL(MA.SUM_IO_ELIG_BYTES, 0) = 0 THEN NULL ELSE XMLELEMENT( "stat", XMLATTRIBUTES('cell_offload_efficiency' AS "name"), ROUND(MA.SUM_IO_BYTES / DECODE(MA.SUM_IO_INTER_BYTES, 0, 1, MA.SUM_IO_INTER_BYTES), 2)) END, CASE WHEN NVL(MA.SUM_IO_ELIG_BYTES, 0) = 0 OR MA.SUM_IO_BYTES = 0 OR MA.SUM_IO_UNC_BYTES = MA.SUM_IO_RET_BYTES THEN NULL ELSE XMLELEMENT( "stat", XMLATTRIBUTES('cell_offload_efficiency2' AS "name"), GREATEST(0, ROUND(100 * (GREATEST(MA.SUM_IO_UNC_BYTES, MA.SUM_IO_ELIG_BYTES) - MA.SUM_IO_RET_BYTES) / MA.SUM_IO_ELIG_BYTES, 2))) END) ) ELSE XMLELEMENT( "sql", XMLATTRIBUTES( MA.MAX_SQL_ID AS "sql_id", TO_CHAR(MA.MAX_SQL_EXEC_START, :B12 ) AS "sql_exec_start", MA.MAX_SQL_EXEC_ID AS "sql_exec_id"), XMLFOREST(MA.MAX_STATUS AS "status", SUBSTR(MA.SQLMON_TEXT, 1, 100) AS "sql_text", TO_CHAR(MA.MIN_FIRST_REFRESH_TIME, :B12 ) AS "first_refresh_time", TO_CHAR(MA.MAX_LAST_REFRESH_TIME, :B12 ) AS "last_refresh_time", MA.SUM_REFRESH_COUNT AS "refresh_count", MA.MAX_INST_ID AS "inst_id", MA.MAX_SESSION_ID AS "session_id", MA.MAX_SESSION_SERIAL AS "session_serial", MA.MAX_USERID AS "user_id", MA.MAX_USERNAME AS "user", MA.MAX_CON_ID AS "con_id", MA.MAX_CON_NAME AS "con_name", MA.MAX_MODULE AS "module", MA.MAX_ACTION AS "action", MA.MAX_SERVICE_NAME AS "service", MA.MAX_CLIENT_ID AS "client_id", MA.MAX_CLIENT_INFO AS "client_info", MA.MAX_PROGRAM AS "program", MA.MAX_PLAN_HASH_VALUE AS "plan_hash", MA.MAX_PL_ENTRY_OID AS "plsql_entry_object_id", MA.MAX_PL_ENTRY_PROGID AS "plsql_entry_subprogram_id", MA.MAX_PL_OID AS "plsql_object_id", MA.MAX_PL_PROGID AS "plsql_subprogram_id", MA.MAX_PX_IS_CROSS_INSTANCE AS "is_cross_instance", MA.MAX_PX_DOP AS "dop", MA.MAX_PX_DOP_INSTANCES AS "instances", MA.SUM_SERVERS_REQUESTED AS "px_servers_requested", MA.SUM_SERVERS_ALLOCATED AS "px_servers_allocated"), XMLELEMENT( "stats", XMLATTRIBUTES('monitor' AS "type"), XMLELEMENT( "stat", XMLATTRIBUTES('duration' AS "name"), GREATEST(ROUND((MA.MAX_LAST_REFRESH_TIME- MA.MAX_SQL_EXEC_START) * 86400), LEAST(MA.SUM_ELAPSED_TIME/1000000, 1), CEIL(MA.MAX_QUEUING_TIME/1000000))), DECODE(MA.SUM_ELAPSED_TIME, 0, NULL, XMLELEMENT( "stat", XMLATTRIBUTES('elapsed_time' AS "name"), MA.SUM_ELAPSED_TIME)), DECODE(MA.MAX_QUEUING_TIME, 0, NULL, XMLELEMENT( "stat", XMLATTRIBUTES('queuing_time' AS "name"), MA.MAX_QUEUING_TIME)), DECODE(MA.SUM_CPU_TIME, 0, NULL, XMLELEMENT( "stat", XMLATTRIBUTES('cpu_time' AS "name"), MA.SUM_CPU_TIME)), DECODE(MA.SUM_USER_IO_WAIT_TIME, 0, NULL, XMLELEMENT( "stat", XMLATTRIBUTES('user_io_wait_time' AS "name"), MA.SUM_USER_IO_WAIT_TIME)), DECODE(MA.SUM_APPLICATION_WAIT_TIME, 0, NULL, XMLELEMENT( "stat", XMLATTRIBUTES('application_wait_time' AS "name"), MA.SUM_APPLICATION_WAIT_TIME)), DECODE(MA.SUM_CONCURRENCY_WAIT_TIME, 0, NULL, XMLELEMENT( "stat", XMLATTRIBUTES('concurrency_wait_time' AS "name"), MA.SUM_CONCURRENCY_WAIT_TIME)), DECODE(MA.SUM_CLUSTER_WAIT_TIME, 0, NULL, XMLELEMENT( "stat", XMLATTRIBUTES('cluster_wait_time' AS "name"), MA.SUM_CLUSTER_WAIT_TIME)), DECODE(MA.SUM_PLSQL_EXEC_TIME, 0, NULL, XMLELEMENT( "stat", XMLATTRIBUTES('plsql_exec_time' AS "name"), MA.SUM_PLSQL_EXEC_TIME)), DECODE(MA.SUM_JAVA_EXEC_TIME, 0, NULL, XMLELEMENT( "stat", XMLATTRIBUTES('java_exec_time' AS "name"), MA.SUM_JAVA_EXEC_TIME)), DECODE(MA.SUM_OTHER_WAIT_TIME, 0, NULL, XMLELEMENT( "stat", XMLATTRIBUTES('other_wait_time' AS "name"), MA.SUM_OTHER_WAIT_TIME)), DECODE(MA.SUM_FETCHES, 0, NULL, XMLELEMENT( "stat", XMLATTRIBUTES('user_fetch_count' AS "name"), MA.SUM_FETCHES)), DECODE(MA.SUM_BUFFER_GETS, 0, NULL, XMLELEMENT( "stat", XMLATTRIBUTES('buffer_gets' AS "name"), MA.SUM_BUFFER_GETS)), DECODE(MA.SUM_READ_REQS, 0, NULL, XMLELEMENT( "stat", XMLATTRIBUTES('read_reqs' AS "name"), MA.SUM_READ_REQS)), DECODE(MA.SUM_READ_BYTES, 0, NULL, XMLELEMENT( "stat", XMLATTRIBUTES('read_bytes' AS "name"), MA.SUM_READ_BYTES)), DECODE(MA.SUM_WRITE_REQS, 0, NULL, XMLELEMENT( "stat", XMLATTRIBUTES('write_reqs' AS "name"), MA.SUM_WRITE_REQS)), DECODE(MA.SUM_WRITE_BYTES, 0, NULL, XMLELEMENT( "stat", XMLATTRIBUTES('write_bytes' AS "name"), MA.SUM_WRITE_BYTES)), DECODE(MA.SUM_IO_UNC_BYTES, 0, NULL, XMLELEMENT( "stat", XMLATTRIBUTES('unc_bytes' AS "name"), MA.SUM_IO_UNC_BYTES)), DECODE(MA.SUM_IO_ELIG_BYTES, 0, NULL, XMLELEMENT( "stat", XMLATTRIBUTES('elig_bytes' AS "name"), MA.SUM_IO_ELIG_BYTES)), DECODE(MA.SUM_IO_RET_BYTES, 0, NULL, XMLELEMENT( "stat", XMLATTRIBUTES('ret_bytes' AS "name"), MA.SUM_IO_RET_BYTES)), CASE WHEN MA.SUM_IO_INTER_BYTES IS NULL OR MA.SUM_IO_INTER_BYTES = MA.SUM_IO_BYTES OR MA.SUM_IO_BYTES = 0 OR NVL(MA.SUM_IO_ELIG_BYTES, 0) = 0 THEN NULL ELSE XMLELEMENT( "stat", XMLATTRIBUTES('cell_offload_efficiency' AS "name"), ROUND(MA.SUM_IO_BYTES / DECODE(MA.SUM_IO_INTER_BYTES, 0, 1, MA.SUM_IO_INTER_BYTES), 2)) END, CASE WHEN NVL(MA.SUM_IO_ELIG_BYTES, 0) = 0 OR MA.SUM_IO_BYTES = 0 OR MA.SUM_IO_UNC_BYTES = MA.SUM_IO_RET_BYTES THEN NULL ELSE XMLELEMENT( "stat", XMLATTRIBUTES('cell_offload_efficiency2' AS "name"), GREATEST(0, ROUND(100 * (GREATEST(MA.SUM_IO_UNC_BYTES, MA.SUM_IO_ELIG_BYTES) - MA.SUM_IO_RET_BYTES) / MA.SUM_IO_ELIG_BYTES, 2))) END) ) END) FROM MONITOR_AGG MA) ELSE NULL END) FROM (SELECT CASE WHEN V1.XPLAN_XML IS NULL OR V1.XPLAN_XML.EXISTSNODE('/error') > 0 THEN NULL ELSE V1.XPLAN_XML END XPLAN_XML FROM (SELECT CASE WHEN :B36 = 1 THEN DBMS_XPLAN.BUILD_PLAN_XML( TABLE_NAME=>'gv$all_sql_plan', PLAN_TAG=>'plan', FILTER_PREDS=>:B35 , FORMAT=>'-PROJECTION +ALIAS +ADAPTIVE') ELSE NULL END XPLAN_XML FROM DUAL) V1) CONST_VIEW
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. This plan was skipped because either the database is not fully open or the SQL statement is ineligible for SQL Plan Management.
--------------------------------------------------------------------------------------------- Object ID : 13979 Test Plan Name : SQL_PLAN_7pgx5q0bj6wjc4f7050dc Base Plan Name : Cost-based plan SQL Handle : SQL_7abfa5b01713722c Parsing Schema : SYS Test Plan Creator : SYS SQL Text : select job_name, state , 'LOAD' from all_scheduler_jobs where state in ('SUCCEEDED','SCHEDULED','FAILED') and lower(job_action) like '%load_plans_from_%' and owner='SYS' union select job_name, state , 'EVOLVE' from all_scheduler_jobs where state in ('SUCCEEDED','SCHEDULED','FAILED') and job_name like '%EVOLVE%' and owner='SYS' union select job_name, status , 'EVOLVE' from all_scheduler_job_log where status in ('SUCCEEDED','SCHEDULED','FAILED') and job_name like '%EVOLVE%' and owner='SYS' union select job_name, state , 'MIGRATE_STORED_OUTLINE' from all_scheduler_jobs where state in ('SUCCEEDED','SCHEDULED','FAILED') and job_name like '%MIGRATE%' and owner='SYS'
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. This plan was skipped because either the database is not fully open or the SQL statement is ineligible for SQL Plan Management.
--------------------------------------------------------------------------------------------- Object ID : 13980 Test Plan Name : SQL_PLAN_fv9dtd73yf709331e7f19 Base Plan Name : Cost-based plan SQL Handle : SQL_eda5b969c7e71c09 Parsing Schema : APPS Test Plan Creator : SYS SQL Text : SELECT /* ORDERED INDEX(t1) USE_HASH(t1) */ 'r' || t4.elementrange_id pg_featurevalue_15_id, 'B' || t2.pg_featurevalue_01_id pg_featurevalue_01_id, 'r' || t5.elementrange_id price_eur_id, 'B' || t2.productgroup_id productgroup_id, 'G' || t6.elementgroup_id period_id, SUM(t 1.pd_sales_units*t1.pd_projection_factor*t1.pd_price_units_ eur) salesvalueeur FROM lu_item_293 t2, lu_pg_featurevalue_15 t3, lu_elementrange_rel t4, fact_pd_out_itm_293 t1, lu_elementgroup_rel t6, lu_elementrange_rel t5 WHERE /* Attribute Joins */ ((t1.item_id = t2.item_id /* Customizing Begin */ AND t1.productgroup_id = t2.productgroup_id) /* Customizing End */ AND (t2.pg_featurevalue_15_id = t3.pg_featurevalue_15_id) AND (t3.pg_featurevalue_15_num BETWEEN t4.lbound AND t4.ubound) AND (t1.pd_price_units_eur BETWEEN t5.lbound AND t5.ubound) AND (t1.period_id = t6.value_id) ) /* Attribute Filters */ AND ((t2.productgroup_id = 15520) AND (t1.productgroup_id = 15520) /* Push Down Filters */ AND (t2.pg_featurevalue_01_id IN (103,104,107,110,113,134,148,1 67,171,186,192,216,2259,236,241,2477,24958,27445,297,3891,7 1,76,89,92,95)) AND (t4.elementrange_id IN (3091,3092,3093,3107)) AND (t5.elementrange_id IN (8658,8659,8660,8661,8662,8663,8664,8665,8666,8667)) AND (t6.elementgroup_id = 14659) AND (t1.period_id IN (20030699 999060,20030799999030,20030799999060,20030799999120)) /* Resolved ElementGroup Filters */ ) /* Fact Filters */ AND (t1.project_type_id = '1' ) GROUP BY t4.elementrange_id, t2.pg_featurevalue_01_id, t5.elementrange_id, t2.productgroup_id, t6.elementgroup_id
Execution Statistics: ----------------------------- Base Plan Test Plan ---------------------------- ---------------------------- Elapsed Time (s): .069962 .020686 CPU Time (s): .069584 .020551 Buffer Gets: 19833 88 Optimizer Cost: 347 779 Disk Reads: 0 0 Direct Writes: 0 0 Rows Processed: 29 16 Executions: 4 7
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (2): ----------------------------- 1. The plan was verified in 2.46900 seconds. It passed the benefit criterion because its verified performance was 125.09715 times better than that of the baseline plan. 2. The plan was automatically accepted.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 13980, task_owner => 'SYS');
EXPLAIN PLANS SECTION ---------------------------------------------------------------------------------------------
Baseline Plan ----------------------------- Plan Id : 13715 Plan Hash Value : 546558701
---------------------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost | Time | ---------------------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 138 | 8004 | 347 | 00:00:01 | | 1 | HASH GROUP BY | | 138 | 8004 | 347 | 00:00:01 | | 2 | MERGE JOIN | | 138 | 8004 | 346 | 00:00:01 | | 3 | SORT JOIN | | 104 | 4472 | 343 | 00:00:01 | | 4 | NESTED LOOPS | | 104 | 4472 | 342 | 00:00:01 | | 5 | NESTED LOOPS | | 104 | 4472 | 342 | 00:00:01 | | 6 | VIEW | VW_GBC_16 | 104 | 2808 | 134 | 00:00:01 | | 7 | HASH GROUP BY | | 104 | 8320 | 134 | 00:00:01 | | 8 | MERGE JOIN | | 104 | 8320 | 133 | 00:00:01 | | 9 | SORT JOIN | | 10 | 650 | 129 | 00:00:01 | | 10 | NESTED LOOPS | | 10 | 650 | 128 | 00:00:01 | | 11 | NESTED LOOPS | | 10 | 650 | 128 | 00:00:01 | | 12 | MERGE JOIN CARTESIAN | | 28 | 868 | 15 | 00:00:01 | | * 13 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTGROUP_REL | 1 | 11 | 11 | 00:00:01 | | 14 | BUFFER SORT | | 3084 | 61680 | 4 | 00:00:01 | | * 15 | TABLE ACCESS INMEMORY FULL | LU_ITEM_293 | 3084 | 61680 | 4 | 00:00:01 | | 16 | BITMAP CONVERSION TO ROWIDS | | | | | | | 17 | BITMAP AND | | | | | | | * 18 | BITMAP INDEX SINGLE VALUE | FACT_274_PER_IDX | | | | | | * 19 | BITMAP INDEX SINGLE VALUE | FACT_274_ITEM_IDX | | | | | | * 20 | TABLE ACCESS BY INDEX ROWID | FACT_PD_OUT_ITM_293 | 1 | 34 | 128 | 00:00:01 | | * 21 | FILTER | | | | | | | * 22 | SORT JOIN | | 10 | 150 | 4 | 00:00:01 | | * 23 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTRANGE_REL | 10 | 150 | 3 | 00:00:01 | | * 24 | INDEX RANGE SCAN | ADM_PG_FEATUREVALUE_IDX2 | 1 | | 1 | 00:00:01 | | * 25 | TABLE ACCESS BY INDEX ROWID | ADM_PG_FEATUREVALUE | 1 | 16 | 2 | 00:00:01 | | * 26 | FILTER | | | | | | | * 27 | SORT JOIN | | 4 | 60 | 4 | 00:00:01 | | * 28 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTRANGE_REL | 4 | 60 | 3 | 00:00:01 | ----------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 13 - access("T6"."ELEMENTGROUP_ID"=14659 AND ("T6"."VALUE_ID"=20030699999060 OR "T6"."VALUE_ID"=20030799999030 OR "T6"."VALUE_ID"=20030799999060 OR "T6"."VALUE_ID"=20030799999120)) * 13 - filter("T6"."ELEMENTGROUP_ID"=14659 AND ("T6"."VALUE_ID"=20030699999060 OR "T6"."VALUE_ID"=20030799999030 OR "T6"."VALUE_ID"=20030799999060 OR "T6"."VALUE_ID"=20030799999120)) * 15 - access(("T2"."PG_FEATUREVALUE_01_ID"=71 OR "T2"."PG_FEATUREVALUE_01_ID"=76 OR "T2"."PG_FEATUREVALUE_01_ID"=89 OR "T2"."PG_FEATUREVALUE_01_ID"=92 OR "T2"."PG_FEATUREVALUE_01_ID"=95 OR "T2"."PG_FEATUREVALUE_01_ID"=103 OR "T2"."PG_FEATUREVALUE_01_ID"=104 OR "T2"."PG_FEATUREVALUE_01_ID"=107 OR "T2"."PG_FEATUREVALUE_01_ID"=110 OR "T2"."PG_FEATUREVALUE_01_ID"=113 OR "T2"."PG_FEATUREVALUE_01_ID"=134 OR "T2"."PG_FEATUREVALUE_01_ID"=148 OR "T2"."PG_FEATUREVALUE_01_ID"=167 OR "T2"."PG_FEATUREVALUE_01_ID"=171 OR "T2"."PG_FEATUREVALUE_01_ID"=186 OR "T2"."PG_FEATUREVALUE_01_ID"=192 OR "T2"."PG_FEATUREVALUE_01_ID"=216 OR "T2"."PG_FEATUREVALUE_01_ID"=236 OR "T2"."PG_FEATUREVALUE_01_ID"=241 OR "T2"."PG_FEATUREVALUE_01_ID"=297 OR "T2"."PG_FEATUREVALUE_01_ID"=2259 OR "T2"."PG_FEATUREVALUE_01_ID"=2477 OR "T2"."PG_FEATUREVALUE_01_ID"=3891 OR "T2"."PG_FEATUREVALUE_01_ID"=24958 OR "T2"."PG_FEATUREVALUE_01_ID"=27445) AND "T2"."PRODUCTGROUP_ID"=15520) * 15 - filter(("T2"."PG_FEATUREVALUE_01_ID"=71 OR "T2"."PG_FEATUREVALUE_01_ID"=76 OR "T2"."PG_FEATUREVALUE_01_ID"=89 OR "T2"."PG_FEATUREVALUE_01_ID"=92 OR "T2"."PG_FEATUREVALUE_01_ID"=95 OR "T2"."PG_FEATUREVALUE_01_ID"=103 OR "T2"."PG_FEATUREVALUE_01_ID"=104 OR "T2"."PG_FEATUREVALUE_01_ID"=107 OR "T2"."PG_FEATUREVALUE_01_ID"=110 OR "T2"."PG_FEATUREVALUE_01_ID"=113 OR "T2"."PG_FEATUREVALUE_01_ID"=134 OR "T2"."PG_FEATUREVALUE_01_ID"=148 OR "T2"."PG_FEATUREVALUE_01_ID"=167 OR "T2"."PG_FEATUREVALUE_01_ID"=171 OR "T2"."PG_FEATUREVALUE_01_ID"=186 OR "T2"."PG_FEATUREVALUE_01_ID"=192 OR "T2"."PG_FEATUREVALUE_01_ID"=216 OR "T2"."PG_FEATUREVALUE_01_ID"=236 OR "T2"."PG_FEATUREVALUE_01_ID"=241 OR "T2"."PG_FEATUREVALUE_01_ID"=297 OR "T2"."PG_FEATUREVALUE_01_ID"=2259 OR "T2"."PG_FEATUREVALUE_01_ID"=2477 OR "T2"."PG_FEATUREVALUE_01_ID"=3891 OR "T2"."PG_FEATUREVALUE_01_ID"=24958 OR "T2"."PG_FEATUREVALUE_01_ID"=27445) AND "T2"."PRODUCTGROUP_ID"=15520) * 18 - access("T1"."PERIOD_ID"="T6"."VALUE_ID") * 18 - filter("T1"."PERIOD_ID"=20030699999060 OR "T1"."PERIOD_ID"=20030799999030 OR "T1"."PERIOD_ID"=20030799999060 OR "T1"."PERIOD_ID"=20030799999120) * 19 - access("T1"."ITEM_ID"="T2"."ITEM_ID") * 20 - filter(("T1"."PERIOD_ID"=20030699999060 OR "T1"."PERIOD_ID"=20030799999030 OR "T1"."PERIOD_ID"=20030799999060 OR "T1"."PERIOD_ID"=20030799999120) AND "T1"."PRODUCTGROUP_ID"=15520 AND "T1"."PROJECT_TYPE_ID"='1' AND "T1"."PRODUCTGROUP_ID"="T2"."PRODUCTGROUP_ID") * 21 - filter("T1"."PD_PRICE_UNITS_EUR">="T5"."LBOUND") * 22 - access("T1"."PD_PRICE_UNITS_EUR"<="T5"."UBOUND") * 22 - filter("T1"."PD_PRICE_UNITS_EUR"<="T5"."UBOUND") * 23 - access("T5"."ELEMENTRANGE_ID"=8658 OR "T5"."ELEMENTRANGE_ID"=8659 OR "T5"."ELEMENTRANGE_ID"=8660 OR "T5"."ELEMENTRANGE_ID"=8661 OR "T5"."ELEMENTRANGE_ID"=8662 OR "T5"."ELEMENTRANGE_ID"=8663 OR "T5"."ELEMENTRANGE_ID"=8664 OR "T5"."ELEMENTRANGE_ID"=8665 OR "T5"."ELEMENTRANGE_ID"=8666 OR "T5"."ELEMENTRANGE_ID"=8667) * 23 - filter("T5"."ELEMENTRANGE_ID"=8658 OR "T5"."ELEMENTRANGE_ID"=8659 OR "T5"."ELEMENTRANGE_ID"=8660 OR "T5"."ELEMENTRANGE_ID"=8661 OR "T5"."ELEMENTRANGE_ID"=8662 OR "T5"."ELEMENTRANGE_ID"=8663 OR "T5"."ELEMENTRANGE_ID"=8664 OR "T5"."ELEMENTRANGE_ID"=8665 OR "T5"."ELEMENTRANGE_ID"=8666 OR "T5"."ELEMENTRANGE_ID"=8667) * 24 - access("ITEM_1"="FEATUREVALUE_ID") * 25 - filter("TABLE_NR"=15 AND "DELETED"=0) * 26 - filter("FEATUREVALUE_NUM"<="T4"."UBOUND") * 27 - access(INTERNAL_FUNCTION("FEATUREVALUE_NUM")>=INTERNAL_FUNCTION("T4"."LBOUND")) * 27 - filter(INTERNAL_FUNCTION("FEATUREVALUE_NUM")>=INTERNAL_FUNCTION("T4"."LBOUND")) * 28 - access("T4"."ELEMENTRANGE_ID"=3091 OR "T4"."ELEMENTRANGE_ID"=3092 OR "T4"."ELEMENTRANGE_ID"=3093 OR "T4"."ELEMENTRANGE_ID"=3107) * 28 - filter("T4"."ELEMENTRANGE_ID"=3091 OR "T4"."ELEMENTRANGE_ID"=3092 OR "T4"."ELEMENTRANGE_ID"=3093 OR "T4"."ELEMENTRANGE_ID"=3107)
Hint Report (identified by operation id / Query Block Name / Object Alias): Total hints for statement: 1 (U - Unused (1)) ------------------------------------------------------------------------------- 0 - STATEMENT U - NO_PARALLEL
Notes ----- - dop_reason = hint - dop = 1 - px_in_memory_imc = no - px_in_memory = no
Test Plan ----------------------------- Plan Id : 13716 Plan Hash Value : 857636633
--------------------------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost | Time | --------------------------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 3 | 234 | 779 | 00:00:01 | | 1 | HASH GROUP BY | | 3 | 234 | 779 | 00:00:01 | | 2 | MERGE JOIN | | 3 | 234 | 778 | 00:00:01 | | 3 | SORT JOIN | | 2 | 126 | 775 | 00:00:01 | | 4 | NESTED LOOPS | | 2 | 126 | 774 | 00:00:01 | | 5 | NESTED LOOPS | | 2 | 126 | 774 | 00:00:01 | | * 6 | HASH JOIN | | 2 | 94 | 770 | 00:00:01 | | 7 | JOIN FILTER CREATE | :BF0000 | 6 | 66 | 10 | 00:00:01 | | * 8 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTGROUP_REL | 6 | 66 | 10 | 00:00:01 | | 9 | VIEW | VW_GBC_16 | 9546 | 343656 | 759 | 00:00:01 | | 10 | HASH GROUP BY | | 9546 | 658674 | 759 | 00:00:01 | | 11 | JOIN FILTER USE | :BF0000 | 839035 | 57893415 | 626 | 00:00:01 | | * 12 | HASH JOIN | | 839035 | 57893415 | 626 | 00:00:01 | | 13 | JOIN FILTER CREATE | :BF0001 | 31134 | 1089690 | 45 | 00:00:01 | | 14 | MERGE JOIN CARTESIAN | | 31134 | 1089690 | 45 | 00:00:01 | | * 15 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTRANGE_REL | 10 | 150 | 3 | 00:00:01 | | 16 | BUFFER SORT | | 3084 | 61680 | 42 | 00:00:01 | | * 17 | TABLE ACCESS INMEMORY FULL | LU_ITEM_293 | 3084 | 61680 | 4 | 00:00:01 | | 18 | JOIN FILTER USE | :BF0001 | 120991 | 4113694 | 565 | 00:00:01 | | * 19 | TABLE ACCESS INMEMORY FULL | FACT_PD_OUT_ITM_293 | 120991 | 4113694 | 565 | 00:00:01 | | * 20 | INDEX RANGE SCAN | ADM_PG_FEATUREVALUE_IDX2 | 1 | | 1 | 00:00:01 | | * 21 | TABLE ACCESS BY INDEX ROWID | ADM_PG_FEATUREVALUE | 1 | 16 | 2 | 00:00:01 | | * 22 | FILTER | | | | | | | * 23 | SORT JOIN | | 4 | 60 | 4 | 00:00:01 | | * 24 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTRANGE_REL | 4 | 60 | 3 | 00:00:01 | ---------------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 6 - access("ITEM_1"="T6"."VALUE_ID") * 8 - access("T6"."ELEMENTGROUP_ID"=14659) * 8 - filter("T6"."ELEMENTGROUP_ID"=14659) * 12 - access("T1"."PRODUCTGROUP_ID"="T2"."PRODUCTGROUP_ID" AND "T1"."ITEM_ID"="T2"."ITEM_ID") * 12 - filter("T1"."PD_PRICE_UNITS_EUR">="T5"."LBOUND" AND "T1"."PD_PRICE_UNITS_EUR"<="T5"."UBOUND") * 15 - access("T5"."ELEMENTRANGE_ID"=8658 OR "T5"."ELEMENTRANGE_ID"=8659 OR "T5"."ELEMENTRANGE_ID"=8660 OR "T5"."ELEMENTRANGE_ID"=8661 OR "T5"."ELEMENTRANGE_ID"=8662 OR "T5"."ELEMENTRANGE_ID"=8663 OR "T5"."ELEMENTRANGE_ID"=8664 OR "T5"."ELEMENTRANGE_ID"=8665 OR "T5"."ELEMENTRANGE_ID"=8666 OR "T5"."ELEMENTRANGE_ID"=8667) * 15 - filter("T5"."ELEMENTRANGE_ID"=8658 OR "T5"."ELEMENTRANGE_ID"=8659 OR "T5"."ELEMENTRANGE_ID"=8660 OR "T5"."ELEMENTRANGE_ID"=8661 OR "T5"."ELEMENTRANGE_ID"=8662 OR "T5"."ELEMENTRANGE_ID"=8663 OR "T5"."ELEMENTRANGE_ID"=8664 OR "T5"."ELEMENTRANGE_ID"=8665 OR "T5"."ELEMENTRANGE_ID"=8666 OR "T5"."ELEMENTRANGE_ID"=8667) * 17 - access(("T2"."PG_FEATUREVALUE_01_ID"=71 OR "T2"."PG_FEATUREVALUE_01_ID"=76 OR "T2"."PG_FEATUREVALUE_01_ID"=89 OR "T2"."PG_FEATUREVALUE_01_ID"=92 OR "T2"."PG_FEATUREVALUE_01_ID"=95 OR "T2"."PG_FEATUREVALUE_01_ID"=103 OR "T2"."PG_FEATUREVALUE_01_ID"=104 OR "T2"."PG_FEATUREVALUE_01_ID"=107 OR "T2"."PG_FEATUREVALUE_01_ID"=110 OR "T2"."PG_FEATUREVALUE_01_ID"=113 OR "T2"."PG_FEATUREVALUE_01_ID"=134 OR "T2"."PG_FEATUREVALUE_01_ID"=148 OR "T2"."PG_FEATUREVALUE_01_ID"=167 OR "T2"."PG_FEATUREVALUE_01_ID"=171 OR "T2"."PG_FEATUREVALUE_01_ID"=186 OR "T2"."PG_FEATUREVALUE_01_ID"=192 OR "T2"."PG_FEATUREVALUE_01_ID"=216 OR "T2"."PG_FEATUREVALUE_01_ID"=236 OR "T2"."PG_FEATUREVALUE_01_ID"=241 OR "T2"."PG_FEATUREVALUE_01_ID"=297 OR "T2"."PG_FEATUREVALUE_01_ID"=2259 OR "T2"."PG_FEATUREVALUE_01_ID"=2477 OR "T2"."PG_FEATUREVALUE_01_ID"=3891 OR "T2"."PG_FEATUREVALUE_01_ID"=24958 OR "T2"."PG_FEATUREVALUE_01_ID"=27445) AND "T2"."PRODUCTGROUP_ID"=15520) * 17 - filter(("T2"."PG_FEATUREVALUE_01_ID"=71 OR "T2"."PG_FEATUREVALUE_01_ID"=76 OR "T2"."PG_FEATUREVALUE_01_ID"=89 OR "T2"."PG_FEATUREVALUE_01_ID"=92 OR "T2"."PG_FEATUREVALUE_01_ID"=95 OR "T2"."PG_FEATUREVALUE_01_ID"=103 OR "T2"."PG_FEATUREVALUE_01_ID"=104 OR "T2"."PG_FEATUREVALUE_01_ID"=107 OR "T2"."PG_FEATUREVALUE_01_ID"=110 OR "T2"."PG_FEATUREVALUE_01_ID"=113 OR "T2"."PG_FEATUREVALUE_01_ID"=134 OR "T2"."PG_FEATUREVALUE_01_ID"=148 OR "T2"."PG_FEATUREVALUE_01_ID"=167 OR "T2"."PG_FEATUREVALUE_01_ID"=171 OR "T2"."PG_FEATUREVALUE_01_ID"=186 OR "T2"."PG_FEATUREVALUE_01_ID"=192 OR "T2"."PG_FEATUREVALUE_01_ID"=216 OR "T2"."PG_FEATUREVALUE_01_ID"=236 OR "T2"."PG_FEATUREVALUE_01_ID"=241 OR "T2"."PG_FEATUREVALUE_01_ID"=297 OR "T2"."PG_FEATUREVALUE_01_ID"=2259 OR "T2"."PG_FEATUREVALUE_01_ID"=2477 OR "T2"."PG_FEATUREVALUE_01_ID"=3891 OR "T2"."PG_FEATUREVALUE_01_ID"=24958 OR "T2"."PG_FEATUREVALUE_01_ID"=27445) AND "T2"."PRODUCTGROUP_ID"=15520) * 19 - access(("T1"."PERIOD_ID"=20030699999060 OR "T1"."PERIOD_ID"=20030799999030 OR "T1"."PERIOD_ID"=20030799999060 OR "T1"."PERIOD_ID"=20030799999120) AND "T1"."PRODUCTGROUP_ID"=15520 AND "T1"."PROJECT_TYPE_ID"='1' AND SYS_OP_BLOOM_FILTER(:BF0001,"T1"."ITEM_ID")) * 19 - filter(("T1"."PERIOD_ID"=20030699999060 OR "T1"."PERIOD_ID"=20030799999030 OR "T1"."PERIOD_ID"=20030799999060 OR "T1"."PERIOD_ID"=20030799999120) AND "T1"."PRODUCTGROUP_ID"=15520 AND "T1"."PROJECT_TYPE_ID"='1' AND SYS_OP_BLOOM_FILTER(:BF0001,"T1"."ITEM_ID")) * 20 - access("ITEM_2"="FEATUREVALUE_ID") * 21 - filter("TABLE_NR"=15 AND "DELETED"=0) * 22 - filter("FEATUREVALUE_NUM"<="T4"."UBOUND") * 23 - access(INTERNAL_FUNCTION("FEATUREVALUE_NUM")>=INTERNAL_FUNCTION("T4"."LBOUND")) * 23 - filter(INTERNAL_FUNCTION("FEATUREVALUE_NUM")>=INTERNAL_FUNCTION("T4"."LBOUND")) * 24 - access("T4"."ELEMENTRANGE_ID"=3091 OR "T4"."ELEMENTRANGE_ID"=3092 OR "T4"."ELEMENTRANGE_ID"=3093 OR "T4"."ELEMENTRANGE_ID"=3107) * 24 - filter("T4"."ELEMENTRANGE_ID"=3091 OR "T4"."ELEMENTRANGE_ID"=3092 OR "T4"."ELEMENTRANGE_ID"=3093 OR "T4"."ELEMENTRANGE_ID"=3107)
Hint Report (identified by operation id / Query Block Name / Object Alias): Total hints for statement: 1 (U - Unused (1)) ------------------------------------------------------------------------------- 0 - STATEMENT U - NO_PARALLEL
Notes ----- - dop_reason = hint - dop = 1 - px_in_memory_imc = no - px_in_memory = no
--------------------------------------------------------------------------------------------- Object ID : 13981 Test Plan Name : SQL_PLAN_d0qudj23rhs7z57f8c3a4 Base Plan Name : Cost-based plan SQL Handle : SQL_d05b4d88877860ff Parsing Schema : SYS Test Plan Creator : SYS SQL Text : /*+ NO_SQL_TRANSLATION */ select table_owner, table_name from all_synonyms where owner in (user,'PUBLIC') and synonym_name=:1 and not exists ( select user, object_name from user_objects where object_name=:2 and object_type in ('TABLE','VIEW'))
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. This plan was skipped because either the database is not fully open or the SQL statement is ineligible for SQL Plan Management.
--------------------------------------------------------------------------------------------- Object ID : 13982 Test Plan Name : SQL_PLAN_4yct4vaxp9r7f4bd36088 Base Plan Name : Cost-based plan SQL Handle : SQL_4f3324dabb54dcee Parsing Schema : APPS Test Plan Creator : SYS SQL Text : SELECT /* ORDERED INDEX(t1) USE_HASH(t1) */ 'r' || t4.elementrange_id pg_featurevalue_15_id, 'B' || t2.pg_featurevalue_01_id pg_featurevalue_01_id, 'r' || t5.elementrange_id price_eur_id, 'B' || t2.productgroup_id productgroup_id, 'G' || t6.elementgroup_id period_id, SUM(t 1.pd_sales_units*t1.pd_projection_factor*t1.pd_price_units_ eur) salesvalueeur FROM lu_item_293 t2, lu_pg_featurevalue_15 t3, lu_elementrange_rel t4, fact_pd_out_itm_293 t1, lu_elementgroup_rel t6, lu_elementrange_rel t5 WHERE /* Attribute Joins */ ((t1.item_id = t2.item_id /* Customizing Begin */ AND t1.productgroup_id = t2.productgroup_id) /* Customizing End */ AND (t2.pg_featurevalue_15_id = t3.pg_featurevalue_15_id) AND (t3.pg_featurevalue_15_num BETWEEN t4.lbound AND t4.ubound) AND (t1.pd_price_units_eur BETWEEN t5.lbound AND t5.ubound) AND (t1.period_id = t6.value_id) ) /* Attribute Filters */ AND ((t2.productgroup_id = 15520) AND (t1.productgroup_id = 15520) /* Push Down Filters */ AND (t2.pg_featurevalue_01_id IN (103,104,107,110,113,134,148,1 67,171,186,192,216,2259,236,241,2477,24958,27445,297,3891,7 1,76,89,92,95)) AND (t4.elementrange_id IN (3091,3092,3093,3107)) AND (t5.elementrange_id IN (8690,8691,8692,8693,8694,8695,8696,8697,8698,8699)) AND (t6.elementgroup_id = 14659) AND (t1.period_id IN (20030699 999060,20030799999030,20030799999060,20030799999120)) /* Resolved ElementGroup Filters */ ) /* Fact Filters */ AND (t1.project_type_id = '1' ) GROUP BY t4.elementrange_id, t2.pg_featurevalue_01_id, t5.elementrange_id, t2.productgroup_id, t6.elementgroup_id
Execution Statistics: ----------------------------- Base Plan Test Plan ---------------------------- ---------------------------- Elapsed Time (s): .116977 .009538 CPU Time (s): .114703 .009183 Buffer Gets: 26273 3 Optimizer Cost: 347 802 Disk Reads: 0 0 Direct Writes: 0 0 Rows Processed: 7 2 Executions: 3 10
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (2): ----------------------------- 1. The plan was verified in 2.30500 seconds. It passed the benefit criterion because its verified performance was 1707.44850 times better than that of the baseline plan. 2. The plan was automatically accepted.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 13982, task_owner => 'SYS');
EXPLAIN PLANS SECTION ---------------------------------------------------------------------------------------------
Baseline Plan ----------------------------- Plan Id : 13717 Plan Hash Value : 546558701
---------------------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost | Time | ---------------------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 138 | 8004 | 347 | 00:00:01 | | 1 | HASH GROUP BY | | 138 | 8004 | 347 | 00:00:01 | | 2 | MERGE JOIN | | 138 | 8004 | 346 | 00:00:01 | | 3 | SORT JOIN | | 104 | 4472 | 343 | 00:00:01 | | 4 | NESTED LOOPS | | 104 | 4472 | 342 | 00:00:01 | | 5 | NESTED LOOPS | | 104 | 4472 | 342 | 00:00:01 | | 6 | VIEW | VW_GBC_16 | 104 | 2808 | 134 | 00:00:01 | | 7 | HASH GROUP BY | | 104 | 8320 | 134 | 00:00:01 | | 8 | MERGE JOIN | | 104 | 8320 | 133 | 00:00:01 | | 9 | SORT JOIN | | 10 | 650 | 129 | 00:00:01 | | 10 | NESTED LOOPS | | 10 | 650 | 128 | 00:00:01 | | 11 | NESTED LOOPS | | 10 | 650 | 128 | 00:00:01 | | 12 | MERGE JOIN CARTESIAN | | 28 | 868 | 15 | 00:00:01 | | * 13 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTGROUP_REL | 1 | 11 | 11 | 00:00:01 | | 14 | BUFFER SORT | | 3084 | 61680 | 4 | 00:00:01 | | * 15 | TABLE ACCESS INMEMORY FULL | LU_ITEM_293 | 3084 | 61680 | 4 | 00:00:01 | | 16 | BITMAP CONVERSION TO ROWIDS | | | | | | | 17 | BITMAP AND | | | | | | | * 18 | BITMAP INDEX SINGLE VALUE | FACT_274_PER_IDX | | | | | | * 19 | BITMAP INDEX SINGLE VALUE | FACT_274_ITEM_IDX | | | | | | * 20 | TABLE ACCESS BY INDEX ROWID | FACT_PD_OUT_ITM_293 | 1 | 34 | 128 | 00:00:01 | | * 21 | FILTER | | | | | | | * 22 | SORT JOIN | | 10 | 150 | 4 | 00:00:01 | | * 23 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTRANGE_REL | 10 | 150 | 3 | 00:00:01 | | * 24 | INDEX RANGE SCAN | ADM_PG_FEATUREVALUE_IDX2 | 1 | | 1 | 00:00:01 | | * 25 | TABLE ACCESS BY INDEX ROWID | ADM_PG_FEATUREVALUE | 1 | 16 | 2 | 00:00:01 | | * 26 | FILTER | | | | | | | * 27 | SORT JOIN | | 4 | 60 | 4 | 00:00:01 | | * 28 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTRANGE_REL | 4 | 60 | 3 | 00:00:01 | ----------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 13 - access("T6"."ELEMENTGROUP_ID"=14659 AND ("T6"."VALUE_ID"=20030699999060 OR "T6"."VALUE_ID"=20030799999030 OR "T6"."VALUE_ID"=20030799999060 OR "T6"."VALUE_ID"=20030799999120)) * 13 - filter("T6"."ELEMENTGROUP_ID"=14659 AND ("T6"."VALUE_ID"=20030699999060 OR "T6"."VALUE_ID"=20030799999030 OR "T6"."VALUE_ID"=20030799999060 OR "T6"."VALUE_ID"=20030799999120)) * 15 - access(("T2"."PG_FEATUREVALUE_01_ID"=71 OR "T2"."PG_FEATUREVALUE_01_ID"=76 OR "T2"."PG_FEATUREVALUE_01_ID"=89 OR "T2"."PG_FEATUREVALUE_01_ID"=92 OR "T2"."PG_FEATUREVALUE_01_ID"=95 OR "T2"."PG_FEATUREVALUE_01_ID"=103 OR "T2"."PG_FEATUREVALUE_01_ID"=104 OR "T2"."PG_FEATUREVALUE_01_ID"=107 OR "T2"."PG_FEATUREVALUE_01_ID"=110 OR "T2"."PG_FEATUREVALUE_01_ID"=113 OR "T2"."PG_FEATUREVALUE_01_ID"=134 OR "T2"."PG_FEATUREVALUE_01_ID"=148 OR "T2"."PG_FEATUREVALUE_01_ID"=167 OR "T2"."PG_FEATUREVALUE_01_ID"=171 OR "T2"."PG_FEATUREVALUE_01_ID"=186 OR "T2"."PG_FEATUREVALUE_01_ID"=192 OR "T2"."PG_FEATUREVALUE_01_ID"=216 OR "T2"."PG_FEATUREVALUE_01_ID"=236 OR "T2"."PG_FEATUREVALUE_01_ID"=241 OR "T2"."PG_FEATUREVALUE_01_ID"=297 OR "T2"."PG_FEATUREVALUE_01_ID"=2259 OR "T2"."PG_FEATUREVALUE_01_ID"=2477 OR "T2"."PG_FEATUREVALUE_01_ID"=3891 OR "T2"."PG_FEATUREVALUE_01_ID"=24958 OR "T2"."PG_FEATUREVALUE_01_ID"=27445) AND "T2"."PRODUCTGROUP_ID"=15520) * 15 - filter(("T2"."PG_FEATUREVALUE_01_ID"=71 OR "T2"."PG_FEATUREVALUE_01_ID"=76 OR "T2"."PG_FEATUREVALUE_01_ID"=89 OR "T2"."PG_FEATUREVALUE_01_ID"=92 OR "T2"."PG_FEATUREVALUE_01_ID"=95 OR "T2"."PG_FEATUREVALUE_01_ID"=103 OR "T2"."PG_FEATUREVALUE_01_ID"=104 OR "T2"."PG_FEATUREVALUE_01_ID"=107 OR "T2"."PG_FEATUREVALUE_01_ID"=110 OR "T2"."PG_FEATUREVALUE_01_ID"=113 OR "T2"."PG_FEATUREVALUE_01_ID"=134 OR "T2"."PG_FEATUREVALUE_01_ID"=148 OR "T2"."PG_FEATUREVALUE_01_ID"=167 OR "T2"."PG_FEATUREVALUE_01_ID"=171 OR "T2"."PG_FEATUREVALUE_01_ID"=186 OR "T2"."PG_FEATUREVALUE_01_ID"=192 OR "T2"."PG_FEATUREVALUE_01_ID"=216 OR "T2"."PG_FEATUREVALUE_01_ID"=236 OR "T2"."PG_FEATUREVALUE_01_ID"=241 OR "T2"."PG_FEATUREVALUE_01_ID"=297 OR "T2"."PG_FEATUREVALUE_01_ID"=2259 OR "T2"."PG_FEATUREVALUE_01_ID"=2477 OR "T2"."PG_FEATUREVALUE_01_ID"=3891 OR "T2"."PG_FEATUREVALUE_01_ID"=24958 OR "T2"."PG_FEATUREVALUE_01_ID"=27445) AND "T2"."PRODUCTGROUP_ID"=15520) * 18 - access("T1"."PERIOD_ID"="T6"."VALUE_ID") * 18 - filter("T1"."PERIOD_ID"=20030699999060 OR "T1"."PERIOD_ID"=20030799999030 OR "T1"."PERIOD_ID"=20030799999060 OR "T1"."PERIOD_ID"=20030799999120) * 19 - access("T1"."ITEM_ID"="T2"."ITEM_ID") * 20 - filter(("T1"."PERIOD_ID"=20030699999060 OR "T1"."PERIOD_ID"=20030799999030 OR "T1"."PERIOD_ID"=20030799999060 OR "T1"."PERIOD_ID"=20030799999120) AND "T1"."PRODUCTGROUP_ID"=15520 AND "T1"."PROJECT_TYPE_ID"='1' AND "T1"."PRODUCTGROUP_ID"="T2"."PRODUCTGROUP_ID") * 21 - filter("T1"."PD_PRICE_UNITS_EUR">="T5"."LBOUND") * 22 - access("T1"."PD_PRICE_UNITS_EUR"<="T5"."UBOUND") * 22 - filter("T1"."PD_PRICE_UNITS_EUR"<="T5"."UBOUND") * 23 - access("T5"."ELEMENTRANGE_ID"=8690 OR "T5"."ELEMENTRANGE_ID"=8691 OR "T5"."ELEMENTRANGE_ID"=8692 OR "T5"."ELEMENTRANGE_ID"=8693 OR "T5"."ELEMENTRANGE_ID"=8694 OR "T5"."ELEMENTRANGE_ID"=8695 OR "T5"."ELEMENTRANGE_ID"=8696 OR "T5"."ELEMENTRANGE_ID"=8697 OR "T5"."ELEMENTRANGE_ID"=8698 OR "T5"."ELEMENTRANGE_ID"=8699) * 23 - filter("T5"."ELEMENTRANGE_ID"=8690 OR "T5"."ELEMENTRANGE_ID"=8691 OR "T5"."ELEMENTRANGE_ID"=8692 OR "T5"."ELEMENTRANGE_ID"=8693 OR "T5"."ELEMENTRANGE_ID"=8694 OR "T5"."ELEMENTRANGE_ID"=8695 OR "T5"."ELEMENTRANGE_ID"=8696 OR "T5"."ELEMENTRANGE_ID"=8697 OR "T5"."ELEMENTRANGE_ID"=8698 OR "T5"."ELEMENTRANGE_ID"=8699) * 24 - access("ITEM_1"="FEATUREVALUE_ID") * 25 - filter("TABLE_NR"=15 AND "DELETED"=0) * 26 - filter("FEATUREVALUE_NUM"<="T4"."UBOUND") * 27 - access(INTERNAL_FUNCTION("FEATUREVALUE_NUM")>=INTERNAL_FUNCTION("T4"."LBOUND")) * 27 - filter(INTERNAL_FUNCTION("FEATUREVALUE_NUM")>=INTERNAL_FUNCTION("T4"."LBOUND")) * 28 - access("T4"."ELEMENTRANGE_ID"=3091 OR "T4"."ELEMENTRANGE_ID"=3092 OR "T4"."ELEMENTRANGE_ID"=3093 OR "T4"."ELEMENTRANGE_ID"=3107) * 28 - filter("T4"."ELEMENTRANGE_ID"=3091 OR "T4"."ELEMENTRANGE_ID"=3092 OR "T4"."ELEMENTRANGE_ID"=3093 OR "T4"."ELEMENTRANGE_ID"=3107)
Hint Report (identified by operation id / Query Block Name / Object Alias): Total hints for statement: 1 (U - Unused (1)) ------------------------------------------------------------------------------- 0 - STATEMENT U - NO_PARALLEL
Notes ----- - dop_reason = hint - dop = 1 - px_in_memory_imc = no - px_in_memory = no
Test Plan ----------------------------- Plan Id : 13718 Plan Hash Value : 1272144008
------------------------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost | Time | ------------------------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 138 | 8004 | 802 | 00:00:01 | | 1 | HASH GROUP BY | | 138 | 8004 | 802 | 00:00:01 | | 2 | MERGE JOIN | | 138 | 8004 | 801 | 00:00:01 | | 3 | SORT JOIN | | 104 | 4472 | 798 | 00:00:01 | | 4 | NESTED LOOPS | | 104 | 4472 | 797 | 00:00:01 | | 5 | NESTED LOOPS | | 104 | 4472 | 797 | 00:00:01 | | 6 | VIEW | VW_GBC_16 | 104 | 2808 | 588 | 00:00:01 | | 7 | HASH GROUP BY | | 104 | 8320 | 588 | 00:00:01 | | 8 | MERGE JOIN | | 104 | 8320 | 587 | 00:00:01 | | 9 | SORT JOIN | | 10 | 650 | 583 | 00:00:01 | | * 10 | HASH JOIN | | 10 | 650 | 582 | 00:00:01 | | 11 | MERGE JOIN CARTESIAN | | 28 | 868 | 15 | 00:00:01 | | * 12 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTGROUP_REL | 1 | 11 | 11 | 00:00:01 | | 13 | BUFFER SORT | | 3084 | 61680 | 4 | 00:00:01 | | * 14 | TABLE ACCESS INMEMORY FULL | LU_ITEM_293 | 3084 | 61680 | 4 | 00:00:01 | | * 15 | TABLE ACCESS INMEMORY FULL | FACT_PD_OUT_ITM_293 | 120991 | 4113694 | 565 | 00:00:01 | | * 16 | FILTER | | | | | | | * 17 | SORT JOIN | | 10 | 150 | 4 | 00:00:01 | | * 18 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTRANGE_REL | 10 | 150 | 3 | 00:00:01 | | * 19 | INDEX RANGE SCAN | ADM_PG_FEATUREVALUE_IDX2 | 1 | | 1 | 00:00:01 | | * 20 | TABLE ACCESS BY INDEX ROWID | ADM_PG_FEATUREVALUE | 1 | 16 | 2 | 00:00:01 | | * 21 | FILTER | | | | | | | * 22 | SORT JOIN | | 4 | 60 | 4 | 00:00:01 | | * 23 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTRANGE_REL | 4 | 60 | 3 | 00:00:01 | -------------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 10 - access("T1"."PERIOD_ID"="T6"."VALUE_ID" AND "T1"."PRODUCTGROUP_ID"="T2"."PRODUCTGROUP_ID" AND "T1"."ITEM_ID"="T2"."ITEM_ID") * 12 - access("T6"."ELEMENTGROUP_ID"=14659 AND ("T6"."VALUE_ID"=20030699999060 OR "T6"."VALUE_ID"=20030799999030 OR "T6"."VALUE_ID"=20030799999060 OR "T6"."VALUE_ID"=20030799999120)) * 12 - filter("T6"."ELEMENTGROUP_ID"=14659 AND ("T6"."VALUE_ID"=20030699999060 OR "T6"."VALUE_ID"=20030799999030 OR "T6"."VALUE_ID"=20030799999060 OR "T6"."VALUE_ID"=20030799999120)) * 14 - access(("T2"."PG_FEATUREVALUE_01_ID"=71 OR "T2"."PG_FEATUREVALUE_01_ID"=76 OR "T2"."PG_FEATUREVALUE_01_ID"=89 OR "T2"."PG_FEATUREVALUE_01_ID"=92 OR "T2"."PG_FEATUREVALUE_01_ID"=95 OR "T2"."PG_FEATUREVALUE_01_ID"=103 OR "T2"."PG_FEATUREVALUE_01_ID"=104 OR "T2"."PG_FEATUREVALUE_01_ID"=107 OR "T2"."PG_FEATUREVALUE_01_ID"=110 OR "T2"."PG_FEATUREVALUE_01_ID"=113 OR "T2"."PG_FEATUREVALUE_01_ID"=134 OR "T2"."PG_FEATUREVALUE_01_ID"=148 OR "T2"."PG_FEATUREVALUE_01_ID"=167 OR "T2"."PG_FEATUREVALUE_01_ID"=171 OR "T2"."PG_FEATUREVALUE_01_ID"=186 OR "T2"."PG_FEATUREVALUE_01_ID"=192 OR "T2"."PG_FEATUREVALUE_01_ID"=216 OR "T2"."PG_FEATUREVALUE_01_ID"=236 OR "T2"."PG_FEATUREVALUE_01_ID"=241 OR "T2"."PG_FEATUREVALUE_01_ID"=297 OR "T2"."PG_FEATUREVALUE_01_ID"=2259 OR "T2"."PG_FEATUREVALUE_01_ID"=2477 OR "T2"."PG_FEATUREVALUE_01_ID"=3891 OR "T2"."PG_FEATUREVALUE_01_ID"=24958 OR "T2"."PG_FEATUREVALUE_01_ID"=27445) AND "T2"."PRODUCTGROUP_ID"=15520) * 14 - filter(("T2"."PG_FEATUREVALUE_01_ID"=71 OR "T2"."PG_FEATUREVALUE_01_ID"=76 OR "T2"."PG_FEATUREVALUE_01_ID"=89 OR "T2"."PG_FEATUREVALUE_01_ID"=92 OR "T2"."PG_FEATUREVALUE_01_ID"=95 OR "T2"."PG_FEATUREVALUE_01_ID"=103 OR "T2"."PG_FEATUREVALUE_01_ID"=104 OR "T2"."PG_FEATUREVALUE_01_ID"=107 OR "T2"."PG_FEATUREVALUE_01_ID"=110 OR "T2"."PG_FEATUREVALUE_01_ID"=113 OR "T2"."PG_FEATUREVALUE_01_ID"=134 OR "T2"."PG_FEATUREVALUE_01_ID"=148 OR "T2"."PG_FEATUREVALUE_01_ID"=167 OR "T2"."PG_FEATUREVALUE_01_ID"=171 OR "T2"."PG_FEATUREVALUE_01_ID"=186 OR "T2"."PG_FEATUREVALUE_01_ID"=192 OR "T2"."PG_FEATUREVALUE_01_ID"=216 OR "T2"."PG_FEATUREVALUE_01_ID"=236 OR "T2"."PG_FEATUREVALUE_01_ID"=241 OR "T2"."PG_FEATUREVALUE_01_ID"=297 OR "T2"."PG_FEATUREVALUE_01_ID"=2259 OR "T2"."PG_FEATUREVALUE_01_ID"=2477 OR "T2"."PG_FEATUREVALUE_01_ID"=3891 OR "T2"."PG_FEATUREVALUE_01_ID"=24958 OR "T2"."PG_FEATUREVALUE_01_ID"=27445) AND "T2"."PRODUCTGROUP_ID"=15520) * 15 - access(("T1"."PERIOD_ID"=20030699999060 OR "T1"."PERIOD_ID"=20030799999030 OR "T1"."PERIOD_ID"=20030799999060 OR "T1"."PERIOD_ID"=20030799999120) AND "T1"."PRODUCTGROUP_ID"=15520 AND "T1"."PROJECT_TYPE_ID"='1') * 15 - filter(("T1"."PERIOD_ID"=20030699999060 OR "T1"."PERIOD_ID"=20030799999030 OR "T1"."PERIOD_ID"=20030799999060 OR "T1"."PERIOD_ID"=20030799999120) AND "T1"."PRODUCTGROUP_ID"=15520 AND "T1"."PROJECT_TYPE_ID"='1') * 16 - filter("T1"."PD_PRICE_UNITS_EUR">="T5"."LBOUND") * 17 - access("T1"."PD_PRICE_UNITS_EUR"<="T5"."UBOUND") * 17 - filter("T1"."PD_PRICE_UNITS_EUR"<="T5"."UBOUND") * 18 - access("T5"."ELEMENTRANGE_ID"=8690 OR "T5"."ELEMENTRANGE_ID"=8691 OR "T5"."ELEMENTRANGE_ID"=8692 OR "T5"."ELEMENTRANGE_ID"=8693 OR "T5"."ELEMENTRANGE_ID"=8694 OR "T5"."ELEMENTRANGE_ID"=8695 OR "T5"."ELEMENTRANGE_ID"=8696 OR "T5"."ELEMENTRANGE_ID"=8697 OR "T5"."ELEMENTRANGE_ID"=8698 OR "T5"."ELEMENTRANGE_ID"=8699) * 18 - filter("T5"."ELEMENTRANGE_ID"=8690 OR "T5"."ELEMENTRANGE_ID"=8691 OR "T5"."ELEMENTRANGE_ID"=8692 OR "T5"."ELEMENTRANGE_ID"=8693 OR "T5"."ELEMENTRANGE_ID"=8694 OR "T5"."ELEMENTRANGE_ID"=8695 OR "T5"."ELEMENTRANGE_ID"=8696 OR "T5"."ELEMENTRANGE_ID"=8697 OR "T5"."ELEMENTRANGE_ID"=8698 OR "T5"."ELEMENTRANGE_ID"=8699) * 19 - access("ITEM_1"="FEATUREVALUE_ID") * 20 - filter("TABLE_NR"=15 AND "DELETED"=0) * 21 - filter("FEATUREVALUE_NUM"<="T4"."UBOUND") * 22 - access(INTERNAL_FUNCTION("FEATUREVALUE_NUM")>=INTERNAL_FUNCTION("T4"."LBOUND")) * 22 - filter(INTERNAL_FUNCTION("FEATUREVALUE_NUM")>=INTERNAL_FUNCTION("T4"."LBOUND")) * 23 - access("T4"."ELEMENTRANGE_ID"=3091 OR "T4"."ELEMENTRANGE_ID"=3092 OR "T4"."ELEMENTRANGE_ID"=3093 OR "T4"."ELEMENTRANGE_ID"=3107) * 23 - filter("T4"."ELEMENTRANGE_ID"=3091 OR "T4"."ELEMENTRANGE_ID"=3092 OR "T4"."ELEMENTRANGE_ID"=3093 OR "T4"."ELEMENTRANGE_ID"=3107)
Hint Report (identified by operation id / Query Block Name / Object Alias): Total hints for statement: 1 (U - Unused (1)) ------------------------------------------------------------------------------- 0 - STATEMENT U - NO_PARALLEL
Notes ----- - dop_reason = hint - dop = 1 - px_in_memory_imc = no - px_in_memory = no
--------------------------------------------------------------------------------------------- Object ID : 13983 Test Plan Name : SQL_PLAN_a4jnfhddswkp8ce5dba80 Base Plan Name : Cost-based plan SQL Handle : SQL_a2468e835b8e4aa8 Parsing Schema : SYS Test Plan Creator : SYS SQL Text : select /*+ index(idl_ub1$ i_idl_ub11) */ piece#,length,piece from idl_ub1$ where obj#=:1 and part=:2 and version=:3 order by piece#
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 13983, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 13984 Test Plan Name : SQL_PLAN_5s8p9bd1h7tw19a46fad3 Base Plan Name : Cost-based plan SQL Handle : SQL_5c22a95b4303e781 Parsing Schema : BOTANG Test Plan Creator : SYS SQL Text : select col.*, com.Comments from sys.all_tab_columns col, sys.all_col_comments com where col.owner = 'BOTANG' and col.table_name = 'V_BANK_INVOICE_RMB_2022_CONCIS' and com.Owner (+) = 'BOTANG' and com.Table_Name (+) = 'V_BANK_INVOICE_RMB_2022_CONCIS' and com.Column_Name (+) = col.Column_Name order by col.column_id
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 13984, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 13985 Test Plan Name : SQL_PLAN_cd8m4pc98chwn9a46fad3 Base Plan Name : Cost-based plan SQL Handle : SQL_c6a264ab12864394 Parsing Schema : BOTANG Test Plan Creator : SYS SQL Text : select col.*, com.Comments from sys.all_tab_columns col, sys.all_col_comments com where col.owner = 'BOTANG' and col.table_name = 'V_BANK_INVOICE_AUDIT_RMB_LC_DUED' and com.Owner (+) = 'BOTANG' and com.Table_Name (+) = 'V_BANK_INVOICE_AUDIT_RMB_LC_DUED' and com.Column_Name (+) = col.Column_Name order by col.column_id
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 13985, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 13986 Test Plan Name : SQL_PLAN_gvkmubhwabvsy02f07aa4 Base Plan Name : Cost-based plan SQL Handle : SQL_fdca7a5c38a5ef1e Parsing Schema : BOTANG Test Plan Creator : SYS SQL Text : select col.*, com.Comments from sys.all_tab_columns col, sys.all_col_comments com where col.owner = 'BOTANG' and col.table_name = 'V_BANK_INVOICE_RMB_COST_GUANGL' and com.Owner (+) = 'BOTANG' and com.Table_Name (+) = 'V_BANK_INVOICE_RMB_COST_GUANGL' and com.Column_Name (+) = col.Column_Name order by col.column_id
ERRORS SECTION --------------------------------------------------------------------------------------------- ORA-16960: SQL Analyze could not reproduce the desired plan. --------------------------------------------------------------------------------------------- Object ID : 13987 Test Plan Name : SQL_PLAN_794yq2jmpn6ya96f3e48d Base Plan Name : Cost-based plan SQL Handle : SQL_7493d614675a1bca Parsing Schema : SYS Test Plan Creator : SYS SQL Text : MERGE /*+ dynamic_sampling(ST 4) dynamic_sampling_est_cdn(ST) OPT_PARAM('_parallel_syspls_obey_force' 'false') */ INTO STATS_TARGET$ ST USING (SELECT CASE WHEN DBMS_STATS_INTERNAL.BITCLR(AFLAGS, :B23 + :B28 ) = :B10 THEN DECODE(TYPE#, 19, :B35 , :B34 ) ELSE STALENESS END STALENESS, OSIZE, OBJ#, TYPE#, 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, :B22 ), :B22 , GREATEST(T.ROWCNT, M.INSERTS), LEAST((M.INSERTS + M.DELETES + M.UPDATES), GREATEST(T.ROWCNT, (T.ROWCNT + M.INSERTS - M.DELETES)))) / (T.ROWCNT + 0.01)))), 0.01)), 1), -100.0) STALENESS, CASE WHEN BITAND(T.PROPERTY, 32) = 32 OR T.FILE# = 0 THEN DBMS_STATS_INTERNAL.GET_TABLE_BLOCK_COUNT(U.NAME, O.NAME, NULL, NULL, '(-376, -942)') WHEN S.TYPE# = 5 THEN DBMS_STATS_INTERNAL.SEGMENT_NUMBER_BLOCKS(T.TS#, T.FILE#, T.BLOCK#, S.TYPE#, S.CACHEHINT, NVL(S.SPARE1,0), O.DATAOBJ#, S.BLOCKS, 'TRUE') ELSE NULL END * NVL(TS.BLOCKSIZE, :B24 ) OSIZE, O.OBJ# OBJ#, O.TYPE# TYPE#, :B23 + CASE WHEN (BITAND(T.FLAGS,16) = 16 AND (BITAND(M.FLAGS,:B22 ) != 0 OR (M.INSERTS + M.UPDATES + M.DELETES) > NVL(TO_NUMBER(P.VALCHAR), :B21 )/100 * T.ROWCNT)) THEN :B20 WHEN (BITAND(T.FLAGS,16) != 16) THEN :B19 WHEN (BITAND(M.FLAGS,:B18 ) = :B18 ) THEN :B17 ELSE 0 END + CASE WHEN (BITAND(M.FLAGS,:B16 ) = :B16 ) THEN :B15 ELSE 0 END + CASE WHEN (BITAND(M.FLAGS,:B14 ) = :B14 ) THEN :B13 ELSE 0 END + CASE WHEN (BITAND(M.FLAGS,:B12 ) = :B12 ) THEN :B11 ELSE 0 END + CASE WHEN NVL(P1.VALCHAR, :B4 ) = 'HYPERLOGLOG' AND NVL(P2.VALCHAR, :B3 ) = 'TRUE' AND (P3.VALCHAR LIKE '%ALLOW_MIXED_FORMAT%' OR P3.VALCHAR IS NULL AND :B2 = 1) THEN :B10 ELSE 0 END AFLAGS, 0 STATUS, :B9 SID, :B8 SERIAL#, NULL PART#, NULL BO#, TO_NUMBER(P.VALCHAR) LOC_STALE_PCT FROM SYS.SEG$ S, SYS.TS$ TS, SYS.USER$ U, SYS.OBJ$ O, SYS.TAB$ T, SYS.MON_MODS_ALL$ M, OPTSTAT_USER_PREFS$ P, SYS.OPTSTAT_USER_PREFS$ P1, SYS.OPTSTAT_USER_PREFS$ P2, SYS.OPTSTAT_USER_PREFS$ P3 WHERE (BITAND(DBMS_STATS_INTERNAL.DECODE_GRANULARITY(T.OBJ#, :B7 ), :B6 ) <> 0) AND O.TYPE# = 2 AND T.OBJ# = O.OBJ# AND O.OWNER# = U.USER# AND M.OBJ#(+) = T.OBJ# AND T.FILE# = S.FILE#(+) AND T.BLOCK# = S.BLOCK#(+) AND T.TS# = S.TS#(+) AND TS.TS#(+) = S.TS# AND BITAND(T.TRIGFLAG,67108864) != 67108864 AND BITAND(T.PROPERTY,64+512) = 0 AND BITAND(T.FLAGS,536870912) != 536870912 AND BITAND(T.FLAGS,2097152) != 2097152 AND BITAND(O.FLAGS, 128) != 128 AND (BITAND(T.PROPERTY,4194304) != 4194304 AND BITAND(T.PROPERTY,8388608) != 8388608) AND BITAND(T.PROPERTY,4294967296) != 4294967296 AND NOT (BITAND(O.FLAGS, 16) = 16 AND (O.NAME LIKE 'DR$%' OR O.NAME LIKE 'DR#%')) AND NOT (U.NAME = 'SYS' AND O.NAME IN ('SUMDELTA$', 'SNAP_XCMT$')) AND O.OBJ# = P.OBJ#(+) AND P.PNAME(+) = 'STALE_PERCENT' AND O.OBJ# = P1.OBJ#(+) AND P1.PNAME(+) = 'APPROXIMATE_NDV_ALGORITHM' AND O.OBJ# = P2.OBJ#(+) AND P2.PNAME(+) = 'INCREMENTAL' AND O.OBJ# = P3.OBJ#(+) AND P3.PNAME(+) = 'INCREMENTAL_STALENESS' AND (U.NAME,O.NAME) NOT IN (SELECT /*+ unnest */ * FROM (SELECT MOWNER,LOG FROM MLOG$ UNION ALL SELECT MOWNER,TEMP_LOG FROM MLOG$ WHERE TEMP_LOG IS NOT NULL)) AND BITAND(T.PROPERTY, :B5 ) != :B5 AND ((BITAND(T.FLAGS,16) = 16 AND DBMS_STATS_INTERNAL.IS_STALE(T.OBJ#, NULL,NULL,M.INSERTS+M.UPDATES+M.DELETES, T.ROWCNT,M.FLAGS) IS NOT NULL OR BITAND(T.FLAGS,16) != 16) OR (NVL(P1.VALCHAR, :B4 ) = 'HYPERLOGLOG' AND NVL(P2.VALCHAR, :B3 ) = 'TRUE' AND (P3.VALCHAR LIKE '%ALLOW_MIXED_FORMAT%' OR P3.VALCHAR IS NULL AND :B2 = 1) AND :B1 <> 0 AND EXISTS (SELECT NULL FROM HIST_HEAD$ H WHERE H.OBJ# = O.OBJ# AND BITAND(H.SPARE2, 2048) = 2048)) ) UNION ALL SELECT STALENESS, OSIZE, OBJ#, TYPE#, CASE WHEN ROW_NUMBER() OVER (PARTITION BY BO# ORDER BY STALENESS, OSIZE, OBJ#) = 1 THEN :B23 ELSE 0 END + :B28 + AFLAGS AFLAGS, 0 STATUS, :B9 SID, :B8 SERIAL#, PART#, BO#, LOC_STALE_PCT FROM ( SELECT /*+ no_expand dynamic_sampling(4) dynamic_sampling_est_cdn */ DECODE(BITAND(T.FLAGS,2), 2, ROUND( LOG(0.01, NVL( LEAST( 100, GREATEST( 0.01, (DECODE(BITAND(M.FLAGS, :B22 ), :B22 , GREATEST(T.ROWCNT, M.INSERTS), LEAST((M.INSERTS + M.DELETES + M.UPDATES), GREATEST(T.ROWCNT, (T.ROWCNT + M.INSERTS - M.DELETES)))) / (T.ROWCNT + 0.01)))), 0.01)), 1), -100.0) STALENESS, DBMS_STATS_INTERNAL.SEGMENT_NUMBER_BLOCKS(T.TS#, T.FILE#, T.BLOCK#, S.TYPE#, S.CACHEHINT, NVL(S.SPARE1,0), O.DATAOBJ#, S.BLOCKS, 'TRUE') * TS.BLOCKSIZE OSIZE, O.OBJ# OBJ#, O.TYPE# TYPE#, T.PART# PART#, T.BO# BO#, TO_NUMBER(P.VALCHAR) LOC_STALE_PCT, CASE WHEN (BITAND(T.FLAGS,2) = 2 AND (BITAND(M.FLAGS,:B22 ) != 0 OR (M.INSERTS + M.UPDATES + M.DELETES) > NVL(TO_NUMBER(P.VALCHAR), :B21 )/100 * T.ROWCNT)) THEN :B20 WHEN (BITAND(T.FLAGS,2) != 2) THEN :B19 WHEN (BITAND(M.FLAGS,:B18 ) = :B18 ) THEN :B17 ELSE 0 END + CASE WHEN (BITAND(M.FLAGS,:B16 ) = :B16 ) THEN :B15 ELSE 0 END + CASE WHEN (BITAND(M.FLAGS,:B14 ) = :B14 ) THEN :B13 ELSE 0 END + CASE WHEN NVL(P1.VALCHAR, :B4 ) = 'HYPERLOGLOG' AND NVL(P2.VALCHAR, :B3 ) = 'TRUE' AND (P3.VALCHAR LIKE '%ALLOW_MIXED_FORMAT%' OR P3.VALCHAR IS NULL AND :B2 = 1) THEN :B10 ELSE 0 END AFLAGS FROM SYS.SEG$ S, SYS.TS$ TS, SYS.OBJ$ O, SYS.TABPART$ T, SYS.TAB$ TAB, SYS.OBJ$ OT, SYS.MON_MODS_ALL$ M, SYS.OPTSTAT_USER_PREFS$ P, SYS.OPTSTAT_USER_PREFS$ P1, SYS.OPTSTAT_USER_PREFS$ P2, SYS.OPTSTAT_USER_PREFS$ P3 WHERE O.TYPE# = 19 AND S.TYPE# = 5 AND DBMS_STATS_INTERNAL.GET_TAB_SHARE_TYPE_VIEW(OT.FLAGS, TAB.PROPERTY) NOT IN (:B26 , :B25 ) AND T.OBJ# = O.OBJ# AND TAB.OBJ# = T.BO# AND M.OBJ#(+) = T.OBJ# AND T.FILE# = S.FILE# AND T.BLOCK# = S.BLOCK# AND T.TS# = S.TS# AND TS.TS# = S.TS# AND BITAND(TAB.TRIGFLAG,67108864) != 67108864 AND BITAND(TAB.PROPERTY,512) != 512 AND BITAND(TAB.FLAGS,536870912) != 536870912 AND BITAND(T.FLAGS,2097152) != 2097152 AND BITAND(T.FLAGS, 32) != 32 AND TAB.OBJ# = OT.OBJ# AND BITAND(OT.FLAGS,128) != 128 AND NOT (BITAND(O.FLAGS, 16) = 16 AND (O.NAME LIKE 'DR$%' OR O.NAME LIKE 'DR#%')) AND TAB.OBJ# = P.OBJ#(+) AND P.PNAME(+) = 'STALE_PERCENT' AND T.BO# = P1.OBJ#(+) AND P1.PNAME(+) = 'APPROXIMATE_NDV_ALGORITHM' AND T.BO# = P2.OBJ#(+) AND P2.PNAME(+) = 'INCREMENTAL' AND T.BO# = P3.OBJ#(+) AND P3.PNAME(+) = 'INCREMENTAL_STALENESS' AND ((BITAND(T.FLAGS,2) = 2 AND DBMS_STATS_INTERNAL.IS_STALE(TAB.OBJ#, NULL,NULL,M.INSERTS+M.UPDATES+M.DELETES, T.ROWCNT,M.FLAGS) IS NOT NULL) OR (BITAND(T.FLAGS,2) != 2) OR (NVL(P1.VALCHAR, :B4 ) = 'HYPERLOGLOG' AND NVL(P2.VALCHAR, :B3 ) = 'TRUE' AND (P3.VALCHAR LIKE '%ALLOW_MIXED_FORMAT%' OR P3.VALCHAR IS NULL AND :B2 = 1) AND :B1 <> 0 AND EXISTS (SELECT NULL FROM SYS.WRI$_OPTSTAT_SYNOPSIS_HEAD$ H WHERE H.BO# = T.BO# AND H.GROUP# = T.OBJ# * 2 AND H.SPARE1 IS NULL AND T.ROWCNT > 0))) UNION ALL SELECT /*+ no_expand dynamic_sampling(4) dynamic_sampling_est_cdn */ DECODE(BITAND(T.FLAGS,2), 2, ROUND( LOG(0.01, NVL( LEAST( 100, GREATEST( 0.01, (DECODE(BITAND(M.FLAGS,:B22 ), :B22 , GREATEST(T.ROWCNT, M.INSERTS), LEAST((M.INSERTS + M.DELETES + M.UPDATES), GREATEST(T.ROWCNT, (T.ROWCNT + M.INSERTS - M.DELETES)))) / (T.ROWCNT + 0.01)))), 0.01)), 1), -100.0) STALENESS, DBMS_STATS_INTERNAL.GET_TABLE_BLOCK_COUNT(U.NAME,O.NAME, O.SUBNAME,NULL, '(-376, -942)') * :B24 OSIZE, O.OBJ# OBJ#, O.TYPE# TYPE#, T.PART# PART#, T.BO# BO#, TO_NUMBER(P.VALCHAR) LOC_STALE_PCT, CASE WHEN (BITAND(T.FLAGS,2) = 2 AND (BITAND(M.FLAGS,:B22 ) != 0 OR (M.INSERTS + M.UPDATES + M.DELETES) > NVL(TO_NUMBER(P.VALCHAR), :B21 )/100 * T.ROWCNT)) THEN :B20 WHEN (BITAND(T.FLAGS,2) != 2) THEN :B19 WHEN (BITAND(M.FLAGS,:B18 ) = :B18 ) THEN :B17 ELSE 0 END + CASE WHEN (BITAND(M.FLAGS,:B16 ) = :B16 ) THEN :B15 ELSE 0 END + CASE WHEN (BITAND(M.FLAGS,:B14 ) = :B14 ) THEN :B13 ELSE 0 END + CASE WHEN NVL(P1.VALCHAR, :B4 ) = 'HYPERLOGLOG' AND NVL(P2.VALCHAR, :B3 ) = 'TRUE' AND (P3.VALCHAR LIKE '%ALLOW_MIXED_FORMAT%' OR P3.VALCHAR IS NULL AND :B2 = 1) THEN :B10 ELSE 0 END AFLAGS FROM SYS.OBJ$ O, SYS.USER$ U, SYS.TABCOMPART$ T, SYS.TAB$ TAB, SYS.OBJ$ OT, SYS.MON_MODS_ALL$ M, SYS.OPTSTAT_USER_PREFS$ P, SYS.OPTSTAT_USER_PREFS$ P1, SYS.OPTSTAT_USER_PREFS$ P2, SYS.OPTSTAT_USER_PREFS$ P3 WHERE O.TYPE# = 19 AND DBMS_STATS_INTERNAL.GET_TAB_SHARE_TYPE_VIEW(OT.FLAGS, TAB.PROPERTY) NOT IN (:B26 , :B25 ) AND T.OBJ# = O.OBJ# AND O.OWNER# = U.USER# AND TAB.OBJ# = T.BO# AND M.OBJ#(+) = T.OBJ# AND BITAND(TAB.TRIGFLAG,67108864) != 67108864 AND BITAND(T.FLAGS, 32) != 32 AND TAB.OBJ# = OT.OBJ# AND BITAND(OT.FLAGS,128) != 128 AND NOT (BITAND(O.FLAGS, 16) = 16 AND (O.NAME LIKE 'DR$%' OR O.NAME LIKE 'DR#%')) AND TAB.OBJ# = P.OBJ#(+) AND P.PNAME(+) = 'STALE_PERCENT' AND T.BO# = P1.OBJ#(+) AND P1.PNAME(+) = 'APPROXIMATE_NDV_ALGORITHM' AND T.BO# = P2.OBJ#(+) AND P2.PNAME(+) = 'INCREMENTAL' AND T.BO# = P3.OBJ#(+) AND P3.PNAME(+) = 'INCREMENTAL_STALENESS' AND ((BITAND(T.FLAGS,2) = 2 AND DBMS_STATS_INTERNAL.IS_STALE(TAB.OBJ#, NULL,NULL,M.INSERTS+M.UPDATES+M.DELETES, T.ROWCNT,M.FLAGS) IS NOT NULL) OR (BITAND(T.FLAGS,2) != 2) OR (NVL(P1.VALCHAR, :B4 ) = 'HYPERLOGLOG' AND NVL(P2.VALCHAR, :B3 ) = 'TRUE' AND (P3.VALCHAR LIKE '%ALLOW_MIXED_FORMAT%' OR P3.VALCHAR IS NULL AND :B2 = 1) AND :B1 <> 0 AND EXISTS (SELECT NULL FROM SYS.WRI$_OPTSTAT_SYNOPSIS_HEAD$ H WHERE H.BO# = T.BO# AND H.GROUP# = T.OBJ# * 2 AND H.SPARE1 IS NULL AND T.ROWCNT > 0))) ) WHERE BITAND(DBMS_STATS_INTERNAL.DECODE_GRANULARITY(BO#, :B7 ), :B27 ) <> 0 UNION ALL SELECT STALENESS, OSIZE, OBJ#, TYPE#, CASE WHEN ROW_NUMBER() OVER (PARTITION BY BO# ORDER BY STALENESS, OSIZE, OBJ#) = 1 THEN :B28 ELSE 0 END + CASE WHEN ROW_NUMBER() OVER (PARTITION BY (SELECT TCP0.BO# FROM TABCOMPART$ TCP0 WHERE TCP0.OBJ#=ST0.BO#) ORDER BY STALENESS, OSIZE, OBJ#) = 1 THEN :B23 ELSE 0 END + AFLAGS AFLAGS, 0 STATUS, :B9 SID, :B8 SERIAL#, PART#, BO#, LOC_STALE_PCT FROM (SELECT /*+ no_expand dynamic_sampling(4) dynamic_sampling_est_cdn */ DECODE(BITAND(T.FLAGS,2), 2, ROUND( LOG(0.01, NVL( LEAST( 100, GREATEST( 0.01, (DECODE(BITAND(M.FLAGS,:B22 ), :B22 , GREATEST(T.ROWCNT, M.INSERTS), LEAST((M.INSERTS + M.DELETES + M.UPDATES), GREATEST(T.ROWCNT, (T.ROWCNT + M.INSERTS - M.DELETES)))) / (T.ROWCNT + 0.01)))), 0.01)), 1), -100.0) STALENESS, DBMS_STATS_INTERNAL.SEGMENT_NUMBER_BLOCKS(T.TS#, T.FILE#, T.BLOCK#, S.TYPE#, S.CACHEHINT, NVL(S.SPARE1,0), O.DATAOBJ#, S.BLOCKS, 'TRUE') * TS.BLOCKSIZE OSIZE, O.OBJ# OBJ#, O.TYPE# TYPE#, T.SUBPART# PART#, T.POBJ# BO#, TO_NUMBER(P.VALCHAR) LOC_STALE_PCT, CASE WHEN (BITAND(T.FLAGS,2) = 2 AND (BITAND(M.FLAGS,:B22 ) != 0 OR (M.INSERTS + M.UPDATES + M.DELETES) > NVL(TO_NUMBER(P.VALCHAR), :B21 )/100 * T.ROWCNT)) THEN :B20 WHEN (BITAND(T.FLAGS,2) != 2) THEN :B19 WHEN (BITAND(M.FLAGS,:B18 ) = :B18 ) THEN :B17 ELSE 0 END + CASE WHEN (BITAND(M.FLAGS,:B16 ) = :B16 ) THEN :B15 ELSE 0 END + CASE WHEN (BITAND(M.FLAGS,:B14 ) = :B14 ) THEN :B13 ELSE 0 END AFLAGS FROM SYS.SEG$ S, SYS.TS$ TS, SYS.OBJ$ O, SYS.TABSUBPART$ T, SYS.TABCOMPART$ TCP, SYS.TAB$ TAB, SYS.OBJ$ OT, SYS.MON_MODS_ALL$ M, SYS.PARTOBJ$ PO, SYS.OPTSTAT_USER_PREFS$ P WHERE O.TYPE# = 34 AND S.TYPE# = 5 AND DBMS_STATS_INTERNAL.GET_TAB_SHARE_TYPE_VIEW(OT.FLAGS, TAB.PROPERTY) NOT IN (:B26 , :B25 ) AND T.OBJ# = O.OBJ# AND M.OBJ#(+) = T.OBJ# AND T.FILE# = S.FILE# AND T.BLOCK# = S.BLOCK# AND T.TS# = S.TS# AND TS.TS# = S.TS# AND TCP.OBJ# = T.POBJ# AND TCP.BO# = TAB.OBJ# AND PO.OBJ# = TAB.OBJ# AND (((BITAND(DBMS_STATS_INTERNAL.DECODE_GRANULARITY(TAB.OBJ#, :B7 ), :B30 ) <> 0) AND BITAND(PO.SPARE2, 255) = 2) OR ((BITAND(DBMS_STATS_INTERNAL.DECODE_GRANULARITY(TAB.OBJ#, :B7 ), :B29 ) <> 0) AND BITAND(PO.SPARE2, 255) NOT IN (0, 2))) AND BITAND(TAB.TRIGFLAG,67108864) != 67108864 AND TAB.OBJ# = OT.OBJ# AND BITAND(OT.FLAGS,128) != 128 AND NOT (BITAND(O.FLAGS, 16) = 16 AND (O.NAME LIKE 'DR$%' OR O.NAME LIKE 'DR#%')) AND BITAND(TCP.FLAGS, 32) != 32 AND TAB.OBJ# = P.OBJ#(+) AND P.PNAME(+) = 'STALE_PERCENT' AND ((BITAND(T.FLAGS,2) = 2 AND DBMS_STATS_INTERNAL.IS_STALE(TA B.OBJ#,NULL,NULL,M.INSERTS+M.UPDATES+M.DELETES, T.ROWCNT, M.FLAGS) IS NOT NULL) OR (BITAND(T.FLAGS,2) != 2))) ST0 UNION ALL SELECT /*+ no_expand dynamic_sampling(4) dynamic_sampling_est_cdn */ DECODE(BITAND(I.FLAGS,2), 2, ROUND( LOG(0.01, NVL( LEAST( 100, GREATEST( 0.01, (DECODE(CM.TRUNC, 1, GREATEST(CM.ROWCNT, CM.INSERTS), CM.TOT_MODS/(CM.ROWCNT + 0.01))))), 0.01)), 1), -100.0) STALENESS, DBMS_STATS_INTERNAL.SEGMENT_NUMBER_BLOCKS(I.TS#, I.FILE#, I.BLOCK#, S.TYPE#, S.CACHEHINT, NVL(S.SPARE1,0), O.DATAOBJ#, S.BLOCKS, 'TRUE') * TS.BLOCKSIZE OSIZE, O.OBJ# OBJ#, O.TYPE# TYPE#, :B23 + CASE WHEN (BITAND(I.FLAGS, 2) != 0 AND (CM.TRUNC > 0 OR CM.TOT_MODS > NVL(TO_NUMBER(P.VALCHAR), :B21 )/100 * CM.ROWCNT)) THEN :B20 WHEN (BITAND(I.FLAGS, 2) = 0) THEN :B19 ELSE 0 END AFLAGS, 0 STATUS, :B9 SID, :B8 SERIAL#, NULL PART#, I.BO# BO#, TO_NUMBER(P.VALCHAR) LOC_STALE_PCT FROM SYS.SEG$ S, SYS.TS$ TS, SYS.OBJ$ O, SYS.IND$ I, SYS.OPTSTAT_USER_PREFS$ P, (SELECT BOBJ#, SUM(BITAND(T.TRIGFLAG, 67108864)/67108864) LOCKED, SUM(BITAND(M.FLAGS,:B22 ))/COUNT(M.FLAGS) TRUNC, SUM(M.INSERTS+M.DELETES) TOT_MODS, SUM(M.INSERTS) INSERTS, SUM(T.ROWCNT) ROWCNT FROM MON_MODS_ALL$ M, TAB$ T WHERE M.OBJ#(+) = T.OBJ# AND T.CLUCOLS IS NOT NULL GROUP BY BOBJ#) CM WHERE DBMS_STATS_INTERNAL.GET_TAB_SHARE_TYPE_VIEW(O.FLAGS, 0) != :B26 AND ((DBMS_STATS_INTERNAL.GATHER_INDEX(CM.BOBJ#, :B31 ) IS NOT NULL) AND O.TYPE# = 1 AND S.TYPE# = 6 AND I.TYPE# = 3 AND I.OBJ# = O.OBJ# AND I.BO# = CM.BOBJ#(+) AND I.FILE# = S.FILE# AND I.BLOCK# = S.BLOCK# AND I.TS# = S.TS# AND TS.TS# = S.TS# AND BITAND(O.FLAGS, 128) != 128 AND O.OBJ# = P.OBJ#(+) AND P.PNAME(+) = 'STALE_PERCENT' AND (BITAND(I.FLAGS, 2) = 0 OR (BITAND(I.FLAGS, 2) != 0 AND (CM.TRUNC > 0 OR CM.TOT_MODS > NVL(TO_NUMBER(P.VALCHAR), :B21 )/100 * CM.ROWCNT))) AND CM.LOCKED = 0 AND BITAND(I.FLAGS,1+8+16+1024+4096) = 0) UNION ALL 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, :B22 ), :B22 , GREATEST(T.ROWCNT, M.INSERTS), LEAST((M.INSERTS + M.DELETES + M.UPDATES), GREATEST(T.ROWCNT, (T.ROWCNT + M.INSERTS - M.DELETES)))) / (T.ROWCNT + 0.01)))), 0.01)), 1), -100.0) STALENESS, CASE WHEN BITAND(I.PROPERTY, 2) = 2 OR I.FILE# = 0 THEN DBMS_STATS_INTERNAL.GET_INDEX_BLOCK_COUNT(U.NAME, OI.NAME, NULL, NULL, 'TRUE') WHEN S.TYPE# = 6 THEN DBMS_STATS_INTERNAL.SEGMENT_NUMBER_BLOCKS(I.TS#, I.FILE#, I.BLOCK#, S.TYPE#, S.CACHEHINT, NVL(S.SPARE1,0), I.DATAOBJ#, S.BLOCKS, 'TRUE') ELSE NULL END * NVL(TS.BLOCKSIZE, :B24 ) OSIZE, OT.OBJ# OBJ#, OT.TYPE# TYPE#, :B23 + CASE WHEN (BITAND(T.FLAGS,16) = 16 AND (BITAND(M.FLAGS,:B22 ) != 0 OR (M.INSERTS + M.UPDATES + M.DELETES) > NVL(TO_NUMBER(P.VALCHAR), :B21 )/100 * T.ROWCNT)) THEN :B20 WHEN (BITAND(T.FLAGS,16) != 16) THEN :B19 WHEN (BITAND(M.FLAGS,:B18 ) = :B18 ) THEN :B17 ELSE 0 END + CASE WHEN (BITAND(M.FLAGS,:B16 ) = :B16 ) THEN :B15 ELSE 0 END + CASE WHEN (BITAND(M.FLAGS,:B14 ) = :B14 ) THEN :B13 ELSE 0 END AFLAGS, 0 STATUS, :B9 SID, :B8 SERIAL#, NULL PART#, NULL BO#, TO_NUMBER(P.VALCHAR) LOC_STALE_PCT FROM SYS.USER$ U, SYS.OBJ$ OT, SYS.IND$ I, SYS.SEG$ S, SYS.MON_MODS_ALL$ M, SYS.TS$ TS, SYS.TAB$ T, SYS.OBJ$ OI, OPTSTAT_USER_PREFS$ P WHERE (BITAND(DBMS_STATS_INTERNAL.DECODE_GRANULARITY(T.OBJ#, :B7 ), :B6 ) <> 0) AND I.TYPE# = 4 AND I.BO# = OT.OBJ# AND BITAND(OT.FLAGS,128) != 128 AND OT.OWNER# = U.USER# AND M.OBJ#(+) = OT.OBJ# AND I.FILE# = S.FILE#(+) AND I.BLOCK# = S.BLOCK#(+) AND I.TS# = S.TS#(+) AND TS.TS#(+) = S.TS# AND T.OBJ# = OT.OBJ# AND I.OBJ# = OI.OBJ# AND NOT (BITAND(OT.FLAGS, 16) = 16 AND (OT.NAME LIKE 'DR$%' OR OT.NAME LIKE 'DR#%')) AND BITAND(T.TRIGFLAG, 67108864) != 67108864 AND OT.OBJ# = P.OBJ#(+) AND P.PNAME(+) = 'STALE_PERCENT' AND ((BITAND(T.FLAGS,16) = 16 AND ((BITAND(M.FLAGS,:B22 ) = :B22 ) OR ((M.INSERTS + M.UPDATES + M.DELETES) > NVL(TO_NUMBER(P.VALCHAR), :B21 )/100 * T.ROWCNT))) OR (BITAND(M.FLAGS, :B18 ) = :B18 ) OR (BITAND(T.FLAGS,16) != 16)) AND DBMS_STATS_INTERNAL.GET_TAB_SHARE_TYPE_VIEW(OT.FLAGS, T.PROPERTY) NOT IN (:B26 , :B25 ) UNION ALL SELECT /*+ leading(i t) no_expand dynamic_sampling(4) dynamic_sampling_est_cdn */ STALENESS, OSIZE, OBJ#, TYPE#, CASE WHEN ROW_NUMBER() OVER (PARTITION BY BO# ORDER BY STALENESS, OSIZE, OBJ#) = 1 THEN :B23 ELSE 0 END + :B28 + AFLAGS AFLAGS, 0 STATUS, :B9 SID, :B8 SERIAL#, PART#, BO#, LOC_STALE_PCT FROM (SELECT DECODE(BITAND(TP.FLAGS,2), 2, ROUND( LOG(0.01, NVL( LEAST( 100, GREATEST( 0.01, (DECODE(BITAND(M.FLAGS, :B22 ), :B22 , GREATEST(TP.ROWCNT, M.INSERTS), LEAST((M.INSERTS + M.DELETES + M.UPDATES), GREATEST(TP.ROWCNT, (TP.ROWCNT + M.INSERTS - M.DELETES)))) / (TP.ROWCNT + 0.01)))), 0.01)), 1), -100.0) STALENESS, DBMS_STATS_INTERNAL.SEGMENT_NUMBER_BLOCKS(IP.TS#, IP.FILE#, IP.BLOCK#, S.TYPE#, S.CACHEHINT, NVL(S.SPARE1,0), IP.DATAOBJ#, S.BLOCKS, 'TRUE') * TS.BLOCKSIZE OSIZE, OT.OBJ# OBJ#, OT.TYPE# TYPE#, TP.PART# PART#, TP.BO# BO#, TO_NUMBER(P.VALCHAR) LOC_STALE_PCT, CASE WHEN (BITAND(TP.FLAGS,2) = 2 AND (BITAND(M.FLAGS,:B22 ) != 0 OR (M.INSERTS + M.UPDATES + M.DELETES) > NVL(TO_NUMBER(P.VALCHAR), :B21 )/100 * TP.ROWCNT)) THEN :B20 WHEN (BITAND(TP.FLAGS,2) != 2) THEN :B19 WHEN (BITAND(M.FLAGS,:B18 ) = :B18 ) THEN :B17 ELSE 0 END + CASE WHEN (BITAND(M.FLAGS,:B16 ) = :B16 ) THEN :B15 ELSE 0 END + CASE WHEN (BITAND(M.FLAGS,:B14 ) = :B14 ) THEN :B13 ELSE 0 END AFLAGS FROM SYS.USER$ U, SYS.OBJ$ OT, SYS.IND$ I, SYS.INDPART$ IP, SYS.TABPART$ TP, SYS.SEG$ S, SYS.MON_MODS_ALL$ M, SYS.TS$ TS, SYS.TAB$ T, SYS.OPTSTAT_USER_PREFS$ P WHERE I.TYPE# = 4 AND S.TYPE# = 6 AND OT.OWNER# = U.USER# AND I.OBJ# = IP.BO# AND IP.PART# = TP.PART# AND TP.OBJ# = OT.OBJ# AND I.BO# = TP.BO# AND BITAND(OT.FLAGS,128) != 128 AND M.OBJ#(+) = OT.OBJ# AND IP.FILE# = S.FILE# AND IP.BLOCK# = S.BLOCK# AND IP.TS# = S.TS# AND TS.TS# = S.TS# AND I.BO# = T.OBJ# AND NOT (BITAND(OT.FLAGS, 16) = 16 AND (OT.NAME LIKE 'DR$%' OR OT.NAME LIKE 'DR#%')) AND BITAND(T.TRIGFLAG,67108864) != 67108864 AND BITAND(TP.FLAGS, 32) != 32 AND DBMS_STATS_INTERNAL.GET_TAB_SHARE_TYPE_VIEW(OT.FLAGS, T.PROPERTY) NOT IN (:B26 , :B25 ) AND T.OBJ# = P.OBJ#(+) AND P.PNAME(+) = 'STALE_PERCENT' AND ((BITAND(TP.FLAGS,2) = 2 AND ((BITAND(M.FLAGS,:B22 ) = :B22 ) OR ((M.INSERTS + M.UPDATES + M.DELETES) > NVL(TO_NUMBER(P.VALCHAR), :B21 )/100 * TP.ROWCNT))) OR (BITAND(M.FLAGS, :B16 ) = :B16 ) OR (BITAND(M.FLAGS, :B14 ) = :B14 ) OR (BITAND(M.FLAGS, :B18 ) = :B18 ) OR (BITAND(TP.FLAGS,2) != 2))) WHERE BITAND(DBMS_STATS_INTERNAL.DECODE_GRANULARITY(BO#, :B7 ), :B27 ) <> 0 UNION ALL SELECT /*+ ordered */ -99 STALENESS, 100*:B24 OSIZE, I.OBJ# OBJ#, 1 TYPE#, :B23 + :B19 AFLAGS, 0 STATUS, :B9 SID, :B8 SERIAL#, NULL PART#, I.BO# BO#, NULL LOC_STALE_PCT FROM SYS.IND$ I, SYS.TAB$ T, SYS.OBJ$ O, USER$ U WHERE (DBMS_STATS_INTERNAL.GATHER_INDEX(I.BO#, :B31 ) IS NOT NULL) AND (BITAND(DBMS_STATS_INTERNAL.DECODE_GRANULARITY(I.BO#, :B7 ), :B6 ) <> 0) AND BITAND(I.PROPERTY,32) != 32 AND BITAND(I.PROPERTY,64) != 64 AND BITAND(I.FLAGS,2) != 2 AND I.BO# = T.OBJ# AND BITAND(T.TRIGFLAG, 67108864) != 67108864 AND BITAND(T.FLAGS, 16) = 16 AND I.OBJ# = O.OBJ# AND I.TYPE# != 4 AND I.TYPE# != 8 AND BITAND(I.FLAGS,1+8+16+1024+4096) = 0 AND BITAND(O.FLAGS, 128) != 128 AND O.OWNER# = U.USER# AND NOT (U.NAME = 'SYS' AND O.NAME = 'I_SUMDELTA$') UNION ALL SELECT /*+ ordered */ -99 STALENESS, 100*:B24 OSIZE, I.OBJ# OBJ#, 20 TYPE#, :B28 + :B19 AFLAGS, 0 STATUS, :B9 SID, :B8 SERIAL#, I.PART# PART#, I.BO# BO#, NULL LOC_STALE_PCT FROM (SELECT OBJ#, BO#, PART#, FLAGS FROM SYS.INDPART$ WHERE BITAND(FLAGS,2) != 2 UNION ALL SELECT OBJ#, BO#, PART#, FLAGS FROM SYS.INDCOMPART$ WHERE BITAND(FLAGS,2) != 2 ) I, SYS.IND$ IND, SYS.TAB$ T, SYS.OBJ$ OI WHERE (DBMS_STATS_INTERNAL.GATHER_INDEX(I.BO#, :B31 ) IS NOT NULL) AND (BITAND(DBMS_STATS_INTERNAL.DECODE_GRANULARITY(I.BO#, :B7 ), :B27 ) <> 0) AND I.BO# = IND.OBJ# AND IND.TYPE# != 4 AND IND.TYPE# != 8 AND BITAND(IND.FLAGS,1+8+16+1024+4096) = 0 AND IND.BO# = T.OBJ# AND BITAND(T.TRIGFLAG, 67108864) != 67108864 AND IND.OBJ# = OI.OBJ# AND BITAND(OI.FLAGS, 128) != 128 UNION ALL SELECT /*+ ordered */ -99 STALENESS, 100*:B24 OSIZE, I.OBJ# OBJ#, 35 TYPE#, :B19 AFLAGS, 0 STATUS, :B9 SID, :B8 SERIAL#, I.SUBPART# PART#, I.POBJ# BO#, NULL LOC_STALE_PCT FROM SYS.INDSUBPART$ I, SYS.INDCOMPART$ ICP, SYS.IND$ IND, SYS.TAB$ T, SYS.PARTOBJ$ PO, SYS.OBJ$ OI WHERE (DBMS_STATS_INTERNAL.GATHER_INDEX(IND.BO#, :B31 ) IS NOT NULL) AND BITAND(I.FLAGS,2) != 2 AND I.POBJ# = ICP.OBJ# AND ICP.BO# = IND.OBJ# AND IND.TYPE# != 4 AND IND.TYPE# != 8 AND BITAND(IND.FLAGS,1+8+16+1024+4096) = 0 AND IND.BO# = T.OBJ# AND BITAND(T.TRIGFLAG, 67108864) != 67108864 AND IND.OBJ# = PO.OBJ# AND (((BITAND(DBMS_STATS_INTERNAL.DECODE_GRANULARITY(IND.BO#, :B7 ), :B30 ) <> 0) AND BITAND(PO.SPARE2, 255) = 2) OR ((BITAND(DBMS_STATS_INTERNAL.DECODE_GRANULARITY(IND.BO#, :B7 ), :B29 ) <> 0) AND BITAND(PO.SPARE2, 255) NOT IN (0, 2))) AND IND.OBJ# = OI.OBJ# AND BITAND(OI.FLAGS, 128) != 128 UNION ALL SELECT /*+ use_hash(fxt, fobj) */ -100 STALENESS, 0 OSIZE, FXT.KQFTAOBJ OBJ#, 2 TYPE#, :B23 + :B19 + :B33 AFLAGS, 0 STATUS, :B9 SID, :B8 SERIAL#, NULL PART#, NULL BO#, 0 LOC_STALE_PCT FROM SYS.X$KQFTA FXT, FIXED_OBJ$ FOBJ, X$KQFOPT OPT WHERE :B32 IS NOT NULL AND BITAND(FXT.KQFTAFLG, 16) != 16 AND FOBJ.OBJ# = FXT.KQFTAOBJ AND BITAND(FOBJ.FLAGS,1) != 1 AND BITAND(FOBJ.FLAGS, 67108864) != 67108864 AND FOBJ.OBJ# = OPT.KQFOPTOBJ(+) AND (OPT.KQFOPTFLAGS IS NULL OR BITAND(OPT.KQFOPTFLAGS, 16+32) = 0) ) WHERE OSIZE IS NOT NULL AND OSIZE >= 0 ) NEW ON (ST.OBJ# = NEW.OBJ#) WHEN MATCHED THEN UPDATE SET ST.STALENESS = CASE WHEN BITAND(ST.FLAGS,7) > 1 THEN GREATEST(NEW.STALENESS,-0.5) + ROUND(BITAND(ST.FLAGS,7)*0.15,1) ELSE NEW.STALENESS END, ST.OSIZE = NEW.OSIZE * DECODE(BITAND(ST.FLAGS,7), 0, 1, 2), ST.FLAGS = ST.FLAGS - BITAND(ST.FLAGS, :B23 + :B28 + :B17 + :B20 + :B19 + :B36 + :B13 + :B11 + :B15 + :B33 ) + 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, :B9 , :B8 , NEW.PART#, NEW.BO#)
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. This plan was skipped because either the database is not fully open or the SQL statement is ineligible for SQL Plan Management.
--------------------------------------------------------------------------------------------- Object ID : 13988 Test Plan Name : SQL_PLAN_3ynrpmq7ztc5yf3f3548c Base Plan Name : Cost-based plan SQL Handle : SQL_3f52f59d8ffcb0be Parsing Schema : DBSNMP Test Plan Creator : SYS SQL Text : SELECT substr(df.file_name,-least(length(df.file_name),256)) file_nme, df.tablespace_name, df.bytes/1024/1024 allocated, (df.bytes - u.free)/1024/1024 used FROM dba_data_files df, (SELECT ts.name tablespace_name,e.file_id, NVL(SUM(e.blocks * ts.blocksize), 0) free FROM dba_lmt_free_space e, sys.ts$ ts, dba_data_files df WHERE ts.name = df.tablespace_name AND ts.ts# = e.tablespace_id AND e.file_id = df.relative_fno GROUP BY ts.name, e.file_id UNION ALL SELECT ts.name tablespace_name, fs.file_id, NVL(SUM(fs.blocks * ts.blocksize), 0) free FROM dba_dmt_free_space fs, sys.ts$ ts, dba_data_files df WHERE ts.name = df.tablespace_name AND ts.ts# = fs.tablespace_id AND fs.file_id = df.relative_fno GROUP BY ts.name, fs.file_id ) u WHERE df.tablespace_name = u.tablespace_name AND df.relative_fno = u.file_id UNION ALL SELECT substr(df.file_name,-least(length(df.file_name),256)) file_name, df.tablespace_name, df.bytes/1024/1024 allocated, nvl(u.used,0)/1024/1024 used FROM dba_temp_files df, (SELECT tablespace_name, file_id, SUM(bytes_used) used FROM gv$temp_extent_pool GROUP BY tablespace_name, file_id) u WHERE df.tablespace_name = u.tablespace_name (+) AND df.relative_fno = u.file_id (+)
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 13988, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 13989 Test Plan Name : SQL_PLAN_78ym2xjmm1wy609053339 Base Plan Name : Cost-based plan SQL Handle : SQL_747a62ec6730f3c6 Parsing Schema : SYS Test Plan Creator : SYS SQL Text : select NVL(p.name, s.con_dbid) , s.sql_id, s.sql_text, s.plan_hash_value, u.username, s.executions, s.elapsed_time, s.cpu_time, s.buffer_gets, s.disk_reads, s.module, DECODE(p.name, NULL, 'false', 'true') from dba_sqlset_statements s, dba_users u, v$database p where s.parsing_schema_id = u.user_id(+) and s.sqlset_id = :1 and s.con_dbid = p.dbid (+)
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. This plan was skipped because either the database is not fully open or the SQL statement is ineligible for SQL Plan Management.
--------------------------------------------------------------------------------------------- Object ID : 13990 Test Plan Name : SQL_PLAN_8zw8072qrhdap9a46fad3 Base Plan Name : Cost-based plan SQL Handle : SQL_8ff10038ad783555 Parsing Schema : BOTANG Test Plan Creator : SYS SQL Text : select col.*, com.Comments from sys.all_tab_columns col, sys.all_col_comments com where col.owner = 'BOTANG' and col.table_name = 'V_BANK_INVOICE_RMB_LICAI_GO_NO300' and com.Owner (+) = 'BOTANG' and com.Table_Name (+) = 'V_BANK_INVOICE_RMB_LICAI_GO_NO300' and com.Column_Name (+) = col.Column_Name order by col.column_id
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 13990, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 13991 Test Plan Name : SQL_PLAN_0tk6k4h17ptkne4ee4374 Base Plan Name : Cost-based plan SQL Handle : SQL_0cc8d224027ae654 Parsing Schema : DBSNMP Test Plan Creator : SYS SQL Text : SELECT TASKS.TASK_ID, TASKS.EXECUTION_START START_TIME, SUBSTR(OBJ.ATTR1,1, 30) SEGOWNER, SUBSTR(OBJ.ATTR2,1, 30) SEGNAME, SUBSTR(D.OBJECT_TYPE,1, 18) SEGTYPE, SUBSTR(OBJ.ATTR3, 1,30) PARTNAME, TO_CHAR(SUBSTR(OBJ.ATTR4, 1,30)) TBSNAME, FIN.MSG_ID, FIN.MORE_INFO_ID, ACT.COMMAND, FIN.TYPE, SUBSTR(ACT.ATTR1, 1, 1000) SHKOFF, SUBSTR(ACT.ATTR2, 1, 1000) SHKON, SUBSTR(ACT.ATTR3, 1, 1000) ROWM FROM SYS.DBA_ADVISOR_TASKS TASKS, SYS.WRI$_ADV_FINDINGS FIN, SYS.WRI$_ADV_OBJECTS OBJ, SYS.DBA_ADVISOR_OBJECT_TYPES D, SYS.WRI$_ADV_RECOMMENDATIONS REC, SYS.WRI$_ADV_ACTIONS ACT WHERE TASKS.ADVISOR_ID = 5 AND TASKS.TASK_ID = ACT.TASK_ID AND ACT.TASK_ID = OBJ.TASK_ID AND ACT.OBJ_ID = OBJ.ID AND OBJ.TYPE = D.OBJECT_TYPE_ID AND ACT.TASK_ID = FIN.TASK_ID AND ACT.OBJ_ID = FIN.OBJ_ID AND FIN.TASK_ID = REC.TASK_ID AND FIN.ID = REC.FINDING_ID AND NVL(REC.ANNOTATION,0) <> 3 ORDER BY TBSNAME, SEGOWNER, SEGNAME, SEGTYPE, START_TIME DESC
Execution Statistics: ----------------------------- Base Plan Test Plan ---------------------------- ---------------------------- Elapsed Time (s): .000062 .00045 CPU Time (s): .000069 .000436 Buffer Gets: 4 13 Optimizer Cost: 195 243 Disk Reads: 0 0 Direct Writes: 0 0 Rows Processed: 0 0 Executions: 10 10
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The plan was verified in 0.21500 seconds. It failed the benefit criterion because its verified performance was 0.15849 times worse than that of the baseline plan.
EXPLAIN PLANS SECTION ---------------------------------------------------------------------------------------------
Baseline Plan ----------------------------- Plan Id : 13721 Plan Hash Value : 3659899306
--------------------------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost | Time | --------------------------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 15 | 3705 | 195 | 00:00:01 | | 1 | SORT ORDER BY | | 15 | 3705 | 195 | 00:00:01 | | * 2 | HASH JOIN | | 15 | 3705 | 194 | 00:00:01 | | * 3 | HASH JOIN | | 83 | 19671 | 191 | 00:00:01 | | 4 | NESTED LOOPS | | 83 | 17596 | 177 | 00:00:01 | | 5 | NESTED LOOPS | | 83 | 16185 | 177 | 00:00:01 | | * 6 | HASH JOIN | | 83 | 6723 | 10 | 00:00:01 | | * 7 | HASH JOIN OUTER | | 14 | 658 | 6 | 00:00:01 | | * 8 | TABLE ACCESS BY INDEX ROWID BATCHED | WRI$_ADV_TASKS | 14 | 294 | 3 | 00:00:01 | | * 9 | INDEX RANGE SCAN | WRI$_ADV_TASKS_IDX_03 | 14 | | 2 | 00:00:01 | | * 10 | TABLE ACCESS FULL | WRI$_ADV_EXECUTIONS | 13 | 338 | 3 | 00:00:01 | | 11 | TABLE ACCESS FULL | WRI$_ADV_ACTIONS | 659 | 22406 | 4 | 00:00:01 | | 12 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_OBJECTS | 1 | 114 | 2 | 00:00:01 | | * 13 | INDEX UNIQUE SCAN | WRI$_ADV_OBJECTS_PK | 1 | | 1 | 00:00:01 | | * 14 | FIXED TABLE FIXED INDEX | X$KEAOBJT (ind:2) | 1 | 17 | 0 | 00:00:01 | | 15 | TABLE ACCESS FULL | WRI$_ADV_FINDINGS | 10162 | 254050 | 14 | 00:00:01 | | * 16 | TABLE ACCESS FULL | WRI$_ADV_RECOMMENDATIONS | 807 | 8070 | 3 | 00:00:01 | ---------------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 2 - access("FIN"."TASK_ID"="REC"."TASK_ID" AND "FIN"."ID"="REC"."FINDING_ID") * 3 - access("ACT"."TASK_ID"="FIN"."TASK_ID" AND "ACT"."OBJ_ID"="FIN"."OBJ_ID") * 6 - access("A"."ID"="ACT"."TASK_ID") * 7 - access("A"."ID"="E"."TASK_ID"(+) AND "A"."ADVISOR_ID"="E"."ADVISOR_ID"(+) AND "A"."LAST_EXEC_NAME"="E"."NAME"(+)) * 8 - filter(BITAND("A"."PROPERTY",6)=4) * 9 - access("A"."ADVISOR_ID"=5) * 10 - filter("E"."ADVISOR_ID"(+)=5) * 13 - access("ACT"."TASK_ID"="OBJ"."TASK_ID" AND "ACT"."OBJ_ID"="OBJ"."ID") * 14 - filter("OBJ"."TYPE"="A"."INDX") * 16 - filter(NVL("REC"."ANNOTATION",0)<>3)
Hint Report (identified by operation id / Query Block Name / Object Alias): Total hints for statement: 1 (U - Unused (1)) ------------------------------------------------------------------------------- 0 - STATEMENT U - NO_PARALLEL
Notes ----- - dop_reason = hint - dop = 1 - px_in_memory_imc = no - px_in_memory = no
Test Plan ----------------------------- Plan Id : 13722 Plan Hash Value : 3840820084
------------------------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost | Time | ------------------------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 107 | 26429 | 243 | 00:00:01 | | 1 | SORT ORDER BY | | 107 | 26429 | 243 | 00:00:01 | | 2 | NESTED LOOPS | | 107 | 26429 | 242 | 00:00:01 | | 3 | NESTED LOOPS | | 107 | 24610 | 242 | 00:00:01 | | * 4 | HASH JOIN OUTER | | 107 | 12412 | 28 | 00:00:01 | | * 5 | HASH JOIN | | 107 | 9630 | 24 | 00:00:01 | | * 6 | TABLE ACCESS BY INDEX ROWID BATCHED | WRI$_ADV_TASKS | 14 | 294 | 3 | 00:00:01 | | * 7 | INDEX RANGE SCAN | WRI$_ADV_TASKS_IDX_03 | 14 | | 2 | 00:00:01 | | * 8 | HASH JOIN | | 857 | 59133 | 21 | 00:00:01 | | 9 | TABLE ACCESS FULL | WRI$_ADV_ACTIONS | 659 | 22406 | 4 | 00:00:01 | | * 10 | HASH JOIN | | 807 | 28245 | 17 | 00:00:01 | | * 11 | TABLE ACCESS FULL | WRI$_ADV_RECOMMENDATIONS | 807 | 8070 | 3 | 00:00:01 | | 12 | TABLE ACCESS FULL | WRI$_ADV_FINDINGS | 10162 | 254050 | 14 | 00:00:01 | | * 13 | TABLE ACCESS FULL | WRI$_ADV_EXECUTIONS | 13 | 338 | 3 | 00:00:01 | | 14 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_OBJECTS | 1 | 114 | 2 | 00:00:01 | | * 15 | INDEX UNIQUE SCAN | WRI$_ADV_OBJECTS_PK | 1 | | 1 | 00:00:01 | | * 16 | FIXED TABLE FIXED INDEX | X$KEAOBJT (ind:2) | 1 | 17 | 0 | 00:00:01 | -------------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 4 - access("A"."ID"="E"."TASK_ID"(+) AND "A"."ADVISOR_ID"="E"."ADVISOR_ID"(+) AND "A"."LAST_EXEC_NAME"="E"."NAME"(+)) * 5 - access("A"."ID"="ACT"."TASK_ID") * 6 - filter(BITAND("A"."PROPERTY",6)=4) * 7 - access("A"."ADVISOR_ID"=5) * 8 - access("ACT"."TASK_ID"="FIN"."TASK_ID" AND "ACT"."OBJ_ID"="FIN"."OBJ_ID") * 10 - access("FIN"."TASK_ID"="REC"."TASK_ID" AND "FIN"."ID"="REC"."FINDING_ID") * 11 - filter(NVL("REC"."ANNOTATION",0)<>3) * 13 - filter("E"."ADVISOR_ID"(+)=5) * 15 - access("ACT"."TASK_ID"="OBJ"."TASK_ID" AND "ACT"."OBJ_ID"="OBJ"."ID") * 16 - filter("OBJ"."TYPE"="A"."INDX")
--------------------------------------------------------------------------------------------- Object ID : 13992 Test Plan Name : SQL_PLAN_bshcpyxyfakndea199d03 Base Plan Name : Cost-based plan SQL Handle : SQL_bc4195f77ce54a8d Parsing Schema : SYS Test Plan Creator : SYS SQL Text : select con#,type#,condlength,intcols,robj#,rcon#,match#,r efact,nvl(enabled,0),rowid,cols,nvl(defer,0),mtime,nvl(spar e1,0),spare2,spare3 from cdef$ where obj#=:1
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. This plan was skipped because either the database is not fully open or the SQL statement is ineligible for SQL Plan Management.
--------------------------------------------------------------------------------------------- Object ID : 13993 Test Plan Name : SQL_PLAN_fh22nqx1v1tnwbe4bcaab Base Plan Name : Cost-based plan SQL Handle : SQL_e80854b743b0e69c Parsing Schema : SYS Test Plan Creator : SYS SQL Text : SELECT AO.ATTR1 OBJD, SUM(AR.BENEFIT) AS BENEFIT FROM SYS.DBA_ADVISOR_ACTIONS AA, SYS.DBA_ADVISOR_OBJECTS AO, SYS.DBA_ADVISOR_RECOMMENDATIONS AR WHERE AA.TASK_ID IN ( SELECT TASK_ID FROM SYS.DBA_ADVISOR_TASKS WHERE ADVISOR_ID=1 AND EXECUTION_START > :B1 AND STATUS='COMPLETED' AND HOW_CREATED='AUTO') AND AA.COMMAND = 'RUN SEGMENT ADVISOR' AND AA.TASK_ID = AO.TASK_ID AND AA.OBJECT_ID = AO.OBJECT_ID AND AA.TASK_ID = AR.TASK_ID AND AA.REC_ID = AR.REC_ID GROUP BY AO.ATTR1 ORDER BY 2 DESC
ERRORS SECTION --------------------------------------------------------------------------------------------- ORA-16960: SQL Analyze could not reproduce the desired plan. --------------------------------------------------------------------------------------------- Object ID : 13994 Test Plan Name : SQL_PLAN_3wqt0gmyt3z2t9a46fad3 Base Plan Name : Cost-based plan SQL Handle : SQL_3e5b207cfd91fc59 Parsing Schema : BOTANG Test Plan Creator : SYS SQL Text : select col.*, com.Comments from sys.all_tab_columns col, sys.all_col_comments com where col.owner = 'BOTANG' and col.table_name = 'V_BANK_INVOICE_DIM_RMB_COST_GL' and com.Owner (+) = 'BOTANG' and com.Table_Name (+) = 'V_BANK_INVOICE_DIM_RMB_COST_GL' and com.Column_Name (+) = col.Column_Name order by col.column_id
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 13994, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 13995 Test Plan Name : SQL_PLAN_70jpuryd0pfhta66a6923 Base Plan Name : Cost-based plan SQL Handle : SQL_7046babf9a0aba19 Parsing Schema : SYS Test Plan Creator : SYS SQL Text : delete from superobj$ where subobj# = :1
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 13995, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 13996 Test Plan Name : SQL_PLAN_a4870bfgaw8m625af57be Base Plan Name : Cost-based plan SQL Handle : SQL_a220e05b9eae2266 Parsing Schema : SYS Test Plan Creator : SYS SQL Text : select name,intcol#,segcol#,type#,length,nvl(precision#,0 ),decode(type#,2,nvl(scale,-127/*MAXSB1MINAL*/),178,scale,1 79,scale,180,scale,181,scale,182,scale,183,scale,231,scale, 0),null$,fixedstorage,nvl(deflength,0),default$,rowid,col#, property, nvl(charsetid,0),nvl(charsetform,0),spare1,spare2 ,nvl(spare3,0), nvl(evaledition#,1),nvl(unusablebefore#,0), nvl(unusablebeginning#,0), case when (type# in (1,8,9,96,112)) then nvl(collid, 16382) else 0 end case, nvl(collintcol#,0), nvl(acdrrescol#, 0), nvl(spare7, 0), nvl(spare9, 0), nvl(spare10, 0) from col$ where obj#=:1 order by intcol#
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. This plan was skipped because either the database is not fully open or the SQL statement is ineligible for SQL Plan Management.
--------------------------------------------------------------------------------------------- Object ID : 13997 Test Plan Name : SQL_PLAN_39xunfh2fusqn9a46fad3 Base Plan Name : Cost-based plan SQL Handle : SQL_34f7547404ed62d4 Parsing Schema : BOTANG Test Plan Creator : SYS SQL Text : select col.*, com.Comments from sys.all_tab_columns col, sys.all_col_comments com where col.owner = 'BOTANG' and col.table_name = 'V_BANK_INVOICE_RMB_ELEC_DESC' and com.Owner (+) = 'BOTANG' and com.Table_Name (+) = 'V_BANK_INVOICE_RMB_ELEC_DESC' and com.Column_Name (+) = col.Column_Name order by col.column_id
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 13997, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 13998 Test Plan Name : SQL_PLAN_8sbbdm402ybwmc9eff7c8 Base Plan Name : Cost-based plan SQL Handle : SQL_8c2d6d99002f2f93 Parsing Schema : BOTANG Test Plan Creator : SYS SQL Text : select col.*, com.Comments from sys.all_tab_columns col, sys.all_col_comments com where col.owner = 'BOTANG' and col.table_name = 'V_BANK_INVOICE_DIM_RMB_LC_A_PF' and com.Owner (+) = 'BOTANG' and com.Table_Name (+) = 'V_BANK_INVOICE_DIM_RMB_LC_A_PF' and com.Column_Name (+) = col.Column_Name order by col.column_id
ERRORS SECTION --------------------------------------------------------------------------------------------- ORA-16960: SQL Analyze could not reproduce the desired plan. --------------------------------------------------------------------------------------------- Object ID : 13999 Test Plan Name : SQL_PLAN_14apuz65wjq3k9a46fad3 Base Plan Name : Cost-based plan SQL Handle : SQL_122abaf98bc8d872 Parsing Schema : BOTANG Test Plan Creator : SYS SQL Text : select col.*, com.Comments from sys.all_tab_columns col, sys.all_col_comments com where col.owner = 'BOTANG' and col.table_name = 'V_BANK_INVOICE_RMB_CCBSALARY_D' and com.Owner (+) = 'BOTANG' and com.Table_Name (+) = 'V_BANK_INVOICE_RMB_CCBSALARY_D' and com.Column_Name (+) = col.Column_Name order by col.column_id
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 13999, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 14000 Test Plan Name : SQL_PLAN_1fp9bfzfaufff331e7f19 Base Plan Name : Cost-based plan SQL Handle : SQL_17552b77dcad39ce Parsing Schema : APPS Test Plan Creator : SYS SQL Text : SELECT /* ORDERED INDEX(t1) USE_HASH(t1) */ 'r' || t4.elementrange_id pg_featurevalue_15_id, 'B' || t2.pg_featurevalue_01_id pg_featurevalue_01_id, 'r' || t5.elementrange_id price_eur_id, 'B' || t2.productgroup_id productgroup_id, 'G' || t6.elementgroup_id period_id, SUM(t 1.pd_sales_units*t1.pd_projection_factor*t1.pd_price_units_ eur) salesvalueeur FROM lu_item_293 t2, lu_pg_featurevalue_15 t3, lu_elementrange_rel t4, fact_pd_out_itm_293 t1, lu_elementgroup_rel t6, lu_elementrange_rel t5 WHERE /* Attribute Joins */ ((t1.item_id = t2.item_id /* Customizing Begin */ AND t1.productgroup_id = t2.productgroup_id) /* Customizing End */ AND (t2.pg_featurevalue_15_id = t3.pg_featurevalue_15_id) AND (t3.pg_featurevalue_15_num BETWEEN t4.lbound AND t4.ubound) AND (t1.pd_price_units_eur BETWEEN t5.lbound AND t5.ubound) AND (t1.period_id = t6.value_id) ) /* Attribute Filters */ AND ((t2.productgroup_id = 15520) AND (t1.productgroup_id = 15520) /* Push Down Filters */ AND (t2.pg_featurevalue_01_id IN (103,104,107,110,113,134,148,1 67,171,186,192,216,2259,236,241,2477,24958,27445,297,3891,7 1,76,89,92,95)) AND (t4.elementrange_id IN (3091,3092,3093,3107)) AND (t5.elementrange_id IN (8668,8669,8670,8671,8672,8673,8674,8675,8676,8679)) AND (t6.elementgroup_id = 14659) AND (t1.period_id IN (20030699 999060,20030799999030,20030799999060,20030799999120)) /* Resolved ElementGroup Filters */ ) /* Fact Filters */ AND (t1.project_type_id = '1' ) GROUP BY t4.elementrange_id, t2.pg_featurevalue_01_id, t5.elementrange_id, t2.productgroup_id, t6.elementgroup_id
Execution Statistics: ----------------------------- Base Plan Test Plan ---------------------------- ---------------------------- Elapsed Time (s): .078657 .016458 CPU Time (s): .078213 .016361 Buffer Gets: 19916 110 Optimizer Cost: 347 779 Disk Reads: 0 0 Direct Writes: 0 0 Rows Processed: 88 44 Executions: 4 8
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (2): ----------------------------- 1. The plan was verified in 2.64700 seconds. It passed the benefit criterion because its verified performance was 88.74102 times better than that of the baseline plan. 2. The plan was automatically accepted.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 14000, task_owner => 'SYS');
EXPLAIN PLANS SECTION ---------------------------------------------------------------------------------------------
Baseline Plan ----------------------------- Plan Id : 13727 Plan Hash Value : 546558701
---------------------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost | Time | ---------------------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 138 | 8004 | 347 | 00:00:01 | | 1 | HASH GROUP BY | | 138 | 8004 | 347 | 00:00:01 | | 2 | MERGE JOIN | | 138 | 8004 | 346 | 00:00:01 | | 3 | SORT JOIN | | 104 | 4472 | 343 | 00:00:01 | | 4 | NESTED LOOPS | | 104 | 4472 | 342 | 00:00:01 | | 5 | NESTED LOOPS | | 104 | 4472 | 342 | 00:00:01 | | 6 | VIEW | VW_GBC_16 | 104 | 2808 | 134 | 00:00:01 | | 7 | HASH GROUP BY | | 104 | 8320 | 134 | 00:00:01 | | 8 | MERGE JOIN | | 104 | 8320 | 133 | 00:00:01 | | 9 | SORT JOIN | | 10 | 650 | 129 | 00:00:01 | | 10 | NESTED LOOPS | | 10 | 650 | 128 | 00:00:01 | | 11 | NESTED LOOPS | | 10 | 650 | 128 | 00:00:01 | | 12 | MERGE JOIN CARTESIAN | | 28 | 868 | 15 | 00:00:01 | | * 13 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTGROUP_REL | 1 | 11 | 11 | 00:00:01 | | 14 | BUFFER SORT | | 3084 | 61680 | 4 | 00:00:01 | | * 15 | TABLE ACCESS INMEMORY FULL | LU_ITEM_293 | 3084 | 61680 | 4 | 00:00:01 | | 16 | BITMAP CONVERSION TO ROWIDS | | | | | | | 17 | BITMAP AND | | | | | | | * 18 | BITMAP INDEX SINGLE VALUE | FACT_274_PER_IDX | | | | | | * 19 | BITMAP INDEX SINGLE VALUE | FACT_274_ITEM_IDX | | | | | | * 20 | TABLE ACCESS BY INDEX ROWID | FACT_PD_OUT_ITM_293 | 1 | 34 | 128 | 00:00:01 | | * 21 | FILTER | | | | | | | * 22 | SORT JOIN | | 10 | 150 | 4 | 00:00:01 | | * 23 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTRANGE_REL | 10 | 150 | 3 | 00:00:01 | | * 24 | INDEX RANGE SCAN | ADM_PG_FEATUREVALUE_IDX2 | 1 | | 1 | 00:00:01 | | * 25 | TABLE ACCESS BY INDEX ROWID | ADM_PG_FEATUREVALUE | 1 | 16 | 2 | 00:00:01 | | * 26 | FILTER | | | | | | | * 27 | SORT JOIN | | 4 | 60 | 4 | 00:00:01 | | * 28 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTRANGE_REL | 4 | 60 | 3 | 00:00:01 | ----------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 13 - access("T6"."ELEMENTGROUP_ID"=14659 AND ("T6"."VALUE_ID"=20030699999060 OR "T6"."VALUE_ID"=20030799999030 OR "T6"."VALUE_ID"=20030799999060 OR "T6"."VALUE_ID"=20030799999120)) * 13 - filter("T6"."ELEMENTGROUP_ID"=14659 AND ("T6"."VALUE_ID"=20030699999060 OR "T6"."VALUE_ID"=20030799999030 OR "T6"."VALUE_ID"=20030799999060 OR "T6"."VALUE_ID"=20030799999120)) * 15 - access(("T2"."PG_FEATUREVALUE_01_ID"=71 OR "T2"."PG_FEATUREVALUE_01_ID"=76 OR "T2"."PG_FEATUREVALUE_01_ID"=89 OR "T2"."PG_FEATUREVALUE_01_ID"=92 OR "T2"."PG_FEATUREVALUE_01_ID"=95 OR "T2"."PG_FEATUREVALUE_01_ID"=103 OR "T2"."PG_FEATUREVALUE_01_ID"=104 OR "T2"."PG_FEATUREVALUE_01_ID"=107 OR "T2"."PG_FEATUREVALUE_01_ID"=110 OR "T2"."PG_FEATUREVALUE_01_ID"=113 OR "T2"."PG_FEATUREVALUE_01_ID"=134 OR "T2"."PG_FEATUREVALUE_01_ID"=148 OR "T2"."PG_FEATUREVALUE_01_ID"=167 OR "T2"."PG_FEATUREVALUE_01_ID"=171 OR "T2"."PG_FEATUREVALUE_01_ID"=186 OR "T2"."PG_FEATUREVALUE_01_ID"=192 OR "T2"."PG_FEATUREVALUE_01_ID"=216 OR "T2"."PG_FEATUREVALUE_01_ID"=236 OR "T2"."PG_FEATUREVALUE_01_ID"=241 OR "T2"."PG_FEATUREVALUE_01_ID"=297 OR "T2"."PG_FEATUREVALUE_01_ID"=2259 OR "T2"."PG_FEATUREVALUE_01_ID"=2477 OR "T2"."PG_FEATUREVALUE_01_ID"=3891 OR "T2"."PG_FEATUREVALUE_01_ID"=24958 OR "T2"."PG_FEATUREVALUE_01_ID"=27445) AND "T2"."PRODUCTGROUP_ID"=15520) * 15 - filter(("T2"."PG_FEATUREVALUE_01_ID"=71 OR "T2"."PG_FEATUREVALUE_01_ID"=76 OR "T2"."PG_FEATUREVALUE_01_ID"=89 OR "T2"."PG_FEATUREVALUE_01_ID"=92 OR "T2"."PG_FEATUREVALUE_01_ID"=95 OR "T2"."PG_FEATUREVALUE_01_ID"=103 OR "T2"."PG_FEATUREVALUE_01_ID"=104 OR "T2"."PG_FEATUREVALUE_01_ID"=107 OR "T2"."PG_FEATUREVALUE_01_ID"=110 OR "T2"."PG_FEATUREVALUE_01_ID"=113 OR "T2"."PG_FEATUREVALUE_01_ID"=134 OR "T2"."PG_FEATUREVALUE_01_ID"=148 OR "T2"."PG_FEATUREVALUE_01_ID"=167 OR "T2"."PG_FEATUREVALUE_01_ID"=171 OR "T2"."PG_FEATUREVALUE_01_ID"=186 OR "T2"."PG_FEATUREVALUE_01_ID"=192 OR "T2"."PG_FEATUREVALUE_01_ID"=216 OR "T2"."PG_FEATUREVALUE_01_ID"=236 OR "T2"."PG_FEATUREVALUE_01_ID"=241 OR "T2"."PG_FEATUREVALUE_01_ID"=297 OR "T2"."PG_FEATUREVALUE_01_ID"=2259 OR "T2"."PG_FEATUREVALUE_01_ID"=2477 OR "T2"."PG_FEATUREVALUE_01_ID"=3891 OR "T2"."PG_FEATUREVALUE_01_ID"=24958 OR "T2"."PG_FEATUREVALUE_01_ID"=27445) AND "T2"."PRODUCTGROUP_ID"=15520) * 18 - access("T1"."PERIOD_ID"="T6"."VALUE_ID") * 18 - filter("T1"."PERIOD_ID"=20030699999060 OR "T1"."PERIOD_ID"=20030799999030 OR "T1"."PERIOD_ID"=20030799999060 OR "T1"."PERIOD_ID"=20030799999120) * 19 - access("T1"."ITEM_ID"="T2"."ITEM_ID") * 20 - filter(("T1"."PERIOD_ID"=20030699999060 OR "T1"."PERIOD_ID"=20030799999030 OR "T1"."PERIOD_ID"=20030799999060 OR "T1"."PERIOD_ID"=20030799999120) AND "T1"."PRODUCTGROUP_ID"=15520 AND "T1"."PROJECT_TYPE_ID"='1' AND "T1"."PRODUCTGROUP_ID"="T2"."PRODUCTGROUP_ID") * 21 - filter("T1"."PD_PRICE_UNITS_EUR">="T5"."LBOUND") * 22 - access("T1"."PD_PRICE_UNITS_EUR"<="T5"."UBOUND") * 22 - filter("T1"."PD_PRICE_UNITS_EUR"<="T5"."UBOUND") * 23 - access("T5"."ELEMENTRANGE_ID"=8668 OR "T5"."ELEMENTRANGE_ID"=8669 OR "T5"."ELEMENTRANGE_ID"=8670 OR "T5"."ELEMENTRANGE_ID"=8671 OR "T5"."ELEMENTRANGE_ID"=8672 OR "T5"."ELEMENTRANGE_ID"=8673 OR "T5"."ELEMENTRANGE_ID"=8674 OR "T5"."ELEMENTRANGE_ID"=8675 OR "T5"."ELEMENTRANGE_ID"=8676 OR "T5"."ELEMENTRANGE_ID"=8679) * 23 - filter("T5"."ELEMENTRANGE_ID"=8668 OR "T5"."ELEMENTRANGE_ID"=8669 OR "T5"."ELEMENTRANGE_ID"=8670 OR "T5"."ELEMENTRANGE_ID"=8671 OR "T5"."ELEMENTRANGE_ID"=8672 OR "T5"."ELEMENTRANGE_ID"=8673 OR "T5"."ELEMENTRANGE_ID"=8674 OR "T5"."ELEMENTRANGE_ID"=8675 OR "T5"."ELEMENTRANGE_ID"=8676 OR "T5"."ELEMENTRANGE_ID"=8679) * 24 - access("ITEM_1"="FEATUREVALUE_ID") * 25 - filter("TABLE_NR"=15 AND "DELETED"=0) * 26 - filter("FEATUREVALUE_NUM"<="T4"."UBOUND") * 27 - access(INTERNAL_FUNCTION("FEATUREVALUE_NUM")>=INTERNAL_FUNCTION("T4"."LBOUND")) * 27 - filter(INTERNAL_FUNCTION("FEATUREVALUE_NUM")>=INTERNAL_FUNCTION("T4"."LBOUND")) * 28 - access("T4"."ELEMENTRANGE_ID"=3091 OR "T4"."ELEMENTRANGE_ID"=3092 OR "T4"."ELEMENTRANGE_ID"=3093 OR "T4"."ELEMENTRANGE_ID"=3107) * 28 - filter("T4"."ELEMENTRANGE_ID"=3091 OR "T4"."ELEMENTRANGE_ID"=3092 OR "T4"."ELEMENTRANGE_ID"=3093 OR "T4"."ELEMENTRANGE_ID"=3107)
Hint Report (identified by operation id / Query Block Name / Object Alias): Total hints for statement: 1 (U - Unused (1)) ------------------------------------------------------------------------------- 0 - STATEMENT U - NO_PARALLEL
Notes ----- - dop_reason = hint - dop = 1 - px_in_memory_imc = no - px_in_memory = no
Test Plan ----------------------------- Plan Id : 13728 Plan Hash Value : 857636633
--------------------------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost | Time | --------------------------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 3 | 234 | 779 | 00:00:01 | | 1 | HASH GROUP BY | | 3 | 234 | 779 | 00:00:01 | | 2 | MERGE JOIN | | 3 | 234 | 778 | 00:00:01 | | 3 | SORT JOIN | | 2 | 126 | 775 | 00:00:01 | | 4 | NESTED LOOPS | | 2 | 126 | 774 | 00:00:01 | | 5 | NESTED LOOPS | | 2 | 126 | 774 | 00:00:01 | | * 6 | HASH JOIN | | 2 | 94 | 770 | 00:00:01 | | 7 | JOIN FILTER CREATE | :BF0000 | 6 | 66 | 10 | 00:00:01 | | * 8 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTGROUP_REL | 6 | 66 | 10 | 00:00:01 | | 9 | VIEW | VW_GBC_16 | 9546 | 343656 | 759 | 00:00:01 | | 10 | HASH GROUP BY | | 9546 | 658674 | 759 | 00:00:01 | | 11 | JOIN FILTER USE | :BF0000 | 839035 | 57893415 | 626 | 00:00:01 | | * 12 | HASH JOIN | | 839035 | 57893415 | 626 | 00:00:01 | | 13 | JOIN FILTER CREATE | :BF0001 | 31134 | 1089690 | 45 | 00:00:01 | | 14 | MERGE JOIN CARTESIAN | | 31134 | 1089690 | 45 | 00:00:01 | | * 15 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTRANGE_REL | 10 | 150 | 3 | 00:00:01 | | 16 | BUFFER SORT | | 3084 | 61680 | 42 | 00:00:01 | | * 17 | TABLE ACCESS INMEMORY FULL | LU_ITEM_293 | 3084 | 61680 | 4 | 00:00:01 | | 18 | JOIN FILTER USE | :BF0001 | 120991 | 4113694 | 565 | 00:00:01 | | * 19 | TABLE ACCESS INMEMORY FULL | FACT_PD_OUT_ITM_293 | 120991 | 4113694 | 565 | 00:00:01 | | * 20 | INDEX RANGE SCAN | ADM_PG_FEATUREVALUE_IDX2 | 1 | | 1 | 00:00:01 | | * 21 | TABLE ACCESS BY INDEX ROWID | ADM_PG_FEATUREVALUE | 1 | 16 | 2 | 00:00:01 | | * 22 | FILTER | | | | | | | * 23 | SORT JOIN | | 4 | 60 | 4 | 00:00:01 | | * 24 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTRANGE_REL | 4 | 60 | 3 | 00:00:01 | ---------------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 6 - access("ITEM_1"="T6"."VALUE_ID") * 8 - access("T6"."ELEMENTGROUP_ID"=14659) * 8 - filter("T6"."ELEMENTGROUP_ID"=14659) * 12 - access("T1"."PRODUCTGROUP_ID"="T2"."PRODUCTGROUP_ID" AND "T1"."ITEM_ID"="T2"."ITEM_ID") * 12 - filter("T1"."PD_PRICE_UNITS_EUR">="T5"."LBOUND" AND "T1"."PD_PRICE_UNITS_EUR"<="T5"."UBOUND") * 15 - access("T5"."ELEMENTRANGE_ID"=8668 OR "T5"."ELEMENTRANGE_ID"=8669 OR "T5"."ELEMENTRANGE_ID"=8670 OR "T5"."ELEMENTRANGE_ID"=8671 OR "T5"."ELEMENTRANGE_ID"=8672 OR "T5"."ELEMENTRANGE_ID"=8673 OR "T5"."ELEMENTRANGE_ID"=8674 OR "T5"."ELEMENTRANGE_ID"=8675 OR "T5"."ELEMENTRANGE_ID"=8676 OR "T5"."ELEMENTRANGE_ID"=8679) * 15 - filter("T5"."ELEMENTRANGE_ID"=8668 OR "T5"."ELEMENTRANGE_ID"=8669 OR "T5"."ELEMENTRANGE_ID"=8670 OR "T5"."ELEMENTRANGE_ID"=8671 OR "T5"."ELEMENTRANGE_ID"=8672 OR "T5"."ELEMENTRANGE_ID"=8673 OR "T5"."ELEMENTRANGE_ID"=8674 OR "T5"."ELEMENTRANGE_ID"=8675 OR "T5"."ELEMENTRANGE_ID"=8676 OR "T5"."ELEMENTRANGE_ID"=8679) * 17 - access(("T2"."PG_FEATUREVALUE_01_ID"=71 OR "T2"."PG_FEATUREVALUE_01_ID"=76 OR "T2"."PG_FEATUREVALUE_01_ID"=89 OR "T2"."PG_FEATUREVALUE_01_ID"=92 OR "T2"."PG_FEATUREVALUE_01_ID"=95 OR "T2"."PG_FEATUREVALUE_01_ID"=103 OR "T2"."PG_FEATUREVALUE_01_ID"=104 OR "T2"."PG_FEATUREVALUE_01_ID"=107 OR "T2"."PG_FEATUREVALUE_01_ID"=110 OR "T2"."PG_FEATUREVALUE_01_ID"=113 OR "T2"."PG_FEATUREVALUE_01_ID"=134 OR "T2"."PG_FEATUREVALUE_01_ID"=148 OR "T2"."PG_FEATUREVALUE_01_ID"=167 OR "T2"."PG_FEATUREVALUE_01_ID"=171 OR "T2"."PG_FEATUREVALUE_01_ID"=186 OR "T2"."PG_FEATUREVALUE_01_ID"=192 OR "T2"."PG_FEATUREVALUE_01_ID"=216 OR "T2"."PG_FEATUREVALUE_01_ID"=236 OR "T2"."PG_FEATUREVALUE_01_ID"=241 OR "T2"."PG_FEATUREVALUE_01_ID"=297 OR "T2"."PG_FEATUREVALUE_01_ID"=2259 OR "T2"."PG_FEATUREVALUE_01_ID"=2477 OR "T2"."PG_FEATUREVALUE_01_ID"=3891 OR "T2"."PG_FEATUREVALUE_01_ID"=24958 OR "T2"."PG_FEATUREVALUE_01_ID"=27445) AND "T2"."PRODUCTGROUP_ID"=15520) * 17 - filter(("T2"."PG_FEATUREVALUE_01_ID"=71 OR "T2"."PG_FEATUREVALUE_01_ID"=76 OR "T2"."PG_FEATUREVALUE_01_ID"=89 OR "T2"."PG_FEATUREVALUE_01_ID"=92 OR "T2"."PG_FEATUREVALUE_01_ID"=95 OR "T2"."PG_FEATUREVALUE_01_ID"=103 OR "T2"."PG_FEATUREVALUE_01_ID"=104 OR "T2"."PG_FEATUREVALUE_01_ID"=107 OR "T2"."PG_FEATUREVALUE_01_ID"=110 OR "T2"."PG_FEATUREVALUE_01_ID"=113 OR "T2"."PG_FEATUREVALUE_01_ID"=134 OR "T2"."PG_FEATUREVALUE_01_ID"=148 OR "T2"."PG_FEATUREVALUE_01_ID"=167 OR "T2"."PG_FEATUREVALUE_01_ID"=171 OR "T2"."PG_FEATUREVALUE_01_ID"=186 OR "T2"."PG_FEATUREVALUE_01_ID"=192 OR "T2"."PG_FEATUREVALUE_01_ID"=216 OR "T2"."PG_FEATUREVALUE_01_ID"=236 OR "T2"."PG_FEATUREVALUE_01_ID"=241 OR "T2"."PG_FEATUREVALUE_01_ID"=297 OR "T2"."PG_FEATUREVALUE_01_ID"=2259 OR "T2"."PG_FEATUREVALUE_01_ID"=2477 OR "T2"."PG_FEATUREVALUE_01_ID"=3891 OR "T2"."PG_FEATUREVALUE_01_ID"=24958 OR "T2"."PG_FEATUREVALUE_01_ID"=27445) AND "T2"."PRODUCTGROUP_ID"=15520) * 19 - access(("T1"."PERIOD_ID"=20030699999060 OR "T1"."PERIOD_ID"=20030799999030 OR "T1"."PERIOD_ID"=20030799999060 OR "T1"."PERIOD_ID"=20030799999120) AND "T1"."PRODUCTGROUP_ID"=15520 AND "T1"."PROJECT_TYPE_ID"='1' AND SYS_OP_BLOOM_FILTER(:BF0001,"T1"."ITEM_ID")) * 19 - filter(("T1"."PERIOD_ID"=20030699999060 OR "T1"."PERIOD_ID"=20030799999030 OR "T1"."PERIOD_ID"=20030799999060 OR "T1"."PERIOD_ID"=20030799999120) AND "T1"."PRODUCTGROUP_ID"=15520 AND "T1"."PROJECT_TYPE_ID"='1' AND SYS_OP_BLOOM_FILTER(:BF0001,"T1"."ITEM_ID")) * 20 - access("ITEM_2"="FEATUREVALUE_ID") * 21 - filter("TABLE_NR"=15 AND "DELETED"=0) * 22 - filter("FEATUREVALUE_NUM"<="T4"."UBOUND") * 23 - access(INTERNAL_FUNCTION("FEATUREVALUE_NUM")>=INTERNAL_FUNCTION("T4"."LBOUND")) * 23 - filter(INTERNAL_FUNCTION("FEATUREVALUE_NUM")>=INTERNAL_FUNCTION("T4"."LBOUND")) * 24 - access("T4"."ELEMENTRANGE_ID"=3091 OR "T4"."ELEMENTRANGE_ID"=3092 OR "T4"."ELEMENTRANGE_ID"=3093 OR "T4"."ELEMENTRANGE_ID"=3107) * 24 - filter("T4"."ELEMENTRANGE_ID"=3091 OR "T4"."ELEMENTRANGE_ID"=3092 OR "T4"."ELEMENTRANGE_ID"=3093 OR "T4"."ELEMENTRANGE_ID"=3107)
Hint Report (identified by operation id / Query Block Name / Object Alias): Total hints for statement: 1 (U - Unused (1)) ------------------------------------------------------------------------------- 0 - STATEMENT U - NO_PARALLEL
Notes ----- - dop_reason = hint - dop = 1 - px_in_memory_imc = no - px_in_memory = no
--------------------------------------------------------------------------------------------- Object ID : 14001 Test Plan Name : SQL_PLAN_2v9rr23y501gscfeee211 Base Plan Name : Cost-based plan SQL Handle : SQL_2da6f710fc5005f8 Parsing Schema : SYS Test Plan Creator : SYS SQL Text : insert /* KSXM:TAKE_SNPSHOT */ into sys.optstat_snapshot$ (obj#, inserts, updates, deletes, timestamp, flags) (select m.obj#, m.inserts, m.updates, m.deletes, systimestamp, dbms_stats_advisor.compute_volatile_flag( m.obj#, m.flags, :flags, m.inserts, m.updates, m.deletes, s.inserts, s.updates, s.deletes, null, nvl(to_number(p.valchar), :global_stale_pcnt), s.gather) flags from sys.mon_mods_all$ m, (select si.obj#, max(si.inserts) inserts, max(si.updates) updates, max(si.deletes) deletes, decode(bitand(max(si.flags), :gather_flag), 0, 'NO_GATHER', 'GATHER') gather, max(si.timestamp) timestamp from sys.optstat_snapshot$ si, (select obj#, max(timestamp) ts from sys.optstat_snapshot$ group by obj#) sm where si.obj# = sm.obj# and si.timestamp = sm.ts group by si.obj#) s, sys.optstat_user_prefs$ p where m.obj# = s.obj#(+) and m.obj# = p.obj#(+) and pname(+) = 'STALE_PERCENT' and m.obj# = :objn)
Execution Statistics: ----------------------------- Base Plan Test Plan ---------------------------- ---------------------------- Elapsed Time (s): .000005 .000005 CPU Time (s): .000005 .000005 Buffer Gets: 0 0 Optimizer Cost: 141 161 Disk Reads: 0 0 Direct Writes: 0 0 Rows Processed: 0 0 Executions: 10 10
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The plan was verified in 0.06100 seconds. It failed the benefit criterion because its verified performance was 0.97917 times worse than that of the baseline plan.
EXPLAIN PLANS SECTION ---------------------------------------------------------------------------------------------
Baseline Plan ----------------------------- Plan Id : 13729 Plan Hash Value : 3821217952
----------------------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost | Time | ----------------------------------------------------------------------------------------------------------------- | 0 | INSERT STATEMENT | | 1 | 108 | 141 | 00:00:01 | | 1 | LOAD TABLE CONVENTIONAL | OPTSTAT_SNAPSHOT$ | | | | | | 2 | NESTED LOOPS OUTER | | 1 | 108 | 141 | 00:00:01 | | 3 | NESTED LOOPS OUTER | | 1 | 61 | 2 | 00:00:01 | | 4 | TABLE ACCESS BY INDEX ROWID | MON_MODS_ALL$ | 1 | 18 | 1 | 00:00:01 | | * 5 | INDEX UNIQUE SCAN | I_MON_MODS_ALL$_OBJ | 1 | | 1 | 00:00:01 | | 6 | TABLE ACCESS BY INDEX ROWID | OPTSTAT_USER_PREFS$ | 1 | 43 | 1 | 00:00:01 | | * 7 | INDEX UNIQUE SCAN | I_USER_PREFS$ | 1 | | 0 | 00:00:01 | | 8 | VIEW PUSHED PREDICATE | | 1 | 47 | 139 | 00:00:01 | | 9 | SORT GROUP BY | | 1 | 47 | 139 | 00:00:01 | | * 10 | FILTER | | | | | | | 11 | NESTED LOOPS | | 1 | 47 | 139 | 00:00:01 | | 12 | NESTED LOOPS | | 1 | 47 | 139 | 00:00:01 | | 13 | VIEW | | 1 | 20 | 136 | 00:00:01 | | 14 | SORT GROUP BY | | 1 | 18 | 136 | 00:00:01 | | * 15 | FILTER | | | | | | | 16 | TABLE ACCESS BY INDEX ROWID BATCHED | OPTSTAT_SNAPSHOT$ | 134 | 2412 | 136 | 00:00:01 | | * 17 | INDEX RANGE SCAN | I_OPTSTAT_SNAPSHOT$ | 134 | | 3 | 00:00:01 | | * 18 | INDEX RANGE SCAN | I_OPTSTAT_SNAPSHOT$ | 1 | | 2 | 00:00:01 | | * 19 | TABLE ACCESS BY INDEX ROWID | OPTSTAT_SNAPSHOT$ | 1 | 27 | 3 | 00:00:01 | -----------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 5 - access("M"."OBJ#"=:OBJN) * 7 - access("P"."OBJ#"(+)=:OBJN AND "PNAME"(+)='STALE_PERCENT') * 10 - filter("M"."OBJ#"=:OBJN) * 15 - filter("M"."OBJ#"=:OBJN) * 17 - access("OBJ#"=:OBJN) * 18 - access("SI"."OBJ#"="M"."OBJ#") * 18 - filter("SI"."OBJ#"=:OBJN) * 19 - filter(SYS_EXTRACT_UTC("SI"."TIMESTAMP")=SYS_EXTRACT_UTC("SM"."TS"))
Hint Report (identified by operation id / Query Block Name / Object Alias): Total hints for statement: 1 (U - Unused (1)) ------------------------------------------------------------------------------- 0 - STATEMENT U - NO_PARALLEL
Notes ----- - dop_reason = hint - dop = 1 - px_in_memory_imc = no - px_in_memory = no
Test Plan ----------------------------- Plan Id : 13730 Plan Hash Value : 3488539153
----------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost | Time | ----------------------------------------------------------------------------------------------------- | 0 | INSERT STATEMENT | | 1 | 108 | 161 | 00:00:01 | | 1 | LOAD TABLE CONVENTIONAL | OPTSTAT_SNAPSHOT$ | | | | | | 2 | NESTED LOOPS OUTER | | 1 | 108 | 161 | 00:00:01 | | 3 | NESTED LOOPS OUTER | | 1 | 61 | 2 | 00:00:01 | | 4 | TABLE ACCESS BY INDEX ROWID | MON_MODS_ALL$ | 1 | 18 | 1 | 00:00:01 | | * 5 | INDEX UNIQUE SCAN | I_MON_MODS_ALL$_OBJ | 1 | | 1 | 00:00:01 | | 6 | TABLE ACCESS BY INDEX ROWID | OPTSTAT_USER_PREFS$ | 1 | 43 | 1 | 00:00:01 | | * 7 | INDEX UNIQUE SCAN | I_USER_PREFS$ | 1 | | 0 | 00:00:01 | | 8 | VIEW PUSHED PREDICATE | | 1 | 47 | 159 | 00:00:01 | | 9 | SORT GROUP BY | | 1 | 47 | 159 | 00:00:01 | | * 10 | FILTER | | | | | | | 11 | NESTED LOOPS | | 1 | 47 | 159 | 00:00:01 | | 12 | NESTED LOOPS | | 1 | 47 | 159 | 00:00:01 | | 13 | VIEW | | 1 | 20 | 156 | 00:00:01 | | 14 | SORT GROUP BY | | 1 | 18 | 156 | 00:00:01 | | * 15 | FILTER | | | | | | | * 16 | TABLE ACCESS FULL | OPTSTAT_SNAPSHOT$ | 159 | 2862 | 156 | 00:00:01 | | * 17 | INDEX RANGE SCAN | I_OPTSTAT_SNAPSHOT$ | 1 | | 2 | 00:00:01 | | * 18 | TABLE ACCESS BY INDEX ROWID | OPTSTAT_SNAPSHOT$ | 1 | 27 | 3 | 00:00:01 | -----------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 5 - access("M"."OBJ#"=:OBJN) * 7 - access("P"."OBJ#"(+)=:OBJN AND "PNAME"(+)='STALE_PERCENT') * 10 - filter("M"."OBJ#"=:OBJN) * 15 - filter("M"."OBJ#"=:OBJN) * 16 - filter("OBJ#"=:OBJN) * 17 - access("SI"."OBJ#"="M"."OBJ#") * 17 - filter("SI"."OBJ#"=:OBJN) * 18 - filter(SYS_EXTRACT_UTC("SI"."TIMESTAMP")=SYS_EXTRACT_UTC("SM"."TS"))
Notes ----- - dop_reason = hint - dop = 1 - px_in_memory_imc = no - px_in_memory = no
--------------------------------------------------------------------------------------------- Object ID : 14002 Test Plan Name : SQL_PLAN_97gqhmxx707229a46fad3 Base Plan Name : Cost-based plan SQL Handle : SQL_93bed09f7a701c42 Parsing Schema : BOTANG Test Plan Creator : SYS SQL Text : select col.*, com.Comments from sys.all_tab_columns col, sys.all_col_comments com where col.owner = 'BOTANG' and col.table_name = 'V_BANK_INVOICE_RMB_LICAI' and com.Owner (+) = 'BOTANG' and com.Table_Name (+) = 'V_BANK_INVOICE_RMB_LICAI' and com.Column_Name (+) = col.Column_Name order by col.column_id
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 14002, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 14003 Test Plan Name : SQL_PLAN_5r85nn7t3mqnk47ae148a Base Plan Name : Cost-based plan SQL Handle : SQL_5ba0b4a1f239da92 Parsing Schema : SYS Test Plan Creator : SYS SQL Text : select grantee#,privilege#,nvl(col#,0),max(mod(nvl(option $,0),2)),max(bitand(nvl(option$,0), 8) /8), max(bitand(nvl(option$,0), 16) /16), max(bitand(nvl(option$,0),64) /64), max(bitand(nvl(option$,0), 128) /128) from objauth$ where obj#=:1 group by grantee#,privilege#,nvl(col#,0) order by grantee#
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. This plan was skipped because either the database is not fully open or the SQL statement is ineligible for SQL Plan Management.
--------------------------------------------------------------------------------------------- Object ID : 14004 Test Plan Name : SQL_PLAN_8s1ag4kp57f7h04e8f7d9 Base Plan Name : Cost-based plan SQL Handle : SQL_8c054f24aa53b8f0 Parsing Schema : SYS Test Plan Creator : SYS SQL Text : select min(BARRIERSCN) from SYS_FBA_BARRIERSCN where STATUS = 1
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 14004, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 14005 Test Plan Name : SQL_PLAN_0yf6jhs0jvj1w02f07aa4 Base Plan Name : Cost-based plan SQL Handle : SQL_0f38d186011dc43c Parsing Schema : BOTANG Test Plan Creator : SYS SQL Text : select col.*, com.Comments from sys.all_tab_columns col, sys.all_col_comments com where col.owner = 'BOTANG' and col.table_name = 'V_BANK_INVOICE_RMB_COST_WATER' and com.Owner (+) = 'BOTANG' and com.Table_Name (+) = 'V_BANK_INVOICE_RMB_COST_WATER' and com.Column_Name (+) = col.Column_Name order by col.column_id
ERRORS SECTION --------------------------------------------------------------------------------------------- ORA-16960: SQL Analyze could not reproduce the desired plan. --------------------------------------------------------------------------------------------- Object ID : 14006 Test Plan Name : SQL_PLAN_ds8s9aj4ab1y966cbf17d Base Plan Name : Cost-based plan SQL Handle : SQL_dc23095448a587c9 Parsing Schema : SYS Test Plan Creator : SYS SQL Text : select /*+ index(idl_char$ i_idl_char1) */ piece#,length,piece from idl_char$ where obj#=:1 and part=:2 and version=:3 order by piece#
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 14006, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 14007 Test Plan Name : SQL_PLAN_0nca5tfn4tp6caf4c254a Base Plan Name : Cost-based plan SQL Handle : SQL_0a3145cba84cd4cc Parsing Schema : SYS Test Plan Creator : SYS SQL Text : select order#,columns,types from access$ where d_obj#=:1
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 14007, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 14008 Test Plan Name : SQL_PLAN_2jdghc9azsz189a46fad3 Base Plan Name : Cost-based plan SQL Handle : SQL_28b5f06255fc7c28 Parsing Schema : BOTANG Test Plan Creator : SYS SQL Text : select col.*, com.Comments from sys.all_tab_columns col, sys.all_col_comments com where col.owner = 'BOTANG' and col.table_name = 'V_BANK_INVOICE_RMB_LC01_04_G57' and com.Owner (+) = 'BOTANG' and com.Table_Name (+) = 'V_BANK_INVOICE_RMB_LC01_04_G57' and com.Column_Name (+) = col.Column_Name order by col.column_id
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 14008, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 14009 Test Plan Name : SQL_PLAN_78ym2xjmm1wy6e5e37424 Base Plan Name : Cost-based plan SQL Handle : SQL_747a62ec6730f3c6 Parsing Schema : SYS Test Plan Creator : SYS SQL Text : select NVL(p.name, s.con_dbid) , s.sql_id, s.sql_text, s.plan_hash_value, u.username, s.executions, s.elapsed_time, s.cpu_time, s.buffer_gets, s.disk_reads, s.module, DECODE(p.name, NULL, 'false', 'true') from dba_sqlset_statements s, dba_users u, v$database p where s.parsing_schema_id = u.user_id(+) and s.sqlset_id = :1 and s.con_dbid = p.dbid (+)
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. This plan was skipped because either the database is not fully open or the SQL statement is ineligible for SQL Plan Management.
--------------------------------------------------------------------------------------------- Object ID : 14010 Test Plan Name : SQL_PLAN_1b0b05b9b75qk25af57be Base Plan Name : Cost-based plan SQL Handle : SQL_1581602ad2b396d2 Parsing Schema : SYS Test Plan Creator : SYS SQL Text : select col#,intcol#,charsetid,charsetform from col$ where obj#=:1 order by intcol# asc
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. This plan was skipped because either the database is not fully open or the SQL statement is ineligible for SQL Plan Management.
--------------------------------------------------------------------------------------------- Object ID : 14011 Test Plan Name : SQL_PLAN_fx5d35vw8n3bk8ed029d1 Base Plan Name : Cost-based plan SQL Handle : SQL_ee95a32ef88a0d72 Parsing Schema : SYS Test Plan Creator : SYS SQL Text : select t.obj#, t.dataobj#, t.part#, t.hiboundlen, t.hiboundval, t.ts#, t.file#, t.block#, t.pctfree$, t.pctused$, t.initrans, t.maxtrans, t.flags, t.analyzetime, t.samplesize, t.rowcnt, t.blkcnt, t.empcnt, t.avgspc, t.chncnt, t.avgrln, length(t.bhiboundval), t.bhiboundval, ts.im_imcu_count, ts.im_block_count, ts.im_sys_incarnation, ts.im_stat_update_time from tabpart$ t, tab_stats$ ts where t.bo# = :1 and t.obj# = ts.obj#(+) order by t.part#
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. This plan was skipped because either the database is not fully open or the SQL statement is ineligible for SQL Plan Management.
--------------------------------------------------------------------------------------------- Object ID : 14012 Test Plan Name : SQL_PLAN_dv9mpsjg25nb747ae148a Base Plan Name : Cost-based plan SQL Handle : SQL_dda675c45e22d167 Parsing Schema : SYS Test Plan Creator : SYS SQL Text : select col#, grantee#, privilege#,max(mod(nvl(option$,0),2)), max(bitand(nvl(option$,0), 8) /8), max(bitand(nvl(option$,0), 16) /16), max(bitand(nvl(option$,0),64) /64), max(bitand(nvl(option$,0), 128) /128) from objauth$ where obj#=:1 and col# is not null group by privilege#, col#, grantee# order by col#, grantee#
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. This plan was skipped because either the database is not fully open or the SQL statement is ineligible for SQL Plan Management.
--------------------------------------------------------------------------------------------- Object ID : 14013 Test Plan Name : SQL_PLAN_8s9u7xmufdfhk0c67f7f8 Base Plan Name : Cost-based plan SQL Handle : SQL_8c2747ecf4e6ba12 Parsing Schema : DBSNMP Test Plan Creator : SYS SQL Text : SELECT SGA_SIZE_FACTOR AS FACTOR, SGA_SIZE AS SGA, ESTD_PHYSICAL_READS AS READS FROM V$SGA_TARGET_ADVICE ORDER BY 1
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 14013, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 14014 Test Plan Name : SQL_PLAN_472731hfak55m1180f4c9 Base Plan Name : Cost-based plan SQL Handle : SQL_4388e30c1ca914b3 Parsing Schema : SYS Test Plan Creator : SYS SQL Text : SELECT status FROM dba_autotask_client WHERE client_name=:1
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. This plan was skipped because either the database is not fully open or the SQL statement is ineligible for SQL Plan Management.
--------------------------------------------------------------------------------------------- Object ID : 14015 Test Plan Name : SQL_PLAN_cfgqsnw2zaw167df89ef6 Base Plan Name : Cost-based plan SQL Handle : SQL_c73ed8a705f57026 Parsing Schema : BOTANG Test Plan Creator : SYS SQL Text : select column_name, nullable, data_type, data_type_mod, data_type_owner, data_length, data_precision, data_scale, char_used, char_length from sys.all_tab_columns where owner = 'BOTANG' and table_name = 'V_BANK_INVOICE_RMB_LICAI' order by column_id
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 14015, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 14016 Test Plan Name : SQL_PLAN_2xkjbp0y00yqb9a46fad3 Base Plan Name : Cost-based plan SQL Handle : SQL_2eca2ba83c007acb Parsing Schema : BOTANG Test Plan Creator : SYS SQL Text : select col.*, com.Comments from sys.all_tab_columns col, sys.all_col_comments com where col.owner = 'BOTANG' and col.table_name = 'V_BANK_INVOICE_DIM_RMB_LC_A_GR' and com.Owner (+) = 'BOTANG' and com.Table_Name (+) = 'V_BANK_INVOICE_DIM_RMB_LC_A_GR' and com.Column_Name (+) = col.Column_Name order by col.column_id
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 14016, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 14017 Test Plan Name : SQL_PLAN_43yhmmxxj01xk1c7cf8a0 Base Plan Name : SQL_PLAN_43yhmmxxj01xkee4c49e8 SQL Handle : SQL_41fa139f7b1007b2 Parsing Schema : SYS Test Plan Creator : SYS SQL Text : select file#, block# from recyclebin$ where ts# = :1 and file# != 0 and block# != 0 and space = 0
Execution Statistics: ----------------------------- Base Plan Test Plan ---------------------------- ---------------------------- Elapsed Time (s): .000003 .000005 CPU Time (s): .000003 .000005 Buffer Gets: 0 0 Optimizer Cost: 2 2 Disk Reads: 0 0 Direct Writes: 0 0 Rows Processed: 0 0 Executions: 10 10
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The plan was verified in 0.01900 seconds. It failed the benefit criterion because its verified performance was 0.66667 times worse than that of the baseline plan.
EXPLAIN PLANS SECTION ---------------------------------------------------------------------------------------------
Baseline Plan ----------------------------- Plan Id : 13733 Plan Hash Value : 3997977064
------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost | Time | ------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 1 | 12 | 2 | 00:00:01 | | * 1 | TABLE ACCESS BY INDEX ROWID BATCHED | RECYCLEBIN$ | 1 | 12 | 2 | 00:00:01 | | * 2 | INDEX RANGE SCAN | RECYCLEBIN$_TS | 8 | | 1 | 00:00:01 | -------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 1 - filter("FILE#"<>0 AND "BLOCK#"<>0 AND "SPACE"=0) * 2 - access("TS#"=:1)
Test Plan ----------------------------- Plan Id : 13734 Plan Hash Value : 477952160
---------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost | Time | ---------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 1 | 12 | 2 | 00:00:01 | | * 1 | TABLE ACCESS FULL | RECYCLEBIN$ | 1 | 12 | 2 | 00:00:01 | ----------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 1 - filter("FILE#"<>0 AND "BLOCK#"<>0 AND "SPACE"=0 AND "TS#"=:1)
--------------------------------------------------------------------------------------------- Object ID : 14018 Test Plan Name : SQL_PLAN_a127ffj4fvhgmbe05db1c Base Plan Name : Cost-based plan SQL Handle : SQL_a088ee7448edc1f3 Parsing Schema : SYS Test Plan Creator : SYS SQL Text : SELECT client_name, status, resource_percentage, service_name FROM dba_autotask_client
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. This plan was skipped because either the database is not fully open or the SQL statement is ineligible for SQL Plan Management.
--------------------------------------------------------------------------------------------- Object ID : 14019 Test Plan Name : SQL_PLAN_4a591rmww1w5h9a46fad3 Base Plan Name : Cost-based plan SQL Handle : SQL_451521bcf9c0f0b0 Parsing Schema : BOTANG Test Plan Creator : SYS SQL Text : select col.*, com.Comments from sys.all_tab_columns col, sys.all_col_comments com where col.owner = 'BOTANG' and col.table_name = 'V_BANK_INVOICE_RMB_LC10_15_G84' and com.Owner (+) = 'BOTANG' and com.Table_Name (+) = 'V_BANK_INVOICE_RMB_LC10_15_G84' and com.Column_Name (+) = col.Column_Name order by col.column_id
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 14019, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 14020 Test Plan Name : SQL_PLAN_840m74hxnxfv1e4caca8a Base Plan Name : Cost-based plan SQL Handle : SQL_820267243b4ebb61 Parsing Schema : SYS Test Plan Creator : SYS SQL Text : select T.* from table(dbms_xplan.get_plan_rows(:tab_name, :stmt_id, :plan_id, :format, :fpreds, 1, null)) T
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 14020, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 14021 Test Plan Name : SQL_PLAN_5x4sw3adzrd1k9a46fad3 Base Plan Name : Cost-based plan SQL Handle : SQL_5e931c1a9bfbb432 Parsing Schema : BOTANG Test Plan Creator : SYS SQL Text : select col.*, com.Comments from sys.all_tab_columns col, sys.all_col_comments com where col.owner = 'BOTANG' and col.table_name = 'V_BANK_INVOICE_AUDIT_RMB_LC_CANBUY' and com.Owner (+) = 'BOTANG' and com.Table_Name (+) = 'V_BANK_INVOICE_AUDIT_RMB_LC_CANBUY' and com.Column_Name (+) = col.Column_Name order by col.column_id
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 14021, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 14022 Test Plan Name : SQL_PLAN_25q7ujg7cgwh11ae04fcc Base Plan Name : Cost-based plan SQL Handle : SQL_22d8fa8bcec7f201 Parsing Schema : SYS Test Plan Creator : SYS SQL Text : delete from WRM$_SNAPSHOT_DETAILS snap_det where snap_det.dbid = :dbid and snap_det.snap_id >= :beg_snap and snap_det.snap_id <= :end_snap
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 14022, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 14023 Test Plan : SQL_PLAN_9sqjucsbarhvkfb84720f Name Base Plan : Cost-based plan Name SQL Handle : SQL_9c5a3a6616abc372 Parsing : SYS Schema Test Plan : SYS Creator SQL Text : select owner#,name,namespace,remoteowner,linkname,p_timestamp,p_obj#, nvl(property,0),subname,type#,flags,d_attrs from dependency$ d, obj$ o where d_obj#=:1 and p_obj#=obj#(+) order by order#
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. This plan was skipped because either the database is not fully open or the SQL statement is ineligible for SQL Plan Management.
--------------------------------------------------------------------------------------------- Object ID : 14024 Test Plan Name : SQL_PLAN_c8w7xkw1xh13s2f66539e Base Plan Name : Cost-based plan SQL Handle : SQL_c470fd9703d80478 Parsing Schema : SYS Test Plan Creator : SYS SQL Text : SELECT DECODE(COUNT(*), 0, 'DISABLED', 'ENABLED') STATUS FROM DBA_AUTOTASK_WINDOW_CLIENTS WHERE SQL_TUNE_ADVISOR = 'ENABLED' AND AUTOTASK_STATUS = 'ENABLED'
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. This plan was skipped because either the database is not fully open or the SQL statement is ineligible for SQL Plan Management.
--------------------------------------------------------------------------------------------- Object ID : 14025 Test Plan Name : SQL_PLAN_a4r4fsmjg2z0ka029dfaa Base Plan Name : Cost-based plan SQL Handle : SQL_a25c8ec4e2f17c12 Parsing Schema : BOTANG Test Plan Creator : SYS SQL Text : select * from V_BANK_INVOICE_DIM_RMB_LC_A_PF t
Execution Statistics: ----------------------------- Base Plan Test Plan ---------------------------- ---------------------------- Elapsed Time (s): 2.995132 2.995645 CPU Time (s): 2.97434 2.973689 Buffer Gets: 698001 698001 Optimizer Cost: 199 199 Disk Reads: 0 0 Direct Writes: 0 0 Rows Processed: 2 2 Executions: 2 2
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The plan was verified in 24.62500 seconds. It failed the benefit criterion because its verified performance was only 1.00000 times better than that of the baseline plan.
EXPLAIN PLANS SECTION ---------------------------------------------------------------------------------------------
Baseline Plan ----------------------------- Plan Id : 13735 Plan Hash Value : 1021603630
------------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost | Time | ------------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 4 | 52 | 199 | 00:00:01 | | 1 | VIEW | V_BANK_INVOICE_DIM_RMB_LC_A_PF | 4 | 52 | 199 | 00:00:01 | | 2 | UNION-ALL | | | | | | | 3 | SORT AGGREGATE | | 1 | 54 | | | | * 4 | TABLE ACCESS FULL | T_BANK_INVOICE | 69 | 3726 | 38 | 00:00:01 | | 5 | SORT AGGREGATE | | 1 | 13 | | | | 6 | VIEW | V_BANK_INVOICE_DIM_RMB_LC_A_GR | 10 | 130 | 40 | 00:00:01 | | 7 | HASH GROUP BY | | 10 | 310 | 40 | 00:00:01 | | 8 | VIEW | V_BANK_INVOICE_RMB_LICAI | 10 | 310 | 39 | 00:00:01 | | 9 | SORT ORDER BY | | 10 | 2070 | 39 | 00:00:01 | | * 10 | TABLE ACCESS FULL | T_BANK_INVOICE | 10 | 2070 | 38 | 00:00:01 | | 11 | SORT AGGREGATE | | 1 | 16 | | | | 12 | VIEW | V_BANK_INVOICE_DIM_RMB_LC_A_GR | 10 | 160 | 40 | 00:00:01 | | 13 | SORT GROUP BY | | 10 | 310 | 40 | 00:00:01 | | 14 | VIEW | V_BANK_INVOICE_RMB_LICAI | 10 | 310 | 39 | 00:00:01 | | 15 | SORT ORDER BY | | 10 | 2070 | 39 | 00:00:01 | | * 16 | TABLE ACCESS FULL | T_BANK_INVOICE | 10 | 2070 | 38 | 00:00:01 | | 17 | SORT AGGREGATE | | 1 | 29 | | | | 18 | VIEW | V_BANK_INVOICE_DIM_RMB_LC_A_GR | 10 | 290 | 40 | 00:00:01 | | 19 | SORT GROUP BY | | 10 | 310 | 40 | 00:00:01 | | 20 | VIEW | V_BANK_INVOICE_RMB_LICAI | 10 | 310 | 39 | 00:00:01 | | 21 | SORT ORDER BY | | 10 | 2070 | 39 | 00:00:01 | | * 22 | TABLE ACCESS FULL | T_BANK_INVOICE | 10 | 2070 | 38 | 00:00:01 | | 23 | SORT AGGREGATE | | 1 | 26 | | | | 24 | VIEW | V_BANK_INVOICE_DIM_RMB_LC_A_GR | 10 | 260 | 40 | 00:00:01 | | 25 | HASH GROUP BY | | 10 | 310 | 40 | 00:00:01 | | 26 | VIEW | V_BANK_INVOICE_RMB_LICAI | 10 | 310 | 39 | 00:00:01 | | 27 | SORT ORDER BY | | 10 | 2070 | 39 | 00:00:01 | | * 28 | TABLE ACCESS FULL | T_BANK_INVOICE | 10 | 2070 | 38 | 00:00:01 | -------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 4 - filter(("OUT_AMOUNT" IS NOT NULL OR "IN_AMOUNT" IS NOT NULL) AND "ACCOUNT_ATTENTION" LIKE 'L%' AND ("TRANSAC_COMMENT" LIKE '%理财%' AND "TRANSAC_COMMENT" IS NOT NULL AND "TRANSAC_COMMENT" IS NOT NULL OR "TRANSAC_COMMENT" LIKE '%AI投%' AND "TRANSAC_COMMENT" IS NOT NULL AND "TRANSAC_COMMENT" IS NOT NULL OR "TRANSAC_COMMENT" LIKE '%基金强赎%' AND "TRANSAC_COMMENT" IS NOT NULL AND "TRANSAC_COMMENT" IS NOT NULL OR "TRANSAC_COMMENT" LIKE '%基金购买%' AND "TRANSAC_COMMENT" IS NOT NULL AND "TRANSAC_COMMENT" IS NOT NULL) AND ("ALL_COMMENT" NOT LIKE '%支付宝%' AND "ALL_COMMENT" IS NOT NULL AND "ALL_COMMENT" IS NOT NULL OR "ALL_COMMENT" IS NULL)) * 10 - filter(("TRANSAC_COMMENT" LIKE '%理财%' AND "TRANSAC_COMMENT" IS NOT NULL AND "TRANSAC_COMMENT" IS NOT NULL OR "TRANSAC_COMMENT" LIKE '%AI投%' AND "TRANSAC_COMMENT" IS NOT NULL AND "TRANSAC_COMMENT" IS NOT NULL OR "TRANSAC_COMMENT" LIKE '%基金强赎%' AND "TRANSAC_COMMENT" IS NOT NULL AND "TRANSAC_COMMENT" IS NOT NULL OR "TRANSAC_COMMENT" LIKE '%基金购买%' AND "TRANSAC_COMMENT" IS NOT NULL AND "TRANSAC_COMMENT" IS NOT NULL) AND SUBSTR("ACCOUNT_ATTENTION",1,1)='L' AND ("ALL_COMMENT" NOT LIKE '%支付宝%' AND "ALL_COMMENT" IS NOT NULL AND "ALL_COMMENT" IS NOT NULL OR "ALL_COMMENT" IS NULL)) * 16 - filter(("TRANSAC_COMMENT" LIKE '%理财%' AND "TRANSAC_COMMENT" IS NOT NULL AND "TRANSAC_COMMENT" IS NOT NULL OR "TRANSAC_COMMENT" LIKE '%AI投%' AND "TRANSAC_COMMENT" IS NOT NULL AND "TRANSAC_COMMENT" IS NOT NULL OR "TRANSAC_COMMENT" LIKE '%基金强赎%' AND "TRANSAC_COMMENT" IS NOT NULL AND "TRANSAC_COMMENT" IS NOT NULL OR "TRANSAC_COMMENT" LIKE '%基金购买%' AND "TRANSAC_COMMENT" IS NOT NULL AND "TRANSAC_COMMENT" IS NOT NULL) AND SUBSTR("ACCOUNT_ATTENTION",1,1)='L' AND ("ALL_COMMENT" NOT LIKE '%支付宝%' AND "ALL_COMMENT" IS NOT NULL AND "ALL_COMMENT" IS NOT NULL OR "ALL_COMMENT" IS NULL)) * 22 - filter(("TRANSAC_COMMENT" LIKE '%理财%' AND "TRANSAC_COMMENT" IS NOT NULL AND "TRANSAC_COMMENT" IS NOT NULL OR "TRANSAC_COMMENT" LIKE '%AI投%' AND "TRANSAC_COMMENT" IS NOT NULL AND "TRANSAC_COMMENT" IS NOT NULL OR "TRANSAC_COMMENT" LIKE '%基金强赎%' AND "TRANSAC_COMMENT" IS NOT NULL AND "TRANSAC_COMMENT" IS NOT NULL OR "TRANSAC_COMMENT" LIKE '%基金购买%' AND "TRANSAC_COMMENT" IS NOT NULL AND "TRANSAC_COMMENT" IS NOT NULL) AND SUBSTR("ACCOUNT_ATTENTION",1,1)='L' AND ("ALL_COMMENT" NOT LIKE '%支付宝%' AND "ALL_COMMENT" IS NOT NULL AND "ALL_COMMENT" IS NOT NULL OR "ALL_COMMENT" IS NULL)) * 28 - filter(("TRANSAC_COMMENT" LIKE '%理财%' AND "TRANSAC_COMMENT" IS NOT NULL AND "TRANSAC_COMMENT" IS NOT NULL OR "TRANSAC_COMMENT" LIKE '%AI投%' AND "TRANSAC_COMMENT" IS NOT NULL AND "TRANSAC_COMMENT" IS NOT NULL OR "TRANSAC_COMMENT" LIKE '%基金强赎%' AND "TRANSAC_COMMENT" IS NOT NULL AND "TRANSAC_COMMENT" IS NOT NULL OR "TRANSAC_COMMENT" LIKE '%基金购买%' AND "TRANSAC_COMMENT" IS NOT NULL AND "TRANSAC_COMMENT" IS NOT NULL) AND SUBSTR("ACCOUNT_ATTENTION",1,1)='L' AND ("ALL_COMMENT" NOT LIKE '%支付宝%' AND "ALL_COMMENT" IS NOT NULL AND "ALL_COMMENT" IS NOT NULL OR "ALL_COMMENT" IS NULL))
Hint Report (identified by operation id / Query Block Name / Object Alias): Total hints for statement: 1 (U - Unused (1)) ------------------------------------------------------------------------------- 0 - STATEMENT U - NO_PARALLEL
Notes ----- - dop_reason = hint - dop = 1 - px_in_memory_imc = no - px_in_memory = no
Test Plan ----------------------------- Plan Id : 13736 Plan Hash Value : 2854474685
------------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost | Time | ------------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 4 | 52 | 199 | 00:00:01 | | 1 | VIEW | V_BANK_INVOICE_DIM_RMB_LC_A_PF | 4 | 52 | 199 | 00:00:01 | | 2 | UNION-ALL | | | | | | | 3 | SORT AGGREGATE | | 1 | 54 | | | | * 4 | TABLE ACCESS FULL | T_BANK_INVOICE | 69 | 3726 | 38 | 00:00:01 | | 5 | SORT AGGREGATE | | 1 | 13 | | | | 6 | VIEW | V_BANK_INVOICE_DIM_RMB_LC_A_GR | 10 | 130 | 40 | 00:00:01 | | 7 | HASH GROUP BY | | 10 | 310 | 40 | 00:00:01 | | 8 | VIEW | V_BANK_INVOICE_RMB_LICAI | 10 | 310 | 39 | 00:00:01 | | 9 | SORT ORDER BY | | 10 | 2070 | 39 | 00:00:01 | | * 10 | TABLE ACCESS FULL | T_BANK_INVOICE | 10 | 2070 | 38 | 00:00:01 | | 11 | SORT AGGREGATE | | 1 | 16 | | | | 12 | VIEW | V_BANK_INVOICE_DIM_RMB_LC_A_GR | 10 | 160 | 40 | 00:00:01 | | 13 | SORT GROUP BY | | 10 | 310 | 40 | 00:00:01 | | 14 | VIEW | V_BANK_INVOICE_RMB_LICAI | 10 | 310 | 39 | 00:00:01 | | 15 | SORT ORDER BY | | 10 | 2070 | 39 | 00:00:01 | | * 16 | TABLE ACCESS FULL | T_BANK_INVOICE | 10 | 2070 | 38 | 00:00:01 | | 17 | SORT AGGREGATE | | 1 | 29 | | | | 18 | VIEW | V_BANK_INVOICE_DIM_RMB_LC_A_GR | 10 | 290 | 40 | 00:00:01 | | 19 | SORT GROUP BY | | 10 | 310 | 40 | 00:00:01 | | 20 | VIEW | V_BANK_INVOICE_RMB_LICAI | 10 | 310 | 39 | 00:00:01 | | 21 | SORT ORDER BY | | 10 | 2070 | 39 | 00:00:01 | | * 22 | TABLE ACCESS FULL | T_BANK_INVOICE | 10 | 2070 | 38 | 00:00:01 | | 23 | SORT AGGREGATE | | 1 | 26 | | | | 24 | VIEW | V_BANK_INVOICE_DIM_RMB_LC_A_GR | 10 | 260 | 40 | 00:00:01 | | 25 | SORT GROUP BY | | 10 | 310 | 40 | 00:00:01 | | 26 | VIEW | V_BANK_INVOICE_RMB_LICAI | 10 | 310 | 39 | 00:00:01 | | 27 | SORT ORDER BY | | 10 | 2070 | 39 | 00:00:01 | | * 28 | TABLE ACCESS FULL | T_BANK_INVOICE | 10 | 2070 | 38 | 00:00:01 | -------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 4 - filter(("OUT_AMOUNT" IS NOT NULL OR "IN_AMOUNT" IS NOT NULL) AND "ACCOUNT_ATTENTION" LIKE 'L%' AND ("TRANSAC_COMMENT" LIKE '%理财%' AND "TRANSAC_COMMENT" IS NOT NULL AND "TRANSAC_COMMENT" IS NOT NULL OR "TRANSAC_COMMENT" LIKE '%AI投%' AND "TRANSAC_COMMENT" IS NOT NULL AND "TRANSAC_COMMENT" IS NOT NULL OR "TRANSAC_COMMENT" LIKE '%基金强赎%' AND "TRANSAC_COMMENT" IS NOT NULL AND "TRANSAC_COMMENT" IS NOT NULL OR "TRANSAC_COMMENT" LIKE '%基金购买%' AND "TRANSAC_COMMENT" IS NOT NULL AND "TRANSAC_COMMENT" IS NOT NULL) AND ("ALL_COMMENT" NOT LIKE '%支付宝%' AND "ALL_COMMENT" IS NOT NULL AND "ALL_COMMENT" IS NOT NULL OR "ALL_COMMENT" IS NULL)) * 10 - filter(("TRANSAC_COMMENT" LIKE '%理财%' AND "TRANSAC_COMMENT" IS NOT NULL AND "TRANSAC_COMMENT" IS NOT NULL OR "TRANSAC_COMMENT" LIKE '%AI投%' AND "TRANSAC_COMMENT" IS NOT NULL AND "TRANSAC_COMMENT" IS NOT NULL OR "TRANSAC_COMMENT" LIKE '%基金强赎%' AND "TRANSAC_COMMENT" IS NOT NULL AND "TRANSAC_COMMENT" IS NOT NULL OR "TRANSAC_COMMENT" LIKE '%基金购买%' AND "TRANSAC_COMMENT" IS NOT NULL AND "TRANSAC_COMMENT" IS NOT NULL) AND SUBSTR("ACCOUNT_ATTENTION",1,1)='L' AND ("ALL_COMMENT" NOT LIKE '%支付宝%' AND "ALL_COMMENT" IS NOT NULL AND "ALL_COMMENT" IS NOT NULL OR "ALL_COMMENT" IS NULL)) * 16 - filter(("TRANSAC_COMMENT" LIKE '%理财%' AND "TRANSAC_COMMENT" IS NOT NULL AND "TRANSAC_COMMENT" IS NOT NULL OR "TRANSAC_COMMENT" LIKE '%AI投%' AND "TRANSAC_COMMENT" IS NOT NULL AND "TRANSAC_COMMENT" IS NOT NULL OR "TRANSAC_COMMENT" LIKE '%基金强赎%' AND "TRANSAC_COMMENT" IS NOT NULL AND "TRANSAC_COMMENT" IS NOT NULL OR "TRANSAC_COMMENT" LIKE '%基金购买%' AND "TRANSAC_COMMENT" IS NOT NULL AND "TRANSAC_COMMENT" IS NOT NULL) AND SUBSTR("ACCOUNT_ATTENTION",1,1)='L' AND ("ALL_COMMENT" NOT LIKE '%支付宝%' AND "ALL_COMMENT" IS NOT NULL AND "ALL_COMMENT" IS NOT NULL OR "ALL_COMMENT" IS NULL)) * 22 - filter(("TRANSAC_COMMENT" LIKE '%理财%' AND "TRANSAC_COMMENT" IS NOT NULL AND "TRANSAC_COMMENT" IS NOT NULL OR "TRANSAC_COMMENT" LIKE '%AI投%' AND "TRANSAC_COMMENT" IS NOT NULL AND "TRANSAC_COMMENT" IS NOT NULL OR "TRANSAC_COMMENT" LIKE '%基金强赎%' AND "TRANSAC_COMMENT" IS NOT NULL AND "TRANSAC_COMMENT" IS NOT NULL OR "TRANSAC_COMMENT" LIKE '%基金购买%' AND "TRANSAC_COMMENT" IS NOT NULL AND "TRANSAC_COMMENT" IS NOT NULL) AND SUBSTR("ACCOUNT_ATTENTION",1,1)='L' AND ("ALL_COMMENT" NOT LIKE '%支付宝%' AND "ALL_COMMENT" IS NOT NULL AND "ALL_COMMENT" IS NOT NULL OR "ALL_COMMENT" IS NULL)) * 28 - filter(("TRANSAC_COMMENT" LIKE '%理财%' AND "TRANSAC_COMMENT" IS NOT NULL AND "TRANSAC_COMMENT" IS NOT NULL OR "TRANSAC_COMMENT" LIKE '%AI投%' AND "TRANSAC_COMMENT" IS NOT NULL AND "TRANSAC_COMMENT" IS NOT NULL OR "TRANSAC_COMMENT" LIKE '%基金强赎%' AND "TRANSAC_COMMENT" IS NOT NULL AND "TRANSAC_COMMENT" IS NOT NULL OR "TRANSAC_COMMENT" LIKE '%基金购买%' AND "TRANSAC_COMMENT" IS NOT NULL AND "TRANSAC_COMMENT" IS NOT NULL) AND SUBSTR("ACCOUNT_ATTENTION",1,1)='L' AND ("ALL_COMMENT" NOT LIKE '%支付宝%' AND "ALL_COMMENT" IS NOT NULL AND "ALL_COMMENT" IS NOT NULL OR "ALL_COMMENT" IS NULL))
Hint Report (identified by operation id / Query Block Name / Object Alias): Total hints for statement: 1 (U - Unused (1)) ------------------------------------------------------------------------------- 0 - STATEMENT U - NO_PARALLEL
Notes ----- - dop_reason = hint - dop = 1 - px_in_memory_imc = no - px_in_memory = no
--------------------------------------------------------------------------------------------- Object ID : 14026 Test Plan Name : SQL_PLAN_66af4k5bvmajuf210cd8c Base Plan Name : Cost-based plan SQL Handle : SQL_6329c49157b9aa3a Parsing Schema : SYS Test Plan Creator : SYS SQL Text : select /*+ index(idl_sb4$ i_idl_sb41) */ piece#,length,piece from idl_sb4$ where obj#=:1 and part=:2 and version=:3 order by piece#
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 14026, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 14027 Test Plan Name : SQL_PLAN_57rgxdx8aa56x56a2b450 Base Plan Name : Cost-based plan SQL Handle : SQL_53ddfd6f50a514dd Parsing Schema : SYS Test Plan Creator : SYS SQL Text : select intcol#,nvl(pos#,0),col#,nvl(spare1,0) from ccol$ where con#=:1
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. This plan was skipped because either the database is not fully open or the SQL statement is ineligible for SQL Plan Management.
--------------------------------------------------------------------------------------------- Object ID : 14028 Test Plan Name : SQL_PLAN_ggxtm9d79tum24ac7738a Base Plan Name : Cost-based plan SQL Handle : SQL_f7f7334b4e9cea62 Parsing Schema : SYS Test Plan Creator : SYS SQL Text : select obj#,type#,ctime,mtime,stime, status, dataobj#, flags, oid$, spare1, spare2, spare3, signature, spare7, spare8, spare9, nvl(dflcollid, 16382), creappid, creverid, modappid, modverid, crepatchid, modpatchid from obj$ where owner#=:1 and name=:2 and namespace=:3 and remoteowner is null and linkname is null and subname is null
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. This plan was skipped because either the database is not fully open or the SQL statement is ineligible for SQL Plan Management.
--------------------------------------------------------------------------------------------- Object ID : 14029 Test Plan Name : SQL_PLAN_g9sv3ma031v9pb96737a7 Base Plan Name : Cost-based plan SQL Handle : SQL_f4e3639a8030ed35 Parsing Schema : SYS Test Plan Creator : SYS SQL Text : delete from access$ where d_obj#=:1
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 14029, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 14030 Test Plan Name : SQL_PLAN_c4290yukxu8bvfa0a22c4 Base Plan Name : Cost-based plan SQL Handle : SQL_c20920f6a5dd217b Parsing Schema : SYS Test Plan Creator : SYS SQL Text : select extractvalue(xmltype(data), '//parameter[@NAME="Include"]/value/text()'), name from sys.wri$_adv_directive_instances where extractvalue(xmltype(data), '//parameter[@NAME="Filter Type"]/value/text()') = 'OBJECT' and extractvalue(xmltype(data), '//parameter[@NAME="Owner Name"]/value/text()') is null and extractvalue(xmltype(data), '//parameter[@NAME="Object Name"]/value/text()') is null and (extractvalue(xmltype(data), '//parameter[@NAME="Rule Name"]/value/text()') = :rule_name or extractvalue(xmltype(data), '//parameter[@NAME="Rule Name"]/value/text()') is null and (:rule_name = '%' or :rule_name is null)) and (extractvalue(xmltype(data), '//parameter[@NAME="Advisor Operation"]/value/text()') = :opr_type or extractvalue(xmltype(data), '//parameter[@NAME="Advisor Operation"]/value/text()') is null and :opr_type is null) and task_id = :task_id
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 14030, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 14031 Test Plan Name : SQL_PLAN_8a39acmtb0n2g9a46fad3 Base Plan Name : Cost-based plan SQL Handle : SQL_850d2a64f2b0504f Parsing Schema : BOTANG Test Plan Creator : SYS SQL Text : select col.*, com.Comments from sys.all_tab_columns col, sys.all_col_comments com where col.owner = 'BOTANG' and col.table_name = 'V_BANK_INVOICE_RMB_SALARY_DESC' and com.Owner (+) = 'BOTANG' and com.Table_Name (+) = 'V_BANK_INVOICE_RMB_SALARY_DESC' and com.Column_Name (+) = col.Column_Name order by col.column_id
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 14031, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 14032 Test Plan Name : SQL_PLAN_cd687q3yd168zbffafdec Base Plan Name : Cost-based plan SQL Handle : SQL_c69907b0fcd0991f Parsing Schema : SYS Test Plan Creator : SYS SQL Text : merge /* KSXM:OPTIM_DML_INF */ into sys.mon_mods_all$ m using dual on (m.obj# = :objn and (:pobjn = 0 or m.obj# = :pobjn or m.obj# in (select obj# from tabpart$ where bo# = :pobjn and obj# = :objn union all select obj# from tabcompart$ where bo# = :pobjn and obj# = :objn union all select tsp.obj# from tabsubpart$ tsp, tabcompart$ tcp where tsp.pobj# = tcp.obj# and (tcp.bo# = :pobjn or tcp.obj# = :pobjn) and tsp.obj# = :objn))) when matched then update set inserts = decode(:reset, 1, 0, inserts) + :ins, updates = decode(:reset, 1, 0, updates) + :upd, deletes = decode(:reset, 1, 0, deletes) + :del, flags = decode(:reset, 1, 0, flags - bitand(flags, :flag)) + :flag, drop_segments = decode(:reset, 1, 0, drop_segments) + :dropseg, timestamp = :time when NOT matched then insert (obj#, inserts, updates, deletes, timestamp, flags, drop_segments) values (:objn, :ins, :upd, :del, :time, :flag, :dropseg) where :ins != 0 or :upd != 0 or :del != 0 or :flag != 0 or :dropseg !=0
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 14032, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 14033 Test Plan Name : SQL_PLAN_6rahfk6dpd32geb611309 Base Plan Name : Cost-based plan SQL Handle : SQL_6baa0e919b568c4f Parsing Schema : DBSNMP Test Plan Creator : SYS SQL Text : SELECT schema, count(DISTINCT index_name) FROM (SELECT owner schema, index_name from dba_indexes WHERE status NOT IN ('N/A','VALID') UNION ALL SELECT index_owner schema, index_name from dba_ind_partitions WHERE status NOT IN ('N/A','USABLE') UNION ALL SELECT index_owner schema, index_name from dba_ind_subpartitions WHERE status != 'USABLE') GROUP BY schema
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 14033, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 14034 Test Plan Name : SQL_PLAN_a4bh5ydgbbrzva6eab02a Base Plan Name : Cost-based plan SQL Handle : SQL_a22e05f35eb5dffb Parsing Schema : SYS Test Plan Creator : SYS SQL Text : select count(*) from wri$_optstat_opr o, wri$_optstat_opr_tasks t where o.id = t.op_id(+) and o.operation = 'gather_database_stats (auto)' and ((o.notes like '%%' and not regexp_like( o.notes, 'ORA-200[0-9][0-9]')) or (t.notes like '%%' and not regexp_like( t.notes, 'ORA-200[0-9][0-9]'))) and rownum=1
Execution Statistics: ----------------------------- Base Plan Test Plan ---------------------------- ---------------------------- Elapsed Time (s): .016943 .016496 CPU Time (s): .016869 .016427 Buffer Gets: 94 82 Optimizer Cost: 172 10 Disk Reads: 0 0 Direct Writes: 0 0 Rows Processed: 0 0 Executions: 8 8
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The plan was verified in 2.16900 seconds. It failed the benefit criterion because its verified performance was only 1.14420 times better than that of the baseline plan.
EXPLAIN PLANS SECTION ---------------------------------------------------------------------------------------------
Baseline Plan ----------------------------- Plan Id : 13737 Plan Hash Value : 2434539814
---------------------------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost | Time | ---------------------------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 1 | 454 | 172 | 00:00:01 | | 1 | SORT AGGREGATE | | 1 | 454 | | | | * 2 | COUNT STOPKEY | | | | | | | * 3 | FILTER | | | | | | | 4 | NESTED LOOPS OUTER | | 7626 | 3462204 | 172 | 00:00:01 | | * 5 | TABLE ACCESS FULL | WRI$_OPTSTAT_OPR | 68 | 26520 | 7 | 00:00:01 | | 6 | TABLE ACCESS BY INDEX ROWID BATCHED | WRI$_OPTSTAT_OPR_TASKS | 112 | 7168 | 4 | 00:00:01 | | * 7 | INDEX RANGE SCAN | I_WRI$_OPTSTAT_OPR_TASKS_OPID | 112 | | 1 | 00:00:01 | ----------------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 2 - filter(ROWNUM=1) * 3 - filter("O"."NOTES" LIKE '%%' AND NOT REGEXP_LIKE ("O"."NOTES",'ORA-200[0-9][0-9]') AND "O"."NOTES" IS NOT NULL OR "T"."NOTES" LIKE '%%' AND NOT REGEXP_LIKE ("T"."NOTES",'ORA-200[0-9][0-9]')) * 5 - filter("O"."OPERATION"='gather_database_stats (auto)') * 7 - access("O"."ID"="T"."OP_ID"(+))
Hint Report (identified by operation id / Query Block Name / Object Alias): Total hints for statement: 1 (U - Unused (1)) ------------------------------------------------------------------------------- 0 - STATEMENT U - NO_PARALLEL
Notes ----- - dop_reason = hint - dop = 1 - px_in_memory_imc = no - px_in_memory = no
Test Plan ----------------------------- Plan Id : 13738 Plan Hash Value : 2800398378
------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost | Time | ------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 1 | 454 | 10 | 00:00:01 | | 1 | SORT AGGREGATE | | 1 | 454 | | | | * 2 | COUNT STOPKEY | | | | | | | * 3 | FILTER | | | | | | | * 4 | HASH JOIN OUTER | | 2 | 908 | 10 | 00:00:01 | | * 5 | TABLE ACCESS FULL | WRI$_OPTSTAT_OPR | 68 | 26520 | 7 | 00:00:01 | | 6 | TABLE ACCESS FULL | WRI$_OPTSTAT_OPR_TASKS | 420 | 26880 | 3 | 00:00:01 | -------------------------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 2 - filter(ROWNUM=1) * 3 - filter("O"."NOTES" LIKE '%%' AND NOT REGEXP_LIKE ("O"."NOTES",'ORA-200[0-9][0-9]') AND "O"."NOTES" IS NOT NULL OR "T"."NOTES" LIKE '%%' AND NOT REGEXP_LIKE ("T"."NOTES",'ORA-200[0-9][0-9]')) * 4 - access("O"."ID"="T"."OP_ID"(+)) * 5 - filter("O"."OPERATION"='gather_database_stats (auto)')
--------------------------------------------------------------------------------------------- Object ID : 14035 Test Plan Name : SQL_PLAN_cv5b563u4vtwg18657119 Base Plan Name : Cost-based plan SQL Handle : SQL_cd956530f44de78f Parsing Schema : BOTANG Test Plan Creator : SYS SQL Text : SELECT COUNT(*) FROM SYS.KU$_OBJGRANT_EXISTS_VIEW WHERE OBJ_NUM IN (SELECT * FROM TABLE(SYS.DBMS_METADATA.FETCH_OBJNUMS(100001))) AND OWNER!=GRANTOR AND WGO=0 AND ROWNUM < 2
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 14035, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 14036 Test Plan Name : SQL_PLAN_gzpqhhy29707uc13e7eb6 Base Plan Name : Cost-based plan SQL Handle : SQL_ffd6d087849380fa Parsing Schema : SYS Test Plan Creator : SYS SQL Text : update /* KSXM:FLUSH COL */ sys.col_usage$ set equality_preds = equality_preds + decode(bitand(:flag,1),0,0,1), equijoin_preds = equijoin_preds + decode(bitand(:flag,2),0,0,1), nonequijoin_preds = nonequijoin_preds + decode(bitand(:flag,4),0,0,1), range_preds = range_preds + decode(bitand(:flag,8),0,0,1), like_preds = like_preds + decode(bitand(:flag,16),0,0,1), null_preds = null_preds + decode(bitand(:flag,32),0,0,1), flags = flags + :flag - bitand(flags,:flag), timestamp = :time where obj# = :objn and intcol# = :coln
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 14036, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 14037 Test Plan Name : SQL_PLAN_ggmn4r5783m125fb34569 Base Plan Name : Cost-based plan SQL Handle : SQL_f7ce84b94e81cc22 Parsing Schema : SYS Test Plan Creator : SYS SQL Text : delete /* QOSH:PURGE_OLD_STS *//*+ dynamic_sampling(4) */ from sys.wri$_optstat_histgrm_history where savtime < :1 and savtime > timestamp '1900-01-01 00:00:00 -0:0' and rownum <= :2
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 14037, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 14038 Test Plan Name : SQL_PLAN_67hh572t65gn58a767160 Base Plan Name : Cost-based plan SQL Handle : SQL_63c20538b262be85 Parsing Schema : SYS Test Plan Creator : SYS SQL Text : select count(*) from dba_autotask_window_clients c, (select window_name, max(log_date) max_log_date from dba_scheduler_window_log where operation = 'OPEN' group by window_name) wo, (select window_name, max(log_date) max_log_date from dba_scheduler_window_log where operation = 'CLOSE' group by window_name) wc where c.window_name = wo.window_name and c.optimizer_stats = 'ENABLED' and wo.window_name = wc.window_name and wo.max_log_date < wc.max_log_date and wc.window_name not in (select h.window_name from dba_autotask_job_history h where h.client_name = 'auto optimizer stats collection' and h.job_start_time between wo.max_log_date and wc.max_log_date)
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. This plan was skipped because either the database is not fully open or the SQL statement is ineligible for SQL Plan Management.
--------------------------------------------------------------------------------------------- Object ID : 14039 Test Plan Name : SQL_PLAN_du63a3x6w2m2w462cce54 Base Plan Name : Cost-based plan SQL Handle : SQL_dd186a1f4dc14c5c Parsing Schema : APPS Test Plan Creator : SYS SQL Text : SELECT /* ORDERED INDEX(t1) USE_HASH(t1) */ 'B' || t2.pg_featurevalue_05_id pg_featurevalue_05_id, 'B' || t2.pg_featurevalue_02_id pg_featurevalue_02_id, 'r' || t4.elementrange_id pg_featurevalue_15_id, 'B' || t2.pg_featurevalue_08_id pg_featurevalue_08_id, 'r' || t5.elementrange_id price_eur_id, 'B' || t2.productgroup_id productgroup_id, 'G' || t6.elementgroup_id period_id, SUM(t1.pd_sales_units*t1.pd_projection_factor) salesunits FROM lu_item_293 t2, lu_pg_featurevalue_15 t3, lu_elementrange_rel t4, fact_pd_out_itm_293 t1, lu_elementgroup_rel t6, lu_elementrange_rel t5 WHERE /* Attribute Joins */ ((t1.item_id = t2.item_id /* Customizing Begin */ AND t1.productgroup_id = t2.productgroup_id) /* Customizing End */ AND (t2.pg_featurevalue_15_id = t3.pg_featurevalue_15_id) AND (t3.pg_featurevalue_15_num BETWEEN t4.lbound AND t4.ubound) AND (t1.pd_price_units_eur BETWEEN t5.lbound AND t5.ubound) AND (t1.period_id = t6.value_id) ) /* Attribute Filters */ AND ((t2.productgroup_id = 15520) AND (t1.productgroup_id = 15520) /* Push Down Filters */ AND NOT ((t2.pg_featurevalue_01_id IN (103,104,107,110,113,134,148, 167,171,186,192,216,2259,236,241,2477,24958,27445,297,3891, 71,76,89,92,95))) AND (t2.pg_featurevalue_08_id IN (716,717)) AND (t2.pg_featurevalue_02_id IN (4165,4166)) AND (t2.pg_featurevalue_05_id = 5447) AND (t4.elementrange_id = 3091) AND (t5.elementrange_id IN (865 6,8657,8658,8659,8660,8661,8662,8663,8664,8665,8666,8667,86 68,8669,8670,8671,8672,8673,8674,8675,8676,8679,8680,8681,8 682,8683,8684,8685,8686,8687,8688,8689,8690,8691,8692,8693, 8694,8695,8696,8697,8698,8699)) AND (t6.elementgroup_id = 14659) AND (t1.period_id IN (20030699999060,20030799999030, 20030799999060,20030799999120)) /* Resolved ElementGroup Filters */ ) /* Fact Filters */ AND (t1.project_type_id = '1' ) GROUP BY t2.pg_featurevalue_05_id, t2.pg_featurevalue_02_id, t4.elementrange_id, t2.pg_featurevalue_08_id, t5.elementrange_id, t2.productgroup_id, t6.elementgroup_id
Execution Statistics: ----------------------------- Base Plan Test Plan ---------------------------- ---------------------------- Elapsed Time (s): .007503 .00452 CPU Time (s): .007464 .0045 Buffer Gets: 1950 212 Optimizer Cost: 433 911 Disk Reads: 0 0 Direct Writes: 0 0 Rows Processed: 5 5 Executions: 10 10
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (2): ----------------------------- 1. The plan was verified in 1.70500 seconds. It passed the benefit criterion because its verified performance was 9.18638 times better than that of the baseline plan. 2. The plan was automatically accepted.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 14039, task_owner => 'SYS');
EXPLAIN PLANS SECTION ---------------------------------------------------------------------------------------------
Baseline Plan ----------------------------- Plan Id : 13739 Plan Hash Value : 1198470411
-------------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost | Time | -------------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 46 | 2852 | 433 | 00:00:01 | | 1 | HASH GROUP BY | | 46 | 2852 | 433 | 00:00:01 | | * 2 | HASH JOIN | | 102 | 6324 | 432 | 00:00:01 | | 3 | VIEW | VW_GBC_16 | 309 | 9579 | 113 | 00:00:01 | | 4 | HASH GROUP BY | | 309 | 28428 | 113 | 00:00:01 | | 5 | MERGE JOIN | | 309 | 28428 | 112 | 00:00:01 | | 6 | SORT JOIN | | 7 | 539 | 106 | 00:00:01 | | 7 | NESTED LOOPS | | 7 | 539 | 105 | 00:00:01 | | 8 | NESTED LOOPS | | 7 | 539 | 105 | 00:00:01 | | 9 | MERGE JOIN CARTESIAN | | 20 | 860 | 15 | 00:00:01 | | * 10 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTGROUP_REL | 1 | 11 | 11 | 00:00:01 | | 11 | BUFFER SORT | | 2173 | 69536 | 5 | 00:00:01 | | * 12 | TABLE ACCESS INMEMORY FULL | LU_ITEM_293 | 2173 | 69536 | 5 | 00:00:01 | | 13 | BITMAP CONVERSION TO ROWIDS | | | | | | | 14 | BITMAP AND | | | | | | | * 15 | BITMAP INDEX SINGLE VALUE | FACT_274_PER_IDX | | | | | | * 16 | BITMAP INDEX SINGLE VALUE | FACT_274_ITEM_IDX | | | | | | * 17 | TABLE ACCESS BY INDEX ROWID | FACT_PD_OUT_ITM_293 | 1 | 34 | 105 | 00:00:01 | | * 18 | FILTER | | | | | | | * 19 | SORT JOIN | | 42 | 630 | 6 | 00:00:01 | | * 20 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTRANGE_REL | 42 | 630 | 5 | 00:00:01 | | 21 | NESTED LOOPS | | 818 | 25358 | 319 | 00:00:01 | | * 22 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTRANGE_REL | 1 | 15 | 2 | 00:00:01 | | * 23 | TABLE ACCESS FULL | ADM_PG_FEATUREVALUE | 811 | 12976 | 317 | 00:00:01 | --------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 2 - access("ITEM_1"="FEATUREVALUE_ID") * 10 - access("T6"."ELEMENTGROUP_ID"=14659 AND ("T6"."VALUE_ID"=20030699999060 OR "T6"."VALUE_ID"=20030799999030 OR "T6"."VALUE_ID"=20030799999060 OR "T6"."VALUE_ID"=20030799999120)) * 10 - filter("T6"."ELEMENTGROUP_ID"=14659 AND ("T6"."VALUE_ID"=20030699999060 OR "T6"."VALUE_ID"=20030799999030 OR "T6"."VALUE_ID"=20030799999060 OR "T6"."VALUE_ID"=20030799999120)) * 12 - access("T2"."PG_FEATUREVALUE_05_ID"=5447 AND "T2"."PG_FEATUREVALUE_01_ID"<>95 AND "T2"."PG_FEATUREVALUE_01_ID"<>167 AND "T2"."PG_FEATUREVALUE_01_ID"<>241 AND "T2"."PG_FEATUREVALUE_01_ID"<>186 AND "T2"."PG_FEATUREVALUE_01_ID"<>92 AND "T2"."PG_FEATUREVALUE_01_ID"<>110 AND "T2"."PG_FEATUREVALUE_01_ID"<>236 AND "T2"."PG_FEATUREVALUE_01_ID"<>192 AND "T2"."PG_FEATUREVALUE_01_ID"<>113 AND "T2"."PG_FEATUREVALUE_01_ID"<>89 AND "T2"."PG_FEATUREVALUE_01_ID"<>104 AND "T2"."PG_FEATUREVALUE_01_ID"<>103 AND "T2"."PG_FEATUREVALUE_01_ID"<>107 AND "T2"."PG_FEATUREVALUE_01_ID"<>216 AND "T2"."PG_FEATUREVALUE_01_ID"<>71 AND "T2"."PG_FEATUREVALUE_01_ID"<>148 AND "T2"."PG_FEATUREVALUE_01_ID"<>76 AND "T2"."PG_FEATUREVALUE_01_ID"<>171 AND "T2"."PG_FEATUREVALUE_01_ID"<>134 AND "T2"."PG_FEATUREVALUE_01_ID"<>3891 AND "T2"."PG_FEATUREVALUE_01_ID"<>297 AND "T2"."PG_FEATUREVALUE_01_ID"<>27445 AND "T2"."PG_FEATUREVALUE_01_ID"<>24958 AND "T2"."PG_FEATUREVALUE_01_ID"<>2477 AND "T2"."PG_FEATUREVALUE_01_ID"<>2259 AND "T2"."PRODUCTGROUP_ID"=15520 AND ("T2"."PG_FEATUREVALUE_02_ID"=4165 OR "T2"."PG_FEATUREVALUE_02_ID"=4166) AND ("T2"."PG_FEATUREVALUE_08_ID"=716 OR "T2"."PG_FEATUREVALUE_08_ID"=717)) * 12 - filter("T2"."PG_FEATUREVALUE_05_ID"=5447 AND "T2"."PG_FEATUREVALUE_01_ID"<>95 AND "T2"."PG_FEATUREVALUE_01_ID"<>167 AND "T2"."PG_FEATUREVALUE_01_ID"<>241 AND "T2"."PG_FEATUREVALUE_01_ID"<>186 AND "T2"."PG_FEATUREVALUE_01_ID"<>92 AND "T2"."PG_FEATUREVALUE_01_ID"<>110 AND "T2"."PG_FEATUREVALUE_01_ID"<>236 AND "T2"."PG_FEATUREVALUE_01_ID"<>192 AND "T2"."PG_FEATUREVALUE_01_ID"<>113 AND "T2"."PG_FEATUREVALUE_01_ID"<>89 AND "T2"."PG_FEATUREVALUE_01_ID"<>104 AND "T2"."PG_FEATUREVALUE_01_ID"<>103 AND "T2"."PG_FEATUREVALUE_01_ID"<>107 AND "T2"."PG_FEATUREVALUE_01_ID"<>216 AND "T2"."PG_FEATUREVALUE_01_ID"<>71 AND "T2"."PG_FEATUREVALUE_01_ID"<>148 AND "T2"."PG_FEATUREVALUE_01_ID"<>76 AND "T2"."PG_FEATUREVALUE_01_ID"<>171 AND "T2"."PG_FEATUREVALUE_01_ID"<>134 AND "T2"."PG_FEATUREVALUE_01_ID"<>3891 AND "T2"."PG_FEATUREVALUE_01_ID"<>297 AND "T2"."PG_FEATUREVALUE_01_ID"<>27445 AND "T2"."PG_FEATUREVALUE_01_ID"<>24958 AND "T2"."PG_FEATUREVALUE_01_ID"<>2477 AND "T2"."PG_FEATUREVALUE_01_ID"<>2259 AND "T2"."PRODUCTGROUP_ID"=15520 AND ("T2"."PG_FEATUREVALUE_02_ID"=4165 OR "T2"."PG_FEATUREVALUE_02_ID"=4166) AND ("T2"."PG_FEATUREVALUE_08_ID"=716 OR "T2"."PG_FEATUREVALUE_08_ID"=717)) * 15 - access("T1"."PERIOD_ID"="T6"."VALUE_ID") * 15 - filter("T1"."PERIOD_ID"=20030699999060 OR "T1"."PERIOD_ID"=20030799999030 OR "T1"."PERIOD_ID"=20030799999060 OR "T1"."PERIOD_ID"=20030799999120) * 16 - access("T1"."ITEM_ID"="T2"."ITEM_ID") * 17 - filter(("T1"."PERIOD_ID"=20030699999060 OR "T1"."PERIOD_ID"=20030799999030 OR "T1"."PERIOD_ID"=20030799999060 OR "T1"."PERIOD_ID"=20030799999120) AND "T1"."PRODUCTGROUP_ID"=15520 AND "T1"."PROJECT_TYPE_ID"='1' AND "T1"."PRODUCTGROUP_ID"="T2"."PRODUCTGROUP_ID") * 18 - filter("T1"."PD_PRICE_UNITS_EUR">="T5"."LBOUND") * 19 - access("T1"."PD_PRICE_UNITS_EUR"<="T5"."UBOUND") * 19 - filter("T1"."PD_PRICE_UNITS_EUR"<="T5"."UBOUND") * 20 - access("T5"."ELEMENTRANGE_ID"=8656 OR "T5"."ELEMENTRANGE_ID"=8657 OR "T5"."ELEMENTRANGE_ID"=8658 OR "T5"."ELEMENTRANGE_ID"=8659 OR "T5"."ELEMENTRANGE_ID"=8660 OR "T5"."ELEMENTRANGE_ID"=8661 OR "T5"."ELEMENTRANGE_ID"=8662 OR "T5"."ELEMENTRANGE_ID"=8663 OR "T5"."ELEMENTRANGE_ID"=8664 OR "T5"."ELEMENTRANGE_ID"=8665 OR "T5"."ELEMENTRANGE_ID"=8666 OR "T5"."ELEMENTRANGE_ID"=8667 OR "T5"."ELEMENTRANGE_ID"=8668 OR "T5"."ELEMENTRANGE_ID"=8669 OR "T5"."ELEMENTRANGE_ID"=8670 OR "T5"."ELEMENTRANGE_ID"=8671 OR "T5"."ELEMENTRANGE_ID"=8672 OR "T5"."ELEMENTRANGE_ID"=8673 OR "T5"."ELEMENTRANGE_ID"=8674 OR "T5"."ELEMENTRANGE_ID"=8675 OR "T5"."ELEMENTRANGE_ID"=8676 OR "T5"."ELEMENTRANGE_ID"=8679 OR "T5"."ELEMENTRANGE_ID"=8680 OR "T5"."ELEMENTRANGE_ID"=8681 OR "T5"."ELEMENTRANGE_ID"=8682 OR "T5"."ELEMENTRANGE_ID"=8683 OR "T5"."ELEMENTRANGE_ID"=8684 OR "T5"."ELEMENTRANGE_ID"=8685 OR "T5"."ELEMENTRANGE_ID"=8686 OR "T5"."ELEMENTRANGE_ID"=8687 OR "T5"."ELEMENTRANGE_ID"=8688 OR "T5"."ELEMENTRANGE_ID"=8689 OR "T5"."ELEMENTRANGE_ID"=8690 OR "T5"."ELEMENTRANGE_ID"=8691 OR "T5"."ELEMENTRANGE_ID"=8692 OR "T5"."ELEMENTRANGE_ID"=8693 OR "T5"."ELEMENTRANGE_ID"=8694 OR "T5"."ELEMENTRANGE_ID"=8695 OR "T5"."ELEMENTRANGE_ID"=8696 OR "T5"."ELEMENTRANGE_ID"=8697 OR "T5"."ELEMENTRANGE_ID"=8698 OR "T5"."ELEMENTRANGE_ID"=8699) * 20 - filter("T5"."ELEMENTRANGE_ID"=8656 OR "T5"."ELEMENTRANGE_ID"=8657 OR "T5"."ELEMENTRANGE_ID"=8658 OR "T5"."ELEMENTRANGE_ID"=8659 OR "T5"."ELEMENTRANGE_ID"=8660 OR "T5"."ELEMENTRANGE_ID"=8661 OR "T5"."ELEMENTRANGE_ID"=8662 OR "T5"."ELEMENTRANGE_ID"=8663 OR "T5"."ELEMENTRANGE_ID"=8664 OR "T5"."ELEMENTRANGE_ID"=8665 OR "T5"."ELEMENTRANGE_ID"=8666 OR "T5"."ELEMENTRANGE_ID"=8667 OR "T5"."ELEMENTRANGE_ID"=8668 OR "T5"."ELEMENTRANGE_ID"=8669 OR "T5"."ELEMENTRANGE_ID"=8670 OR "T5"."ELEMENTRANGE_ID"=8671 OR "T5"."ELEMENTRANGE_ID"=8672 OR "T5"."ELEMENTRANGE_ID"=8673 OR "T5"."ELEMENTRANGE_ID"=8674 OR "T5"."ELEMENTRANGE_ID"=8675 OR "T5"."ELEMENTRANGE_ID"=8676 OR "T5"."ELEMENTRANGE_ID"=8679 OR "T5"."ELEMENTRANGE_ID"=8680 OR "T5"."ELEMENTRANGE_ID"=8681 OR "T5"."ELEMENTRANGE_ID"=8682 OR "T5"."ELEMENTRANGE_ID"=8683 OR "T5"."ELEMENTRANGE_ID"=8684 OR "T5"."ELEMENTRANGE_ID"=8685 OR "T5"."ELEMENTRANGE_ID"=8686 OR "T5"."ELEMENTRANGE_ID"=8687 OR "T5"."ELEMENTRANGE_ID"=8688 OR "T5"."ELEMENTRANGE_ID"=8689 OR "T5"."ELEMENTRANGE_ID"=8690 OR "T5"."ELEMENTRANGE_ID"=8691 OR "T5"."ELEMENTRANGE_ID"=8692 OR "T5"."ELEMENTRANGE_ID"=8693 OR "T5"."ELEMENTRANGE_ID"=8694 OR "T5"."ELEMENTRANGE_ID"=8695 OR "T5"."ELEMENTRANGE_ID"=8696 OR "T5"."ELEMENTRANGE_ID"=8697 OR "T5"."ELEMENTRANGE_ID"=8698 OR "T5"."ELEMENTRANGE_ID"=8699) * 22 - access("T4"."ELEMENTRANGE_ID"=3091) * 22 - filter("T4"."ELEMENTRANGE_ID"=3091) * 23 - filter("TABLE_NR"=15 AND "FEATUREVALUE_NUM"<="T4"."UBOUND" AND "FEATUREVALUE_NUM">="T4"."LBOUND" AND "DELETED"=0)
Hint Report (identified by operation id / Query Block Name / Object Alias): Total hints for statement: 1 (U - Unused (1)) ------------------------------------------------------------------------------- 0 - STATEMENT U - NO_PARALLEL
Notes ----- - dop_reason = hint - dop = 1 - px_in_memory_imc = no - px_in_memory = no
Test Plan ----------------------------- Plan Id : 13740 Plan Hash Value : 1177341524
----------------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost | Time | ----------------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 46 | 2852 | 911 | 00:00:01 | | 1 | HASH GROUP BY | | 46 | 2852 | 911 | 00:00:01 | | * 2 | HASH JOIN | | 102 | 6324 | 910 | 00:00:01 | | 3 | VIEW | VW_GBC_16 | 309 | 9579 | 591 | 00:00:01 | | 4 | HASH GROUP BY | | 309 | 28428 | 591 | 00:00:01 | | 5 | MERGE JOIN | | 309 | 28428 | 590 | 00:00:01 | | 6 | SORT JOIN | | 7 | 539 | 584 | 00:00:01 | | * 7 | HASH JOIN | | 7 | 539 | 583 | 00:00:01 | | 8 | MERGE JOIN CARTESIAN | | 20 | 860 | 15 | 00:00:01 | | * 9 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTGROUP_REL | 1 | 11 | 11 | 00:00:01 | | 10 | BUFFER SORT | | 2173 | 69536 | 5 | 00:00:01 | | * 11 | TABLE ACCESS INMEMORY FULL | LU_ITEM_293 | 2173 | 69536 | 5 | 00:00:01 | | * 12 | TABLE ACCESS INMEMORY FULL | FACT_PD_OUT_ITM_293 | 120991 | 4113694 | 565 | 00:00:01 | | * 13 | FILTER | | | | | | | * 14 | SORT JOIN | | 42 | 630 | 6 | 00:00:01 | | * 15 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTRANGE_REL | 42 | 630 | 5 | 00:00:01 | | 16 | NESTED LOOPS | | 818 | 25358 | 319 | 00:00:01 | | * 17 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTRANGE_REL | 1 | 15 | 2 | 00:00:01 | | * 18 | TABLE ACCESS FULL | ADM_PG_FEATUREVALUE | 811 | 12976 | 317 | 00:00:01 | -----------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 2 - access("ITEM_1"="FEATUREVALUE_ID") * 7 - access("T1"."PERIOD_ID"="T6"."VALUE_ID" AND "T1"."PRODUCTGROUP_ID"="T2"."PRODUCTGROUP_ID" AND "T1"."ITEM_ID"="T2"."ITEM_ID") * 9 - access("T6"."ELEMENTGROUP_ID"=14659 AND ("T6"."VALUE_ID"=20030699999060 OR "T6"."VALUE_ID"=20030799999030 OR "T6"."VALUE_ID"=20030799999060 OR "T6"."VALUE_ID"=20030799999120)) * 9 - filter("T6"."ELEMENTGROUP_ID"=14659 AND ("T6"."VALUE_ID"=20030699999060 OR "T6"."VALUE_ID"=20030799999030 OR "T6"."VALUE_ID"=20030799999060 OR "T6"."VALUE_ID"=20030799999120)) * 11 - access("T2"."PG_FEATUREVALUE_05_ID"=5447 AND "T2"."PG_FEATUREVALUE_01_ID"<>95 AND "T2"."PG_FEATUREVALUE_01_ID"<>167 AND "T2"."PG_FEATUREVALUE_01_ID"<>241 AND "T2"."PG_FEATUREVALUE_01_ID"<>186 AND "T2"."PG_FEATUREVALUE_01_ID"<>92 AND "T2"."PG_FEATUREVALUE_01_ID"<>110 AND "T2"."PG_FEATUREVALUE_01_ID"<>236 AND "T2"."PG_FEATUREVALUE_01_ID"<>192 AND "T2"."PG_FEATUREVALUE_01_ID"<>113 AND "T2"."PG_FEATUREVALUE_01_ID"<>89 AND "T2"."PG_FEATUREVALUE_01_ID"<>104 AND "T2"."PG_FEATUREVALUE_01_ID"<>103 AND "T2"."PG_FEATUREVALUE_01_ID"<>107 AND "T2"."PG_FEATUREVALUE_01_ID"<>216 AND "T2"."PG_FEATUREVALUE_01_ID"<>71 AND "T2"."PG_FEATUREVALUE_01_ID"<>148 AND "T2"."PG_FEATUREVALUE_01_ID"<>76 AND "T2"."PG_FEATUREVALUE_01_ID"<>171 AND "T2"."PG_FEATUREVALUE_01_ID"<>134 AND "T2"."PG_FEATUREVALUE_01_ID"<>3891 AND "T2"."PG_FEATUREVALUE_01_ID"<>297 AND "T2"."PG_FEATUREVALUE_01_ID"<>27445 AND "T2"."PG_FEATUREVALUE_01_ID"<>24958 AND "T2"."PG_FEATUREVALUE_01_ID"<>2477 AND "T2"."PG_FEATUREVALUE_01_ID"<>2259 AND "T2"."PRODUCTGROUP_ID"=15520 AND ("T2"."PG_FEATUREVALUE_02_ID"=4165 OR "T2"."PG_FEATUREVALUE_02_ID"=4166) AND ("T2"."PG_FEATUREVALUE_08_ID"=716 OR "T2"."PG_FEATUREVALUE_08_ID"=717)) * 11 - filter("T2"."PG_FEATUREVALUE_05_ID"=5447 AND "T2"."PG_FEATUREVALUE_01_ID"<>95 AND "T2"."PG_FEATUREVALUE_01_ID"<>167 AND "T2"."PG_FEATUREVALUE_01_ID"<>241 AND "T2"."PG_FEATUREVALUE_01_ID"<>186 AND "T2"."PG_FEATUREVALUE_01_ID"<>92 AND "T2"."PG_FEATUREVALUE_01_ID"<>110 AND "T2"."PG_FEATUREVALUE_01_ID"<>236 AND "T2"."PG_FEATUREVALUE_01_ID"<>192 AND "T2"."PG_FEATUREVALUE_01_ID"<>113 AND "T2"."PG_FEATUREVALUE_01_ID"<>89 AND "T2"."PG_FEATUREVALUE_01_ID"<>104 AND "T2"."PG_FEATUREVALUE_01_ID"<>103 AND "T2"."PG_FEATUREVALUE_01_ID"<>107 AND "T2"."PG_FEATUREVALUE_01_ID"<>216 AND "T2"."PG_FEATUREVALUE_01_ID"<>71 AND "T2"."PG_FEATUREVALUE_01_ID"<>148 AND "T2"."PG_FEATUREVALUE_01_ID"<>76 AND "T2"."PG_FEATUREVALUE_01_ID"<>171 AND "T2"."PG_FEATUREVALUE_01_ID"<>134 AND "T2"."PG_FEATUREVALUE_01_ID"<>3891 AND "T2"."PG_FEATUREVALUE_01_ID"<>297 AND "T2"."PG_FEATUREVALUE_01_ID"<>27445 AND "T2"."PG_FEATUREVALUE_01_ID"<>24958 AND "T2"."PG_FEATUREVALUE_01_ID"<>2477 AND "T2"."PG_FEATUREVALUE_01_ID"<>2259 AND "T2"."PRODUCTGROUP_ID"=15520 AND ("T2"."PG_FEATUREVALUE_02_ID"=4165 OR "T2"."PG_FEATUREVALUE_02_ID"=4166) AND ("T2"."PG_FEATUREVALUE_08_ID"=716 OR "T2"."PG_FEATUREVALUE_08_ID"=717)) * 12 - access(("T1"."PERIOD_ID"=20030699999060 OR "T1"."PERIOD_ID"=20030799999030 OR "T1"."PERIOD_ID"=20030799999060 OR "T1"."PERIOD_ID"=20030799999120) AND "T1"."PRODUCTGROUP_ID"=15520 AND "T1"."PROJECT_TYPE_ID"='1') * 12 - filter(("T1"."PERIOD_ID"=20030699999060 OR "T1"."PERIOD_ID"=20030799999030 OR "T1"."PERIOD_ID"=20030799999060 OR "T1"."PERIOD_ID"=20030799999120) AND "T1"."PRODUCTGROUP_ID"=15520 AND "T1"."PROJECT_TYPE_ID"='1') * 13 - filter("T1"."PD_PRICE_UNITS_EUR">="T5"."LBOUND") * 14 - access("T1"."PD_PRICE_UNITS_EUR"<="T5"."UBOUND") * 14 - filter("T1"."PD_PRICE_UNITS_EUR"<="T5"."UBOUND") * 15 - access("T5"."ELEMENTRANGE_ID"=8656 OR "T5"."ELEMENTRANGE_ID"=8657 OR "T5"."ELEMENTRANGE_ID"=8658 OR "T5"."ELEMENTRANGE_ID"=8659 OR "T5"."ELEMENTRANGE_ID"=8660 OR "T5"."ELEMENTRANGE_ID"=8661 OR "T5"."ELEMENTRANGE_ID"=8662 OR "T5"."ELEMENTRANGE_ID"=8663 OR "T5"."ELEMENTRANGE_ID"=8664 OR "T5"."ELEMENTRANGE_ID"=8665 OR "T5"."ELEMENTRANGE_ID"=8666 OR "T5"."ELEMENTRANGE_ID"=8667 OR "T5"."ELEMENTRANGE_ID"=8668 OR "T5"."ELEMENTRANGE_ID"=8669 OR "T5"."ELEMENTRANGE_ID"=8670 OR "T5"."ELEMENTRANGE_ID"=8671 OR "T5"."ELEMENTRANGE_ID"=8672 OR "T5"."ELEMENTRANGE_ID"=8673 OR "T5"."ELEMENTRANGE_ID"=8674 OR "T5"."ELEMENTRANGE_ID"=8675 OR "T5"."ELEMENTRANGE_ID"=8676 OR "T5"."ELEMENTRANGE_ID"=8679 OR "T5"."ELEMENTRANGE_ID"=8680 OR "T5"."ELEMENTRANGE_ID"=8681 OR "T5"."ELEMENTRANGE_ID"=8682 OR "T5"."ELEMENTRANGE_ID"=8683 OR "T5"."ELEMENTRANGE_ID"=8684 OR "T5"."ELEMENTRANGE_ID"=8685 OR "T5"."ELEMENTRANGE_ID"=8686 OR "T5"."ELEMENTRANGE_ID"=8687 OR "T5"."ELEMENTRANGE_ID"=8688 OR "T5"."ELEMENTRANGE_ID"=8689 OR "T5"."ELEMENTRANGE_ID"=8690 OR "T5"."ELEMENTRANGE_ID"=8691 OR "T5"."ELEMENTRANGE_ID"=8692 OR "T5"."ELEMENTRANGE_ID"=8693 OR "T5"."ELEMENTRANGE_ID"=8694 OR "T5"."ELEMENTRANGE_ID"=8695 OR "T5"."ELEMENTRANGE_ID"=8696 OR "T5"."ELEMENTRANGE_ID"=8697 OR "T5"."ELEMENTRANGE_ID"=8698 OR "T5"."ELEMENTRANGE_ID"=8699) * 15 - filter("T5"."ELEMENTRANGE_ID"=8656 OR "T5"."ELEMENTRANGE_ID"=8657 OR "T5"."ELEMENTRANGE_ID"=8658 OR "T5"."ELEMENTRANGE_ID"=8659 OR "T5"."ELEMENTRANGE_ID"=8660 OR "T5"."ELEMENTRANGE_ID"=8661 OR "T5"."ELEMENTRANGE_ID"=8662 OR "T5"."ELEMENTRANGE_ID"=8663 OR "T5"."ELEMENTRANGE_ID"=8664 OR "T5"."ELEMENTRANGE_ID"=8665 OR "T5"."ELEMENTRANGE_ID"=8666 OR "T5"."ELEMENTRANGE_ID"=8667 OR "T5"."ELEMENTRANGE_ID"=8668 OR "T5"."ELEMENTRANGE_ID"=8669 OR "T5"."ELEMENTRANGE_ID"=8670 OR "T5"."ELEMENTRANGE_ID"=8671 OR "T5"."ELEMENTRANGE_ID"=8672 OR "T5"."ELEMENTRANGE_ID"=8673 OR "T5"."ELEMENTRANGE_ID"=8674 OR "T5"."ELEMENTRANGE_ID"=8675 OR "T5"."ELEMENTRANGE_ID"=8676 OR "T5"."ELEMENTRANGE_ID"=8679 OR "T5"."ELEMENTRANGE_ID"=8680 OR "T5"."ELEMENTRANGE_ID"=8681 OR "T5"."ELEMENTRANGE_ID"=8682 OR "T5"."ELEMENTRANGE_ID"=8683 OR "T5"."ELEMENTRANGE_ID"=8684 OR "T5"."ELEMENTRANGE_ID"=8685 OR "T5"."ELEMENTRANGE_ID"=8686 OR "T5"."ELEMENTRANGE_ID"=8687 OR "T5"."ELEMENTRANGE_ID"=8688 OR "T5"."ELEMENTRANGE_ID"=8689 OR "T5"."ELEMENTRANGE_ID"=8690 OR "T5"."ELEMENTRANGE_ID"=8691 OR "T5"."ELEMENTRANGE_ID"=8692 OR "T5"."ELEMENTRANGE_ID"=8693 OR "T5"."ELEMENTRANGE_ID"=8694 OR "T5"."ELEMENTRANGE_ID"=8695 OR "T5"."ELEMENTRANGE_ID"=8696 OR "T5"."ELEMENTRANGE_ID"=8697 OR "T5"."ELEMENTRANGE_ID"=8698 OR "T5"."ELEMENTRANGE_ID"=8699) * 17 - access("T4"."ELEMENTRANGE_ID"=3091) * 17 - filter("T4"."ELEMENTRANGE_ID"=3091) * 18 - filter("TABLE_NR"=15 AND "FEATUREVALUE_NUM"<="T4"."UBOUND" AND "FEATUREVALUE_NUM">="T4"."LBOUND" AND "DELETED"=0)
Hint Report (identified by operation id / Query Block Name / Object Alias): Total hints for statement: 1 (U - Unused (1)) ------------------------------------------------------------------------------- 0 - STATEMENT U - NO_PARALLEL
Notes ----- - dop_reason = hint - dop = 1 - px_in_memory_imc = no - px_in_memory = no
--------------------------------------------------------------------------------------------- Object ID : 14040 Test Plan Name : SQL_PLAN_3rms80dccxp077df89ef6 Base Plan Name : Cost-based plan SQL Handle : SQL_3bcf080358ced407 Parsing Schema : BOTANG Test Plan Creator : SYS SQL Text : select column_name, nullable, data_type, data_type_mod, data_type_owner, data_length, data_precision, data_scale, char_used, char_length from sys.all_tab_columns where owner = 'BOTANG' and table_name = 'V_BANK_INVOICE_AUDIT_RMB_LC_DUED' order by column_id
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 14040, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 14041 Test Plan Name : SQL_PLAN_grjahj272hy7wdfad8df0 Base Plan Name : Cost-based plan SQL Handle : SQL_fbc550888e2878fc Parsing Schema : SYS Test Plan Creator : SYS SQL Text : select audit$,options from procedure$ where obj#=:1
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 14041, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 14042 Test Plan Name : SQL_PLAN_gxa5fjxdd650yd49a55e6 Base Plan Name : Cost-based plan SQL Handle : SQL_fea8ae8f5ad3141e Parsing Schema : SYS Test Plan Creator : SYS SQL Text : SELECT c.window_name, optimizer_stats, segment_advisor, sql_tune_advisor, 'DISABLED' as health_monitor FROM dba_autotask_window_clients c, dba_scheduler_windows w WHERE c.window_name = w.window_name ORDER BY w.next_start_date
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. This plan was skipped because either the database is not fully open or the SQL statement is ineligible for SQL Plan Management.
--------------------------------------------------------------------------------------------- Object ID : 14043 Test Plan Name : SQL_PLAN_7xkbaysfykx5d547df733 Base Plan Name : Cost-based plan SQL Handle : SQL_7ec96af61de974ad Parsing Schema : SYS Test Plan Creator : SYS SQL Text : SELECT JOB_NAME NAME FROM DBA_SCHEDULER_JOBS WHERE JOB_NAME LIKE ('IDX@_RB$J@_' || :B1 || '@_%') ESCAPE '@'
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. This plan was skipped because either the database is not fully open or the SQL statement is ineligible for SQL Plan Management.
--------------------------------------------------------------------------------------------- Object ID : 14044 Test Plan Name : SQL_PLAN_bgq2tbchqsdd88fc972b6 Base Plan Name : Cost-based plan SQL Handle : SQL_b7d8595b216c35a8 Parsing Schema : APPS Test Plan Creator : SYS SQL Text : SELECT /* ORDERED INDEX(t1) USE_HASH(t1) */ 'B' || t2.pg_featurevalue_13_id pg_featurevalue_13_id, 'B' || t2.pg_featurevalue_02_id pg_featurevalue_02_id, 'r' || t4.elementrange_id pg_featurevalue_15_id, 'B' || t2.pg_featurevalue_08_id pg_featurevalue_08_id, 'B' || t2.pg_featurevalue_01_id pg_featurevalue_01_id, 'r' || t5.elementrange_id price_eur_id, 'B' || t2.productgroup_id productgroup_id, 'G' || t6.elementgroup_id period_id, SUM(t 1.pd_sales_units*t1.pd_projection_factor*t1.pd_price_units_ eur) salesvalueeur FROM lu_item_293 t2, lu_pg_featurevalue_15 t3, lu_elementrange_rel t4, fact_pd_out_itm_293 t1, lu_elementgroup_rel t6, lu_elementrange_rel t5 WHERE /* Attribute Joins */ ((t1.item_id = t2.item_id /* Customizing Begin */ AND t1.productgroup_id = t2.productgroup_id) /* Customizing End */ AND (t2.pg_featurevalue_15_id = t3.pg_featurevalue_15_id) AND (t3.pg_featurevalue_15_num BETWEEN t4.lbound AND t4.ubound) AND (t1.pd_price_units_eur BETWEEN t5.lbound AND t5.ubound) AND (t1.period_id = t6.value_id) ) /* Attribute Filters */ AND ((t2.productgroup_id = 15520) AND (t1.productgroup_id = 15520) /* Push Down Filters */ AND (t2.pg_featurevalue_01_id IN (103,104,107,110,113,134,148,1 67,171,186,192,216,2259,236,241,2477,24958,27445,297,3891,7 1,76,89,92,95)) AND (t2.pg_featurevalue_08_id IN (716,717)) AND (t2.pg_featurevalue_02_id IN (4165,4166)) AND (t2.pg_featurevalue_13_id = 5424) AND (t4.elementrange_id IN (3091,3092)) AND (t5.elementrange_id IN (8664,8665,8666,8667,8668,8669,8670,8671)) AND (t6.elementgroup_id = 14659) AND (t1.period_id IN (20030699 999060,20030799999030,20030799999060,20030799999120)) /* Resolved ElementGroup Filters */ ) /* Fact Filters */ AND (t1.project_type_id = '1' ) GROUP BY t2.pg_featurevalue_13_id, t2.pg_featurevalue_02_id, t4.elementrange_id, t2.pg_featurevalue_08_id, t2.pg_featurevalue_01_id, t5.elementrange_id, t2.productgroup_id, t6.elementgroup_id
Execution Statistics: ----------------------------- Base Plan Test Plan ---------------------------- ---------------------------- Elapsed Time (s): .012301 .005902 CPU Time (s): .012235 .005874 Buffer Gets: 3387 212 Optimizer Cost: 88 910 Disk Reads: 0 0 Direct Writes: 0 0 Rows Processed: 15 14 Executions: 9 10
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (2): ----------------------------- 1. The plan was verified in 1.92300 seconds. It passed the benefit criterion because its verified performance was 14.34752 times better than that of the baseline plan. 2. The plan was automatically accepted.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 14044, task_owner => 'SYS');
EXPLAIN PLANS SECTION ---------------------------------------------------------------------------------------------
Baseline Plan ----------------------------- Plan Id : 13741 Plan Hash Value : 546558701
---------------------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost | Time | ---------------------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 7 | 462 | 88 | 00:00:01 | | 1 | HASH GROUP BY | | 7 | 462 | 88 | 00:00:01 | | 2 | MERGE JOIN | | 7 | 462 | 87 | 00:00:01 | | 3 | SORT JOIN | | 11 | 561 | 84 | 00:00:01 | | 4 | NESTED LOOPS | | 11 | 561 | 83 | 00:00:01 | | 5 | NESTED LOOPS | | 11 | 561 | 83 | 00:00:01 | | 6 | VIEW | VW_GBC_16 | 11 | 385 | 61 | 00:00:01 | | 7 | HASH GROUP BY | | 11 | 1012 | 61 | 00:00:01 | | 8 | MERGE JOIN | | 11 | 1012 | 60 | 00:00:01 | | 9 | SORT JOIN | | 1 | 77 | 56 | 00:00:01 | | 10 | NESTED LOOPS | | 1 | 77 | 55 | 00:00:01 | | 11 | NESTED LOOPS | | 1 | 77 | 55 | 00:00:01 | | 12 | MERGE JOIN CARTESIAN | | 4 | 172 | 14 | 00:00:01 | | * 13 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTGROUP_REL | 1 | 11 | 11 | 00:00:01 | | 14 | BUFFER SORT | | 397 | 12704 | 4 | 00:00:01 | | * 15 | TABLE ACCESS INMEMORY FULL | LU_ITEM_293 | 397 | 12704 | 4 | 00:00:01 | | 16 | BITMAP CONVERSION TO ROWIDS | | | | | | | 17 | BITMAP AND | | | | | | | * 18 | BITMAP INDEX SINGLE VALUE | FACT_274_PER_IDX | | | | | | * 19 | BITMAP INDEX SINGLE VALUE | FACT_274_ITEM_IDX | | | | | | * 20 | TABLE ACCESS BY INDEX ROWID | FACT_PD_OUT_ITM_293 | 1 | 34 | 55 | 00:00:01 | | * 21 | FILTER | | | | | | | * 22 | SORT JOIN | | 8 | 120 | 4 | 00:00:01 | | * 23 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTRANGE_REL | 8 | 120 | 3 | 00:00:01 | | * 24 | INDEX RANGE SCAN | ADM_PG_FEATUREVALUE_IDX2 | 1 | | 1 | 00:00:01 | | * 25 | TABLE ACCESS BY INDEX ROWID | ADM_PG_FEATUREVALUE | 1 | 16 | 2 | 00:00:01 | | * 26 | FILTER | | | | | | | * 27 | SORT JOIN | | 2 | 30 | 3 | 00:00:01 | | * 28 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTRANGE_REL | 2 | 30 | 2 | 00:00:01 | ----------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 13 - access("T6"."ELEMENTGROUP_ID"=14659 AND ("T6"."VALUE_ID"=20030699999060 OR "T6"."VALUE_ID"=20030799999030 OR "T6"."VALUE_ID"=20030799999060 OR "T6"."VALUE_ID"=20030799999120)) * 13 - filter("T6"."ELEMENTGROUP_ID"=14659 AND ("T6"."VALUE_ID"=20030699999060 OR "T6"."VALUE_ID"=20030799999030 OR "T6"."VALUE_ID"=20030799999060 OR "T6"."VALUE_ID"=20030799999120)) * 15 - access("T2"."PG_FEATUREVALUE_13_ID"=5424 AND ("T2"."PG_FEATUREVALUE_01_ID"=71 OR "T2"."PG_FEATUREVALUE_01_ID"=76 OR "T2"."PG_FEATUREVALUE_01_ID"=89 OR "T2"."PG_FEATUREVALUE_01_ID"=92 OR "T2"."PG_FEATUREVALUE_01_ID"=95 OR "T2"."PG_FEATUREVALUE_01_ID"=103 OR "T2"."PG_FEATUREVALUE_01_ID"=104 OR "T2"."PG_FEATUREVALUE_01_ID"=107 OR "T2"."PG_FEATUREVALUE_01_ID"=110 OR "T2"."PG_FEATUREVALUE_01_ID"=113 OR "T2"."PG_FEATUREVALUE_01_ID"=134 OR "T2"."PG_FEATUREVALUE_01_ID"=148 OR "T2"."PG_FEATUREVALUE_01_ID"=167 OR "T2"."PG_FEATUREVALUE_01_ID"=171 OR "T2"."PG_FEATUREVALUE_01_ID"=186 OR "T2"."PG_FEATUREVALUE_01_ID"=192 OR "T2"."PG_FEATUREVALUE_01_ID"=216 OR "T2"."PG_FEATUREVALUE_01_ID"=236 OR "T2"."PG_FEATUREVALUE_01_ID"=241 OR "T2"."PG_FEATUREVALUE_01_ID"=297 OR "T2"."PG_FEATUREVALUE_01_ID"=2259 OR "T2"."PG_FEATUREVALUE_01_ID"=2477 OR "T2"."PG_FEATUREVALUE_01_ID"=3891 OR "T2"."PG_FEATUREVALUE_01_ID"=24958 OR "T2"."PG_FEATUREVALUE_01_ID"=27445) AND "T2"."PRODUCTGROUP_ID"=15520 AND ("T2"."PG_FEATUREVALUE_02_ID"=4165 OR "T2"."PG_FEATUREVALUE_02_ID"=4166) AND ("T2"."PG_FEATUREVALUE_08_ID"=716 OR "T2"."PG_FEATUREVALUE_08_ID"=717)) * 15 - filter("T2"."PG_FEATUREVALUE_13_ID"=5424 AND ("T2"."PG_FEATUREVALUE_01_ID"=71 OR "T2"."PG_FEATUREVALUE_01_ID"=76 OR "T2"."PG_FEATUREVALUE_01_ID"=89 OR "T2"."PG_FEATUREVALUE_01_ID"=92 OR "T2"."PG_FEATUREVALUE_01_ID"=95 OR "T2"."PG_FEATUREVALUE_01_ID"=103 OR "T2"."PG_FEATUREVALUE_01_ID"=104 OR "T2"."PG_FEATUREVALUE_01_ID"=107 OR "T2"."PG_FEATUREVALUE_01_ID"=110 OR "T2"."PG_FEATUREVALUE_01_ID"=113 OR "T2"."PG_FEATUREVALUE_01_ID"=134 OR "T2"."PG_FEATUREVALUE_01_ID"=148 OR "T2"."PG_FEATUREVALUE_01_ID"=167 OR "T2"."PG_FEATUREVALUE_01_ID"=171 OR "T2"."PG_FEATUREVALUE_01_ID"=186 OR "T2"."PG_FEATUREVALUE_01_ID"=192 OR "T2"."PG_FEATUREVALUE_01_ID"=216 OR "T2"."PG_FEATUREVALUE_01_ID"=236 OR "T2"."PG_FEATUREVALUE_01_ID"=241 OR "T2"."PG_FEATUREVALUE_01_ID"=297 OR "T2"."PG_FEATUREVALUE_01_ID"=2259 OR "T2"."PG_FEATUREVALUE_01_ID"=2477 OR "T2"."PG_FEATUREVALUE_01_ID"=3891 OR "T2"."PG_FEATUREVALUE_01_ID"=24958 OR "T2"."PG_FEATUREVALUE_01_ID"=27445) AND "T2"."PRODUCTGROUP_ID"=15520 AND ("T2"."PG_FEATUREVALUE_02_ID"=4165 OR "T2"."PG_FEATUREVALUE_02_ID"=4166) AND ("T2"."PG_FEATUREVALUE_08_ID"=716 OR "T2"."PG_FEATUREVALUE_08_ID"=717)) * 18 - access("T1"."PERIOD_ID"="T6"."VALUE_ID") * 18 - filter("T1"."PERIOD_ID"=20030699999060 OR "T1"."PERIOD_ID"=20030799999030 OR "T1"."PERIOD_ID"=20030799999060 OR "T1"."PERIOD_ID"=20030799999120) * 19 - access("T1"."ITEM_ID"="T2"."ITEM_ID") * 20 - filter(("T1"."PERIOD_ID"=20030699999060 OR "T1"."PERIOD_ID"=20030799999030 OR "T1"."PERIOD_ID"=20030799999060 OR "T1"."PERIOD_ID"=20030799999120) AND "T1"."PRODUCTGROUP_ID"=15520 AND "T1"."PROJECT_TYPE_ID"='1' AND "T1"."PRODUCTGROUP_ID"="T2"."PRODUCTGROUP_ID") * 21 - filter("T1"."PD_PRICE_UNITS_EUR">="T5"."LBOUND") * 22 - access("T1"."PD_PRICE_UNITS_EUR"<="T5"."UBOUND") * 22 - filter("T1"."PD_PRICE_UNITS_EUR"<="T5"."UBOUND") * 23 - access("T5"."ELEMENTRANGE_ID"=8664 OR "T5"."ELEMENTRANGE_ID"=8665 OR "T5"."ELEMENTRANGE_ID"=8666 OR "T5"."ELEMENTRANGE_ID"=8667 OR "T5"."ELEMENTRANGE_ID"=8668 OR "T5"."ELEMENTRANGE_ID"=8669 OR "T5"."ELEMENTRANGE_ID"=8670 OR "T5"."ELEMENTRANGE_ID"=8671) * 23 - filter("T5"."ELEMENTRANGE_ID"=8664 OR "T5"."ELEMENTRANGE_ID"=8665 OR "T5"."ELEMENTRANGE_ID"=8666 OR "T5"."ELEMENTRANGE_ID"=8667 OR "T5"."ELEMENTRANGE_ID"=8668 OR "T5"."ELEMENTRANGE_ID"=8669 OR "T5"."ELEMENTRANGE_ID"=8670 OR "T5"."ELEMENTRANGE_ID"=8671) * 24 - access("ITEM_1"="FEATUREVALUE_ID") * 25 - filter("TABLE_NR"=15 AND "DELETED"=0) * 26 - filter("FEATUREVALUE_NUM"<="T4"."UBOUND") * 27 - access(INTERNAL_FUNCTION("FEATUREVALUE_NUM")>=INTERNAL_FUNCTION("T4"."LBOUND")) * 27 - filter(INTERNAL_FUNCTION("FEATUREVALUE_NUM")>=INTERNAL_FUNCTION("T4"."LBOUND")) * 28 - access("T4"."ELEMENTRANGE_ID"=3091 OR "T4"."ELEMENTRANGE_ID"=3092) * 28 - filter("T4"."ELEMENTRANGE_ID"=3091 OR "T4"."ELEMENTRANGE_ID"=3092)
Hint Report (identified by operation id / Query Block Name / Object Alias): Total hints for statement: 1 (U - Unused (1)) ------------------------------------------------------------------------------- 0 - STATEMENT U - NO_PARALLEL
Notes ----- - dop_reason = hint - dop = 1 - px_in_memory_imc = no - px_in_memory = no
Test Plan ----------------------------- Plan Id : 13742 Plan Hash Value : 2412343990
------------------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost | Time | ------------------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 7 | 462 | 910 | 00:00:01 | | 1 | HASH GROUP BY | | 7 | 462 | 910 | 00:00:01 | | 2 | MERGE JOIN | | 7 | 462 | 909 | 00:00:01 | | 3 | SORT JOIN | | 11 | 561 | 906 | 00:00:01 | | * 4 | HASH JOIN | | 11 | 561 | 905 | 00:00:01 | | 5 | VIEW | VW_GBC_16 | 11 | 385 | 588 | 00:00:01 | | 6 | HASH GROUP BY | | 11 | 1012 | 588 | 00:00:01 | | 7 | MERGE JOIN | | 11 | 1012 | 587 | 00:00:01 | | 8 | SORT JOIN | | 1 | 77 | 583 | 00:00:01 | | * 9 | HASH JOIN | | 1 | 77 | 582 | 00:00:01 | | 10 | MERGE JOIN CARTESIAN | | 4 | 172 | 14 | 00:00:01 | | * 11 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTGROUP_REL | 1 | 11 | 11 | 00:00:01 | | 12 | BUFFER SORT | | 397 | 12704 | 4 | 00:00:01 | | * 13 | TABLE ACCESS INMEMORY FULL | LU_ITEM_293 | 397 | 12704 | 4 | 00:00:01 | | * 14 | TABLE ACCESS INMEMORY FULL | FACT_PD_OUT_ITM_293 | 120991 | 4113694 | 565 | 00:00:01 | | * 15 | FILTER | | | | | | | * 16 | SORT JOIN | | 8 | 120 | 4 | 00:00:01 | | * 17 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTRANGE_REL | 8 | 120 | 3 | 00:00:01 | | * 18 | TABLE ACCESS FULL | ADM_PG_FEATUREVALUE | 2472 | 39552 | 317 | 00:00:01 | | * 19 | FILTER | | | | | | | * 20 | SORT JOIN | | 2 | 30 | 3 | 00:00:01 | | * 21 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTRANGE_REL | 2 | 30 | 2 | 00:00:01 | -------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 4 - access("ITEM_1"="FEATUREVALUE_ID") * 9 - access("T1"."PERIOD_ID"="T6"."VALUE_ID" AND "T1"."PRODUCTGROUP_ID"="T2"."PRODUCTGROUP_ID" AND "T1"."ITEM_ID"="T2"."ITEM_ID") * 11 - access("T6"."ELEMENTGROUP_ID"=14659 AND ("T6"."VALUE_ID"=20030699999060 OR "T6"."VALUE_ID"=20030799999030 OR "T6"."VALUE_ID"=20030799999060 OR "T6"."VALUE_ID"=20030799999120)) * 11 - filter("T6"."ELEMENTGROUP_ID"=14659 AND ("T6"."VALUE_ID"=20030699999060 OR "T6"."VALUE_ID"=20030799999030 OR "T6"."VALUE_ID"=20030799999060 OR "T6"."VALUE_ID"=20030799999120)) * 13 - access("T2"."PG_FEATUREVALUE_13_ID"=5424 AND ("T2"."PG_FEATUREVALUE_01_ID"=71 OR "T2"."PG_FEATUREVALUE_01_ID"=76 OR "T2"."PG_FEATUREVALUE_01_ID"=89 OR "T2"."PG_FEATUREVALUE_01_ID"=92 OR "T2"."PG_FEATUREVALUE_01_ID"=95 OR "T2"."PG_FEATUREVALUE_01_ID"=103 OR "T2"."PG_FEATUREVALUE_01_ID"=104 OR "T2"."PG_FEATUREVALUE_01_ID"=107 OR "T2"."PG_FEATUREVALUE_01_ID"=110 OR "T2"."PG_FEATUREVALUE_01_ID"=113 OR "T2"."PG_FEATUREVALUE_01_ID"=134 OR "T2"."PG_FEATUREVALUE_01_ID"=148 OR "T2"."PG_FEATUREVALUE_01_ID"=167 OR "T2"."PG_FEATUREVALUE_01_ID"=171 OR "T2"."PG_FEATUREVALUE_01_ID"=186 OR "T2"."PG_FEATUREVALUE_01_ID"=192 OR "T2"."PG_FEATUREVALUE_01_ID"=216 OR "T2"."PG_FEATUREVALUE_01_ID"=236 OR "T2"."PG_FEATUREVALUE_01_ID"=241 OR "T2"."PG_FEATUREVALUE_01_ID"=297 OR "T2"."PG_FEATUREVALUE_01_ID"=2259 OR "T2"."PG_FEATUREVALUE_01_ID"=2477 OR "T2"."PG_FEATUREVALUE_01_ID"=3891 OR "T2"."PG_FEATUREVALUE_01_ID"=24958 OR "T2"."PG_FEATUREVALUE_01_ID"=27445) AND "T2"."PRODUCTGROUP_ID"=15520 AND ("T2"."PG_FEATUREVALUE_02_ID"=4165 OR "T2"."PG_FEATUREVALUE_02_ID"=4166) AND ("T2"."PG_FEATUREVALUE_08_ID"=716 OR "T2"."PG_FEATUREVALUE_08_ID"=717)) * 13 - filter("T2"."PG_FEATUREVALUE_13_ID"=5424 AND ("T2"."PG_FEATUREVALUE_01_ID"=71 OR "T2"."PG_FEATUREVALUE_01_ID"=76 OR "T2"."PG_FEATUREVALUE_01_ID"=89 OR "T2"."PG_FEATUREVALUE_01_ID"=92 OR "T2"."PG_FEATUREVALUE_01_ID"=95 OR "T2"."PG_FEATUREVALUE_01_ID"=103 OR "T2"."PG_FEATUREVALUE_01_ID"=104 OR "T2"."PG_FEATUREVALUE_01_ID"=107 OR "T2"."PG_FEATUREVALUE_01_ID"=110 OR "T2"."PG_FEATUREVALUE_01_ID"=113 OR "T2"."PG_FEATUREVALUE_01_ID"=134 OR "T2"."PG_FEATUREVALUE_01_ID"=148 OR "T2"."PG_FEATUREVALUE_01_ID"=167 OR "T2"."PG_FEATUREVALUE_01_ID"=171 OR "T2"."PG_FEATUREVALUE_01_ID"=186 OR "T2"."PG_FEATUREVALUE_01_ID"=192 OR "T2"."PG_FEATUREVALUE_01_ID"=216 OR "T2"."PG_FEATUREVALUE_01_ID"=236 OR "T2"."PG_FEATUREVALUE_01_ID"=241 OR "T2"."PG_FEATUREVALUE_01_ID"=297 OR "T2"."PG_FEATUREVALUE_01_ID"=2259 OR "T2"."PG_FEATUREVALUE_01_ID"=2477 OR "T2"."PG_FEATUREVALUE_01_ID"=3891 OR "T2"."PG_FEATUREVALUE_01_ID"=24958 OR "T2"."PG_FEATUREVALUE_01_ID"=27445) AND "T2"."PRODUCTGROUP_ID"=15520 AND ("T2"."PG_FEATUREVALUE_02_ID"=4165 OR "T2"."PG_FEATUREVALUE_02_ID"=4166) AND ("T2"."PG_FEATUREVALUE_08_ID"=716 OR "T2"."PG_FEATUREVALUE_08_ID"=717)) * 14 - access(("T1"."PERIOD_ID"=20030699999060 OR "T1"."PERIOD_ID"=20030799999030 OR "T1"."PERIOD_ID"=20030799999060 OR "T1"."PERIOD_ID"=20030799999120) AND "T1"."PRODUCTGROUP_ID"=15520 AND "T1"."PROJECT_TYPE_ID"='1') * 14 - filter(("T1"."PERIOD_ID"=20030699999060 OR "T1"."PERIOD_ID"=20030799999030 OR "T1"."PERIOD_ID"=20030799999060 OR "T1"."PERIOD_ID"=20030799999120) AND "T1"."PRODUCTGROUP_ID"=15520 AND "T1"."PROJECT_TYPE_ID"='1') * 15 - filter("T1"."PD_PRICE_UNITS_EUR">="T5"."LBOUND") * 16 - access("T1"."PD_PRICE_UNITS_EUR"<="T5"."UBOUND") * 16 - filter("T1"."PD_PRICE_UNITS_EUR"<="T5"."UBOUND") * 17 - access("T5"."ELEMENTRANGE_ID"=8664 OR "T5"."ELEMENTRANGE_ID"=8665 OR "T5"."ELEMENTRANGE_ID"=8666 OR "T5"."ELEMENTRANGE_ID"=8667 OR "T5"."ELEMENTRANGE_ID"=8668 OR "T5"."ELEMENTRANGE_ID"=8669 OR "T5"."ELEMENTRANGE_ID"=8670 OR "T5"."ELEMENTRANGE_ID"=8671) * 17 - filter("T5"."ELEMENTRANGE_ID"=8664 OR "T5"."ELEMENTRANGE_ID"=8665 OR "T5"."ELEMENTRANGE_ID"=8666 OR "T5"."ELEMENTRANGE_ID"=8667 OR "T5"."ELEMENTRANGE_ID"=8668 OR "T5"."ELEMENTRANGE_ID"=8669 OR "T5"."ELEMENTRANGE_ID"=8670 OR "T5"."ELEMENTRANGE_ID"=8671) * 18 - filter("TABLE_NR"=15 AND "DELETED"=0) * 19 - filter("FEATUREVALUE_NUM"<="T4"."UBOUND") * 20 - access(INTERNAL_FUNCTION("FEATUREVALUE_NUM")>=INTERNAL_FUNCTION("T4"."LBOUND")) * 20 - filter(INTERNAL_FUNCTION("FEATUREVALUE_NUM")>=INTERNAL_FUNCTION("T4"."LBOUND")) * 21 - access("T4"."ELEMENTRANGE_ID"=3091 OR "T4"."ELEMENTRANGE_ID"=3092) * 21 - filter("T4"."ELEMENTRANGE_ID"=3091 OR "T4"."ELEMENTRANGE_ID"=3092)
Hint Report (identified by operation id / Query Block Name / Object Alias): Total hints for statement: 1 (U - Unused (1)) ------------------------------------------------------------------------------- 0 - STATEMENT U - NO_PARALLEL
Notes ----- - dop_reason = hint - dop = 1 - px_in_memory_imc = no - px_in_memory = no
--------------------------------------------------------------------------------------------- Object ID : 14045 Test Plan Name : SQL_PLAN_5mj87z0zpg3tfc6577d41 Base Plan Name : SQL_PLAN_5mj87z0zpg3tfd88ea6d2 SQL Handle : SQL_59c507f83f578f2e Parsing Schema : DBSNMP Test Plan Creator : SYS SQL Text : SELECT TASK_LIST.TASK_ID FROM (SELECT /*+ NO_MERGE(T) ORDERED */ T.TASK_ID FROM (SELECT * FROM DBA_ADVISOR_TASKS ORDER BY TASK_ID DESC) T, DBA_ADVISOR_PARAMETERS_PROJ P1, DBA_ADVISOR_PARAMETERS_PROJ P2 WHERE T.ADVISOR_NAME='ADDM' AND T.STATUS = 'COMPLETED' AND T.EXECUTION_START >= (SYSDATE - 1) AND T.HOW_CREATED = 'AUTO' AND T.TASK_ID = P1.TASK_ID AND P1.PARAMETER_NAME = 'INSTANCE' AND P1.PARAMETER_VALUE = SYS_CONTEXT('USERENV','INSTANCE') AND T.TASK_ID = P2.TASK_ID AND P2.PARAMETER_NAME = 'DB_ID' AND P2.PARAMETER_VALUE = TO_CHAR(:B1 ) ORDER BY T.TASK_ID DESC) TASK_LIST WHERE ROWNUM = 1
Execution Statistics: ----------------------------- Base Plan Test Plan ---------------------------- ---------------------------- Elapsed Time (s): .000147 .000359 CPU Time (s): .000139 .000349 Buffer Gets: 13 46 Optimizer Cost: 696 67 Disk Reads: 0 0 Direct Writes: 0 0 Rows Processed: 0 0 Executions: 10 10
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The plan was verified in 0.13400 seconds. It failed the benefit criterion because its verified performance was 0.39960 times worse than that of the baseline plan.
EXPLAIN PLANS SECTION ---------------------------------------------------------------------------------------------
Baseline Plan ----------------------------- Plan Id : 13743 Plan Hash Value : 3633227474
------------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost | Time | ------------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 1 | 13 | 696 | 00:00:01 | | * 1 | COUNT STOPKEY | | | | | | | 2 | VIEW | | 1 | 13 | 696 | 00:00:01 | | * 3 | SORT ORDER BY STOPKEY | | 1 | 155 | 696 | 00:00:01 | | 4 | NESTED LOOPS | | 1 | 155 | 695 | 00:00:01 | | 5 | NESTED LOOPS | | 1 | 129 | 694 | 00:00:01 | | 6 | VIEW | | 685 | 70555 | 9 | 00:00:01 | | * 7 | FILTER | | | | | | | * 8 | HASH JOIN OUTER | | 685 | 43840 | 9 | 00:00:01 | | * 9 | TABLE ACCESS FULL | WRI$_ADV_TASKS | 685 | 23975 | 6 | 00:00:01 | | 10 | TABLE ACCESS FULL | WRI$_ADV_EXECUTIONS | 828 | 24012 | 3 | 00:00:01 | | * 11 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_PARAMETERS | 1 | 26 | 1 | 00:00:01 | | * 12 | INDEX UNIQUE SCAN | WRI$_ADV_PARAMETERS_PK | 1 | | 0 | 00:00:01 | | * 13 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_PARAMETERS | 1 | 26 | 1 | 00:00:01 | | * 14 | INDEX UNIQUE SCAN | WRI$_ADV_PARAMETERS_PK | 1 | | 0 | 00:00:01 | -------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 1 - filter(ROWNUM=1) * 3 - filter(ROWNUM=1) * 7 - filter(DECODE(NVL("E"."STATUS","A"."STATUS"),1,'INITIAL',2,'EXECUTING',3,'COMPLETED',4,'INTERRUPTED',5,'CANCELLED',6,'FATAL ERROR')='COMPLETED' AND NVL("E"."EXEC_START","A"."EXEC_START")>=SYSDATE@!-1) * 8 - access("A"."ID"="E"."TASK_ID"(+) AND "A"."ADVISOR_ID"="E"."ADVISOR_ID"(+) AND "A"."LAST_EXEC_NAME"="E"."NAME"(+)) * 9 - filter("A"."ADVISOR_NAME"='ADDM' AND "A"."HOW_CREATED"='AUTO' AND BITAND("A"."PROPERTY",6)=4) * 11 - filter("A"."VALUE"=SYS_CONTEXT('USERENV','INSTANCE')) * 12 - access("T"."TASK_ID"="A"."TASK_ID" AND "A"."NAME"='INSTANCE') * 13 - filter("A"."VALUE"=TO_CHAR(:B1)) * 14 - access("T"."TASK_ID"="A"."TASK_ID" AND "A"."NAME"='DB_ID')
Hint Report (identified by operation id / Query Block Name / Object Alias): Total hints for statement: 2 (U - Unused (2)) ------------------------------------------------------------------------------- 2 - SEL$F1A1D320 / T@SEL$2 U - NO_MERGE(T) / rejected by IGNORE_OPTIM_EMBEDDED_HINTS 3 - SEL$F1A1D320 U - ORDERED / rejected by IGNORE_OPTIM_EMBEDDED_HINTS
Test Plan ----------------------------- Plan Id : 13744 Plan Hash Value : 3327622465
------------------------------------------------------------------------------------------------------ | Id | Operation | Name | Rows | Bytes | Cost | Time | ------------------------------------------------------------------------------------------------------ | 0 | SELECT STATEMENT | | 1 | 13 | 67 | 00:00:01 | | * 1 | COUNT STOPKEY | | | | | | | 2 | VIEW | | 1 | 13 | 67 | 00:00:01 | | * 3 | SORT ORDER BY STOPKEY | | 1 | 155 | 67 | 00:00:01 | | 4 | NESTED LOOPS | | 1 | 155 | 66 | 00:00:01 | | * 5 | HASH JOIN | | 1 | 129 | 65 | 00:00:01 | | 6 | VIEW | | 685 | 70555 | 9 | 00:00:01 | | * 7 | FILTER | | | | | | | * 8 | HASH JOIN OUTER | | 685 | 43840 | 9 | 00:00:01 | | * 9 | TABLE ACCESS FULL | WRI$_ADV_TASKS | 685 | 23975 | 6 | 00:00:01 | | 10 | TABLE ACCESS FULL | WRI$_ADV_EXECUTIONS | 828 | 24012 | 3 | 00:00:01 | | * 11 | TABLE ACCESS FULL | WRI$_ADV_PARAMETERS | 1 | 26 | 56 | 00:00:01 | | * 12 | TABLE ACCESS BY INDEX ROWID | WRI$_ADV_PARAMETERS | 1 | 26 | 1 | 00:00:01 | | * 13 | INDEX UNIQUE SCAN | WRI$_ADV_PARAMETERS_PK | 1 | | 0 | 00:00:01 | ------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 1 - filter(ROWNUM=1) * 3 - filter(ROWNUM=1) * 5 - access("T"."TASK_ID"="A"."TASK_ID") * 7 - filter(DECODE(NVL("E"."STATUS","A"."STATUS"),1,'INITIAL',2,'EXECUTING',3,'COMPLETED',4,'INTERRUPTED',5,'CANCELLED',6,'FATAL ERROR')='COMPLETED' AND NVL("E"."EXEC_START","A"."EXEC_START")>=SYSDATE@!-1) * 8 - access("A"."ID"="E"."TASK_ID"(+) AND "A"."ADVISOR_ID"="E"."ADVISOR_ID"(+) AND "A"."LAST_EXEC_NAME"="E"."NAME"(+)) * 9 - filter("A"."ADVISOR_NAME"='ADDM' AND "A"."HOW_CREATED"='AUTO' AND BITAND("A"."PROPERTY",6)=4) * 11 - filter("A"."NAME"='INSTANCE' AND "A"."VALUE"=SYS_CONTEXT('USERENV','INSTANCE')) * 12 - filter("A"."VALUE"=TO_CHAR(:B1)) * 13 - access("T"."TASK_ID"="A"."TASK_ID" AND "A"."NAME"='DB_ID')
Hint Report (identified by operation id / Query Block Name / Object Alias): Total hints for statement: 2 (U - Unused (2)) ------------------------------------------------------------------------------- 2 - SEL$F1A1D320 / T@SEL$2 U - NO_MERGE(T) / rejected by IGNORE_OPTIM_EMBEDDED_HINTS 3 - SEL$F1A1D320 U - ORDERED / rejected by IGNORE_OPTIM_EMBEDDED_HINTS --------------------------------------------------------------------------------------------- Object ID : 14046 Test Plan Name : SQL_PLAN_1p0qg3gv3xqqj883b5f41 Base Plan Name : Cost-based plan SQL Handle : SQL_1a82cf1bf63edad1 Parsing Schema : SYS Test Plan Creator : SYS SQL Text : select /* KSXM:LOAD_DML_INF *//*+ leading(o) index(m) use_nl(m) */ nvl(m.inserts, 0) ins, nvl(m.updates, 0) upd, nvl(m.deletes, 0) del, nvl(m.drop_segments, 0) dropseg, nvl(m.flags, 0) flags, nvl(rowcnt, 0) rowcnt, o.pobjn pobjn from (select :objn objn, 0 pobjn, rowcnt from tab$ t where t.obj# = :objn union all select :objn objn, tp.bo# pobjn, rowcnt from tabpart$ tp where tp.obj# = :objn union all select :objn objn, tcp.bo# pobjn, rowcnt from tabcompart$ tcp where tcp.obj# = :objn union all select :objn objn, tsp.pobj# pobjn, rowcnt from tabsubpart$ tsp where tsp.obj# = :objn) o, sys.mon_mods_all$ m where o.objn = m.obj#(+) and rownum < 2
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. This plan was skipped because either the database is not fully open or the SQL statement is ineligible for SQL Plan Management.
--------------------------------------------------------------------------------------------- Object ID : 14047 Test Plan Name : SQL_PLAN_2p0c5cmt45q694b129ef5 Base Plan Name : Cost-based plan SQL Handle : SQL_2a818564f242d8c9 Parsing Schema : SYS Test Plan Creator : SYS SQL Text : delete from tab_stats$ where obj#=:1
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. This plan was skipped because either the database is not fully open or the SQL statement is ineligible for SQL Plan Management.
--------------------------------------------------------------------------------------------- Object ID : 14048 Test Plan Name : SQL_PLAN_8xy93dfvus74c8103aa52 Base Plan Name : Cost-based plan SQL Handle : SQL_8ef9236bb7ac1c8c Parsing Schema : SYS Test Plan Creator : SYS SQL Text : update sys.scheduler$_job set next_run_date = :1, last_end_date = :2, retry_count = :3, run_count = :4, running_instance = :5, running_slave = :6, job_status = :7 where obj# = :8
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 14048, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 14049 Test Plan Name : SQL_PLAN_0qap69vucnt6f782302fa Base Plan Name : Cost-based plan SQL Handle : SQL_0b2aa64ef4ca64ce Parsing Schema : SYS Test Plan Creator : SYS SQL Text : SELECT /*+ no_merge(v) no_push_pred(v) OPT_PARAM('_parallel_syspls_obey_force' 'false') */ '"'||LOC_IND_OWNER||'"' IND_OWNER, '"'||LOC_IND_NAME||'"' IND_NAME, '"'||LOC_PART_NAME||'"' PART_NAME, OBJ_NUM, IPROP FROM ( SELECT /*+ all_rows */ UI.NAME LOC_IND_OWNER, OIP.NAME LOC_IND_NAME, OIP.SUBNAME LOC_PART_NAME, OIP.OBJ# OBJ_NUM, I.PROPERTY IPROP FROM SYS.USER$ UT, SYS.OBJ$ OTP, SYS.TABPART$ TP, SYS.IND$ I, SYS.PARTOBJ$ PO, SYS.INDPART$ IP, SYS.OBJ$ OIP, SYS.USER$ UI WHERE UT.NAME = :B3 AND UT.USER# = OTP.OWNER# AND OTP.NAME = :B2 AND OTP.SUBNAME = :B1 AND OTP.NAMESPACE = 1 AND OTP.REMOTEOWNER IS NULL AND OTP.LINKNAME IS NULL AND OTP.TYPE# = 19 AND OTP.OBJ# = TP.OBJ# AND TP.BO# = I.BO# AND I.OBJ# = PO.OBJ# AND BITAND(PO.FLAGS, 1) = 1 AND I.OBJ# = IP.BO# AND IP.PART# = TP.PART# AND IP.OBJ# = OIP.OBJ# AND OIP.OWNER# = UI.USER# UNION ALL SELECT UI.NAME LOC_IND_OWNER, OIP.NAME LOC_IND_NAME, OIP.SUBNAME LOC_PART_NAME, OIP.OBJ# OBJ_NUM, I.PROPERTY IPROP FROM SYS.USER$ UT, SYS.OBJ$ OTP, SYS.TABCOMPART$ TP, SYS.IND$ I, SYS.PARTOBJ$ PO, SYS.INDCOMPART$ IP, SYS.OBJ$ OIP, SYS.USER$ UI WHERE UT.NAME = :B3 AND UT.USER# = OTP.OWNER# AND OTP.NAME = :B2 AND OTP.SUBNAME = :B1 AND OTP.NAMESPACE = 1 AND OTP.REMOTEOWNER IS NULL AND OTP.LINKNAME IS NULL AND OTP.TYPE# = 19 AND OTP.OBJ# = TP.OBJ# AND TP.BO# = I.BO# AND I.OBJ# = PO.OBJ# AND BITAND(PO.FLAGS, 1) = 1 AND I.OBJ# = IP.BO# AND IP.PART# = TP.PART# AND IP.OBJ# = OIP.OBJ# AND OIP.OWNER# = UI.USER# UNION ALL SELECT UI.NAME LOC_IND_OWNER, OIS.NAME LOC_IND_NAME, OIS.SUBNAME LOC_PART_NAME, OIS.OBJ# OBJ_NUM, I.PROPERTY IPROP FROM SYS.USER$ UT, SYS.OBJ$ OTS, SYS.TABSUBPART$ TSP, SYS.TABCOMPART$ TP, SYS.IND$ I, SYS.PARTOBJ$ PO, SYS.INDCOMPART$ IP, SYS.INDSUBPART$ ISP, SYS.OBJ$ OIS, SYS.USER$ UI WHERE UT.NAME = :B3 AND UT.USER# = OTS.OWNER# AND OTS.NAME = :B2 AND OTS.SUBNAME = :B1 AND OTS.NAMESPACE = 1 AND OTS.REMOTEOWNER IS NULL AND OTS.LINKNAME IS NULL AND OTS.TYPE# = 34 AND OTS.OBJ# = TSP.OBJ# AND TSP.POBJ# = TP.OBJ# AND TP.BO# = I.BO# AND I.OBJ# = PO.OBJ# AND BITAND(PO.FLAGS, 1) = 1 AND I.OBJ# = IP.BO# AND IP.PART# = TP.PART# AND IP.OBJ# = ISP.POBJ# AND ISP.SUBPART# = TSP.SUBPART# AND ISP.OBJ# = OIS.OBJ# AND OIS.OWNER# = UI.USER#) V WHERE (:B5 IS NULL OR V.LOC_IND_OWNER = :B5 ) AND (:B4 IS NULL OR V.LOC_IND_NAME = :B4 )
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. This plan was skipped because either the database is not fully open or the SQL statement is ineligible for SQL Plan Management.
--------------------------------------------------------------------------------------------- Object ID : 14050 Test Plan Name : SQL_PLAN_dwbjm3gs5nktde1086389 Base Plan Name : Cost-based plan SQL Handle : SQL_de2e331bf05a4b2d Parsing Schema : SH Test Plan Creator : SYS SQL Text : select * from user_tab_partitions where table_name in ('T0_A','T0_B')
Execution Statistics: ----------------------------- Base Plan Test Plan ---------------------------- ---------------------------- Elapsed Time (s): .000014 .000021 CPU Time (s): .000014 .000021 Buffer Gets: 1 1 Optimizer Cost: 29 31 Disk Reads: 0 0 Direct Writes: 0 0 Rows Processed: 0 0 Executions: 10 10
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The plan was verified in 0.21300 seconds. It failed the benefit criterion because its verified performance was 0.66346 times worse than that of the baseline plan.
EXPLAIN PLANS SECTION ---------------------------------------------------------------------------------------------
Baseline Plan ----------------------------- Plan Id : 13745 Plan Hash Value : 3696523305
----------------------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost | Time | ----------------------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 3 | 4530 | 29 | 00:00:01 | | 1 | VIEW | USER_TAB_PARTITIONS | 3 | 4530 | 29 | 00:00:01 | | 2 | UNION-ALL | | | | | | | 3 | TABLE ACCESS BY INDEX ROWID BATCHED | OBJ$ | 1 | 7 | 3 | 00:00:01 | | * 4 | INDEX RANGE SCAN | I_OBJ1 | 1 | | 2 | 00:00:01 | | * 5 | HASH JOIN | | 1 | 86 | 16 | 00:00:01 | | * 6 | HASH JOIN | | 37 | 2886 | 10 | 00:00:01 | | * 7 | VIEW | TABPARTV$ | 5 | 195 | 5 | 00:00:01 | | 8 | WINDOW SORT | | 5 | 95 | 5 | 00:00:01 | | * 9 | TABLE ACCESS FULL | TABPART$ | 5 | 95 | 4 | 00:00:01 | | 10 | VIEW | TABPARTV$ | 747 | 29133 | 5 | 00:00:01 | | 11 | WINDOW SORT | | 747 | 14193 | 5 | 00:00:01 | | * 12 | TABLE ACCESS FULL | TABPART$ | 747 | 14193 | 4 | 00:00:01 | | 13 | TABLE ACCESS BY INDEX ROWID BATCHED | NTAB$ | 13 | 104 | 5 | 00:00:01 | | * 14 | INDEX RANGE SCAN | I_NTAB3 | 14 | | 1 | 00:00:01 | | 15 | WINDOW SORT | | 1 | 847 | 14 | 00:00:01 | | 16 | NESTED LOOPS | | 1 | 847 | 10 | 00:00:01 | | 17 | NESTED LOOPS | | 1 | 825 | 9 | 00:00:01 | | 18 | NESTED LOOPS OUTER | | 1 | 809 | 8 | 00:00:01 | | 19 | NESTED LOOPS OUTER | | 1 | 755 | 7 | 00:00:01 | | 20 | NESTED LOOPS | | 1 | 726 | 6 | 00:00:01 | | 21 | NESTED LOOPS OUTER | | 1 | 651 | 5 | 00:00:01 | | 22 | INLIST ITERATOR | | | | | | | 23 | TABLE ACCESS BY INDEX ROWID BATCHED | OBJ$ | 1 | 110 | 5 | 00:00:01 | | * 24 | INDEX RANGE SCAN | I_OBJ2 | 1 | | 4 | 00:00:01 | | 25 | TABLE ACCESS BY INDEX ROWID BATCHED | IMSVC$ | 1 | 541 | 0 | 00:00:01 | | * 26 | INDEX RANGE SCAN | I_IMSVC1 | 1 | | 0 | 00:00:01 | | * 27 | TABLE ACCESS BY INDEX ROWID | TABPART$ | 1 | 75 | 1 | 00:00:01 | | * 28 | INDEX UNIQUE SCAN | I_TABPART_OBJ$ | 1 | | 0 | 00:00:01 | | 29 | TABLE ACCESS BY INDEX ROWID | DEFERRED_STG$ | 1 | 29 | 1 | 00:00:01 | | * 30 | INDEX UNIQUE SCAN | I_DEFERRED_STG1 | 1 | | 0 | 00:00:01 | | 31 | TABLE ACCESS CLUSTER | SEG$ | 1 | 54 | 1 | 00:00:01 | | * 32 | INDEX UNIQUE SCAN | I_FILE#_BLOCK# | 1 | | 0 | 00:00:01 | | * 33 | TABLE ACCESS CLUSTER | TAB$ | 1 | 16 | 1 | 00:00:01 | | * 34 | INDEX UNIQUE SCAN | I_OBJ# | 1 | | 0 | 00:00:01 | | 35 | TABLE ACCESS CLUSTER | TS$ | 1 | 22 | 1 | 00:00:01 | | * 36 | INDEX UNIQUE SCAN | I_TS# | 1 | | 0 | 00:00:01 | | 37 | WINDOW SORT | | 1 | 170 | 7 | 00:00:01 | | 38 | NESTED LOOPS | | 1 | 170 | 6 | 00:00:01 | | 39 | NESTED LOOPS | | 1 | 154 | 5 | 00:00:01 | | 40 | INLIST ITERATOR | | | | | | | * 41 | INDEX RANGE SCAN | I_OBJ2 | 1 | 110 | 4 | 00:00:01 | | 42 | TABLE ACCESS BY INDEX ROWID | TABPART$ | 1 | 44 | 1 | 00:00:01 | | * 43 | INDEX UNIQUE SCAN | I_TABPART_OBJ$ | 1 | | 0 | 00:00:01 | | * 44 | TABLE ACCESS CLUSTER | TAB$ | 1 | 16 | 1 | 00:00:01 | | * 45 | INDEX UNIQUE SCAN | I_OBJ# | 1 | | 0 | 00:00:01 | | 46 | WINDOW SORT | | 1 | 795 | 8 | 00:00:01 | | 47 | NESTED LOOPS | | 1 | 795 | 7 | 00:00:01 | | 48 | NESTED LOOPS | | 1 | 779 | 6 | 00:00:01 | | 49 | NESTED LOOPS | | 1 | 761 | 5 | 00:00:01 | | 50 | NESTED LOOPS OUTER | | 1 | 651 | 4 | 00:00:01 | | 51 | INLIST ITERATOR | | | | | | | * 52 | INDEX RANGE SCAN | I_OBJ2 | 1 | 110 | 4 | 00:00:01 | | 53 | TABLE ACCESS BY INDEX ROWID BATCHED | IMSVC$ | 1 | 541 | 0 | 00:00:01 | | * 54 | INDEX RANGE SCAN | I_IMSVC1 | 1 | | 0 | 00:00:01 | | * 55 | TABLE ACCESS BY INDEX ROWID | TABCOMPART$ | 1 | 110 | 1 | 00:00:01 | | * 56 | INDEX UNIQUE SCAN | I_TABCOMPART$ | 1 | | 0 | 00:00:01 | | 57 | TABLE ACCESS CLUSTER | TS$ | 1 | 18 | 1 | 00:00:01 | | * 58 | INDEX UNIQUE SCAN | I_TS# | 1 | | 0 | 00:00:01 | | * 59 | TABLE ACCESS CLUSTER | TAB$ | 1 | 16 | 1 | 00:00:01 | | * 60 | INDEX UNIQUE SCAN | I_OBJ# | 1 | | 0 | 00:00:01 | -----------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 4 - access("O1"."OBJ#"= (SELECT /*+ PUSH_SUBQ LEADING ("TP2" "TP1" "NT") INDEX_RS_ASC ("NT" "I_NTAB3") BATCH_TABLE_ACCESS_BY_ROWID ("NT") USE_HASH ("NT") USE_HASH ("TP1") */ "TP1"."OBJ#" FROM "SYS"."NTAB$" "NT", (SELECT /*+ FULL ("TABPART$") */ "OBJ#" "OBJ#","DATAOBJ#" "DATAOBJ#","BO#" "BO#",ROW_NUMBER() OVER ( PARTITION BY "BO#" ORDER BY "PART#") "PART#","HIBOUNDLEN" "HIBOUNDLEN","HIBOUNDVAL" "HIBOUNDVAL","TS#" "TS#","FILE#" "FILE#","BLOCK#" "BLOCK#","PCTFREE$" "PCTFREE$","PCTUSED$" "PCTUSED$","INITRANS" "INITRANS","MAXTRANS" "MAXTRANS","FLAGS" "FLAGS","ANALYZETIME" "ANALYZETIME","SAMPLESIZE" "SAMPLESIZE","ROWCNT" "ROWCNT","BLKCNT" "BLKCNT","EMPCNT" "EMPCNT","AVGSPC" "AVGSPC","CHNCNT" "CHNCNT","AVGRLN" "AVGRLN","PART#" "PHYPART#" FROM "SYS"."TABPART$" "TABPART$" WHERE "BO#"=:B1 AND BITAND("FLAGS",8388608)=0) "TP2", (SELECT /*+ FULL ("TABPART$") */ "OBJ#" "OBJ#","DATAOBJ#" "DATAOBJ#","BO#" "BO#",ROW_NUMBER() OVER ( PARTITION BY "BO#" ORDER BY "PART#") "PART#","HIBOUNDLEN" "HIBOUNDLEN","HIBOUNDVAL" "HIBOUNDVAL","TS#" "TS#","FILE#" "FILE#","BLOCK#" "BLOCK#","PCTFREE$" "PCTFREE$","PCTUSED$" "PCTUSED$","INITRANS" "INITRANS","MAXTRANS" "MAXTRANS","FLAGS" "FLAGS","ANALYZETIME" "ANALYZETIME","SAMPLESIZE" "SAMPLESIZE","ROWCNT" "ROWCNT","BLKCNT" "BLKCNT","EMPCNT" "EMPCNT","AVGSPC" "AVGSPC","CHNCNT" "CHNCNT","AVGRLN" "AVGRLN","PART#" "PHYPART#" FROM "SYS"."TABPART$" "TABPART$" WHERE BITAND("FLAGS",8388608)=0) "TP1" WHERE "TP1"."PART#"="TP2"."PART#" AND "TP2"."OBJ#"=:B2 AND "NT"."NTAB#"=:B3 AND "TP1"."BO#"="NT"."OBJ#")) * 5 - access("TP1"."BO#"="NT"."OBJ#") * 6 - access("TP1"."PART#"="TP2"."PART#") * 7 - filter("TP2"."OBJ#"=:B1) * 9 - filter("BO#"=:B1 AND BITAND("FLAGS",8388608)=0) * 12 - filter(BITAND("FLAGS",8388608)=0) * 14 - access("NT"."NTAB#"=:B1) * 24 - access("O"."OWNER#"=USERENV('SCHEMAID') AND ("O"."NAME"='T0_A' OR "O"."NAME"='T0_B') AND "O"."NAMESPACE"=1 AND "O"."REMOTEOWNER" IS NULL AND "O"."LINKNAME" IS NULL) * 24 - filter("O"."LINKNAME" IS NULL) * 26 - access("O"."OBJ#"="SVC"."OBJ#"(+) AND "SVC"."SUBPART#"(+) IS NULL) * 27 - filter(BITAND("TP"."FLAGS",8388608)=0) * 28 - access("O"."OBJ#"="TP"."OBJ#") * 30 - access("TP"."OBJ#"="DS"."OBJ#"(+)) * 32 - access("TP"."TS#"="S"."TS#"(+) AND "TP"."FILE#"="S"."FILE#"(+) AND "TP"."BLOCK#"="S"."BLOCK#"(+)) * 33 - filter(BITAND("T"."PROPERTY",64)<>64 AND BITAND("T"."TRIGFLAG",1073741824)<>1073741824) * 34 - access("TP"."BO#"="T"."OBJ#") * 36 - access("TS"."TS#"="TP"."TS#") * 41 - access("O"."OWNER#"=USERENV('SCHEMAID') AND ("O"."NAME"='T0_A' OR "O"."NAME"='T0_B') AND "O"."NAMESPACE"=1 AND "O"."REMOTEOWNER" IS NULL AND "O"."LINKNAME" IS NULL) * 41 - filter("O"."LINKNAME" IS NULL) * 43 - access("O"."OBJ#"="TP"."OBJ#") * 44 - filter(BITAND("T"."PROPERTY",64)=64 AND BITAND("T"."TRIGFLAG",1073741824)<>1073741824) * 45 - access("TP"."BO#"="T"."OBJ#") * 52 - access("O"."OWNER#"=USERENV('SCHEMAID') AND ("O"."NAME"='T0_A' OR "O"."NAME"='T0_B') AND "O"."NAMESPACE"=1 AND "O"."REMOTEOWNER" IS NULL AND "O"."LINKNAME" IS NULL) * 52 - filter("O"."LINKNAME" IS NULL) * 54 - access("O"."OBJ#"="SVC"."OBJ#"(+) AND "SVC"."SUBPART#"(+) IS NULL) * 55 - filter(BITAND("TCP"."FLAGS",8388608)=0) * 56 - access("O"."OBJ#"="TCP"."OBJ#") * 58 - access("TCP"."DEFTS#"="TS"."TS#") * 59 - filter(BITAND("T"."PROPERTY",64)<>64 AND BITAND("T"."TRIGFLAG",1073741824)<>1073741824) * 60 - access("TCP"."BO#"="T"."OBJ#")
Hint Report (identified by operation id / Query Block Name / Object Alias): Total hints for statement: 1 (U - Unused (1)) ------------------------------------------------------------------------------- 0 - STATEMENT U - NO_PARALLEL
Notes ----- - dop_reason = hint - dop = 1 - px_in_memory_imc = no - px_in_memory = no
Test Plan ----------------------------- Plan Id : 13746 Plan Hash Value : 3775423369
----------------------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost | Time | ----------------------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 3 | 4530 | 31 | 00:00:01 | | 1 | VIEW | USER_TAB_PARTITIONS | 3 | 4530 | 31 | 00:00:01 | | 2 | UNION-ALL | | | | | | | 3 | TABLE ACCESS BY INDEX ROWID BATCHED | OBJ$ | 1 | 7 | 3 | 00:00:01 | | * 4 | INDEX RANGE SCAN | I_OBJ1 | 1 | | 2 | 00:00:01 | | * 5 | HASH JOIN | | 1 | 86 | 16 | 00:00:01 | | * 6 | HASH JOIN | | 37 | 2886 | 10 | 00:00:01 | | * 7 | VIEW | TABPARTV$ | 5 | 195 | 5 | 00:00:01 | | 8 | WINDOW SORT | | 5 | 95 | 5 | 00:00:01 | | * 9 | TABLE ACCESS FULL | TABPART$ | 5 | 95 | 4 | 00:00:01 | | 10 | VIEW | TABPARTV$ | 747 | 29133 | 5 | 00:00:01 | | 11 | WINDOW SORT | | 747 | 14193 | 5 | 00:00:01 | | * 12 | TABLE ACCESS FULL | TABPART$ | 747 | 14193 | 4 | 00:00:01 | | 13 | TABLE ACCESS BY INDEX ROWID BATCHED | NTAB$ | 13 | 104 | 5 | 00:00:01 | | * 14 | INDEX RANGE SCAN | I_NTAB3 | 14 | | 1 | 00:00:01 | | 15 | WINDOW SORT | | 1 | 847 | 16 | 00:00:01 | | * 16 | HASH JOIN | | 1 | 847 | 12 | 00:00:01 | | 17 | NESTED LOOPS | | 1 | 825 | 9 | 00:00:01 | | 18 | NESTED LOOPS OUTER | | 1 | 809 | 8 | 00:00:01 | | 19 | NESTED LOOPS OUTER | | 1 | 755 | 7 | 00:00:01 | | 20 | NESTED LOOPS | | 1 | 726 | 6 | 00:00:01 | | 21 | NESTED LOOPS OUTER | | 1 | 651 | 5 | 00:00:01 | | 22 | INLIST ITERATOR | | | | | | | 23 | TABLE ACCESS BY INDEX ROWID BATCHED | OBJ$ | 1 | 110 | 5 | 00:00:01 | | * 24 | INDEX RANGE SCAN | I_OBJ2 | 1 | | 4 | 00:00:01 | | 25 | TABLE ACCESS BY INDEX ROWID BATCHED | IMSVC$ | 1 | 541 | 0 | 00:00:01 | | * 26 | INDEX RANGE SCAN | I_IMSVC1 | 1 | | 0 | 00:00:01 | | * 27 | TABLE ACCESS BY INDEX ROWID | TABPART$ | 1 | 75 | 1 | 00:00:01 | | * 28 | INDEX UNIQUE SCAN | I_TABPART_OBJ$ | 1 | | 0 | 00:00:01 | | 29 | TABLE ACCESS BY INDEX ROWID | DEFERRED_STG$ | 1 | 29 | 1 | 00:00:01 | | * 30 | INDEX UNIQUE SCAN | I_DEFERRED_STG1 | 1 | | 0 | 00:00:01 | | 31 | TABLE ACCESS CLUSTER | SEG$ | 1 | 54 | 1 | 00:00:01 | | * 32 | INDEX UNIQUE SCAN | I_FILE#_BLOCK# | 1 | | 0 | 00:00:01 | | * 33 | TABLE ACCESS CLUSTER | TAB$ | 1 | 16 | 1 | 00:00:01 | | * 34 | INDEX UNIQUE SCAN | I_OBJ# | 1 | | 0 | 00:00:01 | | 35 | TABLE ACCESS FULL | TS$ | 9 | 198 | 3 | 00:00:01 | | 36 | WINDOW SORT | | 1 | 170 | 7 | 00:00:01 | | 37 | NESTED LOOPS | | 1 | 170 | 6 | 00:00:01 | | 38 | NESTED LOOPS | | 1 | 154 | 5 | 00:00:01 | | 39 | INLIST ITERATOR | | | | | | | * 40 | INDEX RANGE SCAN | I_OBJ2 | 1 | 110 | 4 | 00:00:01 | | 41 | TABLE ACCESS BY INDEX ROWID | TABPART$ | 1 | 44 | 1 | 00:00:01 | | * 42 | INDEX UNIQUE SCAN | I_TABPART_OBJ$ | 1 | | 0 | 00:00:01 | | * 43 | TABLE ACCESS CLUSTER | TAB$ | 1 | 16 | 1 | 00:00:01 | | * 44 | INDEX UNIQUE SCAN | I_OBJ# | 1 | | 0 | 00:00:01 | | 45 | WINDOW SORT | | 1 | 795 | 8 | 00:00:01 | | 46 | NESTED LOOPS | | 1 | 795 | 7 | 00:00:01 | | 47 | NESTED LOOPS | | 1 | 779 | 6 | 00:00:01 | | 48 | NESTED LOOPS | | 1 | 761 | 5 | 00:00:01 | | 49 | NESTED LOOPS OUTER | | 1 | 651 | 4 | 00:00:01 | | 50 | INLIST ITERATOR | | | | | | | * 51 | INDEX RANGE SCAN | I_OBJ2 | 1 | 110 | 4 | 00:00:01 | | 52 | TABLE ACCESS BY INDEX ROWID BATCHED | IMSVC$ | 1 | 541 | 0 | 00:00:01 | | * 53 | INDEX RANGE SCAN | I_IMSVC1 | 1 | | 0 | 00:00:01 | | * 54 | TABLE ACCESS BY INDEX ROWID | TABCOMPART$ | 1 | 110 | 1 | 00:00:01 | | * 55 | INDEX UNIQUE SCAN | I_TABCOMPART$ | 1 | | 0 | 00:00:01 | | 56 | TABLE ACCESS CLUSTER | TS$ | 1 | 18 | 1 | 00:00:01 | | * 57 | INDEX UNIQUE SCAN | I_TS# | 1 | | 0 | 00:00:01 | | * 58 | TABLE ACCESS CLUSTER | TAB$ | 1 | 16 | 1 | 00:00:01 | | * 59 | INDEX UNIQUE SCAN | I_OBJ# | 1 | | 0 | 00:00:01 | -----------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 4 - access("O1"."OBJ#"= (SELECT /*+ PUSH_SUBQ LEADING ("TP2" "TP1" "NT") USE_HASH ("NT") BATCH_TABLE_ACCESS_BY_ROWID ("NT") INDEX_RS_ASC ("NT" "I_NTAB3") USE_HASH ("TP1") */ "TP1"."OBJ#" FROM "SYS"."NTAB$" "NT", (SELECT /*+ FULL ("TABPART$") */ "OBJ#" "OBJ#","DATAOBJ#" "DATAOBJ#","BO#" "BO#",ROW_NUMBER() OVER ( PARTITION BY "BO#" ORDER BY "PART#") "PART#","HIBOUNDLEN" "HIBOUNDLEN","HIBOUNDVAL" "HIBOUNDVAL","TS#" "TS#","FILE#" "FILE#","BLOCK#" "BLOCK#","PCTFREE$" "PCTFREE$","PCTUSED$" "PCTUSED$","INITRANS" "INITRANS","MAXTRANS" "MAXTRANS","FLAGS" "FLAGS","ANALYZETIME" "ANALYZETIME","SAMPLESIZE" "SAMPLESIZE","ROWCNT" "ROWCNT","BLKCNT" "BLKCNT","EMPCNT" "EMPCNT","AVGSPC" "AVGSPC","CHNCNT" "CHNCNT","AVGRLN" "AVGRLN","PART#" "PHYPART#" FROM "SYS"."TABPART$" "TABPART$" WHERE "BO#"=:B1 AND BITAND("FLAGS",8388608)=0) "TP2", (SELECT /*+ FULL ("TABPART$") */ "OBJ#" "OBJ#","DATAOBJ#" "DATAOBJ#","BO#" "BO#",ROW_NUMBER() OVER ( PARTITION BY "BO#" ORDER BY "PART#") "PART#","HIBOUNDLEN" "HIBOUNDLEN","HIBOUNDVAL" "HIBOUNDVAL","TS#" "TS#","FILE#" "FILE#","BLOCK#" "BLOCK#","PCTFREE$" "PCTFREE$","PCTUSED$" "PCTUSED$","INITRANS" "INITRANS","MAXTRANS" "MAXTRANS","FLAGS" "FLAGS","ANALYZETIME" "ANALYZETIME","SAMPLESIZE" "SAMPLESIZE","ROWCNT" "ROWCNT","BLKCNT" "BLKCNT","EMPCNT" "EMPCNT","AVGSPC" "AVGSPC","CHNCNT" "CHNCNT","AVGRLN" "AVGRLN","PART#" "PHYPART#" FROM "SYS"."TABPART$" "TABPART$" WHERE BITAND("FLAGS",8388608)=0) "TP1" WHERE "TP1"."PART#"="TP2"."PART#" AND "TP2"."OBJ#"=:B2 AND "NT"."NTAB#"=:B3 AND "TP1"."BO#"="NT"."OBJ#")) * 5 - access("TP1"."BO#"="NT"."OBJ#") * 6 - access("TP1"."PART#"="TP2"."PART#") * 7 - filter("TP2"."OBJ#"=:B1) * 9 - filter("BO#"=:B1 AND BITAND("FLAGS",8388608)=0) * 12 - filter(BITAND("FLAGS",8388608)=0) * 14 - access("NT"."NTAB#"=:B1) * 16 - access("TS"."TS#"="TP"."TS#") * 24 - access("O"."OWNER#"=USERENV('SCHEMAID') AND ("O"."NAME"='T0_A' OR "O"."NAME"='T0_B') AND "O"."NAMESPACE"=1 AND "O"."REMOTEOWNER" IS NULL AND "O"."LINKNAME" IS NULL) * 24 - filter("O"."LINKNAME" IS NULL) * 26 - access("O"."OBJ#"="SVC"."OBJ#"(+) AND "SVC"."SUBPART#"(+) IS NULL) * 27 - filter(BITAND("TP"."FLAGS",8388608)=0) * 28 - access("O"."OBJ#"="TP"."OBJ#") * 30 - access("TP"."OBJ#"="DS"."OBJ#"(+)) * 32 - access("TP"."TS#"="S"."TS#"(+) AND "TP"."FILE#"="S"."FILE#"(+) AND "TP"."BLOCK#"="S"."BLOCK#"(+)) * 33 - filter(BITAND("T"."PROPERTY",64)<>64 AND BITAND("T"."TRIGFLAG",1073741824)<>1073741824) * 34 - access("TP"."BO#"="T"."OBJ#") * 40 - access("O"."OWNER#"=USERENV('SCHEMAID') AND ("O"."NAME"='T0_A' OR "O"."NAME"='T0_B') AND "O"."NAMESPACE"=1 AND "O"."REMOTEOWNER" IS NULL AND "O"."LINKNAME" IS NULL) * 40 - filter("O"."LINKNAME" IS NULL) * 42 - access("O"."OBJ#"="TP"."OBJ#") * 43 - filter(BITAND("T"."PROPERTY",64)=64 AND BITAND("T"."TRIGFLAG",1073741824)<>1073741824) * 44 - access("TP"."BO#"="T"."OBJ#") * 51 - access("O"."OWNER#"=USERENV('SCHEMAID') AND ("O"."NAME"='T0_A' OR "O"."NAME"='T0_B') AND "O"."NAMESPACE"=1 AND "O"."REMOTEOWNER" IS NULL AND "O"."LINKNAME" IS NULL) * 51 - filter("O"."LINKNAME" IS NULL) * 53 - access("O"."OBJ#"="SVC"."OBJ#"(+) AND "SVC"."SUBPART#"(+) IS NULL) * 54 - filter(BITAND("TCP"."FLAGS",8388608)=0) * 55 - access("O"."OBJ#"="TCP"."OBJ#") * 57 - access("TCP"."DEFTS#"="TS"."TS#") * 58 - filter(BITAND("T"."PROPERTY",64)<>64 AND BITAND("T"."TRIGFLAG",1073741824)<>1073741824) * 59 - access("TCP"."BO#"="T"."OBJ#")
Hint Report (identified by operation id / Query Block Name / Object Alias): Total hints for statement: 1 (U - Unused (1)) ------------------------------------------------------------------------------- 0 - STATEMENT U - NO_PARALLEL
Notes ----- - dop_reason = hint - dop = 1 - px_in_memory_imc = no - px_in_memory = no
--------------------------------------------------------------------------------------------- Object ID : 14051 Test Plan Name : SQL_PLAN_fzg6kqks7uju98afae400 Base Plan Name : Cost-based plan SQL Handle : SQL_efbcd2b4b07d4749 Parsing Schema : SYS Test Plan Creator : SYS SQL Text : select i.obj#,i.ts#,i.file#,i.block#,i.intcols,i.type#,i. flags,i.property,i.pctfree$,i.initrans,i.maxtrans,i.blevel, i.leafcnt,i.distkey,i.lblkkey,i.dblkkey,i.clufac,i.cols,i.a nalyzetime,i.samplesize,i.dataobj#,nvl(i.degree,1),nvl(i.in stances,1),i.rowcnt,mod(i.pctthres$,256),i.indmethod#,i.tru nccnt,nvl(c.unicols,0),nvl(c.deferrable#+c.valid#,0),nvl(i. spare1,i.intcols),i.spare4,i.spare2,i.spare6,decode(i.pctth res$,null,null,mod(trunc(i.pctthres$/256),256)),nvl(i.evale dition#,1),nvl(i.unusablebefore#,0),nvl(i.unusablebeginning #,0), ist.cachedblk,ist.cachehit,ist.logicalread from ind$ i, ind_stats$ ist, (select enabled, min(intcols) unicols,min(to_number(bitand(defer,1))) deferrable#,min(to_number(bitand(defer,4))) valid# from cdef$ where obj#=:1 and enabled > 1 group by enabled) c where i.obj#=c.enabled(+) and i.obj# = ist.obj#(+) and i.bo#=:1 order by i.obj#
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. This plan was skipped because either the database is not fully open or the SQL statement is ineligible for SQL Plan Management.
--------------------------------------------------------------------------------------------- Object ID : 14052 Test Plan Name : SQL_PLAN_cr9fmwm6f8016513245a9 Base Plan Name : Cost-based plan SQL Handle : SQL_cba5d3e4cce40026 Parsing Schema : SYS Test Plan Creator : SYS SQL Text : update tab$ set ts#=:2,file#=:3,block#=:4,bobj#=decode(:5 ,0,null,:5),tab#=decode(:6,0,null,:6),intcols=:7,kernelcols =:8,clucols=decode(:9,0,null,:9),audit$=:10,flags=:11,pctfr ee$=:12,pctused$=:13,initrans=:14,maxtrans=:15,rowcnt=:16,b lkcnt=:17,empcnt=:18,avgspc=:19,chncnt=:20,avgrln=:21,analy zetime=:22,samplesize=:23,cols=:24,property=:25,degree=deco de(:26,1,null,:26),instances=decode(:27,1,null,:27),dataobj #=:28,avgspc_flb=:29,flbcnt=:30,trigflag=:31,spare1=:32,spa re2=decode(:33,0,null,:33),spare4=:34,spare6=:35,acdrflags= decode(:36,0,null,:36),acdrtsobj#=decode(:37,0,null,:37),ac drdefaulttime=:38,acdrrowtsintcol#=:39 where obj#=:1
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. This plan was skipped because either the database is not fully open or the SQL statement is ineligible for SQL Plan Management.
--------------------------------------------------------------------------------------------- Object ID : 14053 Test Plan Name : SQL_PLAN_07v83v622uh3387355235 Base Plan Name : Cost-based plan SQL Handle : SQL_03ed03d9842d4063 Parsing Schema : SYS Test Plan Creator : SYS SQL Text : MERGE /*+ dynamic_sampling(4) dynamic_sampling_est_cdn */ INTO SYS.MON_MODS_ALL$ MM USING ( SELECT OBJ#, SUM(FLGS) FLGS FROM ( SELECT OBJ#, :B1 FLGS FROM ( SELECT DISTINCT TAB.OBJ# FROM (SELECT T.OBJ# OBJ#, T.OBJ# BO#, T.ANALYZETIME FROM SYS.TAB$ T WHERE BITAND(T.FLAGS,16) = 16 UNION ALL SELECT T.OBJ# OBJ#, T.BO# BO#, T.ANALYZETIME FROM SYS.TABPART$ T WHERE BITAND(T.FLAGS,2) = 2 UNION ALL SELECT T.OBJ# OBJ#, T.BO# BO#, T.ANALYZETIME FROM SYS.TABCOMPART$ T WHERE BITAND(T.FLAGS,2) = 2 UNION ALL SELECT T.OBJ# OBJ#, TCP.BO# BO#, T.ANALYZETIME FROM SYS.TABSUBPART$ T, SYS.TABCOMPART$ TCP WHERE BITAND(T.FLAGS,2) = 2 AND T.POBJ# = TCP.OBJ# ) TAB, SYS.OBJ$ O, SYS.COL$ C WHERE TAB.BO# = O.OBJ# AND TAB.ANALYZETIME < O.MTIME AND C.OBJ# = TAB.BO# AND C.TYPE# IN ( 1, 2, 12, 23, 69, 96, 100, 101, 178, 179, 180, 181, 182, 183, 231) AND BITAND(C.PROPERTY, 16384+32768) = 0 AND NOT (BITAND(C.PROPERTY, 32+65536+131072) = 32+65536 AND C.DEFAULT$ IS NULL ) AND NOT EXISTS (SELECT NULL FROM SYS.HIST_HEAD$ HH WHERE HH.OBJ# = TAB.OBJ# AND HH.INTCOL# = C.INTCOL#)) UNION ALL SELECT DISTINCT TAB.OBJ# OBJ#, :B3 FLGS FROM (SELECT T.OBJ# OBJ#, T.OBJ# BO#, T.ANALYZETIME, T.ROWCNT FROM SYS.TAB$ T WHERE BITAND(T.FLAGS,16) = 16 UNION ALL SELECT T.OBJ# OBJ#, T.BO# BO#, T.ANALYZETIME, T.ROWCNT FROM SYS.TABPART$ T WHERE BITAND(T.FLAGS,2) = 2 UNION ALL SELECT T.OBJ# OBJ#, T.BO# BO#, T.ANALYZETIME, T.ROWCNT FROM SYS.TABCOMPART$ T WHERE BITAND(T.FLAGS,2) = 2 UNION ALL SELECT T.OBJ# OBJ#, TCP.BO# BO#, T.ANALYZETIME, T.ROWCNT FROM SYS.TABSUBPART$ T, SYS.TABCOMPART$ TCP WHERE BITAND(T.FLAGS,2) = 2 AND T.POBJ# = TCP.OBJ# ) TAB, SYS.OBJ$ O, SYS.USER$ U, SYS.COL$ C, SYS.OPTSTAT_USER_PREFS$ P1 WHERE TAB.BO# = O.OBJ# AND C.OBJ# = TAB.BO# AND O.OWNER# = U.USER# AND TAB.OBJ# = P1.OBJ#(+) AND P1.PNAME(+) = 'METHOD_OPT' AND C.TYPE# IN ( 1, 2, 12, 23, 69, 96, 100, 101, 178, 179, 180, 181, 182, 183, 231) AND BITAND(C.PROPERTY, 16384+32768) = 0 AND NOT (BITAND(C.PROPERTY, 32+65536+131072) = 32+65536 AND C.DEFAULT$ IS NULL ) AND DBMS_STATS.COLUMN_NEED_HIST(U.NAME, O.NAME, C.NAME, NVL(P1.VALCHAR, :B2 )) = 1 AND EXISTS (SELECT NULL FROM SYS.HIST_HEAD$ HH, SYS.COL_USAGE$ CU WHERE CU.OBJ# = TAB.BO# AND HH.OBJ# = TAB.OBJ# AND HH.INTCOL# = CU.INTCOL# AND BITAND(HH.SPARE2, 16) = 0 AND NOT (NVL(HH.ROW_CNT, 0) > 0 OR HH.NULL_CNT = TAB.ROWCNT) AND (CASE WHEN TAB.ANALYZETIME < CU.TIMESTAMP THEN (EQUALITY_PREDS + EQUIJOIN_PREDS + RANGE_PREDS + LIKE_PREDS + NONEQUIJOIN_PREDS) ELSE 0 END) > 0) UNION ALL SELECT CGU.OBJ# OBJ#, :B7 FLGS FROM SYS.COL_GROUP_USAGE$ CGU, OPTSTAT_USER_PREFS$ P1 WHERE BITAND(CGU.FLAGS, :B6 + :B5 ) = 0 AND CGU.OBJ# = P1.OBJ#(+) AND P1.PNAME(+)='AUTO_STAT_EXTENSIONS' AND NVL(P1.VALCHAR, :B4 ) = 'ON' ) GROUP BY OBJ# ) MCS ON (MM.OBJ# = MCS.OBJ#) WHEN MATCHED THEN UPDATE SET FLAGS = FLAGS + MCS.FLGS - BITAND(FLAGS, MCS.FLGS) WHEN NOT MATCHED THEN INSERT (OBJ#, INSERTS, UPDATES, DELETES, TIMESTAMP, FLAGS, DROP_SEGMENTS) VALUES(MCS.OBJ#, 0, 0, 0, :B8 , MCS.FLGS, 0)
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. This plan was skipped because either the database is not fully open or the SQL statement is ineligible for SQL Plan Management.
--------------------------------------------------------------------------------------------- Object ID : 14054 Test Plan Name : SQL_PLAN_8mvka5w8s3u778f1a5838 Base Plan Name : Cost-based plan SQL Handle : SQL_89ee4a2f1181e8e7 Parsing Schema : SYS Test Plan Creator : SYS SQL Text : select u.name, o.name, o.namespace, o.type#, decode(bitand(i.property,1024),0,0,1), o.obj# from ind$ i,obj$ o,user$ u where i.obj#=:1 and o.obj#=i.bo# and o.owner#=u.user#
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. This plan was skipped because either the database is not fully open or the SQL statement is ineligible for SQL Plan Management.
--------------------------------------------------------------------------------------------- Object ID : 14055 Test Plan Name : SQL_PLAN_6xzgn153tpq1286e9a946 Base Plan Name : Cost-based plan SQL Handle : SQL_6efdf409479ad822 Parsing Schema : SYS Test Plan Creator : SYS SQL Text : SELECT COUNT(*) FROM SYS.STATS_ADVISOR_FILTER_OBJ$ WHERE OBJ# = :B3 AND RULE_ID = :B2 AND TYPE = :B1
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 14055, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 14056 Test Plan Name : SQL_PLAN_4fa9hh4zwncq1aa907111 Base Plan Name : Cost-based plan SQL Handle : SQL_472930813fca32c1 Parsing Schema : SYS Test Plan Creator : SYS SQL Text : select s.file#, s.block#, s.ts#, t.obj#, s.hwmincr, bitand(s.spare1, 61572651155456), t.kernelcols,s.blocks, t.obj#, s.user# from tab$ t, seg$ s where bitand(s.spare1, 61572651155456) <= 52776558133248 and bitand(s.spare1, 61572651155456) >= 8796093022208 and bitand(s.spare1, 4294967296) = 4294967296 and bitand(s.spare1, 65536) <> 65536 and s.file# = t.file# and s.ts# = t.ts# and s.block# = t.block# UNION ALL select s.file#, s.block#, s.ts#, t.obj#, s.hwmincr, bitand(s.spare1, 61572651155456), tab.kernelcols,s.blocks, tab.obj#, s.user# from tabpart$ t, seg$ s, tab$ tab where bitand(s.spare1, 61572651155456) <= 52776558133248 and bitand(s.spare1, 61572651155456) >= 8796093022208 and bitand(s.spare1, 4294967296) = 4294967296 and bitand(s.spare1, 65536) <> 65536 and s.file# = t.file# and s.ts# = t.ts# and s.block# = t.block# and tab.obj# = t.bo# UNION ALL select /*+ ordered */ s.file#, s.block#, s.ts#, t.obj#, s.hwmincr, bitand(s.spare1, 61572651155456), tab.kernelcols,s.blocks, tab.obj#, s.user# from seg$ s, tabsubpart$ t, tabcompart$ tcp, tab$ tab where bitand(s.spare1, 61572651155456) <= 52776558133248 and bitand(s.spare1, 61572651155456) >= 8796093022208 and bitand(s.spare1, 4294967296) = 4294967296 and bitand(s.spare1, 65536) <> 65536 and s.file# = t.file# and s.ts# = t.ts# and s.block# = t.block# and t.pobj# = tcp.obj# and tab.obj# = tcp.bo# order by 6 desc
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. This plan was skipped because either the database is not fully open or the SQL statement is ineligible for SQL Plan Management.
--------------------------------------------------------------------------------------------- Object ID : 14057 Test Plan Name : SQL_PLAN_92pdr4gb53xgpbeda267f Base Plan Name : Cost-based plan SQL Handle : SQL_9155b723d651f5f5 Parsing Schema : APPS Test Plan Creator : SYS SQL Text : SELECT /* ORDERED INDEX(t1) USE_HASH(t1) */ 'B' || t2.pg_featurevalue_05_id pg_featurevalue_05_id, 'B' || t2.pg_featurevalue_08_id pg_featurevalue_08_id, 'r' || t3.elementrange_id price_eur_id, 'B' || t2.productgroup_id productgroup_id, 'G' || t4.elementgroup_id period_id, SUM(t 1.pd_sales_units*t1.pd_projection_factor*t1.pd_price_units_ eur) salesvalueeur FROM lu_item_293 t2, fact_pd_out_itm_293 t1, lu_elementgroup_rel t4, lu_elementrange_rel t3 WHERE /* Attribute Joins */ ((t1.item_id = t2.item_id /* Customizing Begin */ AND t1.productgroup_id = t2.productgroup_id) /* Customizing End */ AND (t1.pd_price_units_eur BETWEEN t3.lbound AND t3.ubound) AND (t1.period_id = t4.value_id) ) /* Attribute Filters */ AND ((t2.productgroup_id = 15520) AND (t1.productgroup_id = 15520) /* Push Down Filters */ AND NOT ((t2.pg_featurevalue_01_id IN (103,104,107,110,113, 134,148,167,171,186,192,216,2259,236,241,2477,24958,27445,2 97,3891,71,76,89,92,95))) AND (t2.pg_featurevalue_08_id = 717) AND (t2.pg_featurevalue_05_id IN (5446,5447)) AND (t3.elementrange_id IN (8656,8657,8658,8659,8660,8661,8662, 8663,8664,8665,8666,8667,8668,8669,8670,8671,8672,8673,8674 ,8675,8676,8679,8680,8681,8682,8683,8684,8685,8686,8687,868 8,8689,8690,8691,8692,8693,8694,8695,8696,8697,8698,8699)) AND (t4.elementgroup_id = 14659) AND (t1.period_id IN (2003 0699999060,20030799999030,20030799999060,20030799999120)) /* Resolved ElementGroup Filters */ ) /* Fact Filters */ AND (t1.project_type_id = '1' ) GROUP BY t2.pg_featurevalue_05_id, t2.pg_featurevalue_08_id, t3.elementrange_id, t2.productgroup_id, t4.elementgroup_id
Execution Statistics: ----------------------------- Base Plan Test Plan ---------------------------- ---------------------------- Elapsed Time (s): .008376 .003541 CPU Time (s): .008331 .003519 Buffer Gets: 2485 1 Optimizer Cost: 116 591 Disk Reads: 0 0 Direct Writes: 0 0 Rows Processed: 3 3 Executions: 10 10
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (2): ----------------------------- 1. The plan was verified in 1.31600 seconds. It passed the benefit criterion because its verified performance was 1602.41070 times better than that of the baseline plan. 2. The plan was automatically accepted.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 14057, task_owner => 'SYS');
EXPLAIN PLANS SECTION ---------------------------------------------------------------------------------------------
Baseline Plan ----------------------------- Plan Id : 13747 Plan Hash Value : 3736515472
----------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost | Time | ----------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 60 | 4980 | 116 | 00:00:01 | | 1 | HASH GROUP BY | | 60 | 4980 | 116 | 00:00:01 | | 2 | MERGE JOIN | | 338 | 28054 | 115 | 00:00:01 | | 3 | SORT JOIN | | 8 | 544 | 108 | 00:00:01 | | 4 | NESTED LOOPS | | 8 | 544 | 107 | 00:00:01 | | 5 | NESTED LOOPS | | 8 | 544 | 107 | 00:00:01 | | 6 | MERGE JOIN CARTESIAN | | 21 | 714 | 15 | 00:00:01 | | * 7 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTGROUP_REL | 1 | 11 | 11 | 00:00:01 | | 8 | BUFFER SORT | | 2378 | 54694 | 4 | 00:00:01 | | * 9 | TABLE ACCESS INMEMORY FULL | LU_ITEM_293 | 2378 | 54694 | 4 | 00:00:01 | | 10 | BITMAP CONVERSION TO ROWIDS | | | | | | | 11 | BITMAP AND | | | | | | | * 12 | BITMAP INDEX SINGLE VALUE | FACT_274_PER_IDX | | | | | | * 13 | BITMAP INDEX SINGLE VALUE | FACT_274_ITEM_IDX | | | | | | * 14 | TABLE ACCESS BY INDEX ROWID | FACT_PD_OUT_ITM_293 | 1 | 34 | 107 | 00:00:01 | | * 15 | FILTER | | | | | | | * 16 | SORT JOIN | | 42 | 630 | 6 | 00:00:01 | | * 17 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTRANGE_REL | 42 | 630 | 5 | 00:00:01 | -----------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 7 - access("T4"."ELEMENTGROUP_ID"=14659 AND ("T4"."VALUE_ID"=20030699999060 OR "T4"."VALUE_ID"=20030799999030 OR "T4"."VALUE_ID"=20030799999060 OR "T4"."VALUE_ID"=20030799999120)) * 7 - filter("T4"."ELEMENTGROUP_ID"=14659 AND ("T4"."VALUE_ID"=20030699999060 OR "T4"."VALUE_ID"=20030799999030 OR "T4"."VALUE_ID"=20030799999060 OR "T4"."VALUE_ID"=20030799999120)) * 9 - access("T2"."PG_FEATUREVALUE_08_ID"=717 AND "T2"."PG_FEATUREVALUE_01_ID"<>95 AND "T2"."PG_FEATUREVALUE_01_ID"<>167 AND "T2"."PG_FEATUREVALUE_01_ID"<>241 AND "T2"."PG_FEATUREVALUE_01_ID"<>186 AND "T2"."PG_FEATUREVALUE_01_ID"<>92 AND "T2"."PG_FEATUREVALUE_01_ID"<>110 AND "T2"."PG_FEATUREVALUE_01_ID"<>236 AND "T2"."PG_FEATUREVALUE_01_ID"<>192 AND "T2"."PG_FEATUREVALUE_01_ID"<>113 AND "T2"."PG_FEATUREVALUE_01_ID"<>89 AND "T2"."PG_FEATUREVALUE_01_ID"<>104 AND "T2"."PG_FEATUREVALUE_01_ID"<>103 AND "T2"."PG_FEATUREVALUE_01_ID"<>107 AND "T2"."PG_FEATUREVALUE_01_ID"<>216 AND "T2"."PG_FEATUREVALUE_01_ID"<>71 AND "T2"."PG_FEATUREVALUE_01_ID"<>148 AND "T2"."PG_FEATUREVALUE_01_ID"<>76 AND "T2"."PG_FEATUREVALUE_01_ID"<>171 AND "T2"."PG_FEATUREVALUE_01_ID"<>134 AND "T2"."PRODUCTGROUP_ID"=15520 AND "T2"."PG_FEATUREVALUE_01_ID"<>2259 AND "T2"."PG_FEATUREVALUE_01_ID"<>2477 AND "T2"."PG_FEATUREVALUE_01_ID"<>24958 AND "T2"."PG_FEATUREVALUE_01_ID"<>27445 AND "T2"."PG_FEATUREVALUE_01_ID"<>297 AND "T2"."PG_FEATUREVALUE_01_ID"<>3891 AND ("T2"."PG_FEATUREVALUE_05_ID"=5446 OR "T2"."PG_FEATUREVALUE_05_ID"=5447)) * 9 - filter("T2"."PG_FEATUREVALUE_08_ID"=717 AND "T2"."PG_FEATUREVALUE_01_ID"<>95 AND "T2"."PG_FEATUREVALUE_01_ID"<>167 AND "T2"."PG_FEATUREVALUE_01_ID"<>241 AND "T2"."PG_FEATUREVALUE_01_ID"<>186 AND "T2"."PG_FEATUREVALUE_01_ID"<>92 AND "T2"."PG_FEATUREVALUE_01_ID"<>110 AND "T2"."PG_FEATUREVALUE_01_ID"<>236 AND "T2"."PG_FEATUREVALUE_01_ID"<>192 AND "T2"."PG_FEATUREVALUE_01_ID"<>113 AND "T2"."PG_FEATUREVALUE_01_ID"<>89 AND "T2"."PG_FEATUREVALUE_01_ID"<>104 AND "T2"."PG_FEATUREVALUE_01_ID"<>103 AND "T2"."PG_FEATUREVALUE_01_ID"<>107 AND "T2"."PG_FEATUREVALUE_01_ID"<>216 AND "T2"."PG_FEATUREVALUE_01_ID"<>71 AND "T2"."PG_FEATUREVALUE_01_ID"<>148 AND "T2"."PG_FEATUREVALUE_01_ID"<>76 AND "T2"."PG_FEATUREVALUE_01_ID"<>171 AND "T2"."PG_FEATUREVALUE_01_ID"<>134 AND "T2"."PRODUCTGROUP_ID"=15520 AND "T2"."PG_FEATUREVALUE_01_ID"<>2259 AND "T2"."PG_FEATUREVALUE_01_ID"<>2477 AND "T2"."PG_FEATUREVALUE_01_ID"<>24958 AND "T2"."PG_FEATUREVALUE_01_ID"<>27445 AND "T2"."PG_FEATUREVALUE_01_ID"<>297 AND "T2"."PG_FEATUREVALUE_01_ID"<>3891 AND ("T2"."PG_FEATUREVALUE_05_ID"=5446 OR "T2"."PG_FEATUREVALUE_05_ID"=5447)) * 12 - access("T1"."PERIOD_ID"="T4"."VALUE_ID") * 12 - filter("T1"."PERIOD_ID"=20030699999060 OR "T1"."PERIOD_ID"=20030799999030 OR "T1"."PERIOD_ID"=20030799999060 OR "T1"."PERIOD_ID"=20030799999120) * 13 - access("T1"."ITEM_ID"="T2"."ITEM_ID") * 14 - filter(("T1"."PERIOD_ID"=20030699999060 OR "T1"."PERIOD_ID"=20030799999030 OR "T1"."PERIOD_ID"=20030799999060 OR "T1"."PERIOD_ID"=20030799999120) AND "T1"."PRODUCTGROUP_ID"=15520 AND "T1"."PROJECT_TYPE_ID"='1' AND "T1"."PRODUCTGROUP_ID"="T2"."PRODUCTGROUP_ID") * 15 - filter("T1"."PD_PRICE_UNITS_EUR"<="T3"."UBOUND") * 16 - access(INTERNAL_FUNCTION("T1"."PD_PRICE_UNITS_EUR")>=INTERNAL_FUNCTION("T3"."LBOUND")) * 16 - filter(INTERNAL_FUNCTION("T1"."PD_PRICE_UNITS_EUR")>=INTERNAL_FUNCTION("T3"."LBOUND")) * 17 - access("T3"."ELEMENTRANGE_ID"=8656 OR "T3"."ELEMENTRANGE_ID"=8657 OR "T3"."ELEMENTRANGE_ID"=8658 OR "T3"."ELEMENTRANGE_ID"=8659 OR "T3"."ELEMENTRANGE_ID"=8660 OR "T3"."ELEMENTRANGE_ID"=8661 OR "T3"."ELEMENTRANGE_ID"=8662 OR "T3"."ELEMENTRANGE_ID"=8663 OR "T3"."ELEMENTRANGE_ID"=8664 OR "T3"."ELEMENTRANGE_ID"=8665 OR "T3"."ELEMENTRANGE_ID"=8666 OR "T3"."ELEMENTRANGE_ID"=8667 OR "T3"."ELEMENTRANGE_ID"=8668 OR "T3"."ELEMENTRANGE_ID"=8669 OR "T3"."ELEMENTRANGE_ID"=8670 OR "T3"."ELEMENTRANGE_ID"=8671 OR "T3"."ELEMENTRANGE_ID"=8672 OR "T3"."ELEMENTRANGE_ID"=8673 OR "T3"."ELEMENTRANGE_ID"=8674 OR "T3"."ELEMENTRANGE_ID"=8675 OR "T3"."ELEMENTRANGE_ID"=8676 OR "T3"."ELEMENTRANGE_ID"=8679 OR "T3"."ELEMENTRANGE_ID"=8680 OR "T3"."ELEMENTRANGE_ID"=8681 OR "T3"."ELEMENTRANGE_ID"=8682 OR "T3"."ELEMENTRANGE_ID"=8683 OR "T3"."ELEMENTRANGE_ID"=8684 OR "T3"."ELEMENTRANGE_ID"=8685 OR "T3"."ELEMENTRANGE_ID"=8686 OR "T3"."ELEMENTRANGE_ID"=8687 OR "T3"."ELEMENTRANGE_ID"=8688 OR "T3"."ELEMENTRANGE_ID"=8689 OR "T3"."ELEMENTRANGE_ID"=8690 OR "T3"."ELEMENTRANGE_ID"=8691 OR "T3"."ELEMENTRANGE_ID"=8692 OR "T3"."ELEMENTRANGE_ID"=8693 OR "T3"."ELEMENTRANGE_ID"=8694 OR "T3"."ELEMENTRANGE_ID"=8695 OR "T3"."ELEMENTRANGE_ID"=8696 OR "T3"."ELEMENTRANGE_ID"=8697 OR "T3"."ELEMENTRANGE_ID"=8698 OR "T3"."ELEMENTRANGE_ID"=8699) * 17 - filter("T3"."ELEMENTRANGE_ID"=8656 OR "T3"."ELEMENTRANGE_ID"=8657 OR "T3"."ELEMENTRANGE_ID"=8658 OR "T3"."ELEMENTRANGE_ID"=8659 OR "T3"."ELEMENTRANGE_ID"=8660 OR "T3"."ELEMENTRANGE_ID"=8661 OR "T3"."ELEMENTRANGE_ID"=8662 OR "T3"."ELEMENTRANGE_ID"=8663 OR "T3"."ELEMENTRANGE_ID"=8664 OR "T3"."ELEMENTRANGE_ID"=8665 OR "T3"."ELEMENTRANGE_ID"=8666 OR "T3"."ELEMENTRANGE_ID"=8667 OR "T3"."ELEMENTRANGE_ID"=8668 OR "T3"."ELEMENTRANGE_ID"=8669 OR "T3"."ELEMENTRANGE_ID"=8670 OR "T3"."ELEMENTRANGE_ID"=8671 OR "T3"."ELEMENTRANGE_ID"=8672 OR "T3"."ELEMENTRANGE_ID"=8673 OR "T3"."ELEMENTRANGE_ID"=8674 OR "T3"."ELEMENTRANGE_ID"=8675 OR "T3"."ELEMENTRANGE_ID"=8676 OR "T3"."ELEMENTRANGE_ID"=8679 OR "T3"."ELEMENTRANGE_ID"=8680 OR "T3"."ELEMENTRANGE_ID"=8681 OR "T3"."ELEMENTRANGE_ID"=8682 OR "T3"."ELEMENTRANGE_ID"=8683 OR "T3"."ELEMENTRANGE_ID"=8684 OR "T3"."ELEMENTRANGE_ID"=8685 OR "T3"."ELEMENTRANGE_ID"=8686 OR "T3"."ELEMENTRANGE_ID"=8687 OR "T3"."ELEMENTRANGE_ID"=8688 OR "T3"."ELEMENTRANGE_ID"=8689 OR "T3"."ELEMENTRANGE_ID"=8690 OR "T3"."ELEMENTRANGE_ID"=8691 OR "T3"."ELEMENTRANGE_ID"=8692 OR "T3"."ELEMENTRANGE_ID"=8693 OR "T3"."ELEMENTRANGE_ID"=8694 OR "T3"."ELEMENTRANGE_ID"=8695 OR "T3"."ELEMENTRANGE_ID"=8696 OR "T3"."ELEMENTRANGE_ID"=8697 OR "T3"."ELEMENTRANGE_ID"=8698 OR "T3"."ELEMENTRANGE_ID"=8699)
Hint Report (identified by operation id / Query Block Name / Object Alias): Total hints for statement: 1 (U - Unused (1)) ------------------------------------------------------------------------------- 0 - STATEMENT U - NO_PARALLEL
Notes ----- - dop_reason = hint - dop = 1 - px_in_memory_imc = no - px_in_memory = no
Test Plan ----------------------------- Plan Id : 13748 Plan Hash Value : 3201967743
-------------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost | Time | -------------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 60 | 4980 | 591 | 00:00:01 | | 1 | HASH GROUP BY | | 60 | 4980 | 591 | 00:00:01 | | 2 | MERGE JOIN | | 338 | 28054 | 590 | 00:00:01 | | 3 | SORT JOIN | | 8 | 544 | 584 | 00:00:01 | | * 4 | HASH JOIN | | 8 | 544 | 583 | 00:00:01 | | 5 | MERGE JOIN CARTESIAN | | 21 | 714 | 15 | 00:00:01 | | * 6 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTGROUP_REL | 1 | 11 | 11 | 00:00:01 | | 7 | BUFFER SORT | | 2378 | 54694 | 4 | 00:00:01 | | * 8 | TABLE ACCESS INMEMORY FULL | LU_ITEM_293 | 2378 | 54694 | 4 | 00:00:01 | | * 9 | TABLE ACCESS INMEMORY FULL | FACT_PD_OUT_ITM_293 | 120991 | 4113694 | 565 | 00:00:01 | | * 10 | FILTER | | | | | | | * 11 | SORT JOIN | | 42 | 630 | 6 | 00:00:01 | | * 12 | TABLE ACCESS INMEMORY FULL | LU_ELEMENTRANGE_REL | 42 | 630 | 5 | 00:00:01 | --------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 4 - access("T1"."ITEM_ID"="T2"."ITEM_ID" AND "T1"."PRODUCTGROUP_ID"="T2"."PRODUCTGROUP_ID" AND "T1"."PERIOD_ID"="T4"."VALUE_ID") * 6 - access("T4"."ELEMENTGROUP_ID"=14659 AND ("T4"."VALUE_ID"=20030699999060 OR "T4"."VALUE_ID"=20030799999030 OR "T4"."VALUE_ID"=20030799999060 OR "T4"."VALUE_ID"=20030799999120)) * 6 - filter("T4"."ELEMENTGROUP_ID"=14659 AND ("T4"."VALUE_ID"=20030699999060 OR "T4"."VALUE_ID"=20030799999030 OR "T4"."VALUE_ID"=20030799999060 OR "T4"."VALUE_ID"=20030799999120)) * 8 - access("T2"."PG_FEATUREVALUE_08_ID"=717 AND "T2"."PG_FEATUREVALUE_01_ID"<>95 AND "T2"."PG_FEATUREVALUE_01_ID"<>167 AND "T2"."PG_FEATUREVALUE_01_ID"<>241 AND "T2"."PG_FEATUREVALUE_01_ID"<>186 AND "T2"."PG_FEATUREVALUE_01_ID"<>92 AND "T2"."PG_FEATUREVALUE_01_ID"<>110 AND "T2"."PG_FEATUREVALUE_01_ID"<>236 AND "T2"."PG_FEATUREVALUE_01_ID"<>192 AND "T2"."PG_FEATUREVALUE_01_ID"<>113 AND "T2"."PG_FEATUREVALUE_01_ID"<>89 AND "T2"."PG_FEATUREVALUE_01_ID"<>104 AND "T2"."PG_FEATUREVALUE_01_ID"<>103 AND "T2"."PG_FEATUREVALUE_01_ID"<>107 AND "T2"."PG_FEATUREVALUE_01_ID"<>216 AND "T2"."PG_FEATUREVALUE_01_ID"<>71 AND "T2"."PG_FEATUREVALUE_01_ID"<>148 AND "T2"."PG_FEATUREVALUE_01_ID"<>76 AND "T2"."PG_FEATUREVALUE_01_ID"<>171 AND "T2"."PG_FEATUREVALUE_01_ID"<>134 AND "T2"."PRODUCTGROUP_ID"=15520 AND "T2"."PG_FEATUREVALUE_01_ID"<>2259 AND "T2"."PG_FEATUREVALUE_01_ID"<>2477 AND "T2"."PG_FEATUREVALUE_01_ID"<>24958 AND "T2"."PG_FEATUREVALUE_01_ID"<>27445 AND "T2"."PG_FEATUREVALUE_01_ID"<>297 AND "T2"."PG_FEATUREVALUE_01_ID"<>3891 AND ("T2"."PG_FEATUREVALUE_05_ID"=5446 OR "T2"."PG_FEATUREVALUE_05_ID"=5447)) * 8 - filter("T2"."PG_FEATUREVALUE_08_ID"=717 AND "T2"."PG_FEATUREVALUE_01_ID"<>95 AND "T2"."PG_FEATUREVALUE_01_ID"<>167 AND "T2"."PG_FEATUREVALUE_01_ID"<>241 AND "T2"."PG_FEATUREVALUE_01_ID"<>186 AND "T2"."PG_FEATUREVALUE_01_ID"<>92 AND "T2"."PG_FEATUREVALUE_01_ID"<>110 AND "T2"."PG_FEATUREVALUE_01_ID"<>236 AND "T2"."PG_FEATUREVALUE_01_ID"<>192 AND "T2"."PG_FEATUREVALUE_01_ID"<>113 AND "T2"."PG_FEATUREVALUE_01_ID"<>89 AND "T2"."PG_FEATUREVALUE_01_ID"<>104 AND "T2"."PG_FEATUREVALUE_01_ID"<>103 AND "T2"."PG_FEATUREVALUE_01_ID"<>107 AND "T2"."PG_FEATUREVALUE_01_ID"<>216 AND "T2"."PG_FEATUREVALUE_01_ID"<>71 AND "T2"."PG_FEATUREVALUE_01_ID"<>148 AND "T2"."PG_FEATUREVALUE_01_ID"<>76 AND "T2"."PG_FEATUREVALUE_01_ID"<>171 AND "T2"."PG_FEATUREVALUE_01_ID"<>134 AND "T2"."PRODUCTGROUP_ID"=15520 AND "T2"."PG_FEATUREVALUE_01_ID"<>2259 AND "T2"."PG_FEATUREVALUE_01_ID"<>2477 AND "T2"."PG_FEATUREVALUE_01_ID"<>24958 AND "T2"."PG_FEATUREVALUE_01_ID"<>27445 AND "T2"."PG_FEATUREVALUE_01_ID"<>297 AND "T2"."PG_FEATUREVALUE_01_ID"<>3891 AND ("T2"."PG_FEATUREVALUE_05_ID"=5446 OR "T2"."PG_FEATUREVALUE_05_ID"=5447)) * 9 - access(("T1"."PERIOD_ID"=20030699999060 OR "T1"."PERIOD_ID"=20030799999030 OR "T1"."PERIOD_ID"=20030799999060 OR "T1"."PERIOD_ID"=20030799999120) AND "T1"."PRODUCTGROUP_ID"=15520 AND "T1"."PROJECT_TYPE_ID"='1') * 9 - filter(("T1"."PERIOD_ID"=20030699999060 OR "T1"."PERIOD_ID"=20030799999030 OR "T1"."PERIOD_ID"=20030799999060 OR "T1"."PERIOD_ID"=20030799999120) AND "T1"."PRODUCTGROUP_ID"=15520 AND "T1"."PROJECT_TYPE_ID"='1') * 10 - filter("T1"."PD_PRICE_UNITS_EUR"<="T3"."UBOUND") * 11 - access(INTERNAL_FUNCTION("T1"."PD_PRICE_UNITS_EUR")>=INTERNAL_FUNCTION("T3"."LBOUND")) * 11 - filter(INTERNAL_FUNCTION("T1"."PD_PRICE_UNITS_EUR")>=INTERNAL_FUNCTION("T3"."LBOUND")) * 12 - access("T3"."ELEMENTRANGE_ID"=8656 OR "T3"."ELEMENTRANGE_ID"=8657 OR "T3"."ELEMENTRANGE_ID"=8658 OR "T3"."ELEMENTRANGE_ID"=8659 OR "T3"."ELEMENTRANGE_ID"=8660 OR "T3"."ELEMENTRANGE_ID"=8661 OR "T3"."ELEMENTRANGE_ID"=8662 OR "T3"."ELEMENTRANGE_ID"=8663 OR "T3"."ELEMENTRANGE_ID"=8664 OR "T3"."ELEMENTRANGE_ID"=8665 OR "T3"."ELEMENTRANGE_ID"=8666 OR "T3"."ELEMENTRANGE_ID"=8667 OR "T3"."ELEMENTRANGE_ID"=8668 OR "T3"."ELEMENTRANGE_ID"=8669 OR "T3"."ELEMENTRANGE_ID"=8670 OR "T3"."ELEMENTRANGE_ID"=8671 OR "T3"."ELEMENTRANGE_ID"=8672 OR "T3"."ELEMENTRANGE_ID"=8673 OR "T3"."ELEMENTRANGE_ID"=8674 OR "T3"."ELEMENTRANGE_ID"=8675 OR "T3"."ELEMENTRANGE_ID"=8676 OR "T3"."ELEMENTRANGE_ID"=8679 OR "T3"."ELEMENTRANGE_ID"=8680 OR "T3"."ELEMENTRANGE_ID"=8681 OR "T3"."ELEMENTRANGE_ID"=8682 OR "T3"."ELEMENTRANGE_ID"=8683 OR "T3"."ELEMENTRANGE_ID"=8684 OR "T3"."ELEMENTRANGE_ID"=8685 OR "T3"."ELEMENTRANGE_ID"=8686 OR "T3"."ELEMENTRANGE_ID"=8687 OR "T3"."ELEMENTRANGE_ID"=8688 OR "T3"."ELEMENTRANGE_ID"=8689 OR "T3"."ELEMENTRANGE_ID"=8690 OR "T3"."ELEMENTRANGE_ID"=8691 OR "T3"."ELEMENTRANGE_ID"=8692 OR "T3"."ELEMENTRANGE_ID"=8693 OR "T3"."ELEMENTRANGE_ID"=8694 OR "T3"."ELEMENTRANGE_ID"=8695 OR "T3"."ELEMENTRANGE_ID"=8696 OR "T3"."ELEMENTRANGE_ID"=8697 OR "T3"."ELEMENTRANGE_ID"=8698 OR "T3"."ELEMENTRANGE_ID"=8699) * 12 - filter("T3"."ELEMENTRANGE_ID"=8656 OR "T3"."ELEMENTRANGE_ID"=8657 OR "T3"."ELEMENTRANGE_ID"=8658 OR "T3"."ELEMENTRANGE_ID"=8659 OR "T3"."ELEMENTRANGE_ID"=8660 OR "T3"."ELEMENTRANGE_ID"=8661 OR "T3"."ELEMENTRANGE_ID"=8662 OR "T3"."ELEMENTRANGE_ID"=8663 OR "T3"."ELEMENTRANGE_ID"=8664 OR "T3"."ELEMENTRANGE_ID"=8665 OR "T3"."ELEMENTRANGE_ID"=8666 OR "T3"."ELEMENTRANGE_ID"=8667 OR "T3"."ELEMENTRANGE_ID"=8668 OR "T3"."ELEMENTRANGE_ID"=8669 OR "T3"."ELEMENTRANGE_ID"=8670 OR "T3"."ELEMENTRANGE_ID"=8671 OR "T3"."ELEMENTRANGE_ID"=8672 OR "T3"."ELEMENTRANGE_ID"=8673 OR "T3"."ELEMENTRANGE_ID"=8674 OR "T3"."ELEMENTRANGE_ID"=8675 OR "T3"."ELEMENTRANGE_ID"=8676 OR "T3"."ELEMENTRANGE_ID"=8679 OR "T3"."ELEMENTRANGE_ID"=8680 OR "T3"."ELEMENTRANGE_ID"=8681 OR "T3"."ELEMENTRANGE_ID"=8682 OR "T3"."ELEMENTRANGE_ID"=8683 OR "T3"."ELEMENTRANGE_ID"=8684 OR "T3"."ELEMENTRANGE_ID"=8685 OR "T3"."ELEMENTRANGE_ID"=8686 OR "T3"."ELEMENTRANGE_ID"=8687 OR "T3"."ELEMENTRANGE_ID"=8688 OR "T3"."ELEMENTRANGE_ID"=8689 OR "T3"."ELEMENTRANGE_ID"=8690 OR "T3"."ELEMENTRANGE_ID"=8691 OR "T3"."ELEMENTRANGE_ID"=8692 OR "T3"."ELEMENTRANGE_ID"=8693 OR "T3"."ELEMENTRANGE_ID"=8694 OR "T3"."ELEMENTRANGE_ID"=8695 OR "T3"."ELEMENTRANGE_ID"=8696 OR "T3"."ELEMENTRANGE_ID"=8697 OR "T3"."ELEMENTRANGE_ID"=8698 OR "T3"."ELEMENTRANGE_ID"=8699)
Hint Report (identified by operation id / Query Block Name / Object Alias): Total hints for statement: 1 (U - Unused (1)) ------------------------------------------------------------------------------- 0 - STATEMENT U - NO_PARALLEL
Notes ----- - dop_reason = hint - dop = 1 - px_in_memory_imc = no - px_in_memory = no
--------------------------------------------------------------------------------------------- Object ID : 14058 Test Plan Name : SQL_PLAN_6q9nfhpygxmt86b3f0f01 Base Plan Name : Cost-based plan SQL Handle : SQL_6b268e857cfecf28 Parsing Schema : SYS Test Plan Creator : SYS SQL Text : delete from wri$_adv_objects where task_id = :task_id and type = :adv_obj_type and attr7 = -1
Execution Statistics: ----------------------------- Base Plan Test Plan ---------------------------- ---------------------------- Elapsed Time (s): .00246 .005885 CPU Time (s): .002442 .005854 Buffer Gets: 365 314 Optimizer Cost: 508 30 Disk Reads: 0 0 Direct Writes: 0 0 Rows Processed: 0 0 Executions: 10 10
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The plan was verified in 1.02700 seconds. It failed the benefit criterion because its verified performance was 0.41716 times worse than that of the baseline plan.
EXPLAIN PLANS SECTION ---------------------------------------------------------------------------------------------
Baseline Plan ----------------------------- Plan Id : 13749 Plan Hash Value : 2582560647
---------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost | Time | ---------------------------------------------------------------------------------- | 0 | DELETE STATEMENT | | 1 | 30 | 508 | 00:00:01 | | 1 | DELETE | WRI$_ADV_OBJECTS | | | | | | * 2 | TABLE ACCESS FULL | WRI$_ADV_OBJECTS | 1 | 30 | 508 | 00:00:01 | ----------------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 2 - filter("ATTR7"=(-1) AND "TYPE"=:ADV_OBJ_TYPE AND "TASK_ID"=:TASK_ID)
Hint Report (identified by operation id / Query Block Name / Object Alias): Total hints for statement: 1 (U - Unused (1)) ------------------------------------------------------------------------------- 0 - STATEMENT U - NO_PARALLEL
Notes ----- - dop_reason = hint - dop = 1 - px_in_memory_imc = no - px_in_memory = no
Test Plan ----------------------------- Plan Id : 13750 Plan Hash Value : 1799294721
------------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost | Time | ------------------------------------------------------------------------------------------------------- | 0 | DELETE STATEMENT | | 1 | 30 | 30 | 00:00:01 | | 1 | DELETE | WRI$_ADV_OBJECTS | | | | | | * 2 | TABLE ACCESS BY INDEX ROWID BATCHED | WRI$_ADV_OBJECTS | 1 | 30 | 30 | 00:00:01 | | * 3 | INDEX RANGE SCAN | WRI$_ADV_OBJECTS_PK | 1059 | | 7 | 00:00:01 | -------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 2 - filter("ATTR7"=(-1) AND "TYPE"=:ADV_OBJ_TYPE) * 3 - access("TASK_ID"=:TASK_ID)
Notes ----- - dop_reason = hint - dop = 1 - px_in_memory_imc = no - px_in_memory = no
--------------------------------------------------------------------------------------------- Object ID : 14059 Test Plan Name : SQL_PLAN_br6g1tbdmqf8j8eaa9820 Base Plan Name : Cost-based plan SQL Handle : SQL_bb99e1cadb3b3911 Parsing Schema : BOTANG Test Plan Creator : SYS SQL Text : SELECT TRANSAC_DATE FROM V_BANK_INVOICE_RMB_LICAI WHERE ACCOUNT_ATTENTION_LICAI_FLAG1=:B2 AND FLAG1_AMOUNT =0 AND SUBSTR(ACCOUNT_ATTENTION, 1, 7)=:B1
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 14059, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 14060 Test Plan Name : SQL_PLAN_9nnc5r9xc21s0bd5946a2 Base Plan Name : Cost-based plan SQL Handle : SQL_9a5185ba7ac10700 Parsing Schema : SYS Test Plan Creator : SYS SQL Text : select file# from file$ where ts#=:1
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. This plan was skipped because either the database is not fully open or the SQL statement is ineligible for SQL Plan Management.
--------------------------------------------------------------------------------------------- Object ID : 14061 Test Plan Name : SQL_PLAN_bs22jw8rg5t3y48896977 Base Plan Name : Cost-based plan SQL Handle : SQL_bc0851e22ef2e47e Parsing Schema : BOTANG Test Plan Creator : SYS SQL Text : SELECT object_path_seqno, object_type_path, value_n, value_t FROM "BOTANG"."SYS_EXPORT_SCHEMA_01" WHERE process_order = :1 AND BITAND(flags, :2) = 0 AND start_time IS NULL AND completion_time IS NULL ORDER BY value_n, object_path_seqno
ERRORS SECTION --------------------------------------------------------------------------------------------- ORA-00942: table or view does not exist --------------------------------------------------------------------------------------------- Object ID : 14062 Test Plan Name : SQL_PLAN_9gfkw7p9zjc6n6389fd50 Base Plan Name : Cost-based plan SQL Handle : SQL_97ba5c3d53f8b0d4 Parsing Schema : SYS Test Plan Creator : SYS SQL Text : select owner, object_name, subobject_name, object_type from dba_objects where object_id = :1
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. This plan was skipped because either the database is not fully open or the SQL statement is ineligible for SQL Plan Management.
--------------------------------------------------------------------------------------------- Object ID : 14063 Test Plan Name : SQL_PLAN_5fvc1cd8b4yht18f75460 Base Plan Name : Cost-based plan SQL Handle : SQL_576d816350b27a19 Parsing Schema : BOTANG Test Plan Creator : SYS SQL Text : SELECT TRANSAC_DATE ,FLAG1_AMOUNT FROM V_BANK_INVOICE_RMB_LICAI WHERE SUBSTR(ACCOUNT_ATTENTION_LICAI, 1, 7)=:B1 AND ACCOUNT_ATTENTION_LICAI_FLAG1 IS NOT NULL AND FLAG1_AMOUNT !=0 GROUP BY ACCOUNT_ATTENTION_LICAI_FLAG1,TRANSAC_DATE,FLAG1_AMOUNT
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 14063, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 14064 Test Plan Name : SQL_PLAN_55x9h884cqs4d8eaa9820 Base Plan Name : Cost-based plan SQL Handle : SQL_52f5304208cb608d Parsing Schema : BOTANG Test Plan Creator : SYS SQL Text : SELECT ACCOUNT_ATTENTION_LICAI_FLAG1,TRANSAC_DATE A , FLAG1_AMOUNT FROM V_BANK_INVOICE_RMB_LICAI WHERE SUBSTR(ACCOUNT_ATTENTION, 1, 1)='L' AND SUBSTR(ACCOUNT_ATTENTION, 1, 7)=:B1 AND ACCOUNT_ATTENTION_LICAI_FLAG1 IS NOT NULL AND FLAG1_AMOUNT !=0
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 14064, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 14065 Test Plan Name : SQL_PLAN_69zc811jq60s918f75460 Base Plan Name : Cost-based plan SQL Handle : SQL_64fd880863630309 Parsing Schema : BOTANG Test Plan Creator : SYS SQL Text : SELECT TRANSAC_DATE ,FLAG2_AMOUNT FROM V_BANK_INVOICE_RMB_LICAI WHERE SUBSTR(ACCOUNT_ATTENTION_LICAI, 1, 7)=:B1 AND ACCOUNT_ATTENTION_LICAI_FLAG2 IS NOT NULL AND FLAG2_AMOUNT !=0 GROUP BY ACCOUNT_ATTENTION_LICAI_FLAG2,TRANSAC_DATE,FLAG2_AMOUNT
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 14065, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 14066 Test Plan Name : SQL_PLAN_fg636d3csfwy618f75460 Base Plan Name : Cost-based plan SQL Handle : SQL_e7986668d98773c6 Parsing Schema : BOTANG Test Plan Creator : SYS SQL Text : SELECT TRANSAC_DATE ,FLAG5_AMOUNT FROM V_BANK_INVOICE_RMB_LICAI WHERE SUBSTR(ACCOUNT_ATTENTION_LICAI, 1, 7)=:B1 AND ACCOUNT_ATTENTION_LICAI_FLAG5 IS NOT NULL AND FLAG5_AMOUNT !=0 GROUP BY ACCOUNT_ATTENTION_LICAI_FLAG5,TRANSAC_DATE,FLAG5_AMOUNT
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 14066, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 14067 Test Plan Name : SQL_PLAN_f3zuvvy5y2w7618f75460 Base Plan Name : Cost-based plan SQL Handle : SQL_e1ff5bdf8be170e6 Parsing Schema : BOTANG Test Plan Creator : SYS SQL Text : SELECT TRANSAC_DATE ,FLAG3_AMOUNT FROM V_BANK_INVOICE_RMB_LICAI WHERE SUBSTR(ACCOUNT_ATTENTION_LICAI, 1, 7)=:B1 AND ACCOUNT_ATTENTION_LICAI_FLAG3 IS NOT NULL AND FLAG3_AMOUNT !=0 GROUP BY ACCOUNT_ATTENTION_LICAI_FLAG3,TRANSAC_DATE,FLAG3_AMOUNT
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 14067, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 14068 Test Plan Name : SQL_PLAN_8bq15p90suuk118f75460 Base Plan Name : Cost-based plan SQL Handle : SQL_85d825aa418d6a41 Parsing Schema : BOTANG Test Plan Creator : SYS SQL Text : SELECT TRANSAC_DATE ,FLAG4_AMOUNT FROM V_BANK_INVOICE_RMB_LICAI WHERE SUBSTR(ACCOUNT_ATTENTION_LICAI, 1, 7)=:B1 AND ACCOUNT_ATTENTION_LICAI_FLAG4 IS NOT NULL AND FLAG4_AMOUNT !=0 GROUP BY ACCOUNT_ATTENTION_LICAI_FLAG4,TRANSAC_DATE,FLAG4_AMOUNT
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The baseline plan matches the non-accepted plan being verified.
Recommendation: ----------------------------- Consider accepting the plan. Execute dbms_spm.accept_sql_plan_baseline(task_name => 'SYS_AUTO_SPM_EVOLVE_TASK', object_id => 14068, task_owner => 'SYS');
--------------------------------------------------------------------------------------------- Object ID : 14069 Test Plan Name : SQL_PLAN_fr5rfq96xsm8y0154130b Base Plan Name : Cost-based plan SQL Handle : SQL_eb96eeb24ddc4d1e Parsing Schema : SYS Test Plan Creator : SYS SQL Text : SELECT /*+ LEADING(A R) */ DECODE(LENGTH(TRIM(A.ATTR5)), 0, TO_CLOB(A.ATTR1), A.ATTR5) FROM WRI$_ADV_RATIONALE A, WRI$_ADV_RECOMMENDATIONS R WHERE R.TASK_ID = A.TASK_ID AND A.REC_ID = R.ID AND R.TYPE IN (:B6 , :B5 , :B4 ) AND NVL(A.TYPE, :B3 ) = :B3 AND A.TASK_ID = :B2 AND A.OBJ_ID = :B1
Execution Statistics: ----------------------------- Base Plan Test Plan ---------------------------- ---------------------------- Elapsed Time (s): .000372 .000371 CPU Time (s): .00037 .000371 Buffer Gets: 46 46 Optimizer Cost: 57 57 Disk Reads: 0 0 Direct Writes: 0 0 Rows Processed: 16 16 Executions: 10 10
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. The plan was verified in 0.17200 seconds. It failed the benefit criterion because its verified performance was 0.99892 times worse than that of the baseline plan.
EXPLAIN PLANS SECTION ---------------------------------------------------------------------------------------------
Baseline Plan ----------------------------- Plan Id : 13751 Plan Hash Value : 2004646024
------------------------------------------------------------------------------------------------------------ | Id | Operation | Name | Rows | Bytes | Cost | Time | ------------------------------------------------------------------------------------------------------------ | 0 | SELECT STATEMENT | | 1 | 308 | 57 | 00:00:01 | | * 1 | HASH JOIN | | 1 | 308 | 57 | 00:00:01 | | * 2 | TABLE ACCESS FULL | WRI$_ADV_RATIONALE | 53 | 15370 | 54 | 00:00:01 | | * 3 | TABLE ACCESS BY INDEX ROWID BATCHED | WRI$_ADV_RECOMMENDATIONS | 1 | 18 | 3 | 00:00:01 | | * 4 | INDEX RANGE SCAN | WRI$_ADV_REC_PK | 1 | | 2 | 00:00:01 | ------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 1 - access("R"."TASK_ID"="A"."TASK_ID" AND "A"."REC_ID"="R"."ID") * 2 - filter("A"."OBJ_ID"=:B1 AND "A"."TASK_ID"=:B2 AND NVL("A"."TYPE",:B3)=:B3) * 3 - filter("R"."TYPE"=:B6 OR "R"."TYPE"=:B5 OR "R"."TYPE"=:B4) * 4 - access("R"."TASK_ID"=:B2)
Hint Report (identified by operation id / Query Block Name / Object Alias): Total hints for statement: 2 (U - Unused (2)) ------------------------------------------------------------------------------- 0 - STATEMENT U - NO_PARALLEL 1 - SEL$1 U - LEADING(A R) / rejected by IGNORE_OPTIM_EMBEDDED_HINTS
Notes ----- - dop_reason = hint - dop = 1 - px_in_memory_imc = no - px_in_memory = no
Test Plan ----------------------------- Plan Id : 13752 Plan Hash Value : 22287115
------------------------------------------------------------------------------------------------------------ | Id | Operation | Name | Rows | Bytes | Cost | Time | ------------------------------------------------------------------------------------------------------------ | 0 | SELECT STATEMENT | | 1 | 308 | 57 | 00:00:01 | | * 1 | HASH JOIN | | 1 | 308 | 57 | 00:00:01 | | * 2 | TABLE ACCESS FULL | WRI$_ADV_RATIONALE | 53 | 15370 | 54 | 00:00:01 | | * 3 | TABLE ACCESS BY INDEX ROWID BATCHED | WRI$_ADV_RECOMMENDATIONS | 1 | 18 | 3 | 00:00:01 | | * 4 | INDEX RANGE SCAN | WRI$_ADV_RECS_IDX_01 | 1 | | 2 | 00:00:01 | ------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id): ------------------------------------------ * 1 - access("R"."TASK_ID"="A"."TASK_ID" AND "A"."REC_ID"="R"."ID") * 2 - filter("A"."OBJ_ID"=:B1 AND "A"."TASK_ID"=:B2 AND NVL("A"."TYPE",:B3)=:B3) * 3 - filter("R"."TYPE"=:B6 OR "R"."TYPE"=:B5 OR "R"."TYPE"=:B4) * 4 - access("R"."TASK_ID"=:B2)
Hint Report (identified by operation id / Query Block Name / Object Alias): Total hints for statement: 2 (U - Unused (2)) ------------------------------------------------------------------------------- 0 - STATEMENT U - NO_PARALLEL 1 - SEL$1 U - LEADING(A R) / rejected by IGNORE_OPTIM_EMBEDDED_HINTS
Notes ----- - dop_reason = hint - dop = 1 - px_in_memory_imc = no - px_in_memory = no
--------------------------------------------------------------------------------------------- Object ID : 14070 Test Plan Name : SQL_PLAN_3ab6q8daqjx2035553613 Base Plan Name : Cost-based plan SQL Handle : SQL_352cd6435568f440 Parsing Schema : BOTANG Test Plan Creator : SYS SQL Text : UPDATE "BOTANG"."SYS_EXPORT_SCHEMA_01" SET work_item = :1, state = :2, metadata_io = :3, data_io = :4, size_estimate = :5, cumulative_time = :6, last_update = sysdate, object_number = NULL, object_schema = NULL, object_name = NULL, object_long_name = NULL, partition_name = NULL, subpartition_name = NULL, total_bytes = NULL, object_type_path = NULL, completed_rows = NULL, parallelization = NULL WHERE process_order = :7 AND duplicate = :8
ERRORS SECTION --------------------------------------------------------------------------------------------- ORA-00942: table or view does not exist --------------------------------------------------------------------------------------------- Object ID : 14071 Test Plan Name : SQL_PLAN_9qjp4uqckjt6b7a2f6358 Base Plan Name : Cost-based plan SQL Handle : SQL_9b46a4d59928e4cb Parsing Schema : SYS Test Plan Creator : SYS SQL Text : SELECT/*+ opt_param('_push_join_predicate' 'false') opt_param('optimizer_adaptive_plans' 'false') opt_param('_push_join_union_view' 'false') */ /* SPM: LOAD */ sql_id, plan_hash_value, regression_phv, src, data_1, data_2 FROM ( SELECT source.elapsed_time, source.cpu_time, source.disk_reads, source.buffer_gets, source.direct_writes, source.executions, source.data_1, source.data_2, source.sql_id, source.plan_hash_value, source.src, highload.plan_hash_value regression_phv FROM (( SELECT awrs.elapsed_time, awrs.cpu_time, awrs.disk_reads, awrs.buffer_gets, awrs.direct_writes, awrs.executions, null data_1, null data_2, -- unused, needed for STS awrs.sql_id, awrs.plan_hash_value, (awrs.buffer_gets * 10000 + awrs.cpu_time) cpu_plus_io, 'AWR' src FROM ( SELECT stat.elapsed_time, stat.cpu_time, stat.disk_reads, stat.buffer_gets, stat.direct_writes, stat.executions, null data_1, null data_2, -- unused, needed for STS stat.sql_id, stat.plan_hash_value FROM (SELECT SUM(elapsed_time)/ DECODE(SUM(executions), NULL, 1, 0, 1, SUM(executions)) elapsed_time, SUM(cpu_time)/ DECODE(SUM(executions), NULL, 1, 0, 1, SUM(executions)) cpu_time, SUM(disk_reads)/ DECODE(SUM(executions), NULL, 1, 0, 1, SUM(executions)) disk_reads, SUM(buffer_gets)/ DECODE(SUM(executions), NULL, 1, 0, 1, SUM(executions)) buffer_gets, SUM(direct_writes)/ DECODE(SUM(executions), NULL, 1, 0, 1, SUM(executions)) direct_writes, SUM(executions) executions, null data_1, null data_2, -- unused, needed for STS sql_id, plan_hash_value FROM ( SELECT /*+ leading(st) */ fetches_delta fetches, executions_delta executions, disk_reads_delta disk_reads, direct_writes_delta direct_writes, buffer_gets_delta buffer_gets, rows_processed_delta rows_processed, cpu_time_delta cpu_time, elapsed_time_delta elapsed_time, s.sql_id, s.plan_hash_value FROM sys.cdb_hist_sqlstat s, sys.cdb_hist_snapshot sn, sys.cdb_hist_sqltext st WHERE sn.end_interval_time > systimestamp AT TIME ZONE dbtimezone - 7 AND s.snap_id = sn.snap_id AND s.dbid = sn.dbid AND s.instance_number = sn.instance_number AND :dbid is not null AND s.sql_id = st.sql_id AND st.con_dbid = s.con_dbid AND st.dbid = s.dbid AND (:sig = dbms_sqltune_util0.sqltext_to_signature(sql_text) OR (:sig IS NULL AND ((:existingSQL IS NOT NULL AND :newSQL IS NOT NULL) OR (:existingSQL IS NOT NULL AND :newSQL IS NULL AND dbms_sqltune_util0.sqltext_to_signature(sql_text) IN (SELECT signature FROM sys.sqlobj$ WHERE obj_type = 2)) OR (:existingSQL IS NULL AND :newSQL IS NOT NULL AND dbms_sqltune_util0.sqltext_to_signature(sql_text) NOT IN (SELECT signature FROM sys.sqlobj$ WHERE obj_type = 2)))))) GROUP BY sql_id, plan_hash_value) stat) awrs) UNION ALL ( SELECT sts.elapsed_time, sts.cpu_time, sts.disk_reads, sts.buffer_gets, sts.direct_writes, sts.executions, data_1, data_2, sts.sql_id, sts.plan_hash_value, (sts.buffer_gets * 10000 + sts.cpu_time) cpu_plus_io, 'STS' src FROM ( SELECT elapsed_time, cpu_time, disk_reads, buffer_gets, direct_writes, executions, sqlset_name data_1, sqlset_owner data_2, sql_id, plan_hash_value, con_dbid FROM ( SELECT st.elapsed_time/ DECODE(st.executions, NULL, 1, 0, 1, st.executions) elapsed_time, st.cpu_time/ DECODE(st.executions, NULL, 1, 0, 1, st.executions) cpu_time, st.buffer_gets/ DECODE(st.executions, NULL, 1, 0, 1, st.executions) buffer_gets, st.disk_reads/ DECODE(st.executions, NULL, 1, 0, 1, st.executions) disk_reads, st.direct_writes/ DECODE(st.executions, NULL, 1, 0, 1, st.executions) direct_writes, st.executions, row_number() over (partition by st.plan_hash_value, st.sql_id order by s.created desc) inner_row_num, st.sqlset_name, st.sqlset_owner, st.sql_id, st.plan_hash_value, st.con_dbid FROM sys.dba_sqlset_statements st, sys.dba_sqlset s WHERE st.executions > 0 AND st.plan_hash_value != 0 AND st.sqlset_name = s.name AND st.sqlset_owner = s.owner AND :dbid is not null AND (:sig = dbms_sqltune_util0.sqltext_to_signature(sql_text) OR (:sig IS NULL AND ((:existingSQL IS NOT NULL AND :newSQL IS NOT NULL) OR (:existingSQL IS NOT NULL AND :newSQL IS NULL AND dbms_sqltune_util0.sqltext_to_signature(sql_text) IN (SELECT signature FROM sys.sqlobj$ WHERE obj_type = 2)) OR (:existingSQL IS NULL AND :newSQL IS NOT NULL AND dbms_sqltune_util0.sqltext_to_signature(sql_text) NOT IN (SELECT signature FROM sys.sqlobj$ WHERE obj_type = 2))))) AND DBMS_STATS_INTERNAL.is_oracle_owned(st.sqlset_owner) = 1) WHERE inner_row_num = 1) sts) UNION ALL ( SELECT cc.elapsed_time, cc.cpu_time, cc.disk_reads, cc.buffer_gets, cc.direct_writes, cc.executions, null data_1, null data_2, -- unused, needed for STS cc.sql_id, cc.plan_hash_value, (cc.buffer_gets * 10000 + cc.cpu_time) cpu_plus_io, 'CC' src FROM (SELECT stat.elapsed_time/stat.executions elapsed_time, stat.cpu_time/stat.executions cpu_time, stat.disk_reads/stat.executions disk_reads, stat.buffer_gets/stat.executions buffer_gets, stat.direct_writes/stat.executions direct_writes, stat.executions, stat.sql_id, stat.plan_hash_value, stat.con_dbid FROM sys.v$sqlarea_plan_hash stat WHERE :dbid is not NULL AND executions > 0 AND (:sig = dbms_sqltune_util0.sqltext_to_signature(sql_text) OR (:sig IS NULL AND ((:existingSQL IS NOT NULL AND :newSQL IS NOT NULL) OR (:existingSQL IS NOT NULL AND :newSQL IS NULL AND dbms_sqltune_util0.sqltext_to_signature(sql_text) IN (SELECT signature FROM sys.sqlobj$ WHERE obj_type = 2)) OR (:existingSQL IS NULL AND :newSQL IS NOT NULL AND dbms_sqltune_util0.sqltext_to_signature(sql_text) NOT IN (SELECT signature FROM sys.sqlobj$ WHERE obj_type = 2)))))) cc )) source, (SELECT sql_id, plan_hash_value, cpu_plus_io FROM (( SELECT /*+ no_merge */ stat.sql_id, stat.cpu_plus_io, stat.plan_hash_value FROM ( SELECT sql_id, con_dbid, plan_hash_value, cpu_plus_io FROM ( SELECT sql_id, con_dbid, cpu_plus_io, plan_hash_value, Row_number() OVER ( ORDER BY cpu_plus_io DESC) AS rank FROM ( SELECT sql_id, con_dbid, Max(plan_hash_value) keep (dense_rank last ORDER BY cpu_plus_io) plan_hash_value, max(cpu_plus_io) cpu_plus_io FROM ( SELECT sql_id, con_dbid, plan_hash_value, cpu_time + buffer_gets * 10000 AS cpu_plus_io FROM (SELECT sql_id, plan_hash_value, con_dbid, cpu_time / executions AS cpu_time, buffer_gets / executions AS buffer_gets FROM ( SELECT sql_id, plan_hash_value, con_dbid, SUM(cpu_time) cpu_time, SUM(buffer_gets) buffer_gets, DECODE(SUM(executions), NULL, 1, 0,1, SUM(executions)) executions FROM ( SELECT v1.* FROM ( SELECT snap_id, sql_id, plan_hash_value, cpu_time, buffer_gets, executions, con_dbid FROM (SELECT /*+ cardinality(d 1) */ sq.snap_id, sq.con_dbid, sq.sql_id, sq.plan_hash_value, SUM(sq.cpu_time_delta) cpu_time, SUM(sq.buffer_gets_delta) buffer_gets, SUM(sq.executions_delta) executions FROM cdb_hist_sqlstat sq, v$database d, cdb_hist_sqltext st WHERE sq.con_dbid = d.con_dbid AND st.sql_id = sq.sql_id AND st.con_dbid = sq.con_dbid AND st.command_type IN ( 2, 3, 6, 7, 189 ) -- this flag checks whether awr has full-fledged stats AND BITAND(NVL(sq.flag, 0), 1) = 0 GROUP BY sq.snap_id, sq.sql_id, sq.con_dbid, sq.plan_hash_value) ) v1, (SELECT sq.sql_id, sq.con_dbid FROM cdb_hist_sqlstat sq, v$database d WHERE sq.con_dbid = d.con_dbid GROUP BY sq.sql_id, sq.con_dbid HAVING SUM(Nvl(executions_delta, 0)) >= 2) v2 WHERE v1.sql_id = v2.sql_id AND v1.con_dbid = v2.con_dbid ) GROUP BY (sql_id, con_dbid, plan_hash_value, snap_id)))) GROUP BY sql_id, con_dbid))) stat ) UNION ALL ( SELECT s.sql_id, MAX(s.buffer_gets * 10000 + s.cpu_time) cpu_plus_io, MAX(s.plan_hash_value) KEEP (DENSE_RANK LAST ORDER BY s.buffer_gets * 10000 + s.cpu_time) plan_hash_value FROM dba_sqlset_statements s WHERE s.sql_id IN (SELECT sql_id FROM (SELECT sql_id, plan_hash_value, (buffer_gets * 10000 + cpu_time) cpu_plus_io FROM ( SELECT st.elapsed_time / decode(st.executions, NULL, 1, 0, 1, st.executions) elapsed_time, st.cpu_time / decode(st.executions, NULL, 1, 0, 1, st.executions) cpu_time, st.buffer_gets / decode(st.executions, NULL, 1, 0, 1, st.executions) buffer_gets, row_number() OVER (partition BY st.plan_hash_value, st.sql_id ORDER BY s.created DESC) rank_num, st.sql_id, st.plan_hash_value, st.con_dbid, st.sql_text FROM sys.dba_sqlset_statements st, sys.dba_sqlset s WHERE st.executions > 0 AND st.plan_hash_value != 0 AND st.sqlset_name = s.NAME AND st.sqlset_owner = s.owner AND st.sqlset_name = 'SYS_AUTO_STS' AND st.sqlset_owner = 'SYS') WHERE rank_num = 1) GROUP BY sql_id HAVING count(*) >= 2 AND max(cpu_plus_io) / decode(min(cpu_plus_io), 0, 1, min(cpu_plus_io)) > :ratio * 100) GROUP BY s.sql_id HAVING MAX(s.buffer_gets * 10000 + s.cpu_time) / 100 > :threshold) ) WHERE :execution_name is not NULL) highload WHERE source.executions >= :execs AND source.sql_id = highload.sql_id AND source.plan_hash_value <> highload.plan_hash_value ORDER BY (highload.cpu_plus_io / DECODE(source.cpu_plus_io, 0, 1, source.cpu_plus_io)) DESC NULLS LAST, source.elapsed_time, source.executions, source.cpu_time, source.disk_reads, source.buffer_gets, source.direct_writes )
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. This plan was skipped because either the database is not fully open or the SQL statement is ineligible for SQL Plan Management.
--------------------------------------------------------------------------------------------- Object ID : 14072 Test Plan Name : SQL_PLAN_794yq2jmpn6yab39282c1 Base Plan Name : Cost-based plan SQL Handle : SQL_7493d614675a1bca Parsing Schema : SYS Test Plan Creator : SYS SQL Text : MERGE /*+ dynamic_sampling(ST 4) dynamic_sampling_est_cdn(ST) OPT_PARAM('_parallel_syspls_obey_force' 'false') */ INTO STATS_TARGET$ ST USING (SELECT CASE WHEN DBMS_STATS_INTERNAL.BITCLR(AFLAGS, :B23 + :B28 ) = :B10 THEN DECODE(TYPE#, 19, :B35 , :B34 ) ELSE STALENESS END STALENESS, OSIZE, OBJ#, TYPE#, 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, :B22 ), :B22 , GREATEST(T.ROWCNT, M.INSERTS), LEAST((M.INSERTS + M.DELETES + M.UPDATES), GREATEST(T.ROWCNT, (T.ROWCNT + M.INSERTS - M.DELETES)))) / (T.ROWCNT + 0.01)))), 0.01)), 1), -100.0) STALENESS, CASE WHEN BITAND(T.PROPERTY, 32) = 32 OR T.FILE# = 0 THEN DBMS_STATS_INTERNAL.GET_TABLE_BLOCK_COUNT(U.NAME, O.NAME, NULL, NULL, '(-376, -942)') WHEN S.TYPE# = 5 THEN DBMS_STATS_INTERNAL.SEGMENT_NUMBER_BLOCKS(T.TS#, T.FILE#, T.BLOCK#, S.TYPE#, S.CACHEHINT, NVL(S.SPARE1,0), O.DATAOBJ#, S.BLOCKS, 'TRUE') ELSE NULL END * NVL(TS.BLOCKSIZE, :B24 ) OSIZE, O.OBJ# OBJ#, O.TYPE# TYPE#, :B23 + CASE WHEN (BITAND(T.FLAGS,16) = 16 AND (BITAND(M.FLAGS,:B22 ) != 0 OR (M.INSERTS + M.UPDATES + M.DELETES) > NVL(TO_NUMBER(P.VALCHAR), :B21 )/100 * T.ROWCNT)) THEN :B20 WHEN (BITAND(T.FLAGS,16) != 16) THEN :B19 WHEN (BITAND(M.FLAGS,:B18 ) = :B18 ) THEN :B17 ELSE 0 END + CASE WHEN (BITAND(M.FLAGS,:B16 ) = :B16 ) THEN :B15 ELSE 0 END + CASE WHEN (BITAND(M.FLAGS,:B14 ) = :B14 ) THEN :B13 ELSE 0 END + CASE WHEN (BITAND(M.FLAGS,:B12 ) = :B12 ) THEN :B11 ELSE 0 END + CASE WHEN NVL(P1.VALCHAR, :B4 ) = 'HYPERLOGLOG' AND NVL(P2.VALCHAR, :B3 ) = 'TRUE' AND (P3.VALCHAR LIKE '%ALLOW_MIXED_FORMAT%' OR P3.VALCHAR IS NULL AND :B2 = 1) THEN :B10 ELSE 0 END AFLAGS, 0 STATUS, :B9 SID, :B8 SERIAL#, NULL PART#, NULL BO#, TO_NUMBER(P.VALCHAR) LOC_STALE_PCT FROM SYS.SEG$ S, SYS.TS$ TS, SYS.USER$ U, SYS.OBJ$ O, SYS.TAB$ T, SYS.MON_MODS_ALL$ M, OPTSTAT_USER_PREFS$ P, SYS.OPTSTAT_USER_PREFS$ P1, SYS.OPTSTAT_USER_PREFS$ P2, SYS.OPTSTAT_USER_PREFS$ P3 WHERE (BITAND(DBMS_STATS_INTERNAL.DECODE_GRANULARITY(T.OBJ#, :B7 ), :B6 ) <> 0) AND O.TYPE# = 2 AND T.OBJ# = O.OBJ# AND O.OWNER# = U.USER# AND M.OBJ#(+) = T.OBJ# AND T.FILE# = S.FILE#(+) AND T.BLOCK# = S.BLOCK#(+) AND T.TS# = S.TS#(+) AND TS.TS#(+) = S.TS# AND BITAND(T.TRIGFLAG,67108864) != 67108864 AND BITAND(T.PROPERTY,64+512) = 0 AND BITAND(T.FLAGS,536870912) != 536870912 AND BITAND(T.FLAGS,2097152) != 2097152 AND BITAND(O.FLAGS, 128) != 128 AND (BITAND(T.PROPERTY,4194304) != 4194304 AND BITAND(T.PROPERTY,8388608) != 8388608) AND BITAND(T.PROPERTY,4294967296) != 4294967296 AND NOT (BITAND(O.FLAGS, 16) = 16 AND (O.NAME LIKE 'DR$%' OR O.NAME LIKE 'DR#%')) AND NOT (U.NAME = 'SYS' AND O.NAME IN ('SUMDELTA$', 'SNAP_XCMT$')) AND O.OBJ# = P.OBJ#(+) AND P.PNAME(+) = 'STALE_PERCENT' AND O.OBJ# = P1.OBJ#(+) AND P1.PNAME(+) = 'APPROXIMATE_NDV_ALGORITHM' AND O.OBJ# = P2.OBJ#(+) AND P2.PNAME(+) = 'INCREMENTAL' AND O.OBJ# = P3.OBJ#(+) AND P3.PNAME(+) = 'INCREMENTAL_STALENESS' AND (U.NAME,O.NAME) NOT IN (SELECT /*+ unnest */ * FROM (SELECT MOWNER,LOG FROM MLOG$ UNION ALL SELECT MOWNER,TEMP_LOG FROM MLOG$ WHERE TEMP_LOG IS NOT NULL)) AND BITAND(T.PROPERTY, :B5 ) != :B5 AND ((BITAND(T.FLAGS,16) = 16 AND DBMS_STATS_INTERNAL.IS_STALE(T.OBJ#, NULL,NULL,M.INSERTS+M.UPDATES+M.DELETES, T.ROWCNT,M.FLAGS) IS NOT NULL OR BITAND(T.FLAGS,16) != 16) OR (NVL(P1.VALCHAR, :B4 ) = 'HYPERLOGLOG' AND NVL(P2.VALCHAR, :B3 ) = 'TRUE' AND (P3.VALCHAR LIKE '%ALLOW_MIXED_FORMAT%' OR P3.VALCHAR IS NULL AND :B2 = 1) AND :B1 <> 0 AND EXISTS (SELECT NULL FROM HIST_HEAD$ H WHERE H.OBJ# = O.OBJ# AND BITAND(H.SPARE2, 2048) = 2048)) ) UNION ALL SELECT STALENESS, OSIZE, OBJ#, TYPE#, CASE WHEN ROW_NUMBER() OVER (PARTITION BY BO# ORDER BY STALENESS, OSIZE, OBJ#) = 1 THEN :B23 ELSE 0 END + :B28 + AFLAGS AFLAGS, 0 STATUS, :B9 SID, :B8 SERIAL#, PART#, BO#, LOC_STALE_PCT FROM ( SELECT /*+ no_expand dynamic_sampling(4) dynamic_sampling_est_cdn */ DECODE(BITAND(T.FLAGS,2), 2, ROUND( LOG(0.01, NVL( LEAST( 100, GREATEST( 0.01, (DECODE(BITAND(M.FLAGS, :B22 ), :B22 , GREATEST(T.ROWCNT, M.INSERTS), LEAST((M.INSERTS + M.DELETES + M.UPDATES), GREATEST(T.ROWCNT, (T.ROWCNT + M.INSERTS - M.DELETES)))) / (T.ROWCNT + 0.01)))), 0.01)), 1), -100.0) STALENESS, DBMS_STATS_INTERNAL.SEGMENT_NUMBER_BLOCKS(T.TS#, T.FILE#, T.BLOCK#, S.TYPE#, S.CACHEHINT, NVL(S.SPARE1,0), O.DATAOBJ#, S.BLOCKS, 'TRUE') * TS.BLOCKSIZE OSIZE, O.OBJ# OBJ#, O.TYPE# TYPE#, T.PART# PART#, T.BO# BO#, TO_NUMBER(P.VALCHAR) LOC_STALE_PCT, CASE WHEN (BITAND(T.FLAGS,2) = 2 AND (BITAND(M.FLAGS,:B22 ) != 0 OR (M.INSERTS + M.UPDATES + M.DELETES) > NVL(TO_NUMBER(P.VALCHAR), :B21 )/100 * T.ROWCNT)) THEN :B20 WHEN (BITAND(T.FLAGS,2) != 2) THEN :B19 WHEN (BITAND(M.FLAGS,:B18 ) = :B18 ) THEN :B17 ELSE 0 END + CASE WHEN (BITAND(M.FLAGS,:B16 ) = :B16 ) THEN :B15 ELSE 0 END + CASE WHEN (BITAND(M.FLAGS,:B14 ) = :B14 ) THEN :B13 ELSE 0 END + CASE WHEN NVL(P1.VALCHAR, :B4 ) = 'HYPERLOGLOG' AND NVL(P2.VALCHAR, :B3 ) = 'TRUE' AND (P3.VALCHAR LIKE '%ALLOW_MIXED_FORMAT%' OR P3.VALCHAR IS NULL AND :B2 = 1) THEN :B10 ELSE 0 END AFLAGS FROM SYS.SEG$ S, SYS.TS$ TS, SYS.OBJ$ O, SYS.TABPART$ T, SYS.TAB$ TAB, SYS.OBJ$ OT, SYS.MON_MODS_ALL$ M, SYS.OPTSTAT_USER_PREFS$ P, SYS.OPTSTAT_USER_PREFS$ P1, SYS.OPTSTAT_USER_PREFS$ P2, SYS.OPTSTAT_USER_PREFS$ P3 WHERE O.TYPE# = 19 AND S.TYPE# = 5 AND DBMS_STATS_INTERNAL.GET_TAB_SHARE_TYPE_VIEW(OT.FLAGS, TAB.PROPERTY) NOT IN (:B26 , :B25 ) AND T.OBJ# = O.OBJ# AND TAB.OBJ# = T.BO# AND M.OBJ#(+) = T.OBJ# AND T.FILE# = S.FILE# AND T.BLOCK# = S.BLOCK# AND T.TS# = S.TS# AND TS.TS# = S.TS# AND BITAND(TAB.TRIGFLAG,67108864) != 67108864 AND BITAND(TAB.PROPERTY,512) != 512 AND BITAND(TAB.FLAGS,536870912) != 536870912 AND BITAND(T.FLAGS,2097152) != 2097152 AND BITAND(T.FLAGS, 32) != 32 AND TAB.OBJ# = OT.OBJ# AND BITAND(OT.FLAGS,128) != 128 AND NOT (BITAND(O.FLAGS, 16) = 16 AND (O.NAME LIKE 'DR$%' OR O.NAME LIKE 'DR#%')) AND TAB.OBJ# = P.OBJ#(+) AND P.PNAME(+) = 'STALE_PERCENT' AND T.BO# = P1.OBJ#(+) AND P1.PNAME(+) = 'APPROXIMATE_NDV_ALGORITHM' AND T.BO# = P2.OBJ#(+) AND P2.PNAME(+) = 'INCREMENTAL' AND T.BO# = P3.OBJ#(+) AND P3.PNAME(+) = 'INCREMENTAL_STALENESS' AND ((BITAND(T.FLAGS,2) = 2 AND DBMS_STATS_INTERNAL.IS_STALE(TAB.OBJ#, NULL,NULL,M.INSERTS+M.UPDATES+M.DELETES, T.ROWCNT,M.FLAGS) IS NOT NULL) OR (BITAND(T.FLAGS,2) != 2) OR (NVL(P1.VALCHAR, :B4 ) = 'HYPERLOGLOG' AND NVL(P2.VALCHAR, :B3 ) = 'TRUE' AND (P3.VALCHAR LIKE '%ALLOW_MIXED_FORMAT%' OR P3.VALCHAR IS NULL AND :B2 = 1) AND :B1 <> 0 AND EXISTS (SELECT NULL FROM SYS.WRI$_OPTSTAT_SYNOPSIS_HEAD$ H WHERE H.BO# = T.BO# AND H.GROUP# = T.OBJ# * 2 AND H.SPARE1 IS NULL AND T.ROWCNT > 0))) UNION ALL SELECT /*+ no_expand dynamic_sampling(4) dynamic_sampling_est_cdn */ DECODE(BITAND(T.FLAGS,2), 2, ROUND( LOG(0.01, NVL( LEAST( 100, GREATEST( 0.01, (DECODE(BITAND(M.FLAGS,:B22 ), :B22 , GREATEST(T.ROWCNT, M.INSERTS), LEAST((M.INSERTS + M.DELETES + M.UPDATES), GREATEST(T.ROWCNT, (T.ROWCNT + M.INSERTS - M.DELETES)))) / (T.ROWCNT + 0.01)))), 0.01)), 1), -100.0) STALENESS, DBMS_STATS_INTERNAL.GET_TABLE_BLOCK_COUNT(U.NAME,O.NAME, O.SUBNAME,NULL, '(-376, -942)') * :B24 OSIZE, O.OBJ# OBJ#, O.TYPE# TYPE#, T.PART# PART#, T.BO# BO#, TO_NUMBER(P.VALCHAR) LOC_STALE_PCT, CASE WHEN (BITAND(T.FLAGS,2) = 2 AND (BITAND(M.FLAGS,:B22 ) != 0 OR (M.INSERTS + M.UPDATES + M.DELETES) > NVL(TO_NUMBER(P.VALCHAR), :B21 )/100 * T.ROWCNT)) THEN :B20 WHEN (BITAND(T.FLAGS,2) != 2) THEN :B19 WHEN (BITAND(M.FLAGS,:B18 ) = :B18 ) THEN :B17 ELSE 0 END + CASE WHEN (BITAND(M.FLAGS,:B16 ) = :B16 ) THEN :B15 ELSE 0 END + CASE WHEN (BITAND(M.FLAGS,:B14 ) = :B14 ) THEN :B13 ELSE 0 END + CASE WHEN NVL(P1.VALCHAR, :B4 ) = 'HYPERLOGLOG' AND NVL(P2.VALCHAR, :B3 ) = 'TRUE' AND (P3.VALCHAR LIKE '%ALLOW_MIXED_FORMAT%' OR P3.VALCHAR IS NULL AND :B2 = 1) THEN :B10 ELSE 0 END AFLAGS FROM SYS.OBJ$ O, SYS.USER$ U, SYS.TABCOMPART$ T, SYS.TAB$ TAB, SYS.OBJ$ OT, SYS.MON_MODS_ALL$ M, SYS.OPTSTAT_USER_PREFS$ P, SYS.OPTSTAT_USER_PREFS$ P1, SYS.OPTSTAT_USER_PREFS$ P2, SYS.OPTSTAT_USER_PREFS$ P3 WHERE O.TYPE# = 19 AND DBMS_STATS_INTERNAL.GET_TAB_SHARE_TYPE_VIEW(OT.FLAGS, TAB.PROPERTY) NOT IN (:B26 , :B25 ) AND T.OBJ# = O.OBJ# AND O.OWNER# = U.USER# AND TAB.OBJ# = T.BO# AND M.OBJ#(+) = T.OBJ# AND BITAND(TAB.TRIGFLAG,67108864) != 67108864 AND BITAND(T.FLAGS, 32) != 32 AND TAB.OBJ# = OT.OBJ# AND BITAND(OT.FLAGS,128) != 128 AND NOT (BITAND(O.FLAGS, 16) = 16 AND (O.NAME LIKE 'DR$%' OR O.NAME LIKE 'DR#%')) AND TAB.OBJ# = P.OBJ#(+) AND P.PNAME(+) = 'STALE_PERCENT' AND T.BO# = P1.OBJ#(+) AND P1.PNAME(+) = 'APPROXIMATE_NDV_ALGORITHM' AND T.BO# = P2.OBJ#(+) AND P2.PNAME(+) = 'INCREMENTAL' AND T.BO# = P3.OBJ#(+) AND P3.PNAME(+) = 'INCREMENTAL_STALENESS' AND ((BITAND(T.FLAGS,2) = 2 AND DBMS_STATS_INTERNAL.IS_STALE(TAB.OBJ#, NULL,NULL,M.INSERTS+M.UPDATES+M.DELETES, T.ROWCNT,M.FLAGS) IS NOT NULL) OR (BITAND(T.FLAGS,2) != 2) OR (NVL(P1.VALCHAR, :B4 ) = 'HYPERLOGLOG' AND NVL(P2.VALCHAR, :B3 ) = 'TRUE' AND (P3.VALCHAR LIKE '%ALLOW_MIXED_FORMAT%' OR P3.VALCHAR IS NULL AND :B2 = 1) AND :B1 <> 0 AND EXISTS (SELECT NULL FROM SYS.WRI$_OPTSTAT_SYNOPSIS_HEAD$ H WHERE H.BO# = T.BO# AND H.GROUP# = T.OBJ# * 2 AND H.SPARE1 IS NULL AND T.ROWCNT > 0))) ) WHERE BITAND(DBMS_STATS_INTERNAL.DECODE_GRANULARITY(BO#, :B7 ), :B27 ) <> 0 UNION ALL SELECT STALENESS, OSIZE, OBJ#, TYPE#, CASE WHEN ROW_NUMBER() OVER (PARTITION BY BO# ORDER BY STALENESS, OSIZE, OBJ#) = 1 THEN :B28 ELSE 0 END + CASE WHEN ROW_NUMBER() OVER (PARTITION BY (SELECT TCP0.BO# FROM TABCOMPART$ TCP0 WHERE TCP0.OBJ#=ST0.BO#) ORDER BY STALENESS, OSIZE, OBJ#) = 1 THEN :B23 ELSE 0 END + AFLAGS AFLAGS, 0 STATUS, :B9 SID, :B8 SERIAL#, PART#, BO#, LOC_STALE_PCT FROM (SELECT /*+ no_expand dynamic_sampling(4) dynamic_sampling_est_cdn */ DECODE(BITAND(T.FLAGS,2), 2, ROUND( LOG(0.01, NVL( LEAST( 100, GREATEST( 0.01, (DECODE(BITAND(M.FLAGS,:B22 ), :B22 , GREATEST(T.ROWCNT, M.INSERTS), LEAST((M.INSERTS + M.DELETES + M.UPDATES), GREATEST(T.ROWCNT, (T.ROWCNT + M.INSERTS - M.DELETES)))) / (T.ROWCNT + 0.01)))), 0.01)), 1), -100.0) STALENESS, DBMS_STATS_INTERNAL.SEGMENT_NUMBER_BLOCKS(T.TS#, T.FILE#, T.BLOCK#, S.TYPE#, S.CACHEHINT, NVL(S.SPARE1,0), O.DATAOBJ#, S.BLOCKS, 'TRUE') * TS.BLOCKSIZE OSIZE, O.OBJ# OBJ#, O.TYPE# TYPE#, T.SUBPART# PART#, T.POBJ# BO#, TO_NUMBER(P.VALCHAR) LOC_STALE_PCT, CASE WHEN (BITAND(T.FLAGS,2) = 2 AND (BITAND(M.FLAGS,:B22 ) != 0 OR (M.INSERTS + M.UPDATES + M.DELETES) > NVL(TO_NUMBER(P.VALCHAR), :B21 )/100 * T.ROWCNT)) THEN :B20 WHEN (BITAND(T.FLAGS,2) != 2) THEN :B19 WHEN (BITAND(M.FLAGS,:B18 ) = :B18 ) THEN :B17 ELSE 0 END + CASE WHEN (BITAND(M.FLAGS,:B16 ) = :B16 ) THEN :B15 ELSE 0 END + CASE WHEN (BITAND(M.FLAGS,:B14 ) = :B14 ) THEN :B13 ELSE 0 END AFLAGS FROM SYS.SEG$ S, SYS.TS$ TS, SYS.OBJ$ O, SYS.TABSUBPART$ T, SYS.TABCOMPART$ TCP, SYS.TAB$ TAB, SYS.OBJ$ OT, SYS.MON_MODS_ALL$ M, SYS.PARTOBJ$ PO, SYS.OPTSTAT_USER_PREFS$ P WHERE O.TYPE# = 34 AND S.TYPE# = 5 AND DBMS_STATS_INTERNAL.GET_TAB_SHARE_TYPE_VIEW(OT.FLAGS, TAB.PROPERTY) NOT IN (:B26 , :B25 ) AND T.OBJ# = O.OBJ# AND M.OBJ#(+) = T.OBJ# AND T.FILE# = S.FILE# AND T.BLOCK# = S.BLOCK# AND T.TS# = S.TS# AND TS.TS# = S.TS# AND TCP.OBJ# = T.POBJ# AND TCP.BO# = TAB.OBJ# AND PO.OBJ# = TAB.OBJ# AND (((BITAND(DBMS_STATS_INTERNAL.DECODE_GRANULARITY(TAB.OBJ#, :B7 ), :B30 ) <> 0) AND BITAND(PO.SPARE2, 255) = 2) OR ((BITAND(DBMS_STATS_INTERNAL.DECODE_GRANULARITY(TAB.OBJ#, :B7 ), :B29 ) <> 0) AND BITAND(PO.SPARE2, 255) NOT IN (0, 2))) AND BITAND(TAB.TRIGFLAG,67108864) != 67108864 AND TAB.OBJ# = OT.OBJ# AND BITAND(OT.FLAGS,128) != 128 AND NOT (BITAND(O.FLAGS, 16) = 16 AND (O.NAME LIKE 'DR$%' OR O.NAME LIKE 'DR#%')) AND BITAND(TCP.FLAGS, 32) != 32 AND TAB.OBJ# = P.OBJ#(+) AND P.PNAME(+) = 'STALE_PERCENT' AND ((BITAND(T.FLAGS,2) = 2 AND DBMS_STATS_INTERNAL.IS_STALE(TA B.OBJ#,NULL,NULL,M.INSERTS+M.UPDATES+M.DELETES, T.ROWCNT, M.FLAGS) IS NOT NULL) OR (BITAND(T.FLAGS,2) != 2))) ST0 UNION ALL SELECT /*+ no_expand dynamic_sampling(4) dynamic_sampling_est_cdn */ DECODE(BITAND(I.FLAGS,2), 2, ROUND( LOG(0.01, NVL( LEAST( 100, GREATEST( 0.01, (DECODE(CM.TRUNC, 1, GREATEST(CM.ROWCNT, CM.INSERTS), CM.TOT_MODS/(CM.ROWCNT + 0.01))))), 0.01)), 1), -100.0) STALENESS, DBMS_STATS_INTERNAL.SEGMENT_NUMBER_BLOCKS(I.TS#, I.FILE#, I.BLOCK#, S.TYPE#, S.CACHEHINT, NVL(S.SPARE1,0), O.DATAOBJ#, S.BLOCKS, 'TRUE') * TS.BLOCKSIZE OSIZE, O.OBJ# OBJ#, O.TYPE# TYPE#, :B23 + CASE WHEN (BITAND(I.FLAGS, 2) != 0 AND (CM.TRUNC > 0 OR CM.TOT_MODS > NVL(TO_NUMBER(P.VALCHAR), :B21 )/100 * CM.ROWCNT)) THEN :B20 WHEN (BITAND(I.FLAGS, 2) = 0) THEN :B19 ELSE 0 END AFLAGS, 0 STATUS, :B9 SID, :B8 SERIAL#, NULL PART#, I.BO# BO#, TO_NUMBER(P.VALCHAR) LOC_STALE_PCT FROM SYS.SEG$ S, SYS.TS$ TS, SYS.OBJ$ O, SYS.IND$ I, SYS.OPTSTAT_USER_PREFS$ P, (SELECT BOBJ#, SUM(BITAND(T.TRIGFLAG, 67108864)/67108864) LOCKED, SUM(BITAND(M.FLAGS,:B22 ))/COUNT(M.FLAGS) TRUNC, SUM(M.INSERTS+M.DELETES) TOT_MODS, SUM(M.INSERTS) INSERTS, SUM(T.ROWCNT) ROWCNT FROM MON_MODS_ALL$ M, TAB$ T WHERE M.OBJ#(+) = T.OBJ# AND T.CLUCOLS IS NOT NULL GROUP BY BOBJ#) CM WHERE DBMS_STATS_INTERNAL.GET_TAB_SHARE_TYPE_VIEW(O.FLAGS, 0) != :B26 AND ((DBMS_STATS_INTERNAL.GATHER_INDEX(CM.BOBJ#, :B31 ) IS NOT NULL) AND O.TYPE# = 1 AND S.TYPE# = 6 AND I.TYPE# = 3 AND I.OBJ# = O.OBJ# AND I.BO# = CM.BOBJ#(+) AND I.FILE# = S.FILE# AND I.BLOCK# = S.BLOCK# AND I.TS# = S.TS# AND TS.TS# = S.TS# AND BITAND(O.FLAGS, 128) != 128 AND O.OBJ# = P.OBJ#(+) AND P.PNAME(+) = 'STALE_PERCENT' AND (BITAND(I.FLAGS, 2) = 0 OR (BITAND(I.FLAGS, 2) != 0 AND (CM.TRUNC > 0 OR CM.TOT_MODS > NVL(TO_NUMBER(P.VALCHAR), :B21 )/100 * CM.ROWCNT))) AND CM.LOCKED = 0 AND BITAND(I.FLAGS,1+8+16+1024+4096) = 0) UNION ALL 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, :B22 ), :B22 , GREATEST(T.ROWCNT, M.INSERTS), LEAST((M.INSERTS + M.DELETES + M.UPDATES), GREATEST(T.ROWCNT, (T.ROWCNT + M.INSERTS - M.DELETES)))) / (T.ROWCNT + 0.01)))), 0.01)), 1), -100.0) STALENESS, CASE WHEN BITAND(I.PROPERTY, 2) = 2 OR I.FILE# = 0 THEN DBMS_STATS_INTERNAL.GET_INDEX_BLOCK_COUNT(U.NAME, OI.NAME, NULL, NULL, 'TRUE') WHEN S.TYPE# = 6 THEN DBMS_STATS_INTERNAL.SEGMENT_NUMBER_BLOCKS(I.TS#, I.FILE#, I.BLOCK#, S.TYPE#, S.CACHEHINT, NVL(S.SPARE1,0), I.DATAOBJ#, S.BLOCKS, 'TRUE') ELSE NULL END * NVL(TS.BLOCKSIZE, :B24 ) OSIZE, OT.OBJ# OBJ#, OT.TYPE# TYPE#, :B23 + CASE WHEN (BITAND(T.FLAGS,16) = 16 AND (BITAND(M.FLAGS,:B22 ) != 0 OR (M.INSERTS + M.UPDATES + M.DELETES) > NVL(TO_NUMBER(P.VALCHAR), :B21 )/100 * T.ROWCNT)) THEN :B20 WHEN (BITAND(T.FLAGS,16) != 16) THEN :B19 WHEN (BITAND(M.FLAGS,:B18 ) = :B18 ) THEN :B17 ELSE 0 END + CASE WHEN (BITAND(M.FLAGS,:B16 ) = :B16 ) THEN :B15 ELSE 0 END + CASE WHEN (BITAND(M.FLAGS,:B14 ) = :B14 ) THEN :B13 ELSE 0 END AFLAGS, 0 STATUS, :B9 SID, :B8 SERIAL#, NULL PART#, NULL BO#, TO_NUMBER(P.VALCHAR) LOC_STALE_PCT FROM SYS.USER$ U, SYS.OBJ$ OT, SYS.IND$ I, SYS.SEG$ S, SYS.MON_MODS_ALL$ M, SYS.TS$ TS, SYS.TAB$ T, SYS.OBJ$ OI, OPTSTAT_USER_PREFS$ P WHERE (BITAND(DBMS_STATS_INTERNAL.DECODE_GRANULARITY(T.OBJ#, :B7 ), :B6 ) <> 0) AND I.TYPE# = 4 AND I.BO# = OT.OBJ# AND BITAND(OT.FLAGS,128) != 128 AND OT.OWNER# = U.USER# AND M.OBJ#(+) = OT.OBJ# AND I.FILE# = S.FILE#(+) AND I.BLOCK# = S.BLOCK#(+) AND I.TS# = S.TS#(+) AND TS.TS#(+) = S.TS# AND T.OBJ# = OT.OBJ# AND I.OBJ# = OI.OBJ# AND NOT (BITAND(OT.FLAGS, 16) = 16 AND (OT.NAME LIKE 'DR$%' OR OT.NAME LIKE 'DR#%')) AND BITAND(T.TRIGFLAG, 67108864) != 67108864 AND OT.OBJ# = P.OBJ#(+) AND P.PNAME(+) = 'STALE_PERCENT' AND ((BITAND(T.FLAGS,16) = 16 AND ((BITAND(M.FLAGS,:B22 ) = :B22 ) OR ((M.INSERTS + M.UPDATES + M.DELETES) > NVL(TO_NUMBER(P.VALCHAR), :B21 )/100 * T.ROWCNT))) OR (BITAND(M.FLAGS, :B18 ) = :B18 ) OR (BITAND(T.FLAGS,16) != 16)) AND DBMS_STATS_INTERNAL.GET_TAB_SHARE_TYPE_VIEW(OT.FLAGS, T.PROPERTY) NOT IN (:B26 , :B25 ) UNION ALL SELECT /*+ leading(i t) no_expand dynamic_sampling(4) dynamic_sampling_est_cdn */ STALENESS, OSIZE, OBJ#, TYPE#, CASE WHEN ROW_NUMBER() OVER (PARTITION BY BO# ORDER BY STALENESS, OSIZE, OBJ#) = 1 THEN :B23 ELSE 0 END + :B28 + AFLAGS AFLAGS, 0 STATUS, :B9 SID, :B8 SERIAL#, PART#, BO#, LOC_STALE_PCT FROM (SELECT DECODE(BITAND(TP.FLAGS,2), 2, ROUND( LOG(0.01, NVL( LEAST( 100, GREATEST( 0.01, (DECODE(BITAND(M.FLAGS, :B22 ), :B22 , GREATEST(TP.ROWCNT, M.INSERTS), LEAST((M.INSERTS + M.DELETES + M.UPDATES), GREATEST(TP.ROWCNT, (TP.ROWCNT + M.INSERTS - M.DELETES)))) / (TP.ROWCNT + 0.01)))), 0.01)), 1), -100.0) STALENESS, DBMS_STATS_INTERNAL.SEGMENT_NUMBER_BLOCKS(IP.TS#, IP.FILE#, IP.BLOCK#, S.TYPE#, S.CACHEHINT, NVL(S.SPARE1,0), IP.DATAOBJ#, S.BLOCKS, 'TRUE') * TS.BLOCKSIZE OSIZE, OT.OBJ# OBJ#, OT.TYPE# TYPE#, TP.PART# PART#, TP.BO# BO#, TO_NUMBER(P.VALCHAR) LOC_STALE_PCT, CASE WHEN (BITAND(TP.FLAGS,2) = 2 AND (BITAND(M.FLAGS,:B22 ) != 0 OR (M.INSERTS + M.UPDATES + M.DELETES) > NVL(TO_NUMBER(P.VALCHAR), :B21 )/100 * TP.ROWCNT)) THEN :B20 WHEN (BITAND(TP.FLAGS,2) != 2) THEN :B19 WHEN (BITAND(M.FLAGS,:B18 ) = :B18 ) THEN :B17 ELSE 0 END + CASE WHEN (BITAND(M.FLAGS,:B16 ) = :B16 ) THEN :B15 ELSE 0 END + CASE WHEN (BITAND(M.FLAGS,:B14 ) = :B14 ) THEN :B13 ELSE 0 END AFLAGS FROM SYS.USER$ U, SYS.OBJ$ OT, SYS.IND$ I, SYS.INDPART$ IP, SYS.TABPART$ TP, SYS.SEG$ S, SYS.MON_MODS_ALL$ M, SYS.TS$ TS, SYS.TAB$ T, SYS.OPTSTAT_USER_PREFS$ P WHERE I.TYPE# = 4 AND S.TYPE# = 6 AND OT.OWNER# = U.USER# AND I.OBJ# = IP.BO# AND IP.PART# = TP.PART# AND TP.OBJ# = OT.OBJ# AND I.BO# = TP.BO# AND BITAND(OT.FLAGS,128) != 128 AND M.OBJ#(+) = OT.OBJ# AND IP.FILE# = S.FILE# AND IP.BLOCK# = S.BLOCK# AND IP.TS# = S.TS# AND TS.TS# = S.TS# AND I.BO# = T.OBJ# AND NOT (BITAND(OT.FLAGS, 16) = 16 AND (OT.NAME LIKE 'DR$%' OR OT.NAME LIKE 'DR#%')) AND BITAND(T.TRIGFLAG,67108864) != 67108864 AND BITAND(TP.FLAGS, 32) != 32 AND DBMS_STATS_INTERNAL.GET_TAB_SHARE_TYPE_VIEW(OT.FLAGS, T.PROPERTY) NOT IN (:B26 , :B25 ) AND T.OBJ# = P.OBJ#(+) AND P.PNAME(+) = 'STALE_PERCENT' AND ((BITAND(TP.FLAGS,2) = 2 AND ((BITAND(M.FLAGS,:B22 ) = :B22 ) OR ((M.INSERTS + M.UPDATES + M.DELETES) > NVL(TO_NUMBER(P.VALCHAR), :B21 )/100 * TP.ROWCNT))) OR (BITAND(M.FLAGS, :B16 ) = :B16 ) OR (BITAND(M.FLAGS, :B14 ) = :B14 ) OR (BITAND(M.FLAGS, :B18 ) = :B18 ) OR (BITAND(TP.FLAGS,2) != 2))) WHERE BITAND(DBMS_STATS_INTERNAL.DECODE_GRANULARITY(BO#, :B7 ), :B27 ) <> 0 UNION ALL SELECT /*+ ordered */ -99 STALENESS, 100*:B24 OSIZE, I.OBJ# OBJ#, 1 TYPE#, :B23 + :B19 AFLAGS, 0 STATUS, :B9 SID, :B8 SERIAL#, NULL PART#, I.BO# BO#, NULL LOC_STALE_PCT FROM SYS.IND$ I, SYS.TAB$ T, SYS.OBJ$ O, USER$ U WHERE (DBMS_STATS_INTERNAL.GATHER_INDEX(I.BO#, :B31 ) IS NOT NULL) AND (BITAND(DBMS_STATS_INTERNAL.DECODE_GRANULARITY(I.BO#, :B7 ), :B6 ) <> 0) AND BITAND(I.PROPERTY,32) != 32 AND BITAND(I.PROPERTY,64) != 64 AND BITAND(I.FLAGS,2) != 2 AND I.BO# = T.OBJ# AND BITAND(T.TRIGFLAG, 67108864) != 67108864 AND BITAND(T.FLAGS, 16) = 16 AND I.OBJ# = O.OBJ# AND I.TYPE# != 4 AND I.TYPE# != 8 AND BITAND(I.FLAGS,1+8+16+1024+4096) = 0 AND BITAND(O.FLAGS, 128) != 128 AND O.OWNER# = U.USER# AND NOT (U.NAME = 'SYS' AND O.NAME = 'I_SUMDELTA$') UNION ALL SELECT /*+ ordered */ -99 STALENESS, 100*:B24 OSIZE, I.OBJ# OBJ#, 20 TYPE#, :B28 + :B19 AFLAGS, 0 STATUS, :B9 SID, :B8 SERIAL#, I.PART# PART#, I.BO# BO#, NULL LOC_STALE_PCT FROM (SELECT OBJ#, BO#, PART#, FLAGS FROM SYS.INDPART$ WHERE BITAND(FLAGS,2) != 2 UNION ALL SELECT OBJ#, BO#, PART#, FLAGS FROM SYS.INDCOMPART$ WHERE BITAND(FLAGS,2) != 2 ) I, SYS.IND$ IND, SYS.TAB$ T, SYS.OBJ$ OI WHERE (DBMS_STATS_INTERNAL.GATHER_INDEX(I.BO#, :B31 ) IS NOT NULL) AND (BITAND(DBMS_STATS_INTERNAL.DECODE_GRANULARITY(I.BO#, :B7 ), :B27 ) <> 0) AND I.BO# = IND.OBJ# AND IND.TYPE# != 4 AND IND.TYPE# != 8 AND BITAND(IND.FLAGS,1+8+16+1024+4096) = 0 AND IND.BO# = T.OBJ# AND BITAND(T.TRIGFLAG, 67108864) != 67108864 AND IND.OBJ# = OI.OBJ# AND BITAND(OI.FLAGS, 128) != 128 UNION ALL SELECT /*+ ordered */ -99 STALENESS, 100*:B24 OSIZE, I.OBJ# OBJ#, 35 TYPE#, :B19 AFLAGS, 0 STATUS, :B9 SID, :B8 SERIAL#, I.SUBPART# PART#, I.POBJ# BO#, NULL LOC_STALE_PCT FROM SYS.INDSUBPART$ I, SYS.INDCOMPART$ ICP, SYS.IND$ IND, SYS.TAB$ T, SYS.PARTOBJ$ PO, SYS.OBJ$ OI WHERE (DBMS_STATS_INTERNAL.GATHER_INDEX(IND.BO#, :B31 ) IS NOT NULL) AND BITAND(I.FLAGS,2) != 2 AND I.POBJ# = ICP.OBJ# AND ICP.BO# = IND.OBJ# AND IND.TYPE# != 4 AND IND.TYPE# != 8 AND BITAND(IND.FLAGS,1+8+16+1024+4096) = 0 AND IND.BO# = T.OBJ# AND BITAND(T.TRIGFLAG, 67108864) != 67108864 AND IND.OBJ# = PO.OBJ# AND (((BITAND(DBMS_STATS_INTERNAL.DECODE_GRANULARITY(IND.BO#, :B7 ), :B30 ) <> 0) AND BITAND(PO.SPARE2, 255) = 2) OR ((BITAND(DBMS_STATS_INTERNAL.DECODE_GRANULARITY(IND.BO#, :B7 ), :B29 ) <> 0) AND BITAND(PO.SPARE2, 255) NOT IN (0, 2))) AND IND.OBJ# = OI.OBJ# AND BITAND(OI.FLAGS, 128) != 128 UNION ALL SELECT /*+ use_hash(fxt, fobj) */ -100 STALENESS, 0 OSIZE, FXT.KQFTAOBJ OBJ#, 2 TYPE#, :B23 + :B19 + :B33 AFLAGS, 0 STATUS, :B9 SID, :B8 SERIAL#, NULL PART#, NULL BO#, 0 LOC_STALE_PCT FROM SYS.X$KQFTA FXT, FIXED_OBJ$ FOBJ, X$KQFOPT OPT WHERE :B32 IS NOT NULL AND BITAND(FXT.KQFTAFLG, 16) != 16 AND FOBJ.OBJ# = FXT.KQFTAOBJ AND BITAND(FOBJ.FLAGS,1) != 1 AND BITAND(FOBJ.FLAGS, 67108864) != 67108864 AND FOBJ.OBJ# = OPT.KQFOPTOBJ(+) AND (OPT.KQFOPTFLAGS IS NULL OR BITAND(OPT.KQFOPTFLAGS, 16+32) = 0) ) WHERE OSIZE IS NOT NULL AND OSIZE >= 0 ) NEW ON (ST.OBJ# = NEW.OBJ#) WHEN MATCHED THEN UPDATE SET ST.STALENESS = CASE WHEN BITAND(ST.FLAGS,7) > 1 THEN GREATEST(NEW.STALENESS,-0.5) + ROUND(BITAND(ST.FLAGS,7)*0.15,1) ELSE NEW.STALENESS END, ST.OSIZE = NEW.OSIZE * DECODE(BITAND(ST.FLAGS,7), 0, 1, 2), ST.FLAGS = ST.FLAGS - BITAND(ST.FLAGS, :B23 + :B28 + :B17 + :B20 + :B19 + :B36 + :B13 + :B11 + :B15 + :B33 ) + 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, :B9 , :B8 , NEW.PART#, NEW.BO#)
FINDINGS SECTION ---------------------------------------------------------------------------------------------
Findings (1): ----------------------------- 1. This plan was skipped because either the database is not fully open or the SQL statement is ineligible for SQL Plan Management.
---------------------------------------------------------------------------------------------" ------------------------------------------------------------------------------------------------ SYS
2 SYS_AUTO_SPM_EVOLVE_TASK Automatic SPM Evolve Task SPM
Evolve Advisor 07-JUL-14 28-JUN-22 0 0 EXEC_6133 SPM
EVOLVE 7 28-JUN-22 28-JUN-21 COMPLETED 0 0
0 0 AUTO FALSE TRUE 11 3
|