Skip to content

Bei Anruf Reboot – AVM Fritzbox und Repeater mit Ansible neu starten

AVM bietet in ihren Produkten die Webschnittstelle mit dem TR-064 Protokoll an um auf Funktionen von Routern und Repeatern zugreifen zu können. Eine der Möglichkeiten ist, das entsprechende Gerät neu zu starten. Hierzu gibt es bereits einige vorgefertigte Shell Skripte im Netz, jedoch keine Implementierung in ein Ansible Playbook.

Read More »Bei Anruf Reboot – AVM Fritzbox und Repeater mit Ansible neu starten

Bleib mal im Hintergrund – Lang laufende Ansible Tasks im Hintergrund starten

Bei lang laufenden Tasks in einem Ansible Playbook (z.B. Datenbank Importe usw.) kann es vorkommen, dass unser Task in einen Timeout läuft weil die SSH Sitzung zurückgesetzt wird. Ansible bietet hier aber die möglichkeit einen solchen Timeout zu umgehen, indem ein Task im “Hintergrund” gestartet wird. Ansible wird dann in einem eingestellten Intervall den Status des Tasks überprüfen und bei Fertigstellung oder Abbruch entsprechend reagieren.

Read More »Bleib mal im Hintergrund – Lang laufende Ansible Tasks im Hintergrund starten

Schieb mal rüber – Replikation der PiHole Konfiguration mit Ansible

PiHole ist ein feines Mittel um lästiges Tracking und unerwünschte Werbung beim Surfen zu vermeiden. Leider ist piHole von Haus aus nicht dafür ausgelegt, dass man seine Installation mit mehreren piHole Systemen hochverfügbar gestaltet. Sollte ein piHole ausfallen, muss erst Ersatz aufgebaut und das letzte Backup eingespielt werden. In meinem Fall ist mein piHole auch noch mein DNS und DHCP Server, was die Sache noch erschwert. Da mir das zuviel Aufwand war und ich noch einen zweiten Raspberry Pi verfügbar hatte, habe ich mir ein Ansible Playbook geschrieben, dass mir die Konfiguration regelmäßig von meinem primären piHole auf ein Standby System überträgt. Im Falle einen Ausfalls, bin ich so mit wenigen Mausklicks wieder Einsatzbereit.

Read More »Schieb mal rüber – Replikation der PiHole Konfiguration mit Ansible

Die Wanne ist voll – Shrink Table in Oracle Datenbanken

Ich gebe es zu, manchmal sind die Regeln einer Oracle DB verwirrend. Darunter fällt wohl auch die Regel der High Water Mark und der Extent-Allokierung.  Es klingt nicht gerade einleuchtend, dass gelöschte Datensätze den vorher benötigten Platz in einem Tablespace nicht wieder freigeben. Das liegt daran, dass ein Segment (wie eine Tabelle) bei Bedarf sogenannte Extents in einem Tablespace allokiert. Ein Extent ist dabei nichts anderes als eine bestimmte Menge an Datenbankblöcken. Bei dieser Allokation wird die High Water Mark des Segments nach oben gerückt. Wenn wir nun Datensätze aus einer Tabelle löschen, werden diese allokierten Extents nicht wieder an den Tablespace zurückgegeben. Das heißt also, es wird kein Freiplatz durch das Löschen von Datensätzen erzeugt.

Read More »Die Wanne ist voll – Shrink Table in Oracle Datenbanken

Heiße Teile – Identifizieren von Hot Blocks in Oracle

Heute wollen wir uns dem Thema Hot Blocks widmen bzw. wie identifizieren wir Hot Blocks und vor allem wie lösen wir das Problem der Buffer Busy Waits.

Seit Oracle 10.1 macht es uns der AWR Report ein wenig leichter Buffer Busy Waits zu unterscheiden. Aber das Problem ist das selbe geblieben. So gibt es z.B. in einem AWR Report das Wait Event Read by other Session was in früheren Versionen nicht separat aufgelistet wurde, sondern als Buffer Busy Wait ausgegeben wurde.

Read More »Heiße Teile – Identifizieren von Hot Blocks in Oracle