TOP 10 Monitoring SQL Befehle



Ähnliche Dokumente
Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Datensicherung EBV für Mehrplatz Installationen

Adminer: Installationsanleitung

OP-LOG

Sichern auf den zentralen TSM-Servern unter Windows. Sichern auf den zentralen TSM-Servern unter Windows

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Wiederherstellen der Beispieldatenbanken zum Buch Microsoft Project 2010

Informatik 12 Datenbanken SQL-Einführung

Anleitung zur Daten zur Datensicherung und Datenrücksicherung. Datensicherung

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

Backup Premium Kurzleitfaden

FIS: Projektdaten auf den Internetseiten ausgeben

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware

Internet online Update (Mozilla Firefox)

1. Loggen Sie sich mit Ihrem Benutzernamen in den Hosting-Manager (Confixx) auf Ihrer entsprechenden AREA ein.

Revit Modelle in der Cloud: Autodesk 360 Mobile

Nach der Installation der Multi-User-Version von CUBUS können Sie mit dem Administrator- Tool Benutzergruppen und Benutzer einrichten.

Hardware - Software - Net zwerke

Überprüfung der digital signierten E-Rechnung

Bitte geben Sie hier den Benutzer cubusadmin und das gleichnamige Passwort ein.

Elexis-BlueEvidence-Connector

Outlook 2000 Thema - Archivierung

Version NotarNet Bürokommunikation. Bedienungsanleitung für den ZCS-Import-Assistenten für Outlook

SEMINAR Modifikation für die Nutzung des Community Builders

Handout Wegweiser zur GECO Zertifizierung

3. Neuen Newsbeitrag erstellen Klicken Sie auf das Datensatzsymbol mit dem +, damit Sie einen neuen Newsbeitrag erstellen können.

Internet online Update (Internet Explorer)

Backup der Progress Datenbank

Information zum SQL Server: Installieren und deinstallieren. (Stand: September 2012)

Whitepaper. Produkt: combit Relationship Manager / combit address manager. SQL Server Backup mit SQLBackupAndFTP

Wie der Shop funktioniert!

Quickstep Server Update

Der Kalender im ipad

How to do? Projekte - Zeiterfassung

Anleitung zur Datensicherung und -rücksicherung in der VR-NetWorld Software

Umgang mit der Software ebuddy Ändern von IP Adresse, Firmware und erstellen von Backups von ewon Geräten.

Inkrementelles Backup

Oracle 10g Einführung

Tevalo Handbuch v 1.1 vom

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

SICHERN DER FAVORITEN

Leichte-Sprache-Bilder

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.

Bezahlen von Lohn und Gehalt per SEPA

FastViewer Remote Edition 2.X

Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10. Technische Informationen (White Paper)

Teilnehmerlogin VHS Meppen Anleitung, Stand:

Anleitung über den Umgang mit Schildern

Vorgehensweise bei Lastschriftverfahren

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage

macs Support Ticket System

Installationsanleitung dateiagent Pro

Bedienungsanleitung für den Online-Shop

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.

GeoPilot (Android) die App

MSDE 2000 mit Service Pack 3a

IMAP Backup. Das Programm zum Sichern, Synchronisieren, Rücksichern und ansehen von gesicherten Mails. Hersteller: malu-soft

Microsoft Access 2013 Navigationsformular (Musterlösung)

Standard Daten-Backup-Script

M-net -Adressen einrichten - Apple iphone

Abb. 1 Einstellungen Supervisor Oprionen Gebäude-/Verteilertätigkeit

FrogSure Installation und Konfiguration

Startseite, wenn Sie auf unseren Online-Shop gehen

Internationales Altkatholisches Laienforum

Artikel Schnittstelle über CSV

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Evident VDDS-Anbindung von MIZ

MARCANT - File Delivery System

Der große VideoClip- Wettbewerb von Media Markt.

Lehrer: Einschreibemethoden

Meldung Lokale Anwendung inkompatibel oder Microsoft Silverlight ist nicht aktuell bei Anmeldung an lokal gespeicherter RWE SmartHome Anwendung

Erfahrungen mit Hartz IV- Empfängern

Installationsbeschreibung Import / ATLAS / PV Zollsystem für die EDV-Abteilung

Regeln für das Qualitäts-Siegel

Schrittweise Anleitung zur Installation von Zertifikaten der Bayerischen Versorgungskammer im Mozilla Firefox ab Version 2.0

Anleitung MEZGER Online-Shop

Sicherung persönlicher Daten

Was meinen die Leute eigentlich mit: Grexit?

Anleitung für die Hausverwaltung

Anmeldeverfahren. Inhalt. 1. Einleitung und Hinweise

ISA Server 2004 Protokollierung - Von Marc Grote. Die Informationen in diesem Artikel beziehen sich auf:

Loggen Sie sich in Ihrem teamspace Team ein, wechseln Sie bitte zur Verwaltung und klicken Sie dort auf den Punkt Synchronisation.

Instruktionsheft für neue Webshop Hamifleurs

Dokumentation für die software für zahnärzte der procedia GmbH Onlinedokumentation

Einrichten eines Postfachs mit Outlook Express / Outlook bis Version 2000

,QVWDOODWLRQXQG.RQILJXUDWLRQYRQ,QWHUEDVH

Konvertieren von Settingsdateien

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser

Easy-Monitoring Universelle Sensor Kommunikations und Monitoring Plattform

Konfiguration des ewon GSM Modems Kurzbeschreibung zum Aufbau einer GSM Verbindung

TeamSpeak3 Einrichten

Leitfaden zur Durchführung eines Jahreswechsels in BüroWARE 5.x

Anleitung Visual C Express

1) Farbsteuergerät in der Nikobus-Software unter Modul zufügen hinzufügen.

Lehrer: Kurs wiederherstellen

Schuljahreswechsel im Schul-Webportal

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version September

Transkript:

TOP 10 Monitoring SQL Befehle Autor(en): Marco Patzwahl, MuniQSoft GmbH Viel Kunden haben schon mehr als 100 Datenbanken zu betreuen. Da kommt man ohne automatisierte Überwachungsskripte nicht sehr weit. Deswegen soll Ihnen diese kleine Sammlung an SQL Befehlen helfen, das Monitoring Ihrer Datenbanken zu vereinfachen. Der Fokus liegt dabei auf der Datenbank-Version 12.1, jedoch sind Anmerkungen bei den Befehlen, wie man diese auch in "alten" DB Versionen verwenden kann. 1. Alertlog überwachen Ab der Version 11.2.0.2 kann die Alert Datei (die XML-Variante) mittels ausgewertet werden: to_char(originating_timestamp,'dd.mm.yyyy Hh24:MI:SS') as log_date, message_text FROM v$diag_alert_ext WHERE trim(component_id) = 'rdbms' AND (message_text like '%ORA-%' OR message_text like '%TNS-%' OR message_text like '%Checkpoint not%') AND originating_timestamp > sysdate-interval '1' hour; Wenn die Abfrage sehr lange läuft, ist die XML-Datei wahrscheinlich schon sehr groß geworden. Sie können sie entweder manuell löschen (nachdem Sie sie evtl. vorher gesichert haben). Alternativ kann auch Oracle die Datei löschen (ersetzen Sie Instance-Name und DB- Name bei Ihnen entsprechend): dos/unix> adrci exec= "set home diag/rdbms/o12c/o12c; purge - age 0 -type alert" 2. Listener.log überwachen Ab der Version 11.2.0.2 kann die listener.log Datei (die XML-Variante) mittels ausgewertet werden:

to_char(originating_timestamp,'dd.mm.yyyy Hh24:MI:SS') as log_date,message_text FROM v$diag_alert_ext WHERE trim(component_id) ='tnslsnr' AND message_text like '%TNS-%' AND originating_timestamp>sysdate-interval '1' hour; Dieser Ansatz funktioniert nur, wenn der Listener seine Listener.log und log.xml in die diag Struktur schreibt. Zuständig dafür ist der listener.ora Parameter: DIAG_ADR_ENABLED_<listener_name>= ON OFF Wenn Sie ein anderes Verzeichnis angeben, landen die Daten nicht mehr in der internen diag Struktur! ADR_BASE_< listener_name > = <pfad > 3. Backups überwachen Prüfen Sie täglich, ob die letzten Backups gelaufen sind. Wenn nicht, wiederholen Sie das Backup. start_time, to_char(end_time,'hh24:mi:ss') end_time, elapsed_seconds as elap_sec,input_type, status,output_device_type as out_device, round(input_bytes/1024/1024/1024) INPUT_GB, round(output_bytes/1024/1024/1024) OUTPUT_GB FROM v$rman_backup_job_details r ORDER BY 1; Zeitintervall für Überwachung: einmal am Tag 4. Welche Datenbank-Objekte sind invalid? Sie bekommen für jedes Schema maximal eine Zeile nur mit der Anzahl der ungültigen Objekte angezeigt. Wenn keine Zeile zurückkommt, ist auch kein Objekt defekt! o.*,i.ind_i as "Ind (I)" FROM ( o.owner,

count( CASE WHEN o.object_type= 'TABLE' AND o.status<>'valid' THEN 'x' END ) as "TAB (I)", count( CASE WHEN o.object_type= 'VIEW' AND o.status<>'valid' THEN 'x' END ) as "Views (I)", count( CASE WHEN o.object_type= 'CLUSTER' AND o.status<>'valid' THEN 'x' END ) as "Clus (I)", count( CASE WHEN o.object_type= 'TYPE' AND o.status<>'valid' THEN 'x' END ) as "Type (I)", count( CASE WHEN o.object_type= 'SYNONYM' AND o.status<>'valid' THEN 'x' END ) as "Syn (I)", count( CASE WHEN o.object_type= 'PACKAGE BODY' AND o.status<>'valid' THEN 'x' END ) as "PackB (I)", count( CASE WHEN o.object_type= 'PROCEDURE' AND o.status<>'valid' THEN 'x' END ) as "Proc (I)", count( CASE WHEN o.object_type= 'TRIGGER' AND o.status<>'valid' THEN 'x' END ) as "Trig (I)", count( CASE WHEN o.object_type= 'FUNCTION' AND o.status<>'valid' THEN 'x' END ) as "Func (I)" FROM all_objects o GROUP BY o.owner) o, ( owner, count( CASE WHEN status NOT IN ('VALID','N/A') THEN 'x' END ) as ind_i FROM all_indexes i GROUP BY owner) I WHERE o.owner=i.owner AND "TAB (I)" + "Views (I)" +"Clus (I)" + "Type (I)" + "Syn (I)" + "PackB (I)" + "Proc (I)" + "Trig (I)" + "Func (I)" + i.ind_i>0; Zeitintervall für Überwachung: einmal am Tag

5. Tabellen/Dateien mit Blockkorruption? Bei dieser Abfrage sollte dreimal 0 zurückkommen, sonst sollten Sie die Views jeweils nach den Details durchforsten. ( count(*) FROM gv$backup_corruption) as BAK_CORRUPT, ( count(*) FROM gv$copy_corruption) AS COPY_CORRUPT, ( count(*) FROM gv$database_block_corruption) AS DB_BLOCK_CORRUPT FROM dual; Zeitintervall für Überwachung: einmal am Tag 6. Zustand der DB allgemein Zeigt Ihnen, ob die Instanz hochgefahren wurde und Anmeldungen der Benutzer möglich sind. Normale DB / RAC: instance_name, host_name, startup_time, status, logins FROM gv$instance ORDER BY 1; PDB (ab 12.1) con_id, name, open_mode FROM v$pdbs ORDER BY 1; 7. Freier Speicherplatz in der Fast Recovery Area Falls Sie die FRA für Ihre Instanz einsetzen, sollten Sie regelmäßig prüfen, ob dort noch genug freier Speicherplatz zur Verfügung steht. Falls nicht, sollten Sie nur mit dem RMAN alte Dateien löschen oder alternativ die Fast Recovery Area vergrößern. round((space_limit)/1024/1024/1024,2) "Max Space (GB)",round((space_limit-space_used)/1024/1024/1024,2) "Free Space

(GB)" FROM v$recovery_file_dest; 8. Gesperrte und abgelaufene Accounts Hier sehen Sie alle Accounts, die derzeit gesperrt sind. Damit nicht die Oracleeigenen, bereits vorgesperrten Accounts mit angezeigt werden, sollte man diese herausfiltern. Bis 12.1 username, account_status, lock_date, expiry_date FROM dba_users WHERE username NOT IN ( distinct schema_name FROM v$sysaux_occupants) AND username NOT IN ('APPQOSSYS','FLOWS_FILES','XS$NULL','ORACLE_OCM', 'OUTLN'); Erweitern Sie die Ausschluss-Liste abhängig von Ihrer DB Version Ab 12.1 username, account_status, lock_date, expiry_date FROM dba_users WHERE (oracle_maintained = 'N' OR username IN ('SYS','SYSTEM')) AND account_status <> 'OPEN'; Zeitintervall für Überwachung: alle Stunde 9. Redolog Switches Dieser Select zeigt Ihnen für die letzten 24 Stunden an, wie oft Logswitches unter 1 Minute, zwischen 1 und 5 Minuten, 5 bis 10 Minuten, 10 bis 60 Minuten und über 60 Minuten aufgetreten sind. Ideal wäre ein Bereich von 10-60 Minuten. Wenn Ihre Datenbank darunter liegt, können Sie überlegen, die Redologdateigröße zu verändern.

min(first_time) as start_time, sum("<1min"), sum("1min<x<5min"), sum("5min<x<10min"),sum("10min<x<60min"),sum(">60min") FROM ( first_time, sequence#))*24*60))<=1 then 1 end as "<1min", sequence#))*24*60))>1 AND (round((first_time-lag(first_time,1)over ( order by sequence#))*24*60))<=5 then 1 end as "1min<x<5min", sequence#))*24*60))> 5 AND (round((first_time-lag(first_time,1)over ( order by sequence#))*24*60))<=10 then 1 end as "5min<x<10min", sequence#))*24*60))> 10 AND (round((first_time-lag(first_time,1)over ( order by sequence#))*24*60))<=60 then 1 end as "10min<x<60min", sequence#))*24*60))>60 then 1 end as ">60min" FROM v$loghist WHERE first_time > (sysdate - 1)); Zeitintervall für Überwachung: alle Stunde 10. Wachstumsmöglichkeiten der TBS Der nächste zeigt den aktuellen Füllpegel der Tablespaces und die maximale Größe, die er laut seiner Einstellung erreichen könnte. Ob die Platten diesen Platz wirklich zur Verfügung stellen könnten, sieht er jedoch nicht! tum.tablespace_name,round(tum.used_space*t.block_size/1024/102 4/1024,2) used_gb, round(tum.tablespace_size*t.block_size/1024/1024/1024,2) max_possible_size_gb,round(used_percent,2) as used_percent

FROM dba_tablespace_usage_metrics tum, dba_tablespaces t WHERE tum.tablespace_name = t.tablespace_name; Eine digitale Version dieses Artikel erhalten Sie unter: http://www.muniqsoft.de/tipps/publikationen.htm Kontakt: Marco Patzwahl m.patzwahl@muniqsoft.de