

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

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

Anda dapat mengakses log peringatan, file audit, dan file jejak Oracle dengan menggunakan konsol Amazon RDS atau API. Untuk mengetahui informasi selengkapnya tentang cara melihat, mengunduh, dan melihat log basis data berbasis file, lihat [Memantau file RDS Amazon](USER_LogAccess.md). 

File audit Oracle yang disediakan adalah file audit Oracle standar. Amazon RDS mendukung fitur audit mendetail (FGA) Oracle. Namun, akses log tidak menyediakan akses ke peristiwa FGA yang disimpan di tabel `SYS.FGA_LOG$` yang dapat diakses melalui tampilan `DBA_FGA_AUDIT_TRAIL`. 

Operasi API [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBLogFiles.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBLogFiles.html) yang mencantumkan file log Oracle yang tersedia untuk instans DB mengabaikan parameter `MaxRecords` dan menampilkan hingga 1.000 data. Panggilan menampilkan `LastWritten` sebagai tanggal POSIX dalam milidetik.

**Topics**
+ [Jadwal retensi](#USER_LogAccess.Concepts.Oracle.Retention)
+ [Menggunakan file jejak Oracle](#USER_LogAccess.Concepts.Oracle.WorkingWithTracefiles)
+ [Menerbitkan log Oracle ke Amazon CloudWatch Logs](#USER_LogAccess.Oracle.PublishtoCloudWatchLogs)
+ [Mengakses log peringatan dan log pendengar](#USER_LogAccess.Concepts.Oracle.AlertLogAndListenerLog)

## Jadwal retensi
<a name="USER_LogAccess.Concepts.Oracle.Retention"></a>

Mesin basis data Oracle dapat merotasi file log jika menjadi sangat besar. Untuk mempertahankan file audit atau jejak, unduh semuanya. Jika menyimpan file secara lokal, Anda dapat menurunkan biaya penyimpanan Amazon RDS dan menyediakan lebih banyak ruang untuk data Anda. 

Tabel berikut menunjukkan jadwal retensi untuk log peringatan, file audit, dan file jejak Oracle di Amazon RDS. 


****  

| Jenis log | Jadwal retensi | 
| --- | --- | 
|  Log peringatan  |   Log peringatan teks dirotasi setiap hari dengan 30 hari retensi yang dikelola oleh Amazon RDS. Log peringatan XML dipertahankan selama setidaknya tujuh hari. Anda dapat mengakses log ini dengan menggunakan tampilan `ALERTLOG`.   | 
|  File audit  |   Periode retensi default untuk file audit adalah tujuh hari. Amazon RDS mungkin menghapus file audit yang lebih lama dari tujuh hari.   | 
|  File jejak  |  Periode retensi default untuk file jejak adalah tujuh hari. Amazon RDS mungkin menghapus file jejak yang lebih lama dari tujuh hari.   | 
|  Log pendengar  |   Periode retensi default untuk log pendengar adalah tujuh hari. Amazon RDS mungkin menghapus log pendengar yang lebih lama dari tujuh hari.   | 

**catatan**  
File audit dan file jejak memiliki konfigurasi penyimpanan yang sama.

## Menggunakan file jejak Oracle
<a name="USER_LogAccess.Concepts.Oracle.WorkingWithTracefiles"></a>

Selanjutnya, Anda dapat menemukan deskripsi prosedur Amazon RDS untuk membuat, menyegarkan, mengakses, dan menghapus file jejak.

**Topics**
+ [Membuat daftar file](#USER_LogAccess.Concepts.Oracle.WorkingWithTracefiles.ViewingBackgroundDumpDest)
+ [Membuat file jejak dan melacak sesi](#USER_LogAccess.Concepts.Oracle.WorkingWithTracefiles.Generating)
+ [Mengambil file jejak](#USER_LogAccess.Concepts.Oracle.WorkingWithTracefiles.Retrieving)
+ [Membersihkan file jejak](#USER_LogAccess.Concepts.Oracle.WorkingWithTracefiles.Purging)

### Membuat daftar file
<a name="USER_LogAccess.Concepts.Oracle.WorkingWithTracefiles.ViewingBackgroundDumpDest"></a>

Anda dapat menggunakan salah satu dari dua prosedur untuk mengizinkan akses ke file apa pun di jalur `background_dump_dest`. Prosedur pertama menyegarkan tampilan yang berisi daftar semua file saat ini ada di `background_dump_dest`. 

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

Setelah tampilan dimuat ulang, buat kueri tampilan berikut untuk mengakses hasil.

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

Alternatif untuk proses sebelumnya adalah menggunakan `FROM table` untuk mengalirkan data non-relasional dalam format seperti tabel untuk mencantumkan konten direktori basis data.

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

Kueri berikut menunjukkan teks file log.

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

Pada replika baca, dapatkan nama direktori BDUMP dengan mengueri `V$DATABASE.DB_UNIQUE_NAME`. Jika nama uniknya adalah `DATABASE_B`, direktori BDUMP-nya adalah `BDUMP_B`. Contoh berikut mengueri nama BDUMP pada replika dan kemudian menggunakan nama ini untuk mengueri konten `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'));
```

### Membuat file jejak dan melacak sesi
<a name="USER_LogAccess.Concepts.Oracle.WorkingWithTracefiles.Generating"></a>

Karena tidak ada batasan pada `ALTER SESSION`, banyak metode standar untuk menghasilkan file jejak dalam Oracle yang tetap tersedia untuk instans DB Amazon RDS. Prosedur berikut disediakan untuk file jejak yang memerlukan akses lebih besar. 


****  

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

Anda dapat menggunakan berbagai metode standar untuk melacak sesi individu yang terhubung ke instans DB Oracle di Amazon RDS. Untuk mengaktifkan penelusuran untuk sesi, Anda dapat menjalankan subprogram dalam PL/SQL paket yang disediakan oleh Oracle, seperti dan. `DBMS_SESSION` `DBMS_MONITOR` Untuk mengetahui informasi selengkapnya, lihat [ Mengaktifkan pelacakan untuk sesi](https://docs.oracle.com/database/121/TGSQL/tgsql_trace.htm#GUID-F872D6F9-E015-481F-80F6-8A7036A6AD29) dalam dokumentasi Oracle. 

### Mengambil file jejak
<a name="USER_LogAccess.Concepts.Oracle.WorkingWithTracefiles.Retrieving"></a>

Anda dapat mengambil file jejak apa pun dalam `background_dump_dest` menggunakan kueri SQL standar di tabel eksternal yang dikelola Amazon RDS. Untuk menggunakan metode ini, Anda harus menjalankan prosedur untuk menetapkan lokasi untuk tabel ini ke file jejak spesifik. 

Misalnya, Anda dapat menggunakan tampilan `rdsadmin.tracefile_listing` yang disebutkan sebelumnya untuk mencantumkan semua file jejak pada sistem. Anda kemudian dapat mengatur tampilan `tracefile_table` untuk diarahkan ke file ke jejak yang dimaksud dengan menggunakan prosedur berikut. 

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

Contoh berikut membuat tabel eksternal dalam skema saat ini dengan lokasi yang diatur ke file yang disediakan. Anda dapat mengambil konten ke dalam file lokal menggunakan kueri SQL. 

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

### Membersihkan file jejak
<a name="USER_LogAccess.Concepts.Oracle.WorkingWithTracefiles.Purging"></a>

File jejak dapat terakumulasi dan menghabiskan ruang disk. Amazon RDS menghapus file jejak secara default dan file log yang lebih lama dari tujuh hari. Anda dapat melihat dan mengatur periode retensi file jejak menggunakan prosedur `show_configuration`. Anda harus menjalankan perintah `SET SERVEROUTPUT ON` agar dapat melihat hasil konfigurasi. 

Contoh berikut menunjukkan periode retensi file jejak saat ini, lalu mengatur periode retensi file jejak baru. 

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

Selain proses pembersihan berkala, Anda dapat menghapus file secara manual dari `background_dump_dest`. Contoh berikut menunjukkan cara membersihkan semua file yang lebih lama dari lima menit. 

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

Anda juga dapat membersihkan semua file yang cocok dengan pola tertentu (jika Anda melakukannya, jangan sertakan ekstensi file, seperti .trc). Contoh berikut menunjukkan cara membersihkan semua file yang dimulai dengan `SCHPOC1_ora_5935`. 

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

## Menerbitkan log Oracle ke Amazon CloudWatch Logs
<a name="USER_LogAccess.Oracle.PublishtoCloudWatchLogs"></a>

Anda dapat mengonfigurasi RDS untuk instans Oracle DB untuk mempublikasikan data log ke grup log di Amazon CloudWatch Logs. Dengan CloudWatch Log, Anda dapat menganalisis data log, dan menggunakannya CloudWatch untuk membuat alarm dan melihat metrik. Anda dapat menggunakan CloudWatch Log untuk menyimpan catatan log Anda dalam penyimpanan yang sangat tahan lama. 

Amazon RDS menerbitkan setiap log basis data Oracle sebagai aliran basis data terpisah di grup log. Misalnya, jika Anda mengonfigurasi fungsi ekspor untuk menyertakan log audit, data audit akan disimpan dalam log stream audit di grup log `/aws/rds/instance/my_instance/audit`. Tabel berikut merangkum persyaratan untuk RDS untuk Oracle untuk mempublikasikan log ke Amazon Logs. CloudWatch 


| Nama log | Persyaratan | Default | 
| --- | --- | --- | 
|  Log peringatan  |  Tidak ada. Anda tidak dapat menonaktifkan log ini.  |  Diaktifkan  | 
|  Log jejak  |  Atur parameter `trace_enabled` ke `TRUE` atau biarkan diatur ke pengaturan default.  |  `TRUE`  | 
|  Log audit  |  Atur `audit_trail` parameter ke salah satu nilai yang diizinkan berikut: <pre>{ none | os | db [, extended] | xml [, extended] }</pre>  |  `none`  | 
|  Log pendengar  |  Tidak ada. Anda tidak dapat menonaktifkan log ini.  |  Diaktifkan  | 
|  Log Agen Manajemen Oracle  |  Tidak ada. Anda tidak dapat menonaktifkan log ini.  |  Diaktifkan  | 

Log Agen Manajemen Oracle ini terdiri dari grup log yang ditunjukkan pada tabel berikut.


****  

| Nama log | CloudWatch grup 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-secure | 

Untuk informasi selengkapnya, lihat [Locating Management Agent Log and Trace Files](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) dalam dokumentasi Oracle.

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

**Untuk mempublikasikan log Oracle DB ke CloudWatch Log dari Konsol Manajemen AWS**

1. Buka konsol Amazon RDS di [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Di panel navigasi, pilih **Basis Data**, kemudian pilih instans DB yang ingin diubah.

1. Pilih **Modifikasi**.

1. Di bagian **Log ekspor**, pilih log yang ingin Anda mulai terbitkan ke CloudWatch Log.

1. Pilih **Lanjutkan**, lalu pilih **Ubah Instans DB** di halaman ringkasan.

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

Untuk menerbitkan log Oracle, Anda dapat menggunakan perintah [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) untuk parameter berikut ini: 
+ `--db-instance-identifier`
+ `--cloudwatch-logs-export-configuration`

**catatan**  
Perubahan pada opsi `--cloudwatch-logs-export-configuration` selalu diterapkan ke instans DB secara langsung. Oleh karena itu, opsi `--apply-immediately` dan `--no-apply-immediately` tidak akan berpengaruh.

Anda juga dapat menerbitkan log Oracle menggunakan perintah berikut: 
+ [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**  
Contoh berikut membuat instance Oracle DB dengan penerbitan CloudWatch Log diaktifkan. Nilai `--cloudwatch-logs-export-configuration` adalah rangkaian string JSON. String dapat berupa kombinasi `alert`, `audit`, `listener`, dan `trace`.  
Untuk Linux, macOS, atau 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
```
Untuk 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**  
Contoh berikut memodifikasi instance Oracle DB yang ada untuk mempublikasikan file log ke Log. CloudWatch Nilai `--cloudwatch-logs-export-configuration` adalah objek JSON. Kunci untuk objek ini adalah `EnableLogTypes`, dan nilainya adalah serangkaian string dengan setiap kombinasi `alert`, `audit`, `listener`, dan `trace`.  
Untuk Linux, macOS, atau Unix:  

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

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

**Example**  
Contoh berikut memodifikasi instans Oracle DB yang ada untuk menonaktifkan audit penerbitan dan file log pendengar ke Log. CloudWatch Nilai `--cloudwatch-logs-export-configuration` adalah objek JSON. Kunci untuk objek ini adalah `DisableLogTypes`, dan nilainya adalah serangkaian string dengan setiap kombinasi `alert`, `audit`, `listener`, dan `trace`.  
Untuk Linux, macOS, atau Unix:  

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

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

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

Anda dapat menerbitkan log DB Oracle dengan RDS API. Anda dapat memanggil tindakan [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html) dengan parameter berikut: 
+ `DBInstanceIdentifier`
+ `CloudwatchLogsExportConfiguration`

**catatan**  
Perubahan pada parameter `CloudwatchLogsExportConfiguration` selalu diterapkan ke instans DB secara langsung. Oleh karena itu, parameter `ApplyImmediately` tidak memiliki dampak.

Anda juga dapat menerbitkan log Oracle dengan memanggil operasi RDS API berikut: 
+ [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)

Jalankan salah satu operasi RDS API ini dengan parameter berikut: 
+ `DBInstanceIdentifier`
+ `EnableCloudwatchLogsExports`
+ `Engine`
+ `DBInstanceClass`

Parameter lain mungkin diperlukan bergantung pada operasi RDS yang Anda jalankan.

## Mengakses log peringatan dan log pendengar
<a name="USER_LogAccess.Concepts.Oracle.AlertLogAndListenerLog"></a>

Anda dapat melihat log peringatan menggunakan konsol Amazon RDS. Anda juga dapat menggunakan pernyataan SQL berikut.

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

Akses log pendengar menggunakan Amazon CloudWatch Logs.

**catatan**  
Oracle merotasi log peringatan dan pendengar jika melebihi 10 MB. Pada saat itu, log ini tidak tersedia dari tampilan Amazon RDS.