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 RDS istanze database di 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'utilità Automatic Diagnostic Repository Command Interpreter (ADRCI) è 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 l'accesso tramite shell aADRCI. Per eseguire attività di diagnostica per la tua istanza DB RDS for Oracle, usa il RDS pacchetto Amazonrdsadmin.rdsadmin_adrci_util
.
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'ADRCIoutput, come indbtask-
. Il file di registro si trova nella BDUMP directory. È possibile scaricare il file di registro seguendo la procedura descritta inDownload di un file di log di database.task_id
.log
Parametri comuni per le procedure diagnostiche
Per eseguire attività di diagnostica, utilizza le funzioni del RDS pacchetto Amazonrdsadmin.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, utilizza la RDS funzione rdsadmin.rdsadmin_adrci_util.list_adrci_incidents
Amazon. È 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 rdsadmin.rdsadmin_adrci_util.list_adrci_incidents
funzione senza argomenti e memorizza l'output in una variabile SQL client. 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 log, richiama la RDS procedura Amazonrdsadmin.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, usa la RDS funzione Amazonrdsadmin.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 dell'attività per tutti i problemi, chiama la rdsadmin.rdsadmin_adrci_util.list_adrci_problems
funzione senza argomenti e memorizza l'output in una variabile SQL client.
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
Puoi creare pacchetti di incidenti utilizzando la RDS funzione Amazonrdsadmin.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, chiama la RDS funzione Amazon rdsadmin.rdsadmin_adrci_util.create_adrci_package
con il incident_id
parametro. 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 registro. Per ulteriori informazioni, consulta Download di un file di log di database.
Visualizzazione di file di traccia
Puoi utilizzare la RDS funzione Amazon rdsadmin.rdsadmin_adrci_util.show_adrci_tracefile
per elencare i file di traccia nella directory trace e tutte le directory degli incidenti nella ADR home 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 mostrare il file di traccia, chiama la RDS funzione Amazonrdsadmin.rdsadmin_adrci_util.show_adrci_tracefile
.
SQL> EXEC :task_id := rdsadmin.rdsadmin_adrci_util.show_adrci_tracefile; PL/SQL procedure successfully completed.
Per elencare i nomi dei file di traccia, chiama la RDS procedura Amazonrdsadmin.rds_file_util.read_text_file
, fornendo l'ID dell'attività come parte del nome del 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, si genera un output peralert_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.
È anche possibile scaricare il file di registro. Per ulteriori informazioni, consulta Download di un file di log di database.