Die Zielverzeichnisse für Prüfdateien für eine ASM-Instanz können so anwachsen, dass sie eine sehr große Anzahl von Dateien enthalten, wenn sie nicht regelmäßig gewartet werden. Eine sehr große Anzahl von Dateien kann dazu führen, dass dem Dateisystem der freie Speicherplatz oder die Inodes ausgehen, oder dass Oracle aufgrund von Skalierungsbeschränkungen für Dateisystemverzeichnisse sehr langsam ausgeführt wird, was den Anschein erwecken kann, dass die ASM-Instanz hängen bleibt Start.
In diesem Beitrag wird erläutert, wie Sie die Linux-Syslog-Funktion zum Verwalten von ASM-Überwachungsaufzeichnungen verwenden, sodass ASM-Überwachungsaufzeichnungen von der Syslog-Einrichtung des Betriebssystems anstelle von einzelnen Dateien in audit_dump_dest aufgezeichnet werden Verzeichnis.
Diese Schritte müssen für die ASM-Instanz auf jedem Datenbankserver durchgeführt werden. In diesem Dokument wird erläutert, wie die Überwachungsdatensätze nur für ASM-Instanzen verwaltet werden.
Konfiguration
Diese Schritte müssen für die ASM-Instanz auf jedem Datenbankserver durchgeführt werden.
Schritt 1 – Setzen Sie die ASM-Initialisierungsparameter AUDIT_SYSLOG_LEVEL und AUDIT_SYS_OPERATIONS
Setzen Sie in der ASM-Initialisierungsdatei die Parameter AUDIT_SYSLOG_LEVEL und AUDIT_SYS_OPERATIONS auf die folgenden Werte:
AUDIT_SYSLOG_LEVEL='local0.info' AUDIT_SYS_OPERATIONS=TRUE
Schritt 2 – Konfigurieren Sie /etc/syslog.conf für die ASM-Überwachung
Konfigurieren Sie die Syslog-Konfigurationsdatei /etc/syslog.conf oder /etc/rsyslog.conf für die ASM-Überwachung, indem Sie die folgenden zwei Änderungen vornehmen:
1. Fügen Sie die folgende Zeile in /etc/syslog.conf oder /etc/rsyslog.conf
hinzulocal0.info /var/log/asmaudit.log
2. Fügen Sie in der Zeile, die die Protokollierung für /var/log/messages in /etc/syslog.conf konfiguriert, local0.none hinzu. Zum Beispiel:
*.info;mail.none;authpriv.none;cron.none;local0.none /var/log/messages
Schritt 3 – Logrotate konfigurieren, um Syslog-Protokolldateien zu verwalten
Das Linux-Dienstprogramm logrotate wird verwendet, um die Größe und Anzahl der Syslog-Protokolldateien für die ASM-Überwachung zu verwalten. Erstellen Sie die Datei /etc/logrotate.d/asmaudit mit folgendem Inhalt:
# vi /etc/logrotate.d/asmaudit /var/log/asmaudit.log { weekly rotate 4 compress copytruncate delaycompress notifempty }
Schritt 4 – ASM-Instanzen und Syslog-Dienst neu starten
ASM-Instanzen und der Syslog-Dienst müssen neu gestartet werden, damit die Änderungen wirksam werden. Eine ASM-Instanz wird neu gestartet, indem die Grid-Infrastruktur mit den Befehlen „crsctl stop“ und „crsctl start“ gestoppt und gestartet wird. Diese Aktion erfordert das Herunterfahren von Datenbankinstanzen.
# GRID_HOME/grid/bin/crsctl stop cluster # GRID_HOME/grid/bin/crsctl start cluster
Um den Syslog-Dienst neu zu starten, führen Sie den Befehl „service syslog restart“ aus:
# service syslog restart Shutting down kernel logger: [ OK ] Shutting down system logger: [ OK ] Starting system logger: [ OK ] Starting kernel logger: [ OK ]
Schritt 5 – Überprüfen Sie, ob ASM-Audit-Aufzeichnungen in /var/log/asmaudit.log erstellt wurden
Stellen Sie sicher, dass eine privilegierte Verbindung zu ASM (z. B. SYSDBA- oder SYSASM-Verbindung) zu einem in /var/log/asmaudit.log erstellten Eintrag führt, der dem folgenden ähnelt:
Oracle Audit[8738]: LENGTH : '142' ACTION :[7] 'CONNECT' DATABASE USER:[1] '/' PRIVILEGE :[6] 'SYSDBA' CLIENT USER:[5] 'oracle' CLIENT TERMINAL:[0] '' STATUS:[1] '0' DBID:[0]
Fehlerbehebung
Wenn Syslog-Audit-Einträge in /var/log/messages aufgezeichnet werden, stellen Sie sicher, dass /etc/syslog.conf ordnungsgemäß konfiguriert wurde, um „local0.none“ zum Eintrag /var/log/messages hinzuzufügen.