Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/01/2007, 10:29
abassols
 
Fecha de Ingreso: enero-2007
Mensajes: 6
Antigüedad: 17 años, 10 meses
Puntos: 0
Calculo estadisticas mediante .bat

Hola de nuevo,....

A ver chicos/as...He conseguido mediante un .bat realizar el calculo de estadisticas para unas tablas en concreto. Pero para un usuario entero no me funciona.

Lo he hecho mediante un .bat que contiene lo siguiente:

SQLPLUS /NOLOG @C:\ESTADISTICAS.SQL
PAUSE

En el estadisticas.sql contiente lo siguiente:

CONNECT [nombre_usuario]/[pasw_usuario]@[cadena]
SPOOL C:\ESTADISTICAS.lst
SET LINESIZE 100
SET PAGESIZE 50
ANALYZE TABLE [nombre_de_tabla] COMPUETE STATISTICS;
SPOOL OFF
EXIT;

Hasta aquí correcto, pero como lo hago para realizar lo mismo para un usuario entero? He probado de sustituir donde hay el ANALYZE por esto y nada
BEGIN
DBMS_STATS.GATHER_SCHEMA_STATS('[nomre_usuario]',NULL,NULL,NULL,NULL,NULL,TRUE);
END;

He probado si el begin y el end y nada. Se que queda el DOS colgado con saltos de linea cuando le das a enter con orden ascendente.


Tendria que currarme un cursor que recorriera el USER_TABLES para que me devolviera el TABLE_NAME y partir de aqui montarme otro con la sentencia de ANALYZE TABLE? no se me ocurre nada mas.....


(mediante la consola creo que se puede realizar, pero no tengo acceso)


Grácias..