Skip to content

Databases

Pythia – An Oracle DB Automation Story – Chapter 2 – Install RDBMS and Database

The most basic Feature of Pythia is, to install an Oracle Database RDBMS on a Linux machine of your choice. The RDBMS Installation will most likely be combined with other Tasks (TAGs) you want to have done by Pythia. Beside the RDBMS, we will build us an Oracle Database in this article. All done by one line of command.

Read More »Pythia – An Oracle DB Automation Story – Chapter 2 – Install RDBMS and Database

Pythia – An Oracle DB Automation Story – Chapter 1

Maintaining an Oracle Database can be a pain sometimes. I admit that. It’s a massive Software, with so many facets in features, functionality and restrictions. Having to manage several hundreds (if not thousands) of Oracle Databases in my former job, I was searching for some automation to make my life easier. And also here, there are many tools that answer some of my needs but nothing seemed really usable for my individual needs. Second, I was eager to get knowledge in Ansible as an Automation Tool by myself. So I decided to write it on my own. This is the story behind Pythia, my Oracle Database Automation Toolset.

Read More »Pythia – An Oracle DB Automation Story – Chapter 1

Oracle Datenbank in Docker betreiben

Eine Oracle Datenbank in Docker zu betreiben ist im Jahr 2021 keine Selbstverständlichkeit. Nein im Gegenteil, es gibt zwar einige vorgefertigte Docker Images bzw. Hilfsmittel um diese zu erstellen, diese kommen aber mit einigen Einschränkungen daher. Grund für mich, meine eigene (angepasste) Anleitung zur Erstellung eines Docker Images für eine Oracle Datenbank zu schreiben. Aber leider kommt auch diese nicht ohne Einschränkungen daher.

Read More »Oracle Datenbank in Docker betreiben

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

Ohne Umwege – Oracle Datenbanken mit Direct NFS betreiben

Seit der Version 11g bietet die Oracle Datenbank die Möglichkeit, Datenbankinhalte die auf einem NFS Share abgelegt sind, direkt (also ohne das Betriebssystem) über die DB Software (RDBMS) anzubinden. Den dazu benötigten Treiber bringt die Oracle Software selbst mit. Das bietet mehrere Vorteile, vor allem, dass die Anbindung an den NFS Server über mehrere Pfade Redundant aufgebaut werden kann. Mit einigen Befehlen ist die Einrichtung abgeschlossen.

Read More »Ohne Umwege – Oracle Datenbanken mit Direct NFS betreiben

Der letzte Strohhalm – Daten mit dem Logminer wiederherstellen.

Folgendes Szenario. Eine Datenbank ist aufgrund eines Storage Fehlers komplett verloren gegangen. Alle Datendateien sind unwiederbringlich verloren. Das Backup wurde zwar gemacht, ist jedoch ebenfalls aufgrund des Storage Fehlers verloren. Einzig ein Datapump Export der Datenbank der einige Wochen zuvor erzeugt wurde und die archivierten Redo Informationen sind lückenlos vorhanden.

Read More »Der letzte Strohhalm – Daten mit dem Logminer wiederherstellen.

Passt das? – Oracle Database COMPATIBLE Parameter und Guaranteed Restore Points – ORA-38880

Der Parameter COMPATIBLE in einer Oracle Datenbank steuert wie sich bestimmte Features der Datenbank “abwärts” kompatibel verhalten. Das heißt, wie und mit welcher Datenstruktur Features Daten abspeichern. So kann z.B. eine alte Feature Version (niedrigere COMPATIBLE Version) nicht mit den Daten umgehen, die durch eine neue Feature Version erstellt wurden. Weiterhin kann sich das Verhalten der Datenbank zwischen den einzelnen Feature Versionen ändern.

Read More »Passt das? – Oracle Database COMPATIBLE Parameter und Guaranteed Restore Points – ORA-38880