Oracle Statspack - Amazon Relational Database Service

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

L'opzione Oracle Statspack consente di installare e abilitare le statistiche sulle prestazioni di Oracle Statspack. Oracle Statspack è una raccolta di scriptSQL, PL/ SQL SQL e*Plus che raccolgono, archiviano e visualizzano dati sulle prestazioni. Per informazioni sull'utilizzo di Oracle Statspack, consulta la sezione Oracle Statspack della documentazione di Oracle.

Nota

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

Impostazione di Oracle Statspack

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

Per impostare Oracle Statspack
  1. In un SQL client, accedi a Oracle DB con un account amministrativo.

  2. 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.

  3. Aggiungere l'opzione Statspack a un gruppo di opzioni. Per informazioni, consulta Aggiunta di un'opzione a un gruppo di opzioni.

    Amazon installa RDS automaticamente gli script Statspack sull'istanza DB e quindi configura l'account. PERFSTAT

  4. Reimposta la password utilizzando la seguente SQL istruzione, 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.

  5. Concedi il CREATE JOB privilegio all'PERFSTATaccount utilizzando la seguente dichiarazione:

    GRANT CREATE JOB TO PERFSTAT;
  6. 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

Un report Statspack confronta due snapshot.

Per generare report Statspack
  1. In un SQL client, accedi a Oracle DB con l'PERFSTATaccount.

  2. 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;
  3. Visualizzare gli snapshot utilizzando la seguente query:

    SELECT SNAP_ID, SNAP_TIME FROM STATS$SNAPSHOT ORDER BY 1;
  4. Esegui la RDS procedura Amazonrdsadmin.rds_run_spreport, sostituendo begin_snap e end_snap con lo snapshot: IDs

    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.

  5. 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
  6. (Opzionale)

    Per recuperare il report, chiamare le procedure del file di traccia, come spiegato in Utilizzo di file di traccia Oracle.

    In alternativa, scarica il report Statspack dalla console. RDS Vai alla sezione Log dei dettagli dell'istanza DB e scegli Scarica. L'esempio seguente mostra trace/ORCL_spreport_1_2.lst

    Mostra un elenco di file di registro Oracle nella RDS console. Il seguente file di traccia è cerchiato:. trace/ORCL_spreport_1_2.lst

    Se si verifica un errore durante la generazione di un report, il motore DB utilizza le stesse convenzioni di denominazione di un report ma con un'estensione di. .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

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

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