Datenbankprotokolldateien von Amazon RDS für Oracle - Amazon Relational Database Service

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Datenbankprotokolldateien von Amazon RDS für Oracle

Sie können über die RDS Amazon-Konsole oder auf Oracle-Alert-Logs, Prüfdateien und Trace-Dateien zugreifenAPI. Weitere Informationen zum Anzeigen und Herunterladen von dateibasierten Datenbankprotokollen finden Sie unter Überwachung von Amazon RDS Amazon.

Die bereitgestellten Oracle-Prüfungsdateien sind die Oracle-Standardprüfungsdateien. Amazon RDS unterstützt die detaillierte Auditing-Funktion (FGA) von Oracle. Der Protokollzugriff bietet jedoch keinen Zugriff auf FGA Ereignisse, die in der SYS.FGA_LOG$ Tabelle gespeichert sind und auf die über die Ansicht zugegriffen werden kann. DBA_FGA_AUDIT_TRAIL

Der DescribeDBLogFilesAPIVorgang, der die Oracle-Protokolldateien auflistet, die für eine DB-Instance verfügbar sind, ignoriert den MaxRecords Parameter und gibt bis zu 1.000 Datensätze zurück. Der Aufruf wird LastWritten als POSIX Datum in Millisekunden zurückgegeben.

Aufbewahrungsplan

Die Oracle-Datenbank-Engine kann Protokolldateien rotieren, wenn diese sehr groß werden. Um Audit- oder Trace-Dateien aufzubewahren, laden Sie diese herunter. Wenn Sie die Dateien lokal speichern, reduzieren Sie Ihre RDS Amazon-Speicherkosten und stellen mehr Speicherplatz für Ihre Daten zur Verfügung.

Die folgende Tabelle zeigt den Aufbewahrungszeitplan für Oracle-Alert-Logs, Audit-Dateien und Trace-Dateien bei AmazonRDS.

Protokolltyp Aufbewahrungsplan

Alarmprotokolle

Das Textwarnungsprotokoll wird täglich rotiert, wobei die Aufbewahrung für 30 Tage von Amazon RDS verwaltet wird. Das XML Warnprotokoll wird mindestens sieben Tage lang aufbewahrt. Sie können über die Ansicht ALERTLOG auf dieses Protokoll zugreifen.

Audit-Dateien

Der Standardaufbewahrungszeitraum für Prüfungsdateien beträgt sieben Tage. Amazon löscht RDS möglicherweise Auditdateien, die älter als sieben Tage sind.

Trace-Dateien

Der Standardaufbewahrungszeitraum für Trace-Dateien beträgt sieben Tage. Amazon löscht RDS möglicherweise Protokolldateien, die älter als sieben Tage sind.

Listener-Protokolle

Der Standardaufbewahrungszeitraum für Listener-Protokolle beträgt sieben Tage. Amazon löscht RDS möglicherweise Listener-Logs, die älter als sieben Tage sind.

Anmerkung

Für Audit-Dateien und Trace-Dateien gilt die gleiche Aufbewahrungskonfiguration.

Arbeiten mit Oracle-Trace-Dateien

Im Folgenden finden Sie Beschreibungen der RDS Amazon-Verfahren zum Erstellen, Aktualisieren, Zugreifen und Löschen von Trace-Dateien.

Auflisten von Dateien

Sie können jedes der beiden Verfahren verwenden, um Zugriff auf eine Datei im Pfad background_dump_dest zuzulassen. Das erste Verfahren aktualisiert eine Ansicht mit einer Liste aller Dateien in background_dump_dest.

EXEC rdsadmin.manage_tracefiles.refresh_tracefile_listing;

Nachdem die Ansicht aktualisiert wurde, fragen Sie die folgende Ansicht ab, um auf die Ergebnisse zuzugreifen.

SELECT * FROM rdsadmin.tracefile_listing;

Eine Alternative zur vorherigen Vorgehensweise ist die Verwendung von FROM table zum Streamen von nicht-relationalen Daten in einem tabellenähnlichen Format, um den Inhalt des Datenbankverzeichnisses aufzulisten.

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

Die folgende Abfrage zeigt den Text einer Protokolldatei.

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

Rufen Sie bei einer Read Replica den Namen des BDUMP Verzeichnisses durch eine Abfrage V$DATABASE.DB_UNIQUE_NAME ab. Wenn der eindeutige Name lautetDATABASE_B, dann ist es das BDUMP Verzeichnis. BDUMP_B Im folgenden Beispiel wird der BDUMP Name eines Replikats abgefragt und dann mit diesem Namen der Inhalt von alert_DATABASE.log.2020-06-23 abgefragt.

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'));

Erzeugen von Trace-Dateien und Nachverfolgen einer Sitzung

Da es keine Einschränkungen gibtALTER SESSION, stehen viele Standardmethoden zur Generierung von Trace-Dateien in Oracle weiterhin für eine RDS Amazon-DB-Instance zur Verfügung. Die folgenden Methoden sind für Trace-Dateien vorgesehen, auf die in größerem Umfang zugegriffen werden muss.

Oracle-Methode RDSAmazon-Methode

oradebug hanganalyze 3

EXEC rdsadmin.manage_tracefiles.hanganalyze;

oradebug dump systemstate 266

EXEC rdsadmin.manage_tracefiles.dump_systemstate;

Sie können viele Standardmethoden verwenden, um einzelne Sitzungen zu verfolgen, die mit einer Oracle-DB-Instance in Amazon verbunden sindRDS. Um die Ablaufverfolgung für eine Sitzung zu aktivieren, können Sie Unterprogramme in SQL PL/-Paketen ausführen, die von Oracle bereitgestellt werden, z. B. und. DBMS_SESSION DBMS_MONITOR Weitere Informationen finden Sie unter Enabling Tracing for a Session in der Oracle-Dokumentation.

Abrufen von Trace-Dateien

Sie können jede Trace-Datei background_dump_dest mithilfe einer SQL Standardabfrage in einer von Amazon RDS verwalteten externen Tabelle abrufen. Für diese Methode müssen Sie die Prozedur ausführen, um den Speicherort für diese Tabelle auf die spezifische Trace-Datei festzulegen.

Sie können beispielsweise die oben erwähnte Ansicht rdsadmin.tracefile_listing verwenden, um alle Trace-Dateien im System aufzulisten. Danach kann die tracefile_table-Ansicht so konfiguriert werden, dass sie auf die gewünschte Trace-Datei zeigt.

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

Im folgenden Beispiel wird eine externe Tabelle im aktuellen Schema mit dem auf die angegebene Datei eingestellten Speicherort erstellt. Sie können den Inhalt mithilfe einer SQL Abfrage in eine lokale Datei abrufen.

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

Bereinigen von Trace-Dateien

Trace-Dateien können sich ansammeln und viel Festplattenspeicher belegen. Amazon RDS löscht standardmäßig Trace-Dateien und Protokolldateien, die älter als sieben Tage sind. Sie können den Aufbewahrungszeitraum für Trace-Dateien mit der Prozedur show_configuration anzeigen und festlegen. Sie sollten den Befehl SET SERVEROUTPUT ON ausführen, damit Sie die Konfigurationsergebnisse sehen können.

Im folgenden Beispiel wird zunächst der aktuelle Aufbewahrungszeitraum angezeigt und dann ein neuer Zeitraum festgelegt.

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

Sie können zusätzlich zur regelmäßigen automatischen Bereinigung manuell Dateien aus entferne background_dump_dest. Im folgenden Beispiel werden alle Dateien gelöscht, die älter als fünf Minuten sind.

EXEC rdsadmin.manage_tracefiles.purge_tracefiles(5);

Sie können auch alle Dateien löschen, die mit einem bestimmten Muster übereinstimmen (geben Sie in diesem Fall keine Dateinamenserweiterung wie .trc an). Im folgenden Beispiel werden alle Dateien gelöscht, die mit beginne SCHPOC1_ora_5935.

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

Oracle-Logs in Amazon CloudWatch Logs veröffentlichen

Sie können Ihre RDS Oracle-DB-Instance so konfigurieren, dass Protokolldaten in einer Protokollgruppe in Amazon CloudWatch Logs veröffentlicht werden. Mit CloudWatch Logs können Sie die Protokolldaten analysieren und zur Erstellung von Alarmen und CloudWatch zum Anzeigen von Metriken verwenden. Sie können CloudWatch Logs verwenden, um Ihre Protokolldatensätze in einem äußerst langlebigen Speicher zu speichern.

Amazon RDS veröffentlicht jedes Oracle-Datenbankprotokoll als separaten Datenbank-Stream in der Protokollgruppe. Wenn Sie beispielsweise die Exportfunktion so konfigurieren, dass das Audit-Protokoll berücksichtigt wird, werden Audit-Daten in einem Audit-Protokollstream in der Protokollgruppe /aws/rds/instance/my_instance/audit gespeichert. In der folgenden Tabelle sind die Anforderungen zusammengefasst, die RDS für die Veröffentlichung von Protokollen durch Oracle in Amazon CloudWatch Logs gelten.

Protokollnamen Anforderung Standard

Alert-Protokoll

Keine. Sie können dieses Protokoll nicht deaktivieren.

Aktiviert

Trace-Protokoll

Setzen Sie den trace_enabled Parameter auf die Standardeinstellung TRUE oder lassen Sie ihn unverändert.

TRUE

Prüfungsprotokoll

Setzen Sie den audit_trail Parameter auf einen der folgenden zulässigen Werte:

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

none

Listener-Protokoll

Keine. Sie können dieses Protokoll nicht deaktivieren.

Aktiviert

Oracle Management Agent-Protokoll

Keine. Sie können dieses Protokoll nicht deaktivieren.

Aktiviert

Dieses Protokoll von Oracle Management Agent besteht aus den in der folgenden Tabelle aufgeführten Protokollgruppen.

Protokollnamen CloudWatch Protokollgruppe
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

Weitere Informationen finden Sie unter Locating Management Agent Log and Trace Files (Management Agent Protokoll- und Trace-Dateien anzeigen) in der Oracle-Dokumentation.

Um Oracle-DB-Logs in CloudWatch Logs zu veröffentlichen AWS Management Console
  1. Öffnen Sie die RDS Amazon-Konsole unter https://console.aws.amazon.com/rds/.

  2. Wählen Sie im Navigationsbereich Databases (Datenbanken) und dann die DB-Instance, die Sie ändern möchten.

  3. Wählen Sie Modify aus.

  4. Wählen Sie im Abschnitt Protokollexporte die Protokolle aus, die Sie in CloudWatch Logs veröffentlichen möchten.

  5. Wählen Sie Weiter und dann auf der zusammenfassenden Seite Modify DB Instance (DB-Instance ändern) aus.

Um Oracle-Protokolle zu veröffentlichen, können Sie den Befehl modify-db-instance mit den folgenden Parametern verwenden:

  • --db-instance-identifier

  • --cloudwatch-logs-export-configuration

Anmerkung

Eine Änderung der Option --cloudwatch-logs-export-configuration wird immer sofort auf die DB-Instance angewendet. Aus diesem Grund sind die Optionen --apply-immediately und --no-apply-immediately wirkungslos.

Sie können Oracle-Protokolle auch mit den folgenden Befehlen veröffentlichen:

Beispiel

Im folgenden Beispiel wird eine Oracle-DB-Instance erstellt, bei der die Veröffentlichung von CloudWatch Logs aktiviert ist. Der --cloudwatch-logs-export-configuration Wert ist ein JSON Array von Zeichenketten. Die Zeichenfolgen können eine beliebige Kombination von alert, audit, listener und trace sein.

Wählen Sie in der &Snowconsole; Ihren Auftrag aus der Tabelle. Linux, macOS, oder 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

Wählen Sie in der &Snowconsole; Ihren Auftrag aus der Tabelle. 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
Beispiel

Das folgende Beispiel ändert eine bestehende Oracle-DB-Instance, um Protokolldateien in CloudWatch Logs zu veröffentlichen. Der --cloudwatch-logs-export-configuration Wert ist ein JSON Objekt. Der Schlüssel für dieses Objekt ist EnableLogTypes und dessen Wert ist ein Array von Zeichenfolgen mit einer beliebigen Kombination aus alert, audit, listener und trace.

Wählen Sie in der &Snowconsole; Ihren Auftrag aus der Tabelle. Linux, macOS, oder Unix:

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

Wählen Sie in der &Snowconsole; Ihren Auftrag aus der Tabelle. Windows:

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

Im folgenden Beispiel wird eine bestehende Oracle-DB-Instance dahingehend geändert, dass die Veröffentlichung von Audit- und Listener-Logdateien in Logs deaktiviert wird. CloudWatch Der --cloudwatch-logs-export-configuration Wert ist ein JSON Objekt. Der Schlüssel für dieses Objekt ist DisableLogTypes und dessen Wert ist ein Array von Zeichenfolgen mit einer beliebigen Kombination aus alert, audit, listener und trace.

Wählen Sie in der &Snowconsole; Ihren Auftrag aus der Tabelle. Linux, macOS, oder Unix:

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

Wählen Sie in der &Snowconsole; Ihren Auftrag aus der Tabelle. Windows:

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

Sie können Oracle-DB-Logs mit dem veröffentlichen RDSAPI. Die Aktion ModifyDBInstance kann dazu mit den folgenden Parametern aufgerufen werden:

  • DBInstanceIdentifier

  • CloudwatchLogsExportConfiguration

Anmerkung

Eine Änderung des Parameters CloudwatchLogsExportConfiguration wird immer sofort auf die DB-Instance angewendet. Aus diesem Grund ist der Parameter ApplyImmediately wirkungslos.

Sie können Oracle-Logs auch veröffentlichen, indem Sie die folgenden RDS API Operationen aufrufen:

Führen Sie eine dieser RDS API Operationen mit den folgenden Parametern aus:

  • DBInstanceIdentifier

  • EnableCloudwatchLogsExports

  • Engine

  • DBInstanceClass

Abhängig von dem RDS Vorgang, den Sie ausführen, sind möglicherweise andere Parameter erforderlich.

Zugreifen auf Warn- und Listener-Logs

Sie können das Alert-Protokoll über die RDS Amazon-Konsole einsehen. Sie können auch die folgende SQL Anweisung verwenden.

SELECT message_text FROM alertlog;

Greifen Sie mit Amazon CloudWatch Logs auf das Listener-Protokoll zu.

Anmerkung

Oracle rotiert die Alert- und Listener-Logs, wenn sie 10 MB überschreiten. Ab diesem Zeitpunkt sind sie in Amazon RDS Views nicht mehr verfügbar.