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
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.
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 DescribeDBLogFiles 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.
Topik
Jadwal retensi
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 |
|
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
Selanjutnya, Anda dapat menemukan deskripsi prosedur Amazon RDS untuk membuat, menyegarkan, mengakses, dan menghapus file jejak.
Topik
Membuat daftar file
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.
EXEC rdsadmin.manage_tracefiles.refresh_tracefile_listing;
Setelah tampilan dimuat ulang, buat kueri tampilan berikut untuk mengakses hasil.
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.
SELECT * FROM TABLE(rdsadmin.rds_file_util.listdir('BDUMP'));
Kueri berikut menunjukkan teks file log.
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.
SELECT 'BDUMP' || (SELECT regexp_replace(DB_UNIQUE_NAME,'.*(_[A-Z])', '\1') FROM V$DATABASE) AS BDUMP_VARIABLE FROM DUAL; BDUMP_VARIABLE -------------- BDUMP_B 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
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 |
|---|---|
|
|
|
|
|
|
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
Mengambil file jejak
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.
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.
SPOOL /tmp/tracefile.txt SELECT * FROM tracefile_table; SPOOL OFF;
Membersihkan file jejak
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.
# Show the current tracefile retention SQL> EXEC rdsadmin.rdsadmin_util.show_configuration; NAME:tracefile retention VALUE:10080 DESCRIPTION:tracefile expiration specifies the duration in minutes before tracefiles in bdump are automatically deleted. # Set the tracefile retention to 24 hours: SQL> EXEC rdsadmin.rdsadmin_util.set_configuration('tracefile retention',1440); SQL> commit; #show the new tracefile retention SQL> EXEC rdsadmin.rdsadmin_util.show_configuration; NAME:tracefile retention VALUE:1440 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.
EXEC rdsadmin.manage_tracefiles.purge_tracefiles('SCHPOC1_ora_5935');
Menerbitkan log Oracle ke Amazon CloudWatch Logs
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 |
|
|
Log audit |
Atur
|
|
|
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_errors.log | oemagent-gcagent-errors |
| emagent.nohup | oemagent-emagent-nohup |
| secure.log | oemagent-secure |
Untuk informasi selengkapnya, lihat Locating Management Agent Log and Trace Files
Untuk mempublikasikan log Oracle DB ke CloudWatch Log dari Konsol Manajemen AWS
Buka konsol Amazon RDS di https://console.aws.amazon.com/rds/
. -
Di panel navigasi, pilih Basis Data, kemudian pilih instans DB yang ingin diubah.
-
Pilih Modifikasi.
-
Di bagian Log ekspor, pilih log yang ingin Anda mulai terbitkan ke CloudWatch Log.
-
Pilih Lanjutkan, lalu pilih Ubah Instans DB di halaman ringkasan.
Untuk menerbitkan log Oracle, Anda dapat menggunakan perintah modify-db-instance 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:
contoh
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-identifiermydbinstance\ --cloudwatch-logs-export-configuration '["trace","audit","alert","listener","oemagent"]' \ --db-instance-classdb.m5.large\ --allocated-storage20\ --engineoracle-ee\ --engine-version19.0.0.0.ru-2024-04.rur-2024-04.r1\ --license-modelbring-your-own-license\ --master-usernamemyadmin\ --manage-master-user-password
Untuk Windows:
aws rds create-db-instance ^ --db-instance-identifiermydbinstance^ --cloudwatch-logs-export-configurationtrace alert audit listener oemagent^ --db-instance-classdb.m5.large^ --allocated-storage20^ --engineoracle-ee^ --engine-version19.0.0.0.ru-2024-04.rur-2024-04.r1^ --license-modelbring-your-own-license^ --master-usernamemyadmin^ --manage-master-user-password
contoh
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-identifiermydbinstance\ --cloudwatch-logs-export-configuration '{"EnableLogTypes":["trace","alert","audit","listener","oemagent"]}'
Untuk Windows:
aws rds modify-db-instance ^ --db-instance-identifiermydbinstance^ --cloudwatch-logs-export-configuration EnableLogTypes=\"trace\",\"alert\",\"audit\",\"listener\",\"oemagent\"
contoh
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-identifiermydbinstance\ --cloudwatch-logs-export-configuration '{"DisableLogTypes":["audit","listener"]}'
Untuk Windows:
aws rds modify-db-instance ^ --db-instance-identifiermydbinstance^ --cloudwatch-logs-export-configuration DisableLogTypes=\"audit\",\"listener\"
Anda dapat menerbitkan log DB Oracle dengan RDS API. Anda dapat memanggil tindakan ModifyDBInstance 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:
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
Anda dapat melihat log peringatan menggunakan konsol Amazon RDS. Anda juga dapat menggunakan pernyataan SQL berikut.
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.