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.
DescribeDBLogFiles
APIOperasi 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.
Topik
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 |
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.
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 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 |
---|---|
|
|
|
|
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
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 |
|
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 AWS Management Console
Buka RDS konsol Amazon 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. --cloudwatch-logs-export-configuration
Nilainya 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-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-identifier
mydbinstance
^ --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 --cloudwatch-logs-export-configuration
Nilainya 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-configuration
Nilainya 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