Um in der Multitenant Umgebung - sprich bei CDB (Container Database) / PDB (Pluggable Database) - nicht alles doppelt und dreifach zu überwachen sind gerade im RAC Umfeld ein paar kleine Kniffe zu beachten. Für das Monitoring kann es in den meisten Fällen ausreichen mit einem Connect auf die CDB auch die Informationen aller PDBs mit abzufragen. So lassen sich mit einer Abfrage die Informationen z. B. aller Tablespaces oder alle invalide Objekte der CDB sowie der dort laufenden PDBs anzeigen
Ist es nicht verwirrend, dass UEK7 die Bezeichnung „5.15.0“ trägt und nicht sämtliche Oracle Linux Kernels „uek“ in ihrer Bezeichnung haben? Dieser Monatstipp soll zu den Kernel-Editionen und -Versionen unter Oracle Linux Klarheit bringen und zeigen wie man Kernels in einem System verwaltet..
SecureFile LOB gibt es seit Oracle Version 11g. In der Version 21.3 kann man zum ersten Mal auch den Shrink durchführen. Der Datenbank-Parameter compatible muss dafür mindestens 20.0.0.0.0 sein. Im Test wollen wir Shrink Potential bei Basic LOBs und Securefiles bei unterschiedlichem Füllgrad und LOB Größen vergleichen. Die Performance wird nicht analysiert. Die Datenbank hat Version 21.3, Parameter compatible ist,21.0.0, Blockgröße 8K.
Im Alertlog einer 19c SE2 Datenbank erscheint immer wieder die Fehlermeldung ORA-38153: Software edition is incompatible with SQL plan management. In diesem Artikel erfahren Sie, weshalb diese Meldung erscheint und wie Sie diesen Fehler wieder loswerden.
Zwar ist bereits seit der Version 12 (2013) die Multitenant-Architektur eingeführt worden, diese hat allerdings bei dem ein oder andern Kunden bislang keine Beachtung gefunden. Mit der Oracle Version 21 wird man aber nicht mehr umhin kommen diese Architektur umzusetzen, da ab dann keine non-CDB Datenbanken mehr erstellt werden können. In diesem Monatstipp möchte ich kurz auf die ersten Schritte eingehen die notwendig sind, nachdem eine Pluggable Database (PDB) erstellt wurde, wie man sich als DBA an einer PDB anmelden kann und wie man sich die Umgebung für eine PDB unter Linux einrichten kann.
Gerade bei größeren Abfragen ist es immer sinnvoll, Text zu "sparen“, wenn dies ohne zu große Komplexität und Performance-Einbußen möglich ist. Bis einschließlich 19c konnte man dies hauptsächlich über PL/SQL-Funktionen und Views in SQL abbilden. Hierbei funktionieren Views nur auf Tabellenebene und klassische PL/SQL-Funktionen führen in der Regel zu einem Kontext Switch. Mit dem in 20c hinzugekommenen SQL Macros gibt es hier nun eine weitere Möglichkeit.
Nach zig Jahren hat Oracle das Verhalten des listener.log angepasst und mit der Version Oracle 19 ein Logrotate auch bei den Textdateien eingeführt, das jedoch nicht 100%ig deaktiviert werden kann.
Problem
Auf einem Kundensystem, in dem pro Tag mehrere Gigabyte Logdateien pro Listener anfallen, müssen die Plaintext Dateien fortlaufend über mehrere Monate gehalten werden. Die listener.log Datei soll dazu einmal pro Tag abgezogen und komprimiert werden. Leider fallen seit dem Update auf die Oracle Version 19 ohne Anpassung des Listeners jetzt mehre einige hundert Megabyte große Dateien pro Tag an, die fortlaufend nummeriert werden.
In einer komplexen Enterprise Manager Architektur mit vielen zu überwachenden Komponenten ist es von Vorteil, eine einheitliche Kategorisierung für die auf den Zielsystemen zu installierenden Software-Pakete und Plugins im Bereich der Agenten vorzunehmen.
Dieser Monatstipp beschreibt die Installation eines Enterprise Manager Agenten als Referenz-System sowie die Generierung eines sogenannten „Gold-Image“, das als Basis für die Verteilung auf neu zu installierenden als auch auf bereits existierenden Agenten-Systemen dient.
Ein Gold Image umfasst einheitliche Release-und Patchstände und die für die Agentensoftware verfügbaren Plugins, um alle auf den Host-Systemen betriebenen Applikationen (Oracle- und Thirdparty-Produkte) überwachen zu können. Eine Liste aller Plugins kann dem Kapitel „Plug-ins Resources“ innerhalb der Oracle Enterprise Manager Cloud Control 13.5 Dokumentation entnommen werden.
Die Erstellung und Verteilung erfolgt mit dem Command-Line Utility „emcli“, um diese Prozesse ggf. auch automatisieren zu können. Ansonsten kann auch die Web-Oberfläche benutzt werden.
STATSPACK-Reports sind seit Oracle Urzeiten das Mittel der Wahl, um die Performance-Engpässe einer Datenbank identifizieren zu können. Trotzdem tun sich sowohl Neulinge im Gebiet der Oracle Datenbanken als auch langjährig tätige Datenbankadministratoren und Datenbankadministratorinnen immer wieder mal schwer mit der Interpretation von STATSPACK-Reports. Das ist verständlich, denn die dort gesammelten Daten sind schlichtweg erschlagend in ihrer Fülle. Aber – eigentlich ist es leicht, so einen Report auszuwerten. Und genau das möchte der vorliegende Monatstipp an Hand eines Praxisbeispiels vermitteln.
An dieser Stelle auch ein großes DANKE an einen unserer Kunden, der uns die vorliegenden STATSPACK-Reports für diesen Monatstipp freundlicherweise zur Verfügung stellte.
Anmerkung: Vor vielen Jahren kamen für Nutzer der Enterprise Edition mit der Option Diagnostic-Pack AWR-Reports dazu. Die Auswertung von AWR-Reports unterscheidet sich im Grundsatz nicht von der von STATSPACK-Reports.
Jeder DBA kennt das, Sie sind über SSH mit Ihrem Server verbunden und sind gerade dabei, eine Aufgabe zu erledigen, die viel Zeit in Anspruch nimmt, und plötzlich bricht Ihre Verbindung aus irgendeinem Grund ab, und Sie verlieren Ihre unvollendete Arbeit. Das kann sehr ärgerlich sein, aber glücklicherweise gibt es ein kleines Dienstprogramm namens „screen“, mit dem Sie sich zu einer vorherigen Sitzung erneut verbinden können.
Sie wollten schon immer mal eine Oracle Datenbank ohne Zuhilfenahme der DBCA GUI erstellen. In diesem Artikel stelle ich Ihnen die Silent Database Creation Methode des DBCA unter 19c vor.
Wie schon im Tipp August 2017 beschrieben, ist es möglich, die Datenmenge von STATSPACK einzuschränken. Nicht nur, indem man die Intervalle und Aufbewahrungszeit anpasst, sondern auch indem man die eigentlich gesammelten Daten begrenzt. Leider gibt es keinen gängigen Weg, um die sogenannten Thresholds (Deutsch: Schwellwerte) zu ermitteln. Dieser Monatstipp soll sich nun mit einer möglichen Herangehensweise beschäftigen. Dieser kann als grober Leitfaden, aber nicht als allgemein gültiger Weg gesehen werden, wenn Ihr STATSPACK Tablespace zu viel Platz belegt und das weiter beschränken durch die Intervalle und Aufbewahrungszeit nicht möglich ist.
Der Monatstipp in aller Kürze: sollten Sie beabsichtigen, das Systemprivileg UNLIMITED TABLESPACE zu bereinigen, sprich: zu entziehen, dann prüfen und protokollieren Sie unbedingt VORHER, ob die betroffenen User zusätzlich separat vergebene Quota auf einzelne Tablespaces haben. Denn: in einer bestimmten Konstellation verschwinden einzeln vergebene Quotas mit dem Entzug von UNLIMITED TABLESPACE ebenfalls und müssen somit - falls gewünscht - erneut vergeben werden.
Im Folgenden werden zwei Konstellationen von Quotavergabe und -entzug mit unterschiedlichen Effekten beschrieben. Nachgestellt haben wir dieses Verhalten auf den Oracle Datenbankversionen 11.2.0.4 und 19.10, vermutlich betrifft es jedoch alle Versionen.
Bug oder Feature? – Diese Frage erforschten wir nicht abschließen. Wir tendieren zu „Bug“, freuen uns aber auch über Leserkommentare, die uns das hier beschriebene Verhalten als „expected behaviour“ erklären können. Für die Praxis ist die Frage jedoch ohnehin nicht relevant.
In diesem Artikel wird ein kleines neues Feature beschrieben, das mit Oracle 12C R2 eingeführt wurde, und für viele DBA’s sehr nützlich ist: SQL*Plus history
Seit Jahren gibt es in den Nachrichten Meldungen bezüglich Blockchains. Überall hört man von Assets und Firmen, die sich dieser Technologie bedienen. Jetzt hat auch Oracle das Konzept Blockchain aufgegriffen. Doch wie genau funktioniert eine Blockchain in einer Datenbank? Wie administriert man diese und welche Vorteile / Nachteile hat sie? Das schauen wir uns im Detail an.
Ein regelmäßiger Export auf einer Oracle Datenbank ist anzuraten und kann Ihnen viel Arbeit ersparen, wenn zum Beispiel versehentlich Tabellen gelöscht werden. Nicht minder wichtig ist es, diesen Export auch regelmäßig zu überprüfen, damit er im Fehlerfall auch funktionsfähig und komplett ist. Neben der Überprüfung auf Richtigkeit des Parameterfiles („habe ich alle Objekte dabei, die ich haben wollte?“) und auf Fehler im Logfile, fällt häufig auch der Blick auf die Größe des Exportfiles. Dass es kleiner ist als die Größe der laufenden Datenbank, ist hinreichend bekannt. Nun kann es in Extremfällen jedoch dazu kommen, dass die Exportgröße auf den ersten Blick sehr unglaubwürdig ist. Dieser Tipp erklärt zum einen, warum der Export kleiner ist als die Datenbank selbst und wie man glaubwürdig überschlagen kann, wie groß das Exportfile sein wird.
Ein Kunde führt regelmäßig einen Datenbank-Backup mit dem Recovery Manager (RMAN) durch, möchte aber gerne von Zeit zu Zeit wissen, inwieweit seine Datenbank recovery-fähig ist. Leider hat der Kunde kein Testsystem zur Verfügung und auf eine reine Simulation des Restores mit RMAN möchte er sich nicht verlassen. Es muss der Restore-Test auf dem Produktionssystem durchgeführt werden, aber natürlich darf der Produktionsbetrieb nicht beeinträchtigt oder gar die Datenbank überschrieben werden. Erschwerend kommt hinzu, dass es sich um einen Oracle Real Application Clusters (RAC) mit dem Automatic Storage Management (ASM) als Speicherverwaltungs-System handelt.
Da der Recovery-Test möglichst realitätsnah durchgeführt werden soll, wünscht der Kunde auch keine Durchführung mit dem RMAN “Duplicate“-Kommando. Der vorliegende Monatstipp beschreibt im Detail die Vorgehensweise, um mit Hilfe des RMANs eine Kopie der Produktionsdatenbank auf dem gleichen Server-System zu erstellen. Die Vorgehensweise ist identisch mit den im Memory-Skript des RMAN “Duplicate“ ablaufenden Kommandos.
Wenn wieder einmal ein zentraler produktiver Datenbank-Account gesperrt wurde und es nicht an fehlerhaften Login-Versuchen lag, ist gerne auch mal das Datenbank-Profil des Benutzers schuld.
Gerade für produktive Applikations-Accounts, oft auch technische DB-Benutzer genannt, bedeuten abgelaufene Passwörter oder erzwungene Passwortänderungen oftmals viel Aufwand und ungeplanten Stress für die Verantwortlichen auf Seiten der Applikation, aber auch der Datenbank. In vielen Fällen wurde hier vom DBA einfach vergessen, diesem Benutzer ein anderes Datenbank-Profil, als das DEFAULT-Profil, zuzuweisen.
Es ist nämlich eine (unpraktische) Eigenheit des standardmäßigen DEFAULT-Profils, dass Kennwörter nach 180 Tagen ablaufen.
Gut also, dass man in einer Oracle Datenbank auch die Lebensdauer von Passwörtern steuern kann. Datenbank-Profile können aber auch noch mehr.
Seit April 2020 unterstützt die Muniqsoft auch die Administration von PostgreSQL-Datenbanken. Ein Grund mehr, diesen Tipp einem wichtigen Bestandteil dieser Datenbank zu widmen, dem sogenannten „Vacuuming Job“. Dabei durchleuchten wir verschiedene Optionen und zeigen warum der „VACUUM FULL“ nicht unbedingt besser ist als reguläre und automatische Vacuums.
Der vorliegende Monatstipp behandelt das Thema incomplete Recovery (Point-in-Time-Recovery, Recovery-until-SCN, Recovery-until-cancel) mit dem RMAN. Dabei wird insbesondere auf die Themen Konsistenz der Datenbank Backups, SCN, fuzzy Datenfiles und fractured Blöcke eingegangen. Die dargestellten Backup- und Recovery-Mechanismen gelten auch für vollständige Recoveries, aber an Hand der incomplete Recoveries wird die faszinierende Funktionsweise deutlicher.
Zur besseren Anschaulichkeit wurden Tests auf einer Oracle Datenbank, Version 19.3., Enterprise Edition durchgeführt. Die Backups erfolgten in Form von Backupsets.
Es war bis jetzt ein relativ aufwendiges Verfahren, die “least privilege” Best Practices in einer Datenbank umzusetzen, wenn nicht schon beim Datenbankdesign starker Wert darauf gelegt wurde. Mit dem neuen Feature „Privilege Analysis“ in der Version 19c liefert Oracle ein Tool, mit dem man auch bei einem schon abgeschlossenen Datenbankdesign einen guten Ansatzpunkt für das nachträgliche Einführen der “least privilege” Best Practices hat.
Unser Kunde hatte die Anforderung, seinen Datenbank-Storage auf das System eines anderen Plattenherstellers umzuziehen. Das Vorhaben sollte mit möglichst wenig Einfluss auf den Produktionsbetrieb im Online-Modus durchgeführt werden. Die beteiligten Datenbankserver beinhalteten die Oracle Grid Infrastructure 12.1.0.2 mit ASM 12.1.0.2 sowohl in einer Restart- als auch in einer RAC-Umgebung unter Linux 6 und Linux 7. Der Kunde besitzt eine eigene Gruppe für die Storage-Administration, so dass an dieser Stelle der DBA nur die Vorgaben für die Platten aus datenbanktechnischer Sicht definieren muss.
Muniqsoft Consulting unterstützt ihre Kunden bei allen Belangen rund um die Oracle Datenbank. Auch mit speziellen Themen, die grundsätzlich nicht zu den typischen DBA-Aufgaben gehören wie z. B. „Oracle Text“, sind wir vertraut. Dieser Tipp beschreibt den Lösungsweg eines Problemfalls, der bei einem Kunden aufgetreten ist. Wenn Sie bereits grundlegende Kenntnisse mit „Oracle Text“ haben, dann springen Sie bitte direkt zu Punkt 3. Für die anderen Leser erklären wir zuerst, was „Oracle Text“ ist und wie man damit umgeht. Unter dem letzten Punkt finden Sie Links auf weitere von uns verfasste Artikel zum Thema „Oracle Text“.
Der SQL Developer ist ein nützliches kostenloses Freeware Tool von Oracle für SQL; PL/SQL und die Verwaltung von Datenbanken. Die meisten Entwickler und Datenbankadministratoren kennen ihn. In diesem Monatstipp stellen wir Ihnen 5 Schnelltipps vor. Bestimmt ist etwas auch für Sie dabei.
Flashback ist ein Begriff, der im Oracle Umfeld im Laufe der Versionen inflationär verwendet wurde. Verschiedene Editionen, verschiedene Technologien, mal im Verbund mit Undo, dann wiederum unter Zuhilfenahme des Recyclebins oder von Flashback Logs – nahezu unendlich erscheinen die Flashback Features. Letztlich bedeutet „Flashback“ Rückblende und im Datenbankumfeld geht es darum, irgendwie Daten „von früher“ zurückzuholen. Dazu gibt es unzählige Möglichkeiten. Dieser Monatstipp soll Licht in das Dunkel der Oracle Flashbacks bringen. Möge der Flashback mit euch sein.
Es kommt in der Praxis immer wieder vor, dass es auf Datenbanken zu einem erhöhten Anfall von Archive Log Dateien kommt. Im besten Fall ist es nur ein „Ausschlag“ in einer Auswertung. Im schlimmsten Fall läuft die entsprechende Festplatte voll und die Datenbank kommt zum Stillstand. Oft ist es schwierig oder nicht möglich „auf die Schnelle“, den oder die Verursacher für das erhöhte Schreibaufkommen zu identifizieren. Hilfestellung kann jedoch die Analyse der Archive Log Dateien selbst geben. Oracle liefert mit dem Logminer das entsprechende Tool gleich mit.
SQL-Statements in Applikationen, die BIND Variablen verwenden, weisen eine Menge Vorteile gegenüber den Applikationen auf, die lediglich Literale in ihren SQL-Statements verwenden. Zu diesen Vorteilen zählen u. a. ein reduziertes hard parsing und damit verbunden geringere Zugriffskonflikte auf Speicherbereiche im SHARED POOL als auch ein geringerer Speicherverbrauch insgesamt, da Cursoren gemeinsam benutzt werden können. In diesem Zusammenhang spielt auch das Feature Adaptive Cursor Sharing (ACS) seit seiner Einführung in der Version 11g R1 eine signifikante Rolle. Doch was verbirgt sich dahinter? Dieser Monatstipp soll dem Leser einen Einblick in die Funktionsweise des Features ACS verschaffen.
Der folgende Monatstipp dreht sich um den Oracle Scheduler mit dessen Hilfe Programs für eine automatische Abfolge konfiguriert werden können. Mithilfe von diversen Rules, die bestimmen was als Nächstes passiert, lassen sich so vielfältige Lösungen für diverse Ausgänge der gestarteten Programs entwickeln. Werfen wir doch einen genaueren Blick darauf:
Der vorliegende Monatstipp beschreibt die Migration mehrerer Produktiv-Datenbanken von Oracle Solaris auf Linux Red Hat mit Hilfe des XTT-Driver Moduls von Oracle im Rahmen eines Rechenzentrum-Umzuges. Wichtige Vorgaben für den RZ-Umzug waren eine möglichst geringe „Downtime“ während der Migration und eine 1:1 Umsetzung der Datenbank-Objekte beim Übergang von einem Betriebssystem mit Big-Endianness auf eines mit Little-Edianness.
Oracle 18c ist die aktuelle Versionen der Oracle Datenbank und seit Februar 2018 für Oracle Cloud und Oracle Engineered System verfügbar. Seit dem 23. Juli 2018 steht Oracle 18c auch für Linux (On-Premise) zur Verfügung.
Dieser Monatstipp zeigt wie man mit Hilfe eines Filters ab der Version Oracle 12c R2 die Menge der SQL-Statements begrenzen kann, die in die SQL-Baseline aufgenommen werden.
Mit der Grid Infrastructure Version 12c R1 ist der ASM Filter Driver (ASMFD) als Nachfolger von ASMLib eingeführt worden.
Der vorliegende Monatstipp beinhaltet die grundsätzliche Funktionalität von ASMFD sowie dessen Abgrenzung zu ASMLib. Weiterhin werden die Schritte bei der Installation der Grid Infrastracture Software zur Erzeugung des ASMFD sowie die Migration von ASMlib zu ASMFD in der Grid Infrastructure Version 12.2.0.1 beschrieben.
Bei "New Features" 12c denkt man gleich an die großen Brocken: Multitenant, InMemory und natürlich auch an die inzwischen allgegenwärtige Cloud, aber jedes neue Release bringt auch Features mit, die für einen mehr "alltäglichen" Gebrauch geschaffen sind.
In diesem Monatstipp geht es um die Migration einer Non-Container Datenbank in die Container Architektur. Dabei soll auch gleichzeitig ein Upgrade auf die Version 12.2.0.1 erfolgen.
Dieser Monatstipp beschreibt aus der Sicht eines Datenbankadministrators, wie man an ein Upgrade herangehen kann und welche Schritte erforderlich sind, um es erfolgreich durchzuführen. Besonderer Wert wird dabei auf die Sicherstellung der Performance gelegt. Nicht eingegangen wird auf konkrete Upgrade-Strategien.
Transparent Data Encryption (TDE) wird dazu verwendet die Inhalte der Datenbank in verschlüsselter Form zu speichern. Der zum Verschlüsseln verwendete Master-Key wird automatisch generiert und ist in einem Wallet gespeichert.
Bereits im August 2017 hat Oracle die Information preisgegeben, dass ab Version 12c R2 eine neue Patch Release Strategie zum Tragen kommen wird. Aber was hat es mit dieser eigentlich auf sich?
Seit Oracle Grid Infrastructure 12.1.0.2 ist die Installation der GIMR-Datenbank zwingend erforderlich. GIMR steht für Grid Infrastructure Management Repository. Doch was verbirgt sich genau dahinter und welchen Nutzen können Sie als DBA daraus ziehen?
STATSPACK ist ein solides Tool zur Auswertung der Performance, das kostenlos mit jeder Oracle Datenbank mitgeliefert wird.
Leider kann es durchaus passieren, dass STATSPACK Teil eines Problems oder sogar selbst zu einem Problem wird. Dies geschieht meist in großen bzw. stark belasteten Datenbanken.
Bei Oracle Datenbanken werden viele Log-Files, Trace-Files, Audit-Files etc. erzeugt, die an unterschiedlichen Orten im Dateisystem und in der Datenbank gespeichert werden.
Sie wollen Performance aus Ihren Skripten, komplexen Kommandos und Statements herausholen? Ressourcen richtig nutzen mit Parallelisierung! Verschiedene einfache Beispiele zur Parallelisierung unter Windows (Batch & Powershell), Linux Shell (parallel & Job Control) und in der Oracle Datenbank anschaulich erklärt.
Firmen, die mit personenbezogenen Daten arbeiten, sind gesetzlich zum Audit verpflichtet. In der Praxis sieht das allerdings häufig so aus, dass man im Vertrauen darauf, dass die Default-Audit Einstellungen von Oracle schon alles Wesentliche abdecken werden, die Inhalte der Audit-Trails eine bestimmte Zeit aufhebt und dann löscht oder irgendwohin exportiert, ohne jemals einen Blick auf den Inhalt geworfen zu haben.
Welcher Datenbankadministrator musste - aus welchem Grund auch immer : Plattenprobleme, Umstieg auf ASM oder wieder zurück, neue Philosophie in der Verzeichnisstruktur - nicht schon einmal Datendateien umziehen bzw. umbenennen? Bis Version 11.2 war dies ausschließlich offline zu erledigen, also immer mit einem Wartungsfenster und Downtime verbunden...
STATSPACK ist ein, mit jeder Oracle Datenbank mitgeliefertes, kostenloses Tool zur Auswertung der Performance. Die meisten Datenbank-Administratoren, die schon einmal mit einem Performance-Problem konfrontiert wurden, haben mit Sicherheit einen STATSPACK-Report erzeugt und diesen analysiert.
Man trifft häufig seit Oracle Version 10g auf Einträge, bei denen ein "cannot allocate new log" in Verbindung mit der Meldung "Private strand flush not complete" auftaucht. Ist das jetzt kritisch oder einfach nur Hintergrundrauschen?
Zur Absicherung Ihrer Datenbank stehen Ihnen diverse Möglichkeiten zur Verfügung. In nachfolgendem Beitrag werden Ihnen zwei verschiedene Methoden vorgestellt, um die Sicherheit Ihres Systems zu erhöhen.
Wie oft möchte man den einen oder anderen Netzwerkparameter aus den Dateien tnsnames.ora, listener.ora oder sqlnet.ora von einem Unix Server auslesen?...Was also tun?
In historisch gewachsenen Datenbank-Landschaften mit vielen Datenbanken kommt es häufig vor, dass die einzelnen Datenbanken über Datenbank-Links verbunden sind...
Es stand bestimmt jeder schon mal vor der Aufgabe, die Logfiles einer Datenbank (und alle dazugehörigen OS Logfiles) zu einem Vorfall zu analysieren, der bereits ein paar Stunden zurück liegt.
Eigentlich erwartet man beim Import eines Dumpfiles einer Oracle Datenbank der Version 11.2.0.4 in eine andere mit der gleichen Version, den gleichen Schemata und den gleichen Tablespaces keine Probleme. Aber was machen Sie, wenn Sie folgende Fehlermeldung erhalten?
Vermutlich hat jeder von uns schon einmal ein Ticket (Service Request) bei Oracle erstellt. Doch was ist zu tun, wenn sehr dringend Hilfe benötigt wird? Ab wann erstellt man ein "Prio 1" Ticket? Und was muss man dabei alles beachten? All diese Fragen sollen in diesem Monatstipp geklärt werden.
Ein Kollege wollte kürzlich wissen, wie man das Statement eruieren könnte, das nachts für den folgenden Eintrag im Alert.log der Datenbank sorgte: ORA-1652...
In diesem Artikel folgt zunächst eine Ergänzung zum Monatstipp OS Monitoring mit "OSWatcher Black Box" (7.3.0). Im Anschluss stelle ich das Tool "OSWatcher Black Box Analyzer" vor, mit welchem man die gesammelten Daten grafisch auswerten kann.
Der Einsatz von Virtualisierung ist inzwischen weit verbreitet und erfreut sich weitreichender Akzeptanz. Viele Bereiche der IT-Infrastruktur sind bereits virtualisiert, meist sind die Oracle Datenbanken die Nachzügler in diesem Bereich. Dieser Artikel soll Ihnen einen Einblick in die Grundlagen gewähren, die bei einem Umzug auf eine virtuelle Umgebung zu beachten sind.
Inkrementelle Backups sichern nur geänderte Blöcke, diese können differenziell (default) oder kumulativ sein. Differenzielle Backups sichern alle Blöcke, die seit dem letzten Backup mit dem selben oder dem nächst niedrigeren Level geändert wurden. Kumulative Backups sichern alle Blöcke, die seit dem letzten Backup mit dem nächst niedrigeren Level geändert wurden, sie dauern länger als inkrementelle differenzielle Backups. Dafür können sie das Recovery beschleunigen.
Seit Oracle 11g kann ein Datenbank-Klon aus einer laufenden Produktionsumgebung erzeugt werden. Die nachfolgende, schrittweise Prozedur gibt Ihnen eine Hilfestellung, um eine Datenbank erfolgreich zu duplizieren. Zunächst müssen Sie jedoch etwas Vorarbeit leisten und ein paar Grundvoraussetzungen schaffen bzw. diese überprüfen.
Die Erstellung von Statistiken über Datenbank-Objekte wie Tabellen oder Indizes ist seit der Einführung des kostenbasierenden Optimizers ein absolutes Muss. Die Qualität der Statistiken entscheidet darüber, ob ein SQL-Statement performant in der Datenbank verarbeitet werden kann oder nicht.
Seit dem Erscheinen der Oracle Datenbank 12c wurde eine Reihe von Security Features, die bisher Bestandteil der Advanced-Security-Option (ASO) waren, als Feature für die Datenbank verfügbar gemacht.
Die SQL*Plus Hilfe war bis zur Version 8.1 eigentlich recht hilfreich, da sie bei der Syntax von SQL und PL/SQL immer recht gut weitergeholfen hat. Leider wird dieser Bereich von Oracle nicht mehr gepflegt, es wurde nur noch die SQL*Plus Syntax in der Hilfe gelassen. Es ist Zeit, hier etwas zu verbessern.
Als Administrator steht man immer wieder einmal vor der Aufgabe mehrere Datenbanken der unterschiedlichsten Version verwalten und administrieren zu müssen. Dabei ist es dann auch vorteilhaft, aus lizenztechnischen Gründen zu wissen, um welche Datenbank-Version es sich genau handelt.
Installiert man die Oracle Datenbank Software, z. B. 11.2.0.3, so hat man alles was man braucht, um mit Perl SQL Statements auf einer lokalen oder entfernten Datenbank zu verarbeiten. Wenn sie aber lokal keine Perl Datenbank-Umgebung zur Verfügung haben, dann können Sie eine eigene Perl Umgebung mit dem DBI/DBD und dem Oracle Instant Client aufbauen.
Oracle bietet mit der Oracle Text Option eine kostenlose und in allen Editionen enthaltene Möglichkeit der Volltextsuche. Eine kleine Einführung dazu gab es schon in unserem Monatstipp vom Februar 2010. Carsten Czarski und Ulrike Schwinn von Oracle haben zu diesem Thema einen sehr informativen Blog eingerichtet .
Einige von Ihnen haben bereits STATSPACK auf Ihrer produktiven Datenbank installiert. Damit können (Performance-) Informationen über viele Bereiche einer Oracle Datenbank gesammelt werden, um diese dann zu einem späteren Zeitpunkt auswerten zu können.
Wir kennen es wahrscheinlich alle und hoffen, dass es nie passieren wird: der Disasterfall - der Datenträger mit den Datendateien der Datenbank geht unwideruflich verloren.
Sie betreiben Ihre Oracle Datenbank unter Windows und Ihnen geht der lokale Speicherplatz allmählich aus? Trotzdem soll natürlich weiterhin archiviert werden und auf die regelmäßigen RMAN-Backups wollen Sie verständlicherweise auch nicht verzichten. Haben Sie sich nicht schon häufiger gefragt, ob es keine Möglichkeit gibt, die Archivelogs und die RMAN Backupsets direkt auf einem Remote-Rechner zu erzeugen?
Auch im langen Leben eines Oracle Real Application Clusters (RAC) - in unserem Fall eines Oracle RAC 11.2.0.2 basierend auf Oracle Clusterware 11.2.0.2 mit ASM - kann es Situationen geben, an denen sich das RAC von altbewährtem trennen muss. In unserem Fall ist es das in die Jahre gekommene zentrale SAN Storage; dieses soll nun duch ein neues SAN ersetzt werden.
Sie wollen SQL-Statements in Perl verwenden und an das Datenbanksystem ORACLE senden und die Ergebnisse verarbeiten? Dazu kann das Modul DBI (Database Interface) verwendet werden. Was ist DBI? DBI ist das Standard-Datenbank-Interface-Modul für Perl. Es dient als Vermittler zwischen dem Programm und einer Reihe datenbankspezifischer Treiber (DBD), die dann mit der eigentlichen Datenbank kommunizieren.
Um Ihnen den Einstieg in die Spaltenverschlüsselung mit der Advanced Security Option (ASO) zu erleichtern, zeige ich Ihnen die wichtigsten Schritte an einem Beispiel. Folgendes Beispiel bezieht sich auf eine Oracle 10.2.0.5 Enterprise Edition Datenbank.
Haben Sie sich auch schon mal gefragt, wie man seine schönen APEX Applikationen sichert? Ja natürlich, Sie können das über die grafische Oberflächen machen. Aber zeitgesteuert, nachts um 3.00 Uhr zusammen mit der Datenbank? Na, dann stellen Sie mal den Wecker... oder verwenden Sie den folgenden Tipp:
Der Result Cache ist ein - leider auf die Enterprise Edition beschränktes - Feature, das mit Version 11g eingeführt wurde. Er ist sowohl in SQL für Select-Befehle als auch in PL/SQL für Funktionsaufrufe nutzbar. Die Idee dahinter ist in beiden Fällen, dass das Ergebnis bei der ersten Ausführung gespeichert wird und bei weiteren Aufrufen der Befehl selber nicht mehr ausgeführt, sondern das Ergebnis aus dem Cache abgerufen wird. Um Tom Kyte zu zitieren: "Everyone knows the fastest way to do something is – to not do it".
Generell gibt es zwei Wege, in einer RAC-Umgebung den Archivelog-Modus zu aktivieren. Diese zwei Varianten nehmen sich nicht viel und sind nahezu gleichwertig.
Sie haben vor Kurzem auf 11.2.0.2 umgestellt und auch schon einen Schreibzugriffsfehler in einer Datendatei gehabt? Dann haben Sie sich vielleicht gewundert, warum die gesamte Instanz abgestützt ist. Bislang wurde die betroffene Datei lediglich offline gesetzt, sofern es sich dabei nicht um eine SYSTEM- oder UNDO-Datendatei handelte.
Jeder, der Skripte zur Überwachung einer Oracle Datenbank oder für Prozessabläufe in Zusammenspiel mit einer Oracle Datenbank einsetzt, kennt das Problem:
Wollten Sie schon mal, die unter 11g hinzugekommenen Parameter, memory_target und memory_max_target verwenden und haben als Fehlermeldung beim Startup folgende Meldung:
Mit Version 11.2.0.2 wurde das altbekannte Package UTL_SMTP erweitert. Die wichtigste Neuerung liegt darin, dass jetzt auch SSL-verschlüsselte Mails verschickt werden können. Daneben wurde die Authentifizierung am Mailserver vereinfacht, dafür gibt es jetzt einen eigenen Aufruf.
Mit Version 11g Release 2 wurde ein sehr nützliches Feature zur Überwachung von Datenbank-Jobs eingeführt: die automatische Mailbenachrichtigung. Die Einrichtung ist denkbar einfach: Zunächst muss ein Administrator den zu verwendenden Mailserver einmalig konfigurieren.
Haben Sie sich auch bereits gefragt, warum ab Version 11g die PASSWORD-Spalte in der View DBA_USERS leer ist und was es mit der Spalte PASSWORD_VERSIONS in selbiger View auf sich hat? Der folgende Beitrag fasst Ihnen das Wichtigste rund um die Passwortsicherheit in 11g zusammen.
Wir beginnen mit unserem Frühjahrsputz dieses Mal sehr früh :-) und räumen die alten Trace-Dateien der Datenbank auf. Die Oracle Version 11g stellt uns dafür ein eigenes Tool zur Verfügung: ADRCI ADRCI steht hierbei für ADR Command Interpreter, wobei ADR ganz klassisch für Automatic Diagnostic Repository steht.
Standen Sie auch schon mal vor dem Problem, auf einer bestehenden Datenbank den Zeichensatz wechseln zu müssen?
Eigentlich wird das Charset bei der Installation der Datenbank festgelegt. Es gibt aber drei Möglichkeiten es auch noch nachträglich zu ändern. Oracle spricht an dieser Stelle von einer Characterset Migration.
Wer kennt das Problem nicht: Sie wollen nur "mal schnell" einige Informationen zu Ihrer Datenbank abfragen oder "schnell" einen Ihrer Tablespaces erweitern. In welcher View stehen die Informationen gleich wieder? War das jetzt ein ALTER TABLESPACE oder ein ALTER DATABASE-Befehl?? An der Stelle kommt Ihnen vielleicht der Gedanke:
Die häufigsten Einsatzfälle dürften sein: eine Suche unabhängig von Groß-/Kleinschreibung zu machen, indem man einen Index auf UPPER(spalte) legt, oder - normalerweise nicht indizierte - NULL-Werte für die Indizierung zugänglich zu machen durch NVL(spalte, ...).
In einem<link http: www.muniqsoft.de tipps monatstipps jahr-2002 maerz-2002.htm internal-link> früheren Beitrag<link http: www.muniqsoft.de tipps monatstipps jahr-2002 maerz-2002.htm internal-link> wurde das Tracing einer Datenbank-Session bereits generell beschrieben, daher soll hier nicht näher auf die Grundlagen eingegangen werden. Neben den dort vorgestellten Methoden gibt es seit Version 10g noch das Package DBMS_MONITOR, das diverse Möglichkeiten zum Tracing bietet.
Seit Oracle 10g gibt es ein Feature namens „Silent Installation“. Es dient der Installation auf Kommandozeilenebene und der Generierung von Installations-Vorlagen. Mit dem Verzicht auf die grafische Darstellung der Installation, ist diese auch ein bisschen schneller als sonst.
Mit dem Release 11.2 hat Oracle eine Erweiterung des CREATE TABLE Statements eingeführt. Es handelt sich um die verzögerte Segmenterzeugung oder DEFERRED SEGMENT CREATION.
Was macht dieses neue Feature? Wird eine neue Tabelle erzeugt, werden nur die Metainformationen angelegt, aber noch kein Segment im Tablespace erzeugt. Das bedeutet, dass...
Schon seit der Version 10.2 gibt es eine nette View, um anzuzeigen, welche Parameterwerte (für eine Parameterauswahl von 36 aus >260) gesetzt werden können. Leider lässt die Darstellung mal wieder zu wünschen übrig.
In jeder Oracle Datenbank mit mehr als einer Session kann es zu Konflikten mit Sperren kommen. Sperren, in der Datenbanksprache Locks genannt, verhindern unter anderem, dass mehrere Benutzer zur gleichen Zeit die gleiche Zeile einer Tabelle verändern können.
Bei manchen (äh fast allen) Applikationen gibt es die geliebten ReadMe (RTFM) Dateien. Jeder liest diese Dateien natürlich ordnungsgemäß komplett von vorne bis hinten durch. :-)
Sollten durch die Installation einer Applikation diverse Initialisierungsparameter auf bestimmte Werte gesetzt werden müssen, könnte man dem Benutzer folgenden kleinen SQL-Befehl (natürlich angepasst an Ihre Wünsche) mitgeben:
External Tables sind ein recht praktischer Weg, wenn Daten aus Flatfiles regelmäßig geladen werden sollen. Wenn beispielsweise ein täglicher Ladelauf erfolgen soll, so muss nur sichergestellt werden, dass die Datei mit den Daten rechtzeitig und am richtigen Ort vorliegt. Ein zusätzlicher SQL*Loader-Aufruf ist in diesem Fall dann nicht mehr nötig, da direkt über einen SELECT auf die Daten zugegriffen werden kann. Einzelheiten zu External Tables mit einem Beispiel finden Sie hier.
Sie wollten schon häufiger Datenbankdateien von einem Server A auf den Server B kopieren und waren aber gerade nicht in der Lage sich lokal mit einem der Server zu verbinden und anschließend den anderen zu mounten? Oder es war Ihnen schlichtweg zu umständlich? Dann haben wir hier vielleicht eine ganz praktische Lösung für Sie.
In diesem Tipp des Monats schauen wir uns mal die Speicherbelegung der Tabellen und Indizes an. Es gibt zwar seit Version 10g einen Advisor, der einem die Speicherbelegung der Segmente anzeigt; wir wollen hier aber eine Ausgabe in Tabellenform für mehrere Objekte erzeugen. Wie heißt es so schön: Es gibt kaum eine Information, die man nicht aus einer Oracle-DB herausholen kann, man muss nur die richtige (Öl)-Quelle anzapfen.
Viele Applikationen verwenden die Möglichkeiten zur Mailversendung aus Oracle heraus, sei es mit UTL_SMTP, sei es mit UTL_MAIL. Bis Version 10g reichte es, wenn der Eigentümer der Sende-Prozedur das EXECUTE-Recht auf das jeweilige Package hatte. Soll auf 11g migriert werden, so erfordert dies einen zusätzlichen administrativen Aufwand.
Wie schon im Tipp des Monats Oktober 2008 angekündigt, beschäftigen wir uns diesen Monat mit der Wiedergabe von der mit dem Oracle Workload Capture aufgenommenen Last...
Mit dem Patch 10.2.0.4 hat Oracle die Möglichkeit geschaffen, Last aufzuzeichnen, um diese dann auf einer 11g Datenbank wiederzugeben.
Dieses Feature eröffnet natürlich fantastische Möglichkeiten im Bereich der Migration auf 11g. Hierbei bietet das hinzugekommene Database Workload von Oracle die perfekte Grundlage für "lebensnahe" Tests in einem Nicht-Produktivsystem.
Eigentlich bin ich ja ein großer Oracle Fan. Aber manchmal ärgere ich mich auch über Unzulänglichkeiten der Software. Es gibt tolle Flanken, aber keine Torverwertung..
Sie haben Oracle 10g (oder höher) im Einsatz und (hoffentlich) die Archivierung eingeschaltet? Dann haben Sie - gemeinsam mit einem (hoffentlich) vorhandenen Backup - schon einmal die Grundlage für eine mögliche Wiederherstellung Ihrer Datenbank in einem (hoffentlich niemals) auftretenden Fehlerfall geschaffen.
Wollten Sie schon immer auf einfache Art und Weise Ihre Constraints umbenennen, damit Sie sofort erkennen, um welchen Typ es sich handelt (beispielsweise in Fehlermeldungen, in welchen eine Verletzung eines Constraints bemerkt wird)? Dann haben wir jetzt den passenden Tipp für Sie, mit dem Sie alle Ihre Constraints mit wenig Aufwand umbenennen können.
Über das FLASHBACK-Konzept und seine Anwendung haben wir Sie bereits in den Tipps für August 2006 und März 2005 ausführlich informiert. Hier und jetzt soll Ihnen noch eine weitere Möglichkeit vorgestellt werden, die bislang noch gar nicht erwähnt wurde und ab Version 10.2 verfügbar ist: RESTORE POINTS.
In unserem Kurs DB-Monitoring beschäftigen wir uns u.a. mit der spannenden Analyse der Alert.log Datei. Wenn Sie die Datei mittels SQL nach Fehlermeldungen durchsuchen möchten, gefällt Ihnen evtl. folgendes Beispiel:
Wir setzen hier das Konzept der External Tables hier ein, um die Datei mittels Select-Befehlen auszulesen.
Oracle bietet ab Version 8i die Möglichkeit, aufgrund von bestimmten Sessionkriterien den Zugriff auf bestimmte Daten einzuschränken (Application Context). Dadurch können viele statische Views eingespart werden.
Sie wollen Ihre temporäre(n) Datendatei(en) verschieben, wissen aber nicht wie? Dann erfahren Sie im folgenden Artikel, welche Möglichkeiten es dafür gibt.
Nachdem die Linux-Distribution Ubuntu immer beliebter wird, wollen wir uns einmal ansehen, wie man dort eine Oracle 10.2-11.2 Datenbank installieren kann.
In unserer täglichen Praxis erleben wir häufig, dass Indizes beim Kunden sehr groß geworden sind. Wie kann man nun herausfinden, ob der Index ein Kandidat für einen Neuaufbau ist?
Haben Sie bereits auf 10g umgestellt? Falls ja, haben Sie sich vielleicht schon einmal gewundert, warum Sie nach dem Löschen einer Tabelle keinen freien Speicherplatz gewonnen haben, aber dafür plötzlich Objekte mit Namen BIN$c7WXyzMkT1q9DglxITmbRw==$0 (oder so ähnlich) vorhanden sind?
Viele Administratoren kennen das Problem, zu wenig Platz auf ihren Platten zur Verfügung zu haben und daher kurzfristig Platz frei machen zu müssen. Da fällt einem dann sofort der Undo und Temp Tablespace ein, die eigentlich immer zu groß sind. Kann man diese aber überhaupt verkleinern?
Ist es Ihnen schon häufiger passiert, dass Sie Änderungen an Ihren Daten vornehmen wollten und dabei in bestehende Tabellen- oder Zeilensperren gelaufen sind? Im unangenehmsten Fall „hängte“ sich Ihre Session solange auf, bis die gesperrten Zeilen wieder freigegeben wurden...
Bis zur Version9i waren nur folgende Operationen zum Reorganisieren von Tabellen möglich: Tabelle exportieren (evtl. mit COMPRESS=Y) Tabelle löschen, Tabelle evtl. mit neuen Speicherparametern anlegen,Tabelle importieren,Ab Version 8i wurde folgende Operation ermöglicht:
Mit Version 10g hat Oracle UTL_MAIL herausgebracht, ein neues Package, das wesentlich mehr Anwendungskomfort bietet. Für die Versionen 10.1.x ist jedoch eine ganze Reihe von Bugs beschrieben, die spätestens in Version 10.2. behoben wurden, so dass UTL_MAIL erst ab dieser Version zu empfehlen ist.
In unserer Know-How Datenbank finden Sie mehr als 300 ausführliche Beiträge zu den
Oracle-Themen wie DBA, SQL, PL/SQL, APEX und vielem mehr.
Hier erhalten Sie Antworten auf Ihre Fragen.
Cookies erleichtern die Bereitstellung unserer Dienste. Mit der Nutzung unserer Dienste erklärst du dich damit einverstanden, dass wir Cookies verwenden.