

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

# File di log del database Amazon RDS per Oracle
<a name="USER_LogAccess.Concepts.Oracle"></a>

Puoi accedere ai log di avviso, ai file di audit e ai file di traccia Oracle tramite console Amazon RDS o API. Per ulteriori informazioni sulla visualizzazione, il download e la visione di log di database basati su file, consulta [Monitoraggio dei file di log di Amazon RDS](USER_LogAccess.md). 

I file di verifica Oracle forniti sono i file di verifica Oracle standard. Amazon RDS supporta la caratteristica FGA (Fine-Grained Auditing) di Oracle. Tuttavia, l'accesso ai log non fornisce accesso agli eventi FGA archiviati nella tabella `SYS.FGA_LOG$` e accessibili tramite la vista `DBA_FGA_AUDIT_TRAIL`. 

L'operazione API [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBLogFiles.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBLogFiles.html) che elenca i file di log Oracle disponibili per una istanza database ignora il parametro `MaxRecords` e restituisce fino a 1.000 record. La chiamata restituisce `LastWritten` come data POSIX in millisecondi.

**Topics**
+ [Pianificazione della conservazione](#USER_LogAccess.Concepts.Oracle.Retention)
+ [Utilizzo di file di traccia Oracle](#USER_LogAccess.Concepts.Oracle.WorkingWithTracefiles)
+ [Pubblicazione dei log Oracle su Amazon CloudWatch Logs](#USER_LogAccess.Oracle.PublishtoCloudWatchLogs)
+ [Accesso ai log di avvisi e ai log del listener](#USER_LogAccess.Concepts.Oracle.AlertLogAndListenerLog)

## Pianificazione della conservazione
<a name="USER_LogAccess.Concepts.Oracle.Retention"></a>

Il motore database Oracle potrebbe ruotare i file di log nel caso in cui diventino molto grandi. Per conservare i file di audit o di traccia è necessario scaricarli. Se archivi i file localmente riduci i costi di storage di Amazon RDS e rendi più spazio disponibile per i dati. 

La seguente tabella illustra la pianificazione di conservazione per i log di avviso, i file di audit e i file di traccia Oracle su Amazon RDS. 


****  

| Tipo di log | Pianificazione della conservazione | 
| --- | --- | 
|  Log di avvisi  |   Il log degli avvisi di testo viene ruotato ogni giorno con conservazione per 30 giorni gestita da Amazon RDS. Il log di avviso XML viene conservato per un minimo di sette giorni. Puoi accedere a questo log usando la visualizzazione `ALERTLOG`.   | 
|  File di audit  |   Il periodo di conservazione predefinito per i file di verifica è sette giorni. Amazon RDS può eliminare i file di verifica più vecchi di sette giorni.   | 
|  File di traccia  |  Il periodo di conservazione dei file di traccia predefinito è 7 giorni. Amazon RDS può eliminare i file di traccia più vecchi di sette giorni.   | 
|  Log del listener  |   Il periodo di conservazione predefinito per i log dei listener è sette giorni. Amazon RDS può eliminare i log del listener più vecchi di sette giorni.   | 

**Nota**  
I file di audit e i file di traccia condividono la stessa configurazione di conservazione.

## Utilizzo di file di traccia Oracle
<a name="USER_LogAccess.Concepts.Oracle.WorkingWithTracefiles"></a>

Di seguito si riportano le descrizioni delle procedure Amazon RDS per creare, aggiornare ed eliminare file di traccia.

**Topics**
+ [Elenco di file](#USER_LogAccess.Concepts.Oracle.WorkingWithTracefiles.ViewingBackgroundDumpDest)
+ [Creazione di file di traccia e tracciamento di una sessione](#USER_LogAccess.Concepts.Oracle.WorkingWithTracefiles.Generating)
+ [Recupero di file di traccia](#USER_LogAccess.Concepts.Oracle.WorkingWithTracefiles.Retrieving)
+ [Eliminazione di file di traccia](#USER_LogAccess.Concepts.Oracle.WorkingWithTracefiles.Purging)

### Elenco di file
<a name="USER_LogAccess.Concepts.Oracle.WorkingWithTracefiles.ViewingBackgroundDumpDest"></a>

È possibile utilizzare una delle due procedure per consentire l'accesso a qualsiasi file nel percorso `background_dump_dest`. La prima procedura aggiorna una vista contenente un elenco di tutti i file attualmente in `background_dump_dest`. 

```
1. EXEC rdsadmin.manage_tracefiles.refresh_tracefile_listing;
```

Dopo l'aggiornamento della vista, eseguire la query della vista seguente per accedere ai risultati.

```
1. SELECT * FROM rdsadmin.tracefile_listing;
```

Un'alternativa al processo precedente è quella di utilizzare `FROM table` per lo streaming di dati non relazionali in un formato di tipo tabella per elencare i contenuti della directory database.

```
1. SELECT * FROM TABLE(rdsadmin.rds_file_util.listdir('BDUMP'));
```

La query seguente mostra il testo di un file di log.

```
1. SELECT text FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP','alert_dbname.log.date'));
```

In una replica di lettura, ottenere il nome della directory BDUMP eseguendo una query `V$DATABASE.DB_UNIQUE_NAME`. Se il nome univoco è `DATABASE_B`, allora la directory BDUMP è `BDUMP_B`. Nell'esempio seguente viene eseguita una query sul nome BDUMP in una replica e viene quindi utilizzato questo nome per eseguire una query sul contenuto di `alert_DATABASE.log.2020-06-23`.

```
1. SELECT 'BDUMP' || (SELECT regexp_replace(DB_UNIQUE_NAME,'.*(_[A-Z])', '\1') FROM V$DATABASE) AS BDUMP_VARIABLE FROM DUAL;
2. 
3. BDUMP_VARIABLE
4. --------------
5. BDUMP_B
6. 
7. SELECT TEXT FROM table(rdsadmin.rds_file_util.read_text_file('BDUMP_B','alert_DATABASE.log.2020-06-23'));
```

### Creazione di file di traccia e tracciamento di una sessione
<a name="USER_LogAccess.Concepts.Oracle.WorkingWithTracefiles.Generating"></a>

Poiché `ALTER SESSION` non è soggetto a restrizioni, restano disponibili molti metodi standard per generare file di traccia in Oracle per un'istanza database Amazon RDS. Le procedure seguenti sono fornite per i file di traccia che richiedono maggiore accesso. 


****  

|  Metodo Oracle  |  Metodo Amazon RDS | 
| --- | --- | 
|  `oradebug hanganalyze 3 `  |  `EXEC rdsadmin.manage_tracefiles.hanganalyze; `  | 
|  `oradebug dump systemstate 266 `  |  `EXEC rdsadmin.manage_tracefiles.dump_systemstate;`  | 

Puoi utilizzare molti metodi standard per tracciare singole sessioni collegate all'istanza database Oracle in Amazon RDS. Per abilitare la traccia per una sessione, è possibile eseguire sottoprogrammi in PL/SQL pacchetti forniti da Oracle, come `DBMS_SESSION` e. `DBMS_MONITOR` Per ulteriori informazioni, consulta la pagina relativa all'[abilitazione della traccia per una sessione](https://docs.oracle.com/database/121/TGSQL/tgsql_trace.htm#GUID-F872D6F9-E015-481F-80F6-8A7036A6AD29) nella documentazione di Oracle. 

### Recupero di file di traccia
<a name="USER_LogAccess.Concepts.Oracle.WorkingWithTracefiles.Retrieving"></a>

Puoi recuperare qualsiasi file di traccia in `background_dump_dest` usando una query SQL standard su una tabella esterna gestita da Amazon RDS–. Per utilizzare questo metodo, devi eseguire la procedura per impostare la posizione di questa tabella sul file di traccia specifico. 

Ad esempio, puoi utilizzare la vista `rdsadmin.tracefile_listing` indicata precedentemente per elencare tutti i file di traccia sul sistema. Successivamente, puoi impostare la vista `tracefile_table` per puntare al file di traccia desiderato utilizzando la procedura seguente. 

```
1. EXEC rdsadmin.manage_tracefiles.set_tracefile_table_location('CUST01_ora_3260_SYSTEMSTATE.trc');
```

L'esempio seguente crea una tabella esterna nello schema corrente con la posizione impostata sul file fornito. Puoi recuperare il contenuto in un file locale utilizzando una query SQL. 

```
1. SPOOL /tmp/tracefile.txt
2. SELECT * FROM tracefile_table;
3. SPOOL OFF;
```

### Eliminazione di file di traccia
<a name="USER_LogAccess.Concepts.Oracle.WorkingWithTracefiles.Purging"></a>

I file di traccia possono accumularsi e occupare spazio su disco. Per impostazione predefinita, Amazon RDS elimina i file di traccia e i file di log che risalgono a più di sette giorni prima. Puoi visualizzare e impostare il periodo di conservazione dei file di traccia tramite la procedura `show_configuration`. Dovresti eseguire il comando `SET SERVEROUTPUT ON` per poter visualizzare i risultati della configurazione. 

L'esempio seguente mostra il periodo di conservazione dei file di traccia e imposta quindi un nuovo periodo di conservazione dei file di traccia. 

```
 1. # Show the current tracefile retention
 2. SQL> EXEC rdsadmin.rdsadmin_util.show_configuration;
 3. NAME:tracefile retention
 4. VALUE:10080
 5. DESCRIPTION:tracefile expiration specifies the duration in minutes before tracefiles in bdump are automatically deleted.
 6. 		
 7. # Set the tracefile retention to 24 hours:
 8. SQL> EXEC rdsadmin.rdsadmin_util.set_configuration('tracefile retention',1440);
 9. SQL> commit;
10. 
11. #show the new tracefile retention
12. SQL> EXEC rdsadmin.rdsadmin_util.show_configuration;
13. NAME:tracefile retention
14. VALUE:1440
15. DESCRIPTION:tracefile expiration specifies the duration in minutes before tracefiles in bdump are automatically deleted.
```

Oltre al processo di eliminazione periodica, puoi rimuovere manualmente i file da `background_dump_dest`. L'esempio seguente mostra come eliminare tutti i file che risalgono a cinque minuti prima. 

```
EXEC rdsadmin.manage_tracefiles.purge_tracefiles(5);
```

Puoi inoltre eliminare tutti i file che corrispondono a un modello specifico (non includono l'estensione del file, come .trc). L'esempio seguente mostra come eliminare tutti i file che iniziano con `SCHPOC1_ora_5935`. 

```
1. EXEC rdsadmin.manage_tracefiles.purge_tracefiles('SCHPOC1_ora_5935');
```

## Pubblicazione dei log Oracle su Amazon CloudWatch Logs
<a name="USER_LogAccess.Oracle.PublishtoCloudWatchLogs"></a>

Puoi configurare la tua istanza DB RDS for Oracle per pubblicare i dati di log in un gruppo di log in Amazon CloudWatch Logs. Con CloudWatch Logs, puoi analizzare i dati di log e utilizzarli CloudWatch per creare allarmi e visualizzare metriche. È possibile utilizzare CloudWatch Logs per archiviare i record di registro in un archivio altamente durevole. 

Amazon RDS pubblica ogni log di database Oracle come flusso di database separato nel gruppo di log. Ad esempio, se configuri la funzione di esportazione affinché includa il log di audit, i dati relativi all'audit vengono archiviati in un flusso di log di audit nel gruppo di log `/aws/rds/instance/my_instance/audit`. La tabella seguente riassume i requisiti per la pubblicazione dei log su Amazon Logs da parte di RDS for Oracle. CloudWatch 


| Nome log | Requisito | Predefinita | 
| --- | --- | --- | 
|  Log di avviso  |  Nessuna. Non è possibile disabilitare questo log.  |  Abilitato  | 
|  Log di traccia  |  Impostare il parametro `trace_enabled` su `TRUE` o lasciarlo impostato sul valore predefinito.  |  `TRUE`  | 
|  Log di audit  |  Impostare il parametro `audit_trail` su uno dei seguenti valori consentiti: <pre>{ none | os | db [, extended] | xml [, extended] }</pre>  |  `none`  | 
|  Log del listener  |  Nessuna. Non è possibile disabilitare questo log.  |  Abilitato  | 
|  Log di Oracle Management Agent  |  Nessuna. Non è possibile disabilitare questo log.  |  Abilitato  | 

Questo registro di Oracle Management Agent è costituito dai gruppi di log riportati nella tabella di seguito.


****  

| Nome log | CloudWatch gruppo di log | 
| --- | --- | 
| emctl.log | oemagent-emctl | 
| emdctlj.log | oemagent-emdctlj | 
| gcagent.log | oemagent-gcagent | 
| gcagent\$1errors.log | oemagent-gcagent-errors | 
| emagent.nohup | oemagent-emagent-nohup | 
| secure.log | oemagent-sicuro | 

Per maggiori informazioni, consulta [Individuazione dei file di log e di traccia di Management Agent](https://docs.oracle.com/en/enterprise-manager/cloud-control/enterprise-manager-cloud-control/13.4/emadm/locating-management-agent-log-and-trace-files1.html#GUID-9C710D78-6AA4-42E4-83CD-47B5FF4892DF) nella documentazione Oracle.

### Console
<a name="USER_LogAccess.Oracle.PublishtoCloudWatchLogs.console"></a>

**Per pubblicare i log di Oracle DB su CloudWatch Logs da Console di gestione AWS**

1. Aprire la console Amazon RDS all'indirizzo [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Nel riquadro di navigazione, scegliere **Databases (Database)** e selezionare l'istanza database da modificare.

1. Scegliere **Modify (Modifica)**.

1. Nella sezione **Esportazioni dei log**, scegli i log che desideri iniziare a pubblicare su Logs. CloudWatch 

1. Scegliere **Continue (Continua)** e quindi **Modify DB Instance (Modifica istanza database)** nella pagina di riepilogo.

### AWS CLI
<a name="USER_LogAccess.Oracle.PublishtoCloudWatchLogs.CLI"></a>

Per pubblicare i log Oracle, puoi utilizzare il comando [https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) con i parametri seguenti: 
+ `--db-instance-identifier`
+ `--cloudwatch-logs-export-configuration`

**Nota**  
Viene sempre applicata all'istanza database una modifica all'opzione `--cloudwatch-logs-export-configuration` immediatamente. Pertanto, le opzioni `--apply-immediately` e `--no-apply-immediately` non hanno alcun effetto.

Puoi pubblicare i log Oracle anche utilizzando i seguenti comandi: 
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-db-snapshot.html](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-db-snapshot.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-s3.html](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-s3.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-to-point-in-time.html](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-to-point-in-time.html)

**Example**  
L'esempio seguente crea un'istanza DB Oracle con la pubblicazione dei CloudWatch log abilitata. Il valore `--cloudwatch-logs-export-configuration` è una matrice di stringhe JSON. Le stringhe possono essere una qualsiasi combinazione di `alert`, `audit`, `listener` e `trace`.  
Per Linux, macOS o Unix:  

```
aws rds create-db-instance \
    --db-instance-identifier mydbinstance \
    --cloudwatch-logs-export-configuration '["trace","audit","alert","listener","oemagent"]' \
    --db-instance-class db.m5.large \
    --allocated-storage 20 \
    --engine oracle-ee \
    --engine-version 19.0.0.0.ru-2024-04.rur-2024-04.r1 \
    --license-model bring-your-own-license \
    --master-username myadmin \
    --manage-master-user-password
```
Per Windows:  

```
aws rds create-db-instance ^
    --db-instance-identifier mydbinstance ^
    --cloudwatch-logs-export-configuration trace alert audit listener oemagent ^
    --db-instance-class db.m5.large ^
    --allocated-storage 20 ^
    --engine oracle-ee ^
    --engine-version 19.0.0.0.ru-2024-04.rur-2024-04.r1 ^
    --license-model bring-your-own-license ^
    --master-username myadmin ^
    --manage-master-user-password
```

**Example**  
L'esempio seguente modifica un'istanza Oracle DB esistente per pubblicare i file di log in Logs. CloudWatch Il valore `--cloudwatch-logs-export-configuration` è un oggetto JSON. La chiave per questo oggetto è `EnableLogTypes` e il suo valore è una matrice di stringhe con qualsiasi combinazione di `alert`, `audit`, `listener` e `trace`.  
Per Linux, macOS o Unix:  

```
aws rds modify-db-instance \
    --db-instance-identifier mydbinstance \
    --cloudwatch-logs-export-configuration '{"EnableLogTypes":["trace","alert","audit","listener","oemagent"]}'
```
Per Windows:  

```
aws rds modify-db-instance ^
    --db-instance-identifier mydbinstance ^
    --cloudwatch-logs-export-configuration EnableLogTypes=\"trace\",\"alert\",\"audit\",\"listener\",\"oemagent\"
```

**Example**  
L'esempio seguente modifica un'istanza Oracle DB esistente per disabilitare la pubblicazione dei file di log di audit e listener su Logs. CloudWatch Il valore `--cloudwatch-logs-export-configuration` è un oggetto JSON. La chiave per questo oggetto è `DisableLogTypes` e il suo valore è una matrice di stringhe con qualsiasi combinazione di `alert`, `audit`, `listener` e `trace`.  
Per Linux, macOS o Unix:  

```
aws rds modify-db-instance \
    --db-instance-identifier mydbinstance \
    --cloudwatch-logs-export-configuration '{"DisableLogTypes":["audit","listener"]}'
```
Per Windows:  

```
aws rds modify-db-instance ^
    --db-instance-identifier mydbinstance ^
    --cloudwatch-logs-export-configuration DisableLogTypes=\"audit\",\"listener\"
```

### API RDS
<a name="USER_LogAccess.Oracle.PublishtoCloudWatchLogs.API"></a>

Puoi pubblicare i log database Oracle con l'API RDS. Puoi chiamare l'operazione [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html) con i parametri seguenti: 
+ `DBInstanceIdentifier`
+ `CloudwatchLogsExportConfiguration`

**Nota**  
Viene sempre applicata all'istanza database una modifica al parametro `CloudwatchLogsExportConfiguration` immediatamente. Pertanto, il parametro `ApplyImmediately` non ha alcun effetto.

Puoi pubblicare i log Oracle anche chiamando le seguenti operazioni API RDS: 
+ [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html)
+ [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromDBSnapshot.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromDBSnapshot.html)
+ [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromS3.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromS3.html)
+ [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceToPointInTime.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceToPointInTime.html)

Esegui una di queste azioni API RDS con i seguenti parametri: 
+ `DBInstanceIdentifier`
+ `EnableCloudwatchLogsExports`
+ `Engine`
+ `DBInstanceClass`

Altri parametri potrebbero essere richiesti a seconda dell'operazione RDS eseguita.

## Accesso ai log di avvisi e ai log del listener
<a name="USER_LogAccess.Concepts.Oracle.AlertLogAndListenerLog"></a>

Puoi visualizzare il log di avvisi tramite console Amazon RDS. È anche possibile utilizzare la seguente istruzione SQL.

```
1. SELECT message_text FROM alertlog;
```

Accedi al registro del listener utilizzando Amazon CloudWatch Logs.

**Nota**  
Oracle ruota i log di avvisi e del listener quando superano 10 MB, punto in cui non sono disponibili dalle viste Amazon RDS.