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à.
Diagnosi dei problemi con le istanze database RDS per Oracle
Oracle Database include un'infrastruttura di diagnosi degli errori che è possibile utilizzare per analizzare i problemi del database. Nella terminologia Oracle, un problema è un errore critico, ad esempio un bug di codice o il danneggiamento dei dati. Un incidente è il verificarsi di un problema. Se lo stesso errore si verifica tre volte, l'infrastruttura mostra tre incidenti di questo problema. Per ulteriori informazioni, consulta Diagnostica e risoluzione dei problemi
L'utility ADRCI (Automatic Diagnostic Repository Command Interpreter) è uno strumento a riga di comando Oracle utilizzato per gestire i dati di diagnostica. Ad esempio, è possibile utilizzare questo strumento per analizzare i problemi e creare pacchetti di dati diagnostici. Un pacchetto incidente include dati diagnostici per un incidente o tutti gli incidenti che fanno riferimento a un problema specifico. È possibile caricare un pacchetto incidente, implementato come file zip, nel supporto Oracle.
Per offrire un'esperienza di servizio gestito, Amazon RDS non fornisce accesso shell ad ADRCI. Per eseguire le attività diagnostiche per l’istanza database RDS per Oracle, utilizza il pacchetto rdsadmin.rdsadmin_adrci_util Amazon RDS.
Utilizzando le funzioni in rdsadmin_adrci_util, è possibile elencare e creare pacchetti di problemi e incidenti, nonché visualizzare i file di traccia. Tutte le funzioni restituiscono un ID attività. Questo ID fa parte del nome del file di registro che contiene l'output ADRCI, come in dbtask-. Il file di registro si trova nella directory BDUMP. Puoi scaricare il file di log seguendo la procedura descritta in Download di un file di log di database.task_id.log
Parametri comuni per le procedure diagnostiche
Per eseguire attività diagnostiche, utilizzare le funzioni nel pacchetto Amazon RDS rdsadmin.rdsadmin_adrci_util. Il pacchetto presenta i seguenti parametri comuni.
| Nome del parametro | Tipo di dati | Valori validi | Default | Campo obbligatorio | Descrizione |
|---|---|---|---|---|---|
|
|
numero |
Un ID incidente valido o null |
Null |
No |
Se il valore è null, la funzione mostra tutti gli incidenti. Se il valore non è null e rappresenta un ID incidente valido, la funzione mostra l'incidente specificato. |
|
|
numero |
Un ID di problema valido o null |
Null |
No |
Se il valore è null, la funzione mostra tutti i problemi. Se il valore non è null e rappresenta un ID problema valido, la funzione mostra il problema specificato. |
|
|
numero |
Un numero intero valido maggiore di 0 o null |
Null |
No |
Se il valore è null, la funzione visualizza al massimo 50 elementi. Se il valore non è null, la funzione visualizza il numero specificato. |
Elenco degli incidenti
Per elencare gli incidenti diagnostici per Oracle, utilizzare la funzione Amazon RDS rdsadmin.rdsadmin_adrci_util.list_adrci_incidents. È possibile elencare gli incidenti in modalità base o dettagliata. Per impostazione predefinita, la funzione elenca i 50 incidenti più recenti.
Questa funzione utilizza i seguenti parametri comuni:
-
incident_id -
problem_id -
last
Se specifichi incident_id e problem_id, incident_id sostituisce problem_id. Per ulteriori informazioni, consulta Parametri comuni per le procedure diagnostiche.
Questa funzione utilizza il seguente parametro aggiuntivo.
| Nome del parametro | Tipo di dati | Valori validi | Default | Campo obbligatorio | Descrizione |
|---|---|---|---|---|---|
|
|
booleano |
TRUE o FALSE |
|
No |
Se |
Per elencare tutti gli incidenti, esegui una query della funzione rdsadmin.rdsadmin_adrci_util.list_adrci_incidents senza argomenti. La query restituisce l'ID attività.
SQL> SELECT rdsadmin.rdsadmin_adrci_util.list_adrci_incidents AS task_id FROM DUAL; TASK_ID ------------------ 1590786706158-3126
Oppure chiama la funzione rdsadmin.rdsadmin_adrci_util.list_adrci_incidents senza argomenti e memorizza l'output in una variabile client SQL. Puoi utilizzare la variabile in altre istruzioni.
SQL> VAR task_id VARCHAR2(80); SQL> EXEC :task_id := rdsadmin.rdsadmin_adrci_util.list_adrci_incidents; PL/SQL procedure successfully completed.
Per leggere il file di registro, chiamare la procedura Amazon RDS rdsadmin.rds_file_util.read_text_file. Fornire l'ID attività come parte del nome del file. Il seguente output mostra tre incidenti: 53523, 53522 e 53521.
SQL> SELECT * FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP', 'dbtask-'||:task_id||'.log')); TEXT ------------------------------------------------------------------------------------------------------------------------- 2020-05-29 21:11:46.193 UTC [INFO ] Listing ADRCI incidents. 2020-05-29 21:11:46.256 UTC [INFO ] ADR Home = /rdsdbdata/log/diag/rdbms/orcl_a/ORCL: ************************************************************************* INCIDENT_ID PROBLEM_KEY CREATE_TIME ----------- ----------------------------------------------------------- ---------------------------------------- 53523 ORA 700 [EVENT_CREATED_INCIDENT] [942] [SIMULATED_ERROR_003 2020-05-29 20:15:20.928000 +00:00 53522 ORA 700 [EVENT_CREATED_INCIDENT] [942] [SIMULATED_ERROR_002 2020-05-29 20:15:15.247000 +00:00 53521 ORA 700 [EVENT_CREATED_INCIDENT] [942] [SIMULATED_ERROR_001 2020-05-29 20:15:06.047000 +00:00 3 rows fetched 2020-05-29 21:11:46.256 UTC [INFO ] The ADRCI incidents were successfully listed. 2020-05-29 21:11:46.256 UTC [INFO ] The task finished successfully. 14 rows selected.
Per elencare un particolare incidente, specificarne l'ID utilizzando il parametro incident_id. Nell'esempio seguente, è possibile eseguire la query del file di registro solo per incidente 53523.
SQL> EXEC :task_id := rdsadmin.rdsadmin_adrci_util.list_adrci_incidents(incident_id=>53523); PL/SQL procedure successfully completed. SQL> SELECT * FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP', 'dbtask-'||:task_id||'.log')); TEXT ------------------------------------------------------------------------------------------------------------------ 2020-05-29 21:15:25.358 UTC [INFO ] Listing ADRCI incidents. 2020-05-29 21:15:25.426 UTC [INFO ] ADR Home = /rdsdbdata/log/diag/rdbms/orcl_a/ORCL: ************************************************************************* INCIDENT_ID PROBLEM_KEY CREATE_TIME -------------------- ----------------------------------------------------------- --------------------------------- 53523 ORA 700 [EVENT_CREATED_INCIDENT] [942] [SIMULATED_ERROR_003 2020-05-29 20:15:20.928000 +00:00 1 rows fetched 2020-05-29 21:15:25.427 UTC [INFO ] The ADRCI incidents were successfully listed. 2020-05-29 21:15:25.427 UTC [INFO ] The task finished successfully. 12 rows selected.
Elenco dei problemi
Per elencare i problemi di diagnostica per Oracle, utilizzare la funzione Amazon RDS rdsadmin.rdsadmin_adrci_util.list_adrci_problems.
Per impostazione predefinita, la funzione elenca i 50 problemi più recenti.
Questa funzione utilizza i parametri comuni problem_id e last. Per ulteriori informazioni, consulta Parametri comuni per le procedure diagnostiche.
Per ottenere l'ID attività per tutti i problemi, chiamare la funzione rdsadmin.rdsadmin_adrci_util.list_adrci_problems senza argomenti e memorizzare l'output in una variabile client SQL.
SQL> EXEC :task_id := rdsadmin.rdsadmin_adrci_util.list_adrci_problems; PL/SQL procedure successfully completed.
Per leggere il file di registro, chiamare la funzione rdsadmin.rds_file_util.read_text_file, fornendo l'ID attività come parte del nome del file. Nell'output seguente, il file di registro mostra tre problemi: 1, 2 e 3.
SQL> SELECT * FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP', 'dbtask-'||:task_id||'.log')); TEXT ---------------------------------------------------------------------------------------------------------------------- 2020-05-29 21:18:50.764 UTC [INFO ] Listing ADRCI problems. 2020-05-29 21:18:50.829 UTC [INFO ] ADR Home = /rdsdbdata/log/diag/rdbms/orcl_a/ORCL: ************************************************************************* PROBLEM_ID PROBLEM_KEY LAST_INCIDENT LASTINC_TIME ---------- ----------------------------------------------------------- ------------- --------------------------------- 2 ORA 700 [EVENT_CREATED_INCIDENT] [942] [SIMULATED_ERROR_003 53523 2020-05-29 20:15:20.928000 +00:00 3 ORA 700 [EVENT_CREATED_INCIDENT] [942] [SIMULATED_ERROR_002 53522 2020-05-29 20:15:15.247000 +00:00 1 ORA 700 [EVENT_CREATED_INCIDENT] [942] [SIMULATED_ERROR_001 53521 2020-05-29 20:15:06.047000 +00:00 3 rows fetched 2020-05-29 21:18:50.829 UTC [INFO ] The ADRCI problems were successfully listed. 2020-05-29 21:18:50.829 UTC [INFO ] The task finished successfully. 14 rows selected.
Nell'esempio seguente, è possibile elencare solo il problema 3.
SQL> EXEC :task_id := rdsadmin.rdsadmin_adrci_util.list_adrci_problems(problem_id=>3); PL/SQL procedure successfully completed.
Per leggere il file di registro per il problema 3, chiamare rdsadmin.rds_file_util.read_text_file. Fornire l'ID attività come parte del nome del file.
SQL> SELECT * FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP', 'dbtask-'||:task_id||'.log')); TEXT ------------------------------------------------------------------------- 2020-05-29 21:19:42.533 UTC [INFO ] Listing ADRCI problems. 2020-05-29 21:19:42.599 UTC [INFO ] ADR Home = /rdsdbdata/log/diag/rdbms/orcl_a/ORCL: ************************************************************************* PROBLEM_ID PROBLEM_KEY LAST_INCIDENT LASTINC_TIME ---------- ----------------------------------------------------------- ------------- --------------------------------- 3 ORA 700 [EVENT_CREATED_INCIDENT] [942] [SIMULATED_ERROR_002 53522 2020-05-29 20:15:15.247000 +00:00 1 rows fetched 2020-05-29 21:19:42.599 UTC [INFO ] The ADRCI problems were successfully listed. 2020-05-29 21:19:42.599 UTC [INFO ] The task finished successfully. 12 rows selected.
Creazione di pacchetti incidenti
È possibile creare pacchetti incidenti utilizzando la funzione Amazon RDS rdsadmin.rdsadmin_adrci_util.create_adrci_package. L'output è un file zip che è possibile fornire al supporto Oracle.
Questa funzione utilizza i seguenti parametri comuni:
-
problem_id -
incident_id
Assicurarsi di specificare uno dei parametri precedenti. Se si specificano entrambi i parametri, incident_id sovrascrive problem_id. Per ulteriori informazioni, consulta Parametri comuni per le procedure diagnostiche.
Per creare un pacchetto per un incidente specifico, chiamare la funzione rdsadmin.rdsadmin_adrci_util.create_adrci_package Amazon RDS con il parametro incident_id. Nell'esempio seguente viene creato un pacchetto per l'incidente 53523.
SQL> EXEC :task_id := rdsadmin.rdsadmin_adrci_util.create_adrci_package(incident_id=>53523); PL/SQL procedure successfully completed.
Per leggere il file di registro, chiamare rdsadmin.rds_file_util.read_text_file. È possibile fornire l'ID attività come parte del nome del file. L'output mostra che hai generato il pacchetto incidente ORA700EVE_20200529212043_COM_1.zip.
SQL> SELECT * FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP', 'dbtask-'||:task_id||'.log')); TEXT -------------------------------------------------------------------------------------------------------------------------------------- 2020-05-29 21:20:43.031 UTC [INFO ] The ADRCI package is being created. 2020-05-29 21:20:47.641 UTC [INFO ] Generated package 1 in file /rdsdbdata/log/trace/ORA700EVE_20200529212043_COM_1.zip, mode complete 2020-05-29 21:20:47.642 UTC [INFO ] The ADRCI package was successfully created. 2020-05-29 21:20:47.642 UTC [INFO ] The task finished successfully.
Per creare un pacchetto di dati diagnostici per un particolare problema, specificarne l'ID utilizzando il parametro problem_id. Nell'esempio seguente, si impacchettano i dati solo per il problema 3.
SQL> EXEC :task_id := rdsadmin.rdsadmin_adrci_util.create_adrci_package(problem_id=>3); PL/SQL procedure successfully completed.
Per leggere l'output dell'attività, chiamare rdsadmin.rds_file_util.read_text_file, fornendo l'ID attività come parte del nome del file. L'output mostra che hai generato il pacchetto incidente ORA700EVE_20200529212111_COM_1.zip.
SQL> SELECT * FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP', 'dbtask-'||:task_id||'.log')); TEXT ------------------------------------------------------------------------------------------------------------------------------------------------------------ 2020-05-29 21:21:11.050 UTC [INFO ] The ADRCI package is being created. 2020-05-29 21:21:15.646 UTC [INFO ] Generated package 2 in file /rdsdbdata/log/trace/ORA700EVE_20200529212111_COM_1.zip, mode complete 2020-05-29 21:21:15.646 UTC [INFO ] The ADRCI package was successfully created. 2020-05-29 21:21:15.646 UTC [INFO ] The task finished successfully.
Puoi anche scaricare il file di log. Per ulteriori informazioni, consulta Download di un file di log di database.
Visualizzazione di file di traccia
Puoi utilizzare la funzione Amazon RDS rdsadmin.rdsadmin_adrci_util.show_adrci_tracefile per elencare i file di traccia nella directory di traccia e tutte le directory degli incidenti nella home page ADR corrente. È inoltre possibile visualizzare il contenuto dei file di traccia e dei file di traccia degli incidenti.
Questa funzione utilizza il seguente parametro.
| Nome del parametro | Tipo di dati | Valori validi | Default | Campo obbligatorio | Descrizione |
|---|---|---|---|---|---|
|
|
varchar2 |
Un nome di file di traccia valido |
Null |
No |
Se il valore è null, la funzione visualizza tutti i file di traccia. Se non è null, la funzione mostra il file specificato. |
Per visualizzare il file di traccia, chiama la funzione rdsadmin.rdsadmin_adrci_util.show_adrci_tracefile Amazon RDS.
SQL> EXEC :task_id := rdsadmin.rdsadmin_adrci_util.show_adrci_tracefile; PL/SQL procedure successfully completed.
Per elencare i nomi dei file di traccia, chiamare la procedura rdsadmin.rds_file_util.read_text_file Amazon RDS fornendo l'ID attività come parte del nome file.
SQL> SELECT * FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP', 'dbtask-'||:task_id||'.log')) WHERE TEXT LIKE '%/alert_%'; TEXT --------------------------------------------------------------- diag/rdbms/orcl_a/ORCL/trace/alert_ORCL.log.2020-05-28 diag/rdbms/orcl_a/ORCL/trace/alert_ORCL.log.2020-05-27 diag/rdbms/orcl_a/ORCL/trace/alert_ORCL.log.2020-05-26 diag/rdbms/orcl_a/ORCL/trace/alert_ORCL.log.2020-05-25 diag/rdbms/orcl_a/ORCL/trace/alert_ORCL.log.2020-05-24 diag/rdbms/orcl_a/ORCL/trace/alert_ORCL.log.2020-05-23 diag/rdbms/orcl_a/ORCL/trace/alert_ORCL.log.2020-05-22 diag/rdbms/orcl_a/ORCL/trace/alert_ORCL.log.2020-05-21 diag/rdbms/orcl_a/ORCL/trace/alert_ORCL.log 9 rows selected.
Nell’esempio seguente viene generato l’output per alert_ORCL.log.
SQL> EXEC :task_id := rdsadmin.rdsadmin_adrci_util.show_adrci_tracefile('diag/rdbms/orcl_a/ORCL/trace/alert_ORCL.log'); PL/SQL procedure successfully completed.
Per leggere il file di registro, chiamare rdsadmin.rds_file_util.read_text_file. Fornire l'ID attività come parte del nome del file. L'output mostra le prime 10 righe di Alert_Orcl.log.
SQL> SELECT * FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP', 'dbtask-'||:task_id||'.log')) WHERE ROWNUM <= 10; TEXT ----------------------------------------------------------------------------------------- 2020-05-29 21:24:02.083 UTC [INFO ] The trace files are being displayed. 2020-05-29 21:24:02.128 UTC [INFO ] Thu May 28 23:59:10 2020 Thread 1 advanced to log sequence 2048 (LGWR switch) Current log# 3 seq# 2048 mem# 0: /rdsdbdata/db/ORCL_A/onlinelog/o1_mf_3_hbl2p8xs_.log Thu May 28 23:59:10 2020 Archived Log entry 2037 added for thread 1 sequence 2047 ID 0x5d62ce43 dest 1: Fri May 29 00:04:10 2020 Thread 1 advanced to log sequence 2049 (LGWR switch) Current log# 4 seq# 2049 mem# 0: /rdsdbdata/db/ORCL_A/onlinelog/o1_mf_4_hbl2qgmh_.log Fri May 29 00:04:10 2020 10 rows selected.
Puoi anche scaricare il file di log. Per ulteriori informazioni, consulta Download di un file di log di database.