Sviluppo > Strumenti > Verifiche > Statistiche database > Statistiche Oracle 

Questa funzione permette di visualizzare le statistiche generate sul database quando il database utilizzato è Oracle™.

Permette anche di generare o cancellare le statistiche.

Osservazione importante

Attenzionw, questo tipo di funzionefacilita, via un'interfaccia utente omogenea con il software, il lancio di procedure di gestione riservate ad un DB administrator. E' concepita per essere lanciata da un tale amministratore (chiamato abitualmente DBA).

Per essere utilizzata con profitto, presuppone una conoscenza preliminare del funzionamento dei database e della loro ottimizzazione.

Al contrario, un utilizzo inappropriato della funzione può comportare seri problemi di prestazioni e mettere in pericolo la sicurezza dell'utilizzo del software.

Gestione videata

Questa funzione permette di visualizzare e di generare o cancellare le statistiche sul database.
Questi elementi sono presentati su tre folder: iI primo fornisce l'elenco delle tabelle e lo stato delle statistiche per ognuna, il secondo fornisce l'elenco degli indici e lo stato delle statistiche per ognuno, il terzo l'elenco dei parametri di database collegati all'ottimizzatore ed all'utilizzo delle statistiche.

Testata

Presentazione

Permette di conoscere le caratteristiche del database utilizzato.

Chiudi

 

Campi

I seguenti campi sono presenti in questo folder :

  • Database (campo BDDNAM)

Nome del database

  • Versione (campo VER)

Numero di versione del database

  • campo VERDES

Descrizione della versione del database

Chiudi

 

Folder Schema

Presentazione

Questo folder presenta l'elenco delle tabelle e lo stato delle statistiche per ognuna di loro.

E' possibile generare o eliminare le statistiche:

    • per una tabella tramite clic destro,
    • per tutte le tabelle o una parte delle tabelle selezionando le righe desiderate prima di attivare l'azione tramite i bottoni in fondo alla videata.

La cancellazione delle statistiche su una tabella eliminerà la totalità delle relative statistiche generate e quindi anche dei suoi indici.

La generazione delle statistiche su una tabella non genererà le statistiche sui suoi indici.

Chiudi

 

Campi

I seguenti campi sono presenti in questo folder :

Riquadro

  • Da elaborare (campo PROFLG)

Permette di definire se la riga deve essere elaborata in generazione o cancellazione delle statistiche, tramite i bottoni corrispondenti in fondo alla videata.

  • Tabella (campo TAB)

Nome della tabella nel database

  • Statistiche (campo STTFLG)

Indica se sono generate delle statistiche valide nel database

  • Data ultima analisi (campo STTDAT)

Data dell'ultima analisi delle statistiche

  • campo STTHOU

Ora dell'ultima analisi delle statistiche

Chiudi

 

Funzioni accessibili tramite click destro sul riquadro

Si a tutto il resto

Quando si ha un riquadro di inserimento di scelte multiple con una scelta di risposta Si / No su ogni riga, questa funzione permette di rispondere Si a tutte le righe a partire dalla riga corrente.

No a tutto il resto

Quando si ha un riquadro di inserimento di scelte multiple con una scelta di risposta Si / No su ogni riga, questa funzione permette di rispondere No a tutte le righe a partire dalla riga corrente.

Refresh riga

Permette di aggiornare la visualizzazione della riga corrente del riquadro

Genera per la riga

Permette di generare le statistiche per la riga corrente del riquadro

Cancella per la riga

Permette di elimimare le statistiche per la riga corrente del riquadro

 

Chiudi

 

Folder Tabelle

Presentazione

Questo folder presenta l'elenco degli indici e lo stato delle statistiche per ognuno di loro.

Chiudi

 

Campi

I seguenti campi sono presenti in questo folder :

Riquadro

  • Da elaborare (campo PROFLG)

Permette di definire se la riga deve essere elaborata in generazione o cancellazione delle statistiche, tramite i bottoni corrispondenti in fondo alla videata.

  • Tabella (campo TAB)

Nome della tabella nel database

  • Indice (campo INDEX)

Nome dell'indice nel database

  • Statistiche (campo STTFLG)

Indica se sono generate delle statistiche valide nel database

  • Data ultima analisi (campo STTDAT)

Data dell'ultima analisi delle statistiche

  • campo STTHOU

Ora dell'ultima analisi delle statistiche

Chiudi

 

E' possibile generare o cancellare le statistiche:

    • per un indice tramite tasto destro,
    • per tutti gli indici o una parte degli indici selezionando le righe desiderate prima di attivare l'azione tramite i bottoni in fondo alla videata.

Funzioni accessibili tramite click destro sul riquadro

Si a tutto il resto

Quando si ha un riquadro di inserimento di scelte multiple con una scelta di risposta Si / No su ogni riga, questa funzione permette di rispondere Si a tutte le righe a partire dalla riga corrente.

No a tutto il resto

Quando si ha un riquadro di inserimento di scelte multiple con una scelta di risposta Si / No su ogni riga, questa funzione permette di rispondere No a tutte le righe a partire dalla riga corrente.

Attualizza riga

Permette di aggiornare la visualizzazione della riga corrente del riquadro

Genera per la riga

Permette di generare le statistiche per la riga corrente del riquadro

Cancella per la riga

Permette di elimimare le statistiche per la riga corrente del riquadro

 

Chiudi

 

Folder Indice

Presentazione

Questo folder presenta l'elenco dei parameti del database collegati all'ottimizzatore ed all'utilizzo delle statistiche.

Chiudi

 

Campi

I seguenti campi sono presenti in questo folder :

Riquadro Parametri ottimizzatore

  • Istanza (campo INSTID)

 

  • Parametro (campo PAR)

Visualizza i parametri collegati all'ottimizzatore e all'utilizzo delle statistiche

I parametri presentati dipendono dalla versione di Oracle. Questi parametri non sono modificabili da questa funzione.

  • Valore (campo PARVAL)

 

  • Valore di default (campo DEFVAL)

 

  • Descrizione (campo DES)

 

Chiudi

 

Non è possibile qui agire su questi valori.

Funzioni accessibili tramite click destro sul riquadro

Attualizza riga
Genera per la riga
Cancella per la riga

 

Chiudi

 

Folder Database

Campi

I seguenti campi sono presenti in questo folder :

Riquadro Parametri ottimizzatore

  • Istanza (campo INSTID)

 

  • Parametro (campo PAR)

Visualizza i parametri collegati all'ottimizzatore e all'utilizzo delle statistiche

I parametri presentati dipendono dalla versione di Oracle. Questi parametri non sono modificabili da questa funzione.

  • Valore (campo PARVAL)

 

  • Valore di default (campo DEFVAL)

 

  • Descrizione (campo DES)

 

Chiudi

 

Bottoni specifici

Questo bottone, accessibile anche con tasto funzionale , permette di effettuare il refresh dei folder.

Permette di generare le statistiche per tutte le righe selezionate nei riquadri dei folder Tabelle e Indici

Permette di eliminare le statistiche per tutte le righe selezionate nei riquadri dei folder Tabelle e Indici

Spiegazioni sulle statistiche Oracle

Quando bisogna calcolare le statistiche?

Ciò dipende dal tasso e dal volume di evoluzione dei dati nel database.

Le statistiche di un oggetto diventano obsolete quando si ha un volume importante di attività DML sull’oggetto.
Bisognerebbe provvedere a far seguire un inserimento o una cancellazione di massa da una nuova analisi, allo scopo di assicurare la corrispondenza tra le statistiche del dizionario, la distribuzione ed il contenuto delle righe della tabella. Se la propria tabella contiene di colpo un numero importante di record mentre le statistiche vertono su una piccola parte di loro, è possibile che il piano di esecuzione costruito dall'ottimizzatore non sia ottimale.

Come funzione l'ottimizzatore?

L'ottimizzazione basata sul costo è dichiarata da un parametro optimizer_mode che può assumere 3 valori

    • ALL_ROWS (valore di default in Oracle 10)
    • FIRST_ROWS [n]
    • FIRST_ROWS
    • CHOOSE (valore di default in Oracle 9, non supportato in Oracle 10)


L'ottimizzazione statica è dichiarata dal valore RULE. In questo caso, l'ottimizzatore utilizza la sintassi della query per realizzare il piano migliore di esecuzione. L’ottimizzatore sintattico non è più supportato in Oracle 10.

  • Se il parametro OPTIMIZER_MODE vale  ALL_ROWS, ciò vuole dire "Miglior debito": la query viene eseguita in maniera tale da essere la più rapida possibile per tutti i record da caricare.
  • Se il parametro OPTIMIZER_MODE vale  FIRST_ROWS, ciò vuole dire "Miglior tempo": la query viene eseguita in maniera tale da ottenere la prima risposta il più rapidamente possibile.
  • Se il parametro OPTIMIZER_MODE vale  FIRST_ROWS [n], ciò vuole dire "Miglior tempo": la query viene eseguita in maniera tale da ottenere la prime n risposte il più rapidamente possibile.
  • Se il parametro OPTIMIZER_MODE vale CHOOSE, è la presenza di statistiche nel dizionario che determina se viene utilizzato l'ottimizzatore statistico.

Utilizzo di un modo basato sui costi

E' importante che le statistiche siano generate per tutti gli oggetti in uno schema. Infatti, la presenza di statistiche parziali per un'istruzione select può condurre il processo server ad interpretare delle statistiche su oggetti che non ne possiedono. Questo tipo di campionamento di statistiche realizzato nel corso dell'esecuzione non viene registrato in maniera permanente nel dizionario dati. Viene quindi ripetuto ad ogni esecuzione della stessa query.

Informazioni tecniche

Tutte le informazioni sulle tabelle, indici e statistiche sono lette direttamente nel database a partire dalle tabelle e viste Oracle:

    • V$PARAMETER
    • PRODUCT_COMPONENT_VERSION
    • USER_TABLES
    • USER_INDEXES

Le date di statistiche corrispondono alla colonna LAST_ANALYZED delle viste Oracle USER_TABLES e USER_INDEXES.

Le statistiche sono generate con l'aiuto del package Oracle DBMS_STATS.
Le procedure utilizzate sono:

    • GATHER_TABLE_STATS
    • GATHER_INDEX_STATS
    • DELETE_TABLE_STATS
    • DELETE_INDEX_STATS

Messaggi di errore

Non esistono messaggi di errore ad eccezione di quelli generici.

Tabelle utilizzate

SEEREFERTTO Riferirsi alla documentazione di Implementazione