Oracle bringt mit Version 23c einige interessante Features für Entwickler. Zwei davon, die zwar keine komplett neuen Möglichkeiten bieten, aber an der ein oder anderen Stelle doch hilfreich sind, sollen hier vorgestellt werden.
Während des Entwicklungsprozesses werden von Funktionen immer wieder Testdaten benötigt. Oftmals sind nur sehr wenige oder gar keine Daten auf den Entwicklungssystemen vorhanden. Eine bedeutungsvolle Menge an variierenden Daten zu erzeugen ist allerdings aufwändig und lästig, weswegen viele Testszenarien dürftig ausfallen. In APEX gibt es eine einfache Hilfe dafür.
Der Advisor von APEX (unter „Utilities“) ist ein wertvolles Werkzeug, um die Qualität von APEX-Applikationen zu prüfen. So kann z. B. geprüft werden, ob alle in der Applikation hinterlegten Abfragen oder PL/SQL-Code-Blöcke syntaktisch und semantisch korrekt sind und vieles mehr. Dadurch lassen sich viele Fehler frühzeitig erkennen und beheben, die sich ansonsten erst zur Laufzeit zeigen würden. Leider wurde der Advisor jedoch von Oracle über viele Jahre hinweg kaum weiterentwickelt, so dass sich Referenzen auf die Spalten von Interactive Grids (verfügbar seit Version 5.1) nicht vernünftig mit dem Advisor prüfen lassen. Dies wurde erst mit der APEX-Version 23.2 nachgeholt – da jedoch viele Entwickler wohl noch längere Zeit mit älteren Versionen arbeiten werden, stellt dieser Beitrag ein einfaches PL/SQL-Skript vor, mit dem sich ungültige Referenzen auf Interactive Grid-Spalten einfach identifizieren lassen.
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
Das Erstellen mehrsprachiger Anwendungen mit APEX wird in der Dokumentation als einfach dargestellt. Aber ist es wirklich so einfach? Um eine Anwendung wirklich mehrsprachig zu entwickeln, muss nicht nur der APEX-Anteil betrachtet werden, sondern auch die Übersetzung der von den Anwendern eingegebenen Schlüsseltexte. Wie dies effektiv gelingen kann, zeigt unser Monatstipp.
Auch mit der Datenbank Version 23c wird die Palette der Security-Features erweitert. Unter anderem kommt das Feature der SQL-Firewall dazu. Damit können Sie, wie der Name schon vermutet lässt, (fast alle) SQL-Statements filtern und somit seine Datenbank sichern und schützen.
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..
Seit Oracle 9i gibt es die Möglichkeit anzugeben, ob die Datenbank die Längenangabe bei CHAR und VARCHAR2 als Byte oder als Zeichenanzahl interpretiert. Dies bezeichnet man als Character Length Semantics. Wozu dient die Angabe und welche Auswirkungen hat sie?
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.
Will man Gruppenfunktionen zusammen mit einzelnen Spalten verwenden, so muss grundsätzlich nach allen Einzelspalten gruppiert werden, auch wenn beispielsweise eine Id immer auch den zugehörigen Namen und alle übrigen Werte des Datensatzes impliziert. Das erzeugt einen Overhead, der ab Version 21c teilweise umgangen werden kann.
Das korrekte und vollständige Errorlogging für Postgres unterliegt der Kontrolle des entsprechenden Admins. Die Default-Einstellungen sind in Ordnung, haben aber noch Luft nach oben. In diesem Tipp werden einige Eckpunkte angesprochen, wie und wo welche Stellschrauben gedreht werden können, um ein verbessertes Logfile zu bekommen. Zudem ergänzen wir auch ein leichtes Audit, um abgesetzte Statements zu erfassen Es werden auch relevante Parameter angesprochen, um sich einen Überblick über das Errorlogging zu verschaffen und es werden entsprechende erweiterte Defaults vorgestellt
Sicherheit ist keine Option, sondern eine Pflicht in der Kommunikation über das Internet. Deswegen sollte man auch die Verbindung zu den APEX-Anwendungen ordentlich absichern und ein SSL-Zertifikat in Tomcat einbinden, um potenziellen Angreifern weniger Einfallstore in das Netzwerk zu bieten.
Derzeit gibt es die Version 23c als Free Developer Edition zum Download. Also eine gute Gelegenheit, die neuen Features der Datenbank Version 23c auszuprobieren, wie zum Beispiel Automatic Transaction Rollback. Mit diesem Feature können Sie Ihre Transaktionen priorisieren und somit laufende Transaktionen über eine weitere logische Ebene steuern.
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.
Mit wenigen Klicks kann man nun auch eine Art Such-Maschine in APEX anlegen und das geht ganz schnell und einfach. Dieser Artikel beschreibt ein Beispiel Step by Step.
Vor allem in der heutigen Zeit ist Datenbanksicherheit (und alles, was dazu gehört) wichtig. Aufgrund der komplexen Basis von Datenbanken und ihrer datenrelevanten Position in den meisten Unternehmen, gilt es hier besonders vorsichtig zu sein und eine strikte Kontrolle darüber zu haben, wer Daten auslesen und auswerten kann. Oracle hat hierfür ein sehr bequemes und einfach zu handhabendes Tool entwickelt, welches sich die gängigsten Sicherheitsbedenken (und auch ein wenig tiefere Themen) ansieht und bewertet. In diesem Artikel gehen wir auf den Umgang mit dem Tool ein und schauen, wie wir einen Report erzeugen.
Analytische Funktionen sind weniger verbreitet als beispielsweise Gruppenfunktionen, erfreuen sich aber im Data Warehouse-Umfeld großer Beliebtheit. Mit Version 21c kamen auch Syntax-Erweiterungen zu analytischen Funktionen, die in diesem Tipp beschrieben werden sollen.
Lange Zeit konnte man nur mit dem Datenbankpaket UTL_SMTP E-Mails aus APEX heraus verschicken, indem man sich einen Prozess programmiert hat, der eine E-Mail nach eigenen Wünschen zusammenbaute. Doch Dank der stetigen Erweiterung von APEX gibt es jetzt auch eine einfache und intuitive Möglichkeit den E-Mail-Versand abzuwickeln.
Auf der DOAG 2022 Konferenz + Ausstellung wurde von Oracle der Nachfolger der Datenbank Version 19c vorgestellt: 23c. Die Oracle Datenbank 21c war lediglich ein Innovation Release, welches für technische Tests konzipiert, aber nicht für den produktiven Einsatz ausgelegt ist. Oracles Code Namen für 23c lautet „App Simple“, da die neue Version das Betreiben Ihrer Datenbank vereinfachen soll. Oracle präsentierte für 23c zahlreiche neue Features, ein paar werden in diesem Artikel vorgestellt. Einige der Features kommen in überarbeiteter Form von 21c. Zurzeit befindet sich 23c noch in der Betaphase.
Um den Zugriff auf Anwendungen insbesondere im Internet besser zu schützen, werden die Anwendungen mit einer Zwei-Faktor-Authentifizierung versehen. Dies bedeutet, dass die Anwender ihre Identität mittels einer Kombination zweier unterschiedlicher und insbesondere unabhängiger Komponenten (Faktoren) nachweisen müssen (Wikipedia).
In diesem Artikel wird gezeigt, wie die klassische Anmeldung mittels APEX-Accounts angepasst werden muss, um eine solche Zwei-Faktor-Authentifizierung zu ermöglichen. Dabei wird unter anderem gezeigt, wie die APEX-API genutzt werden kann, um die Gültigkeit der Passwörter zu prüfen oder die Anzahl der fehlerhaften Anmeldeversuche zu protokollieren.
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.
Die FOR-Schleife in Oracle war bisher im Vergleich zu anderen Sprachen recht begrenzt in ihren Möglichkeiten. Mit Version 21c hat sich das drastisch geändert. Die neue Version bringt eine Menge an Erweiterungen. In diesem Tipp soll die neue Vielfalt anhand einfacher Beispiele erläutert werden.
Seit letztem Jahr ist die Oracle Version 21c verfügbar. Da es sich um ein Innovation Release handelt, sollte ein Upgrade nur erfolgen, wenn einzelne neue Features unbedingt notwendig sind. Allen anderen wird empfohlen aktuell auf 19c zu upgraden. Der nächste zu erwartende Long Term Release ist 23c. Prägnante und stark nachgefragte Features, werden von 21c auf 19c backported.
In diesem Artikel stelle ich drei interessante Features vor:
Jeder, der in seinen Leben halbwegs lange mit SQL gearbeitet hat, kennt wahrscheinlich Subqueries. Dies ist auch kein Wunder, denn sie sind Teil der meisten Kurse und Literatur für SQL-Einsteiger. WITH-Klauseln hingegen sind eher unbekannt. Das ist wohl dem Umstand geschuldet, dass sie hauptsächlich für dieselbe Grundfunktionalität verwendet werden, wodurch sie i. d. R. durch Subqueries zu ersetzen sind und wahrscheinlich der Kompaktheit der Kurse und Literatur zuliebe aus diesen weggekürzt werden. Jedoch sollte jeder, der täglich mit SQL arbeitet, die WITH-Klausel kennen und anwenden können, denn sie bieten die Möglichkeit große SQL-Statements, übersichtlicher zu strukturieren. Zudem nimmt der Funktionsumfang über die Jahre stetig zu.
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.
Während der Entwicklung von APEX-Applikationen und deren Einspielen auf produktive Umgebungen passieren immer wieder Fehler, die am liebsten zurückgedreht werden wollen. Doch dafür braucht man Sicherungen der Anwendungen.
Welche Möglichkeiten gibt es zum Erstellen von Backups in APEX?
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.
Ab der Version 18 hat Oracle in APEX die Möglichkeit geschaffen, eine Anwendung bereits von Anfang an mit zusätzlichen Bausteinen, den sogenannten „Features“, zu versehen. Dadurch wird die Anwendung ohne eigene Programmierung mit zusätzlichen Funktionserweiterungen versehen.
Im Folgenden werden die Features vorgestellt und gezeigt, was sie umfassen, wofür sie verwendet werden können und welche Einschränkungen sie haben.
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.
Identity Columns sind nicht mehr so ganz neu. Trotzdem wird vielfach nach wie vor mit eigenen Sequences und Triggern gearbeitet. Teils spielen da sicher alte Gewohnheiten eine Rolle, teils wird der Trigger sowieso auch zu anderen Zwecken benötigt. In so manchem Fall ist aber vermutlich auch mangelndes Wissen der ausschlaggebende Faktor. Dabei bieten Identity Columns mancherlei Vorteile.
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.
Die APEX APIs für JavaScript und PL/SQL sind vermutlich die am häufigsten genutzten Hilfsmittel bei der Entwicklung von komplexen Anwendungen. Neben diesen gibt es auch die APEX -Views, deren Nutzen sich vielleicht nicht auf den ersten Blick erschließt, aber mit ein wenig Kreativität lassen sich ein paar sehr sinnvolle Verwendung finden.
Nach dem Speichern einer Änderung in APEX wird üblicherweise eine Erfolgsmeldung angezeigt. Wenn der Benutzer im Anschluss die Seite aktualisiert [F5], erscheint die Erfolgsmeldung erneut. Dies führt mit Sicherheit beim Anwender zu Verwirrung.
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.
Seit Version 19.2 gibt es mit Faceted Search die Möglichkeit, über „Facets“ Filter zu setzen, die auch die Anzahl der Vorkommen anzeigen. Setzt man die Facets, wird sofort ein zugehöriger klassischer Bericht aktualisiert und zeigt die gefilterten Daten an. In der Dokumentation wird beschrieben, wie mit Hilfe der Assistenten dieses Feature angelegt werden kann. Aber auch ohne Assistenten ist das sehr einfach und schnell erledigt. Dieser Artikel zeigt ein kurzes Beispiel.
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.
Es gab und gibt Beschränkungen, mit denen man immer wieder klarkommen muss. Die ein oder andere davon entfällt aber auch im Laufe der Jahre, was einem möglicherweise im Alltag entgeht. Dieser Tipp möchte ein paar kleine aber feine Neuerungen aus den Versionen 12.2 und 18c herausgreifen, die vor allem Entwickler interessieren dürften.
Oracle’s Application Express auf eine neue Version zu upgraden ist nicht schwer. Aber auch bei einer einfachen Sache können Probleme entstehen. Was also tun, wenn nach einer Installation oder einem Upgrade keine Bilder aus dem Static Application/Workspace Files mehr angezeigt werden?
In der Entwicklung von APEX-Anwendungen werden oft nur Test-Daten verwendet, ein Bericht baut sich damit schnell auf. In einer Produktionsumgebung kann es z. B. durch die Anzahl der Datensätze jedoch oftmals länger dauern, bis ein Bericht geladen ist und es gibt auch Prozesse, die längere Zeit benötigen. In dieser Zeit kann der Anwender andere Schaltflächen betätigen und damit unbewusst neue Sessions aufbauen. Schnell ist es dann passiert, dass sich die Sessions in der Datenbank summieren. Dieser Artikel zeigt kleine Beispiele, wie man den Benutzer davon abhalten kann, während des Aufbaus des Berichtes oder langlaufender Prozesse andere Elemente zu klicken und den Benutzer wissen zu lassen, dass etwas passiert.
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.
Auch vermeintlich kleine Hindernisse können eine Clusterware-Installation erheblich behindern. Deswegen ist es unabdingbar, diese schon im Vorfeld der Installation zu erkennen und (temporäre-) Lösungen zu implementieren. Das ist umso wichtiger, bewegt man sich mit der Installation einer Oracle 19c Clusterware auf einem SUSE Betriebssystem auf nicht ganz so „etablierten Pfaden“ wie es bei der Installation auf einem Oracle Linux Betriebssystem der Fall wäre.
Dieser Monatstipp beleuchtet vier nicht so bekannte Hindernisse, die man im Vorfeld einer Installation der Oracle Clusterware 19c auf dem Betriebssystem SUSE Linux Enterprise Server 12 (SLES 12) aus dem Weg geräumt haben sollte. Andernfalls können diese die Installation erheblich behindern oder schlimmstenfalls zum Scheitern bringen.
In Zeiten, in denen Home-Office plötzlich der neue Standard ist und die Arbeit über Laptops und VPN zu organisieren ist, können manche bisher gewohnten Dinge plötzlich zur Tortur werden.
Sie stehen vor dem Problem, dass eine Chartdarstellung bei zuvielen Werten unübersichtlich ist. Wie Sie das besser gestalten können ist hier, anhand der Tabelle EMP aus dem Schema SCOTT beschrieben. Es werden die Top 5 Verkäufer im Pie-Chart dargestellt. Die restlichen Verkäufe werden als „Other“ kummuliert angezeigt.
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.
Schon vor längerer Zeit wurde von Oracle angekündigt, dass das Package DBMS_JOB deprecated wird. Was sollten Sie wissen bzw. beachten, wenn Sie ihre Datenbank auf 19c migrieren wollen?
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.
Kontinuierlich arbeitet das APEX-Entwicklerteam daran, Oracle's APEX zu verbessern. Eine dieser Verbesserungen ist die Überarbeitung der Formular-Seite. Ihr wurde ein leicht neues Aussehen und neue Funktionen verpasst, mit denen sich noch deklarativer arbeiten lässt.
Records sind in PL/SQL geläufiger als Objekttypen. Nur das Handling war bisweilen etwas mühsam, da jedes Feld einzeln zugewiesen werden musste. Da wünschte man sich doch gelegentlich etwas Analoges zum Konstruktor bei Objekttypen. Mit Version 18c geht dieser Wunsch nun in Erfüllung. :)
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.
Sonderfälle in der APEX-Anwendungsentwicklung benötigen manchmal besondere Funktionen, die APEX nicht zur Verfügung stellt. Auf Clientseite kann man das mit Javascript lösen. Hierzu gibt es von Oracle mit den dokumentierten Javascript APIs eine Hilfestellung.
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.
Seit Ende Mai 2018 steht die APEX-Version 18.1 zum kostenlosen Download bereit. Neben dem neuen Namen gibt es einige interessante Neuerungen und Verbesserungen die das Leben des APEX-Entwicklers erleichtern.
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.
Webservices sind aus der modernen Welt des Datenaustausches nicht mehr wegzudenken. Und so haben Aufrufe auch vermehrt Einzug gehalten in PL/SQL-Routinen. Dieser Artikel soll eine kleine Übersicht über Aufrufvarianten via UTL_HTTP geben.
In diesem Monatstipp wird beschrieben, wie man einen Datensatz im Bericht in APEX nach oben oder nach unten verschieben kann.
Dieses Beispiel ist aus einer Anforderung heraus entstanden, dass in einer Produktion mehrere Anlagen durchlaufen werden. Diese Anlagen sollen in einer bestimmten Reihenfolge angeordnet sein und es soll zusätzlich die Möglichkeit bestehen, die Anlagen in ihrer Reihenfolge zu verschieben.
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?
Mit steigender Anzahl von Anwendungen, die eine 24/7-Verfügbarkeit erfordern, wird die Minimierung von Ausfallzeiten ein immer wichtigeres Anliegen. Auch Datenbanken in der Oracle Cloud verlangen, dass Produktionsdatenbanken mit Oracle Advanced Security Transparent Data Encryption (TDE) verschlüsselt werden. In diesem Artikel werden einige Aspekte betrachtet, die die neue Funktionalität der Tablespace Live Verschlüsselung mit Zero Downtime aufzeigen. Sie ist damit ein äußerst effektives Mittel zur Reduzierung von Ausfallzeiten.
Es war ein schönes Weihnachtsgeschenk der Oracle APEX-Entwickler: Die heiß ersehnte Application Express Version 5.1 wurde am 21. Dezember 2016 veröffentlicht und steht seitdem zum Download bereit. Wir beschäftigen uns in diesem Artikel mit den "großen" Neuerungen der Version, stellen aber auch ein paar versteckte Features vor.
In Oracle Application Express (APEX) 5.1 kann man BLOBs über „Formulare“ in die Datenbank abspeichern oder über „Reporte“ aus der Datenbank herausladen und Bilder anzeigen lassen.
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.
Auch ein Oracle 12c Real Application Clusters (RAC) will gesichert werden, damit bei einem Ausfall des Cluster-Systems die Gesamtverfügbarkeit nicht allzu sehr kompromittiert wird.
Es war ein schönes Weihnachtsgeschenk der Oracle APEX-Entwickler: Die heiß ersehnte Application Express Version 5.1 wurde am 21. Dezember 2016 veröffentlicht und steht seitdem zum Download bereit.
Das JSON-Format (JavaScript Object Notation) erfreut sich zunehmender Beliebtheit, da es im Vergleich zu XML wesentlich weniger Overhead hat. Ausserdem ist es einfacher; es kennt im wesentlichen nur Wertepaare und Arrays. Diese können hierarchisch aufgebaut sein und entsprechen der Javascript-Notation.
In diesem Tipp zeigen wir eine Möglichkeit zur Bewertung verschiedener potentieller Gefahren in der Oracle Datenbank, welche individualisiert überprüft werden können. Da wären SQL Injection-anfällige Eingaben oder auch die Gefährlichkeit der Rechte bzw. Rollen von Datenbanknutzern.
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.
Traces – auch die von Oracle Datenbanken - sind eine Geschichte für sich. Sie stecken voller Informationen und berühren so unterschiedliche Bereiche, dass es einerseits abschreckend und andererseits äußerst faszinierend ist, sich näher mit ihnen zu beschäftigen.
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...
Für einige der Universal Theme-Templates in APEX 5.0 sind die Template Substitutions besonders interessant - deswegen wollen wir diese Variablenart einmal genauer unter die Lupe nehmen...
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.
Seit 12c gibt es neben den altbekannten Redo Transport Varianten SYNC und ASYNC zusätzlich den Modus FASTSYNC. Dieser verbindet sozusagen die Vorteile von synchroner und asynchroner Übertragung. Um jedoch die genaue Funktionsweise und den Vorteil von Fast Sync zu erklären, fangen wir ganz von vorne an.
Der vorliegende Monatstipp hat das Ziel, die Vorteile einer "Policy Managed Database" und die Unterschiede zu der herkömmlichen Option in einer RAC Umgebung näher darzustellen.
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 PL/SQL empfiehlt es sich aus vielen Gründen, mit statischem SQL zu arbeiten, soweit das möglich ist; genannt seien hier vor allem Wartbarkeit und Performance-Vorteile.
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.
Manchmal umfassen Applikationen nicht nur viel Quelltext, sondern auch sehr viele Views, in denen u. a. auch Funktionen aus diversen Packages verwendet werden.
Das Corporate-Design Ihrer Firma wurde überarbeitet, einige Farbnuancen variiert, das Erscheinungsbild des Internetauftritts minimalisiert - und selbstverständlich soll sich nun auch das Layout aller produktiven APEX Applikationen am neuen Design orientieren. Was in früheren APEX-Versionen einem entwicklungstechnischen Super-GAU gleichkam und nur durch akribische Modifizier-Bemühungen zu bewerkstelligen war, lässt sich in der seit April 2015 veröffentlichten APEX-Version 5.0 äußerst schnell und elegant bewerkstelligen.
Da wir immer wieder nach der Syntax zu (Outer) Joins gefragt werden, beschäftigen wir uns in diesem Tipp einmal mit den Neuerungen in Version 12c und den Einschränkungen in den vorangegangenen Versionen.
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...
Der SQL Developer als Oracle-proprietäres Tool erfreut sich mittlerweile großer Beliebtheit. Entwickler, die den SQL Developer auch zum Debuggen nutzen, werden bei 12c-Datenbanken jedoch erst einmal eine neue Hürde überwinden müssen.
In vielen Datenmodellen werden Schalter für die Aktivierung oder Gültigkeit von Datensätzen verwendet. Hier kann zum Beispiel eine Spalte mit 0/1 oder Y/N belegt werden, um damit zu steuern, welchen Status ein Datensatz haben soll.
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.
Hatten Sie auch schon einmal den Wunsch, den Anwendern einer Applikation etwas mitzuteilen? Und wäre es nicht manchmal gut, wenn jeder Anwender nachweislich die Information gelesen hat? Die Informationen sollen sofort, also auch in einer laufenden Session, in einem modalen Popup- Fenster angezeigt werden. Dieses Problem stellte sich vor einiger Zeit in einem APEX-Projekt und aus diesem Grund haben wir ein Informationssystem für APEX-Anwendungen entwickelt.
Ab Version 12c können Spalten ausgeblendet werden, indem man sie als "invisible" deklariert. Das ist sowohl beim Anlegen einer Tabelle oder Spalte möglich als auch nachträglich.
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.
Wer je Daten für eine Web-Applikation bereitstellen musste, kennt das Problem der Pagination. In der Regel holt das Frontend ja nur die Daten, die auf eine Seite passen, und erst wenn mehr angefordert werden, werden auch mehr geholt.
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.
Als DBA steht man oft vor dem Problem der Rechtevergabe an die Benutzer. Zu viele Rechte stellen ein Sicherheitsrisiko dar, zu wenige verhindern möglicherweise das Abfragen wichtiger Daten. Damit normale Benutzer Informationen über die genutzte Instanz abfragen können, ohne dass ihnen Rechte an den nötigen v$-Views zugewiesen werden müssen, gibt es eine Funktion namens SYS_CONTEXT.
Cluster Health Monitor (CHM) ist ab der Version 11.2.0.2 (bei Linux) integraler Bestandteil der Grid Infrastruktur und dient dazu bei Cluster Problemen, wie z. B. plötzliches Stoppen eines Knotens oder Hänge-Situationen, detaillierte Informationen zur Verfügung zu stellen. CHM ermittelt Systemzustände pro Sekunde (bei 11.2.0.3 alle 5 Sekunden) bezüglich Prozesse, Storage, Memory und Netzwerk und stellt diese im Rahmen von bewerteten Metriken zur Verfügung.
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.
Die Heat Map zeichnet auf Blockebene den Datenzugriff und die Veränderungshäufigkeit auf.
Mit diesem Wissen kann man Daten, die selten verwendet oder verändert werden, an Ort und Stelle komprimieren und auf einen anderen Tablespace (auf ein langsameres und billigeres Medium) verschieben.
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 .
Im folgenden Tipp zu Neuerungen in Oracle 12c beschäftigen wir uns mit der Verschleierung bzw. Maskierung von Daten über das Package DBMS_REDACT.
Beachten Sie bitte, dass diese Funktion nur in der Enterprise Edition mit Advanced Security Option verwendet werden darf.
Ein Beispiel, das sich dazu nahezu aufdrängt, sind Kreditkartennummern, die nicht in ihrer vollen Schönheit in einem Report ausgegeben werden sollen. Wir erstellen also eine kleine Tabelle für die Kreditkarteninfos:
Lange haben wir darauf gewartet, endlich ist sie da! Oracle 12c! Das "c" steht für Cloud. Wir wollen in dieser Reihe einige neue Features vorstellen, die wir natürlich auch in unserem Oracle 12c Kurs ausführlich besprechen.
Im letzten <link https: blogs.oracle.com apexcommunity_deutsch neues-statement-of-direction-verffentlicht external-link-new-window internal link in current>Statement of Direction für APEX vom November 2012 wird unter anderem der Einsatz von modalen Dialogen angekündigt. Wir könnten jetzt warten, bis diese neue Version zur Verfügung steht, wir können aber schon jetzt mit geringem Aufwand unsere Dialoge modal darstellen.
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.
Der Export von Tabellen als csv-Files ist immer wieder ein Thema in unseren PL/SQL- und Packages-Kursen, weil die meisten gerne mit Excel arbeiten. Deshalb gebe ich unseren Teilnehmern immer eine einfache Prozedur mit, über die man Inhalte beliebiger Tabellen (solange sie keine LOB-Spalten oder ähnliches enthalten) mittels UTL_FILE als semikolon-separierte Ascii-File exportieren kann. Der Einsatz von UTL_FILE ist nicht der schnellste Weg, aber man kann diese Prozeduren sehr gut in Datenbank-Jobs einbinden oder für andere PL/SQL-Programme verwenden.
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:
Wie wäre es, wenn man in einem APEX Formular mit den Cursortasten hoch und runter navigieren könnte? So wie wir es in den guten alten Anwendungen aus der Vor-Browser-Zeit gewohnt waren.
Die grundlegende Idee dabei ist, sobald in einer Textbox getippt wird, den Tastendruck mit Javascript-Mitteln 'abzuhöhren' und dann auf die beiden Tasten Cursor-Hoch und Cursor-Runter zu reagieren.
Vor einiger Zeit habe ich eine Verbindung zwischen einer Oracle Datenbank Standard Edition 11.2 und einer MySQL Datenbank hergestellt. Nach Einrichtung des Gateways hat das auch soweit funktioniert.
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:
Zum Löschen von doppelten Datensätzen gibt es eine ganze Reihe von Ansätzen. Die Suche nach der Schlagwort-Kombination duplicate delete und Oracle ergibt bei Google ca. 451.000 Treffer. Viele der Methoden funktionieren hervorragend bei den 10 bis 30 Beispieldatensätzen, die meist auch keine NULL-Werte enthalten. Wenn die Tabellen aber größer werden, stellt sich die Frage nach der performantesten Methode.
Der Vergleich und die Synchronisation von Tabellen waren schon einmal Gegenstand eines Monatstipps im Mai 2009. Damals beschränkte sich der Vergleich jedoch auf bis zu 4 Spalten. Die hier vorgestellten Packages für Oracle 10g und 11g ermöglichen den Vergleich aller Spalten.
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.
Bereits seit der Version 10.1 kann man mit einer (undokumentierten) Funktion den Inhalt von Betriebssystemordnern auslesen. Diese Prozedur wird vom RMAN bei folgendem Befehl verwendet:
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.
Wird Oracle Real Application Clusters (RAC) eingesetzt müssen mehrere Aspekte beachtet werden. Unter anderem die Konfiguration der tnsnames.ora Datei (Client-Seite). Sie kann ab der Version 11g R2 einen geringfügig veränderten Aufbau haben, da in 11g R2 das Konzept des Single Client Access Name (SCAN) eingeführt wurde.
Bei der Darstellung eines Reports in APEX spielt der benötigte Platz oft eine große Rolle. Dann wird die berühmte Frage gestellt: Welche Spalte ist nicht so wichtig und kann weggelassen werden oder wenigstens an das Ende des Reports und damit evtl. außerhalb des immer sichtbaren Bereiches im Browser gestellt werden?
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.
Um den Inhalt von Tabellen in XML-Files zu überführen, gibt es eine ganze Reihe von Möglichkeiten, u.a. die Verwendung der SQL-XML(SQLX)-Funktionen wie XMLElement, XMLAgg, XMLForest etc., das Package DBMS_XMLGen und die Erzeugung von XML-Daten über das sog. DBUriServlet. In diesem Monatstipp sollen die beiden letztgenannten Methoden kurz vorgestellt werden...
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.
Seit Jahren stellt sich mir immer wieder das gleiche Problem: Wie kann ich eine Aktion x-Mal in der Datenbank ausführen? z.B. Wie kann ich 100 Indizes in einen anderen Tablespace verschieben? Bisher war meine Lösung immer:
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.
Ein Anwendungsfall jeder größeren APEX-Applikation ist das Erweitern eines Reports um eine oder mehrere Spalten. Diese benötigt man in der Regel für Links auf andere Bereiche, oder um kleine Grafiken in der Tabelle darzustellen.
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.
Seit der Version 7 bietet Oracle die Möglichkeit der Volltextsuche. Die frühen Optionen mußten noch separat installiert werden und in der Oracle -Version 8i war die Textsuche in das kostenpflichtige Zusatzmodul interMedia integriert. Seit Version 9i ist Oracle Text jedoch fester Bestandteil der Datenbank, auch in der Express Edition.
Die in den APEX-Versionen mitgelieferten Themes sind zwar gut und schön. Oft möchte man aber doch seine Corporate-Identity auch in seine APEX-Applikation integrieren. Bevor man sich jetzt aber auf die Themes und die darin enthaltenen HTML-Templates stürzt, sollte man sich Gedanken über den Einsatz von CSS (Cascading Style Sheets) machen. Hierbei ist die Idee von der Trennung von Inhalt und Layout zu beachten.
Jeder hat schon mal von den LOB-Datentypen gehört, die für die Speicherung von großen Textdateien bzw. binären Dateien geeignet sind. In der Oracle Datenbankversion 10g können sie Daten bis zu 128 Terabyte pro Feld aufnehmen ((4GB-1) * DB-Blockgröße). Das Einfügen von Bildern in Tabellen ist allerdings nicht über einfachen Insert möglich, sondern nur über PL/SQL-Prozeduren und das Package DBMS_LOB.
Um eine Applikation in mehreren Sprachen zur Verfügung zu stellen, gibt es in Oracle APEX die Möglichkeit, eine Applikation relativ leicht in andere Sprachen zu übersetzen. Hierzu müssen nur wenige Schritte durchgeführt werden:
Liebe Apex-Gemeinde, es ist mal wieder soweit. Oracle hat einen neuen Patch für APEX Version 3.2 zur Verfügung gestellt. Leider kann der Einzel-Patch nur über Metalink bezogen werden. Wer jedoch APEX komplett neu installieren möchte, kann sich die aktuelle Version von folgender Webseite herunterladen:
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.
Es gibt eine ganze Reihe von Tools zum Vergleich einzelner Oracle-Datenbankobjekte oder ganzen Schemata auf dem Markt (einige der meistgenannten sind in [1] zusammen gefasst). Viele dieser Tools vergleichen aber nicht die Inhalte, sondern nur die Definitionen der Datenbankobjekte.
Eine immer wiederkehrende Fragestellung - z.B. bei der Erstellung von Berichten - lautet vereinfacht: "Wie mache ich Zeilen zu Spalten?" Das heisst, Sie haben normalisierte Tabellen, wollen aber den Inhalt gruppieren und in Form einer Kreuztabelle (auch Pivot Tabelle genannt) darstellen.
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.
In diesem Monatstipp befassen wir uns mit der Erstellung eines Spool-file als HTML Dokument.
Mit dem SQL*Plus Befehl Set Markup HTML ON [SPOOL ON] lässt sich leicht ein Report bzw. ein ganzes Spool-file als HTML-Datei ausgeben. Dies ist nützlich, falls Sie beispielsweise einen Report in eine Webanwendung einbauen möchten...
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..
Es kommt immer wieder vor, dass bei einem DML-Trigger für Überprüfungen oder Protokollierungen Daten aus der zu ändernden Tabelle benötigt werden. Ein normaler Row Trigger scheidet dann in der Regel aus, weil man sonst in das Problem mit den Mutating Tables läuft...
Hatten Sie schon einmal die Aufgabe dynamisch Reports mit APEX zu erzeugen? Es kann erst zur Laufzeit festgestellt werden wie viele Reporte pro Region dargestellt werden müssen.
In diesem Tipp erfahren Sie anhand der Tabellen des User Scott, unter Verwendung des htp Packages, wie sich mehrere Reports innerhalb einer Region aufbauen lassen.
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.
Bereits seit Version 9.2 ist es prinzipiell zulässig, Collections für Bulk DML zu verwenden, die als Datentyp einen Record haben. Sinnvolle Einsatzmöglichkeiten dafür gab es aber nur beim INSERT-Befehl, da der Record nur als Ganzes angesprochen werden durfte, aber nicht einzelne Felder daraus. Das bedeutete: Wollte man aus Performance-Gründen mit Bulk Update oder Delete arbeiten, musste man (auch in 10g) für jede einzelne Spalte eine eigene Collection befüllen.
Wir hatten vor kurzer Zeit in einem Projekt das Problem, einen Ref Cursor auszuwerten, von dem nicht bekannt war, wie viele Spalten er zurückliefert. Dies ist aber notwendig, um eine entsprechende Anzahl an Parametern (bzw. Records/Arrays) zu definieren.
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.
Haben Sie sich auch schon mal gewünscht, dass SQL*Plus einen Monat als schönen Kalender darstellt? Mit der folgenden Funktion können Sie sich den aktuellen Monat (Default) oder einen beliebig anderen Monat anzeigen lassen
Reports in Application Express basieren in der Regel auf einem Select-Befehl. Gelegentlich kommt es aber vor, dass man die Werte in Form eines Arrays vorliegen hat und diese als Report anzeigen will. Was tun?
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?
Dynamische Selects zu schreiben ist dank Ref Cursoren mittlerweile ziemlich einfach geworden. Was aber tut man, wenn man die Spaltenliste des Select-Befehls nicht kennt?
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 passiert, dass Sie in Application Express ein Schema einem Workspace zuordnen wollten, aber dieses Schema wurde Ihnen nicht angeboten?
Hatten Sie auch schon einmal das Problem, dass Sie einen Datensatz gesucht haben, aber nicht wussten, in welcher Spalte dieser steht? Wir haben noch eines drauf gesetzt und können sogar Werte suchen, von denen man nicht weiß, in welcher Tabelle sie stehen.
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.