

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Oracle Statspack
<a name="Appendix.Oracle.Options.Statspack"></a>

L'opzione Oracle Statspack consente di installare e abilitare le statistiche sulle prestazioni di Oracle Statspack. Oracle Statspack è una raccolta di script SQL, PL/SQL e SQL\$1Plus che consente di raccogliere, archiviare e visualizzare i dati delle prestazioni. Per informazioni sull'utilizzo di Oracle Statspack, consulta la sezione [Oracle Statspack](http://docs.oracle.com/cd/E13160_01/wli/docs10gr3/dbtuning/statsApdx.html) della documentazione di Oracle.

**Nota**  
Oracle Statspack non è più supportato da Oracle ed è stato sostituito dal più avanzato Automatic Workload Repository (AWR). AWR è disponibile soltanto per i clienti con Oracle Enterprise Edition che abbiano acquistato il Diagnostics Pack. È possibile utilizzare Oracle Statspack con qualsiasi motore Oracle DB su Amazon RDS. Non è possibile eseguire Oracle Statspack sulle repliche di lettura Amazon RDS. 

## Impostazione di Oracle Statspack
<a name="Appendix.Oracle.Options.Statspack.setting-up"></a>

Per eseguire gli script Statspack, è necessario aggiungere l'opzione Statspack.

**Per impostare Oracle Statspack**

1. In un client SQL, accedere al DB Oracle con un account amministrativo.

1. Eseguire una delle seguenti azioni, a seconda che Statspack sia installato o meno:
   + Se Statspack è installato e l'account `PERFSTAT` è associato a Statspack, andare al passaggio 4.
   + Se Statspack non è installato e l'account `PERFSTAT` esiste, eliminare l'account come segue:

     ```
     DROP USER PERFSTAT CASCADE;
     ```

     In caso contrario, il tentativo di aggiungere l'opzione Statspack genera un errore e `RDS-Event-0058`.

1. Aggiungere l'opzione Statspack a un gruppo di opzioni. Per informazioni, consulta [Aggiunta di un'opzione a un gruppo di opzioni](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption).

   Amazon RDS installa automaticamente gli script Statspack sull'istanza database e quindi imposta l'account `PERFSTAT`.

1. Reimpostare la password utilizzando la seguente istruzione SQL, sostituendo *pwd* con la nuova password:

   ```
   ALTER USER PERFSTAT IDENTIFIED BY pwd ACCOUNT UNLOCK;
   ```

   È possibile accedere utilizzando l'account utente `PERFSTAT` ed eseguire gli script Statspack.

1. Concedi il privilegio `CREATE JOB` all’account `PERFSTAT` utilizzando l’istruzione seguente:

   ```
   GRANT CREATE JOB TO PERFSTAT;
   ```

1. Assicurarsi che gli eventi di attesa inattivi nella tabella `PERFSTAT.STATS$IDLE_EVENT` siano popolati.

   A causa del bug Oracle 28523746, gli eventi di attesa per inattività in `PERFSTAT.STATS$IDLE_EVENT` potrebbero non essere popolati. Per assicurarsi che tutti gli eventi inattivi siano disponibili, eseguire l'istruzione seguente:

   ```
   INSERT INTO PERFSTAT.STATS$IDLE_EVENT (EVENT)
   SELECT NAME FROM V$EVENT_NAME WHERE WAIT_CLASS='Idle'
   MINUS
   SELECT EVENT FROM PERFSTAT.STATS$IDLE_EVENT;
   COMMIT;
   ```

## Generazione di report Statspack
<a name="Appendix.Oracle.Options.Statspack.generating-reports"></a>

Un report Statspack confronta due snapshot.

**Per generare report Statspack**

1. In un client SQL, accedere al DB Oracle con l'account `PERFSTAT`.

1. Creare uno snapshot utilizzando una delle seguenti tecniche:
   + Creare manualmente uno snapshot Statspack.
   + Creare un processo che accetti uno snapshot Statspack dopo un determinato intervallo di tempo. Ad esempio, il processo seguente crea uno snapshot Statspack ogni ora:

     ```
     VARIABLE jn NUMBER;
     exec dbms_job.submit(:jn, 'statspack.snap;',SYSDATE,'TRUNC(SYSDATE+1/24,''HH24'')');
     COMMIT;
     ```

1. Visualizzare gli snapshot utilizzando la seguente query:

   ```
   SELECT SNAP_ID, SNAP_TIME FROM STATS$SNAPSHOT ORDER BY 1;
   ```

1. Eseguire la procedura `rdsadmin.rds_run_spreport` Amazon RDS, sostituendo *begin\$1snap* e *end\$1snap* con gli ID snapshot:

   ```
   exec rdsadmin.rds_run_spreport(begin_snap,end_snap);
   ```

   Il comando seguente, ad esempio, crea un report basato sull'intervallo compreso tra gli snapshot 1 e 2 di Statspack:

   ```
   exec rdsadmin.rds_run_spreport(1,2);
   ```

   Il nome del file del report Statspack include il numero dei due snapshot. Ad esempio, il file di report creato utilizzando gli snapshot 1 e 2 di Statspack sarà denominato `ORCL_spreport_1_2.lst`.

1. Monitorare l'output per eventuali errori.

   Oracle Statspack esegue controlli prima di eseguire il report. Pertanto, è possibile visualizzare anche messaggi di errore nell'output del comando. Ad esempio, è possibile provare a generare un report basato su un intervallo non valido, in cui il valore iniziale dello snapshot Statspack è maggiore del valore finale. In questo caso, l'output mostra il messaggio di errore, ma il motore DB non genera un file di errore.

   ```
   exec rdsadmin.rds_run_spreport(2,1);
   *
   ERROR at line 1:
   ORA-20000: Invalid snapshot IDs. Find valid ones in perfstat.stats$snapshot.
   ```

   Se si utilizza un numero non valido per uno snapshot Statspack, l'output mostra un errore. Ad esempio, se si tenta di generare un report per gli snapshot 1 e 50, ma lo snapshot 50 non esiste, verrà visualizzato un errore.

   ```
   exec rdsadmin.rds_run_spreport(1,50);
   *
   ERROR at line 1:
   ORA-20000: Could not find both snapshot IDs
   ```

1. (Opzionale) 

   Per recuperare il report, chiamare le procedure del file di traccia, come spiegato in [Utilizzo di file di traccia Oracle](USER_LogAccess.Concepts.Oracle.md#USER_LogAccess.Concepts.Oracle.WorkingWithTracefiles). 

   In alternativa, scaricare il report Statspack dalla console RDS. Vai alla sezione **Log** dei dettagli dell’istanza database e scegli **Scarica**: Il seguente esempio mostra `trace/ORCL_spreport_1_2.lst`  
![\[Mostra un elenco di file di log Oracle nella console RDS. Il seguente file di traccia è cerchiato: trace/ORCL_spreport_1_2.lst.\]](http://docs.aws.amazon.com/it_it/AmazonRDS/latest/UserGuide/images/statspack1.png)

   Se si verifica un errore durante la generazione di un report, il motore di database utilizza le stesse convenzioni di denominazione di un report ma con estensione `.err`. Se, ad esempio, si verifica un errore durante la creazione di un report basato sugli snapshot 1 e 7 di Statspack, il file di report sarà denominato `ORCL_spreport_1_7.err`. È possibile scaricare il rapporto errori utilizzando le stesse tecniche di un report snapshot standard.

## Rimozione delle istantanee Statspack
<a name="Appendix.Oracle.Options.Statspack.removing-files"></a>

Utilizza il seguente comando per rimuovere un intervallo di istantanee Statspack:

```
exec statspack.purge(begin snap, end snap); 
```