Amazon RDS untuk file log database Oracle - Layanan Basis Data Relasional Amazon

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

Amazon RDS untuk file log database Oracle

Anda dapat mengakses log peringatan Oracle, mengaudit file, dan melacak file dengan menggunakan RDS konsol Amazon atauAPI. Untuk informasi selengkapnya tentang melihat, mengunduh, dan melihat log database berbasis file, lihat Memantau file RDS Amazon.

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

DescribeDBLogFilesAPIOperasi yang mencantumkan file log Oracle yang tersedia untuk instance DB mengabaikan MaxRecords parameter dan mengembalikan hingga 1.000 catatan. Panggilan kembali LastWritten sebagai POSIX tanggal dalam milidetik.

Jadwal penyimpanan

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

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

Jenis log Jadwal retensi

Log peringatan

Log peringatan teks diputar setiap hari dengan retensi 30 hari yang dikelola oleh Amazon. RDS Log XML peringatan disimpan setidaknya selama 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 tua dari tujuh hari.

File jejak

Periode retensi default untuk file jejak adalah tujuh hari. Amazon RDS mungkin menghapus file jejak yang lebih tua 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

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

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 BDUMP direktori dengan menanyakanV$DATABASE.DB_UNIQUE_NAME. Jika nama uniknyaDATABASE_B, maka BDUMP direktorinya adalahBDUMP_B. Contoh berikut menanyakan BDUMP nama pada replika dan kemudian menggunakan nama ini untuk menanyakan isi. 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 batasanALTER SESSION, banyak metode standar untuk menghasilkan file jejak di Oracle tetap tersedia untuk instans Amazon RDS DB. Prosedur berikut disediakan untuk file jejak yang memerlukan akses lebih besar.

Metode Oracle RDSMetode Amazon

oradebug hanganalyze 3

EXEC rdsadmin.manage_tracefiles.hanganalyze;

oradebug dump systemstate 266

EXEC rdsadmin.manage_tracefiles.dump_systemstate;

Anda dapat menggunakan banyak metode standar untuk melacak sesi individual yang terhubung ke instans Oracle DB di AmazonRDS. Untuk mengaktifkan penelusuran untuk sesi, Anda dapat menjalankan subprogram dalam SQL paket PL/yang disediakan oleh Oracle, seperti dan. DBMS_SESSION DBMS_MONITOR Untuk mengetahui informasi selengkapnya, lihat Mengaktifkan pelacakan untuk sesi dalam dokumentasi Oracle.

Mengambil file jejak

Anda dapat mengambil file jejak apa pun background_dump_dest menggunakan SQL kueri standar pada tabel eksternal yang RDS dikelola Amazon. 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 SQL kueri.

SPOOL /tmp/tracefile.txt SELECT * FROM tracefile_table; SPOOL OFF;

Membersihkan file jejak

File jejak dapat terakumulasi dan menghabiskan ruang disk. Amazon RDS membersihkan file jejak secara default dan file log yang lebih tua 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 instans Oracle DB untuk mempublikasikan data log ke grup log di Amazon CloudWatch Logs. RDS 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 database Oracle sebagai aliran database 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 bagi Oracle RDS untuk mempublikasikan log ke Amazon CloudWatch Logs.

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:

{ none | os | db [, extended] | xml [, extended] }

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_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 dalam dokumentasi Oracle.

Untuk mempublikasikan log Oracle DB ke CloudWatch Log dari AWS Management Console
  1. Buka RDS konsol Amazon di https://console.aws.amazon.com/rds/.

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

  3. Pilih Modifikasi.

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

  5. 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. --cloudwatch-logs-export-configurationNilainya adalah JSON array string. 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
contoh

Contoh berikut memodifikasi instance Oracle DB yang ada untuk mempublikasikan file log ke Log. CloudWatch --cloudwatch-logs-export-configurationNilainya adalah JSON objek. 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\"
contoh

Contoh berikut memodifikasi instans Oracle DB yang ada untuk menonaktifkan audit penerbitan dan file log pendengar ke Log. CloudWatch --cloudwatch-logs-export-configurationNilainya adalah JSON objek. 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\"

Anda dapat mempublikasikan log Oracle DB dengan file. 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 mempublikasikan log Oracle dengan memanggil RDS API operasi berikut:

Jalankan salah satu RDS API operasi ini dengan parameter berikut:

  • DBInstanceIdentifier

  • EnableCloudwatchLogsExports

  • Engine

  • DBInstanceClass

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

Mengakses log peringatan dan log pendengar

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

SELECT message_text FROM alertlog;

Akses log pendengar menggunakan Amazon CloudWatch Logs.

catatan

Oracle memutar log peringatan dan pendengar ketika melebihi 10 MB, di mana mereka tidak tersedia dari tampilan Amazon. RDS