Sviluppo > Strumenti > Verifiche > Database > Ricerca indice 

Per ragioni di gestione, succede che alcuni indici del database del software non siano stati creati in modo corretto su un determinato dossier. Questo può essere il caso se per esempio manca spazio in un determinato momento nel tablespace temporaneo sotto oracle o durante la rivalidazione di un dossier o al cambio di struttura di una tabella. Questi errori di gestione, che sono dominio del database, provocano delle tracce di errore che servono ad avvertirte la persona che gestisce il database.

Resta il fatto che tali errori non impediscono al software di funzionare, ma possono provocare dei seri problemi di tempi di risposta. Questo strumento è stato ideato per permettere di verificare, in caso di rallentamento dei tempi di risposta, se gli indici che dovrebbero essere presenti lo sono.

I test effettuati sono i seguenti:

  • dapprima si verifica (è il test principale ed è prima di tutto il risultato di questo test che è importante) che gli indici descritti nel dizionario di dati e non disattivati tramite un codice attività siano presenti sul database.
  • si fornisce l'elenco degli indici che non esistono poichè la tabella non è attiva nel dossier corrente. Il fatto che elenco non sia vuoto, non causerà nessun tipo di problema. E' normalmente il caso sul dossier padre dove le tabelle funzionali sono presenti nel dizionario ma non sono validate sul dossier padre.
  • si fornisce l'elenco degli indici interni Adonix. Si tratta degli indici sulle tabelle interne Adonix che non vengono descritte nel dizionario. Per esempio, sotto Oracle, è il caso per gli indici delle tabelle SYSBLBK e SYSCLBK.
  • si fornisce l'elenco degli indici che esistono senza essere descritti nel dizionario dati. Questo elenco in genere non è vuoto, ma questo non crea disturbi per i tempi di risposta. Per esempio, è possibile trovare delle tabelle generate da una precedente versione del software che non sono cancellate automaticamente per ragioni di sicurezza, oppure degli indici di tabelle disattivate da un codice attività (in questo caso la tabella è comunque creata vuota).
  • inoltre è possibile trovare degli indici il cui nome non è conforme alle regole di attribuzione di nome utilizzata da ADONIX (un indice è chiamato NOMETABELLA_NOMEINDICE). Questi indici possono essere utilizzati perfettamente da altri programmi che accedono direttamente al database.

Questo strumento, che crea un file traccia, funziona per il database Oracle e per il database SQL server. Determina automaticamente il tipo di database corrente e lo indica nel file di traccia.

Un riepilogo dei vari casi incontrati e dei numeri di indici corrispondenti è visualizzato alla fine del file di traccia. Questo riepilogo riporta inoltre il numero di indici collegati agli oggetti lunghi (Clob/Blob) nel caso di un database Oracle.

Gestione della videata

Il lancio si fa rispondendo semplicemente Si al box di conferma che appare. Si ottiene in seguito la visualizzazione di una traccia.

Un esempio di file traccia generato è dato qui in basso.

Esempio di traccia creata dalla funzione

 

Elenco degli indici del dizionario non esistenti sotto Oracle
********************************************************************************
Tabella       Indice       Descrizione
--------------------------------------------------------------------------------
AABREV      AAB1        MOT
ABANK       ABN0        CRY+BAN
--------------------------------------------------------------------------------

                                                                                                -

Elenco degli indici interni adonix sotto Oracle
********************************************************************************
Tabella Oracle             Indici
--------------------------------------------------------------------------------
SYSBLBK                  SYSBLBK_IDX
SYSBLBK                  SYS_IL0000005817C00002$$
SYSCLBK                  SYSCLBK_IDX
SYSCLBK                  SYS_IL0000005821C00002$$
--------------------------------------------------------------------------------

                                                                                                -

Indici Oracle non descritti nel dizionario
********************************************************************************
Tabella Oracle             Indici
--------------------------------------------------------------------------------
TRCABX3                  IDX_TRCABX3
ZZVPO1                   INDEXTXT2_VPO1
ZZVPO1                   ZZVPO_VPO01
ZZVPO1                   SYS_IL0000009573C00047$$
--------------------------------------------------------------------------------

                                                                                                -

Indici Oracle non conformi alle norme adonix
********************************************************************************
Tabella Oracle             Indici
--------------------------------------------------------------------------------
TRCABX3                  IDX_TRCABX3
--------------------------------------------------------------------------------

                                                                                                -

Numero di indici descritti nel dizionario                    396
Numero di indici inesistenti poichè codice attività non attivo      -    0      ->  396
Numero di indici inesistenti per tabelle non attive             -    0      ->  396
Numero di indici del dizionario non esistenti                -    2      ->  394
Numero degli indici interni adonix                              +    4      ->  398
Numero di indici Oracle non descritti nel dizionario      +    4      ->  402
Numero di indici per gli oggetti lunghi (Clob/Blob)            +    3      ->  405
                                                              -----
Numero di indici trovati nel database Oracle                  =  405

                                                                                                -

Fine normale di traccia 27/03/06 15:15:15

Osservazione : Gli indici non descritti nel dizionario non sono una anomalia, ma sono segnalati per informazione. Inoltre, Oracle crea degli indici interni su ogni tabella che contiene dei testi lunghi (clobs) o degli oggetti lunghi (blobs) come delle immagini.

Job batch

Questa funzione può essere lanciata in batch, ma non esiste job standard dedicato al suo lancio.

Messaggi di errore

Non esistono messaggi di errore ad eccezione di quelli generici.

Tabelle utilizzate

SEEREFERTTO Riferirsi alla documentazione di Implementazione