El script de abajo permite determinar automaticamente que tablas, particiones y subparticiones tienen estadisticas desactualizadas para un sid determinado.
set line 120
set pagesize 999
set verify off
col owner format a15
col table_name format a30
col partition_name format a30
col subpartition_name format a30
PROMPT
PROMPT "---------------------------------------------"
PROMPT "Reporte de Tablas con estadisticas STALE "
PROMPT "o nulas para una sesion dada "
PROMPT "---------------------------------------------"
ACCEPT sid PROMPT "Ingrese SID a evaluar: "
select st.owner owner,
st.table_name table_name,
st.partition_name partition_name,
st.subpartition_name subpartition_name
from v$session s,
v$sql_plan p,
dba_tab_statistics st
where s.sql_id = p.sql_id
and p.object_owner = st.owner
and p.object_name = st.table_name
and s.sid = &sid
and nvl(st.stale_stats,'YES') = 'YES'
and ((nvl(st.partition_position,1)
between
(case when (REGEXP_LIKE(nvl(p.partition_start,'a'),'[^[:digit:]]'))
then 1
else to_number(p.partition_start) end)
and (case when
(REGEXP_LIKE(nvl(p.partition_stop,'a'),'[^[:digit:]]'))
then 10000
else to_number(p.partition_stop) end))
or
(nvl(st.subpartition_position,1) between
(case when (REGEXP_LIKE(nvl(p.partition_start,'a'),'[^[:digit:]]'))
then 1
else to_number(p.partition_start) end)
and (case when
(REGEXP_LIKE(nvl(p.partition_stop,'a'),'[^[:digit:]]')) then 10000
else to_number(p.partition_stop) end))
)
/
set verify on
IMPORTANTE: Para asegurar que esten impactados los cambios mas recientes en la
vista dba_tab_statistics es recomendable flushear la memoria de la
siguiente forma: dbms_stats.flush_database_monitoring_info.
Hola ,Para que version funciona
ResponderEliminarHola, sabes a que puede deberse esto ??
ResponderEliminarIngrese SID a evaluar: f6hd0g1j2ybs1
and s.sid = f6hd0g1j2ybs1
*
ERROR at line 11:
ORA-00904: "F6HD0G1J2YBS1": invalid identifier