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.
Oracle-Datenbank-Protokolldateien
Sie können über die Amazon RDS-Konsole oder das API auf die Oracle-Warnungsprotokolle, -Auditdateien und -Trace-Dateien zugreifen. Weitere Informationen zum Anzeigen und Herunterladen von dateibasierten Datenbankprotokollen finden Sie unter Überwachen von Amazon RDS-Protokolldateien.
Die bereitgestellten Oracle-Prüfungsdateien sind die Oracle-Standardprüfungsdateien. Amazon RDS unterstützt die FGA-Funktion (Fine-Grained Auditing) von Oracle. Der Protokollzugriff bietet jedoch keinen Zugriff auf FGA-Ereignisse, die in der Tabelle SYS.FGA_LOG$
gespeichert sind, und die über die Ansicht DBA_FGA_AUDIT_TRAIL
zur Verfügung stehen.
Die API-Operation DescribeDBLogFiles
zum Auflisten der Oracle-Protokolldateien, die für eine DB-Instance verfügbar sind, ignoriert den Parameter MaxRecords
und gibt bis zu 1 000 Datensätze zurück. Der Aufruf wird LastWritten
als POSIX-Datum in Millisekunden zurückgegeben.
Themen
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 Amazon RDS-Speicherkosten und stellen mehr Speicherplatz für Ihre Daten zur Verfügung.
In der nachfolgenden Tabelle wird der Aufbewahrungsplan für Oracle-Warnungsprotokolle, -Auditdateien und -Trace-Dateien in Amazon RDS gezeigt.
Protokolltyp | Aufbewahrungsplan |
---|---|
Alarmprotokolle |
Die täglichen Warnungsprotokolle werden 30 Tage lang aufbewahrt und von Amazon RDS verwaltet. Das XML-Alarmprotokoll wird mindestens sieben Tage lang aufbewahrt. Sie können über die Ansicht |
Audit-Dateien |
Der Standardaufbewahrungszeitraum für Prüfungsdateien beträgt sieben Tage. Amazon RDS löscht u. U. Prüfungsdateien, die älter als sieben Tage sind. |
Trace-Dateien |
Der Standardaufbewahrungszeitraum für Trace-Dateien beträgt sieben Tage. Amazon RDS löscht u. U. Trace-Dateien, die älter als sieben Tage sind. |
Listener-Protokolle |
Der Standardaufbewahrungszeitraum für Listener-Protokolle beträgt sieben Tage. Amazon RDS löscht u. U. Listener-Protokolle, die älter als sieben Tage sind. |
Anmerkung
Für Audit-Dateien und Trace-Dateien gilt die gleiche Aufbewahrungskonfiguration.
Arbeiten mit Oracle-Trace-Dateien
Nachfolgend finden Sie Beschreibungen von Amazon RDS-Verfahren zum Erstellen, Aktualisieren, Zugreifen auf und Löschen von Trace-Dateien.
Themen
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 auf einem Read Replica den Namen des BDUMP-Verzeichnisses durch Abfragen von a V$DATABASE.DB_UNIQUE_NAME
. Wenn der eindeutige Name DATABASE_B
lautet, dann ist BDUMP_B
das BDUMP-Verzeichnis. Im folgenden Beispiel wird der BDUMP-Name auf einem Replica abgefragt und dann wird dieser Name verwendet, um den Inhalt von abzufrage 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'));
Erzeugen von Trace-Dateien und Nachverfolgen einer Sitzung
Da es keine Einschränkungen für ALTER SESSION
gibt, sind viele Standardmethoden zur Erzeugung von Trace-Dateien in Oracle auch in einer Amazon RDS-DB-Instance verfügbar. Die folgenden Methoden sind für Trace-Dateien vorgesehen, auf die in größerem Umfang zugegriffen werden muss.
Oracle-Methode | Amazon RDS-Methode |
---|---|
|
|
|
|
Sie können viele Standardverfahren zum Nachverfolgen einzelner, mit einer Oracle-DB-Instance in Amazon RDS verbundenen Sitzung verwenden. Um die Nachverfolgung für eine Sitzung zu aktivieren, können Sie Unterprogramme in PL/SQL-Paketen ausführen, die von Oracle bereitgestellt werden, z. B. DBMS_SESSION
und DBMS_MONITOR
. Weitere Informationen finden Sie unter Enabling Tracing for a Session
Abrufen von Trace-Dateien
Sie können jede Trace-Datei in background_dump_dest
mit einer SQL-Standardabfrage aus 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 mit 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 automatisch Trace-Dateien und Protokoll-Dateien, 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');
Veröffentlichen von Oracle-Protokollen in Amazon CloudWatch Logs
Sie können Ihre DB-Instance von RDS für Oracle so konfigurieren, dass Protokolldaten in einer Protokollgruppe in Amazon CloudWatch Logs veröffentlicht werden. Mit - CloudWatch Protokollen können Sie die Protokolldaten analysieren und verwenden, CloudWatch um Alarme zu erstellen und Metriken anzuzeigen. Sie können - CloudWatch Protokolle verwenden, um Ihre Protokolldatensätze in einem Speicher mit hoher Beständigkeit 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. Die folgende Tabelle fasst die Anforderungen für RDS für Oracle zum Veröffentlichen von Protokollen in Amazon CloudWatch Logs zusammen.
Protokollnamen | Anforderung | Standard |
---|---|---|
Alert-Protokoll |
Keine. Sie können dieses Protokoll nicht deaktivieren. |
Aktiviert |
Trace-Protokoll |
Setzen Sie den |
|
Prüfungsprotokoll |
Setzen Sie den Parameter |
|
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)
So veröffentlichen Sie Oracle-DB-Protokolle in - CloudWatch Protokollen über die AWS Management Console
Öffnen Sie die Amazon-RDS-Konsole unter https://console.aws.amazon.com/rds/
. -
Wählen Sie im Navigationsbereich Databases (Datenbanken) und dann die DB-Instance, die Sie ändern möchten.
-
Wählen Sie Modify aus.
-
Wählen Sie im Abschnitt Protokollexporte die Protokolle aus, die Sie in CloudWatch Protokollen veröffentlichen möchten.
-
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 mit aktivierter Veröffentlichung von CloudWatch Protokollen erstellt. Der Wert --cloudwatch-logs-export-configuration
ist ein JSON-Array mit Zeichenfolgen. Die Zeichenfolgen können eine beliebige Kombination von alert
, audit
, listener
und trace
sein.
Für Linux, macOSoder 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-version12.1.0.2.v18
\ --license-modelbring-your-own-license
\ --master-usernamemyadmin
\ --manage-master-user-password
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-version12.1.0.2.v18
^ --license-modelbring-your-own-license
^ --master-usernamemyadmin
^ --manage-master-user-password
Beispiel
Im folgenden Beispiel wird eine vorhandene Oracle-DB-Instance so konfiguriert, dass Protokolldateien in - CloudWatch Protokollen veröffentlicht werden. 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
.
Für Linux, macOSoder Unix:
aws rds modify-db-instance \ --db-instance-identifier
mydbinstance
\ --cloudwatch-logs-export-configuration '{"EnableLogTypes":["trace","alert","audit","listener","oemagent"]}'
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 vorhandene Oracle-DB-Instance so konfiguriert, dass die Veröffentlichung von Audit- und Listener-Protokolldateien in - CloudWatch Protokollen deaktiviert wird. 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
.
Für Linux, macOSoder Unix:
aws rds modify-db-instance \ --db-instance-identifier
mydbinstance
\ --cloudwatch-logs-export-configuration '{"DisableLogTypes":["audit","listener"]}'
Windows:
aws rds modify-db-instance ^ --db-instance-identifier
mydbinstance
^ --cloudwatch-logs-export-configuration DisableLogTypes=\"audit\",\"listener\"
Sie können Oracle DB-Protokolle über die RDS-API veröffentlichen. 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-Protokolle 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
Je nach ausgeführter RDS-Operation müssen möglicherweise noch weitere Parameter angegeben werden.
Frühere Methoden zum Zugriff auf Alarmprotokolle und Listener-Protokolle
Sie können über die Amazon RDS-Konsole das Alarmprotokoll anzeigen. Sie können auch folgende SQL-Anweisung verwenden, um auf das Alarmprotokoll zuzugreifen.
SELECT message_text FROM alertlog;
Die listenerlog
-Ansicht enthält Einträge für Oracle Database Version 12.1.0.2 und früher. Verwenden Sie die folgende Abfrage, um auf das Listener-Protokoll für diese Datenbankversionen zuzugreifen.
SELECT message_text FROM listenerlog;
Für Oracle Database-Versionen 12.2.0.1 und höher greifen Sie mit Amazon CloudWatch Logs auf das Listener-Protokoll zu.
Anmerkung
Oracle rotiert die Alarm- und Listener-Protokolle, wenn deren Dateigröße 10 MB überschreitet. Die Protokolle sind dann nicht mehr in den Amazon RDS-Ansichten verfügbar.