Skip to Main Content
 

Oracle DBA Tipps & Tricks

Hier finden Sie eine Sammlung nützlicher Tipps & Tricks zum Thema DBA (Datenbankadministration)

Volltextsuche über alle DBA Tipps (derzeit: 86)

APEX Neue Funktionen in der Übersicht (ab 21.1) In vielen unserer Oracle APEX Kursen kommt die Frage auf: In welcher Version gibt es denn eigentlich die Funktion XY?(2423) OAUTH2 Authentifizierung mit ORDS 23.1.4 in APEX 23.1 Als wir auf die Oracle APEX 23.1 Version upgegraded haben, gingen plötzlich unsere REST Authentifizierungen mittels Basic Authent nicht mehr.(2506) Oracle SET Operatoren und Gruppenfunktionen und Unterabfragen Oracle SET-Operatoren(2489) Reguläre Ausdrücke in Oracle (Praxisbeispiele) Im heutigen Tipp widmen wir uns ein paar Praxisbeispielen zu Regulär Expression (Reguläre Ausdrücke) in Oracle.(2563) Export Private Reports einen interactive Report in APEX Wenn Sie eine Seite mit private Reports exportieren möchten, gibt es da einen Trick:(2403) Installation der Oracle 23ai FREE Edition auf Rocky Linux mit APEX 22.2 und ORDS 23.1 Als vor zwei Wochen die Oracle Version 23ai FREE Edition herauskam, waren wir sehr (positiv) überracht, dass die kostenlose Version vor der Produktiv Version veröffentlicht wurde.(2463) Oracle Attention.log via Pipelined Table Function auslesen / auswerten Ab der Version Oracle 21c wird zusätzlich zum alert.log noch eine neue Datei ausgeliefert: das Attention.log. Hier sollen wichtige Information als Zusammenfassung der Alert.log stehen.(2545) Oracle APEX Interactive Grid Javascript Snippets In unseren Schulungen werden immer mal Fragen zum Interactiven Grid gestellt, die sehr interessant sind. Hier eine kleine Auswahl:(2583) Oracle 23ai auf Windows WSL Alle warten ja gespannt auf die Production Version von Oracle 23ai (formaly known as Oracle 23c). (2626) Oracle Fehlermeldungen aus der DB anzeigen Es gibt ja ca 40.000 Oracle Fehlermeldungen, die vermutlich keiner auswendig kennt. Aber dafür hat ja man die Datenbank, denn die kennt natürlich alle Ihre Fehlertexte.(2643) SYSAUX Tablespace verkleinern / reorganisieren Wir hatten letzte Woche das Problem, dass unsere Oracle 23ai FREE Version an ihr Speicherlimit von 12GB (ORA-12954 The request exceeds the maximum allowed database size of 12 GB.) gekommen ist. (2663) Listener Info mittels SQL auswerten (External Table) Im Gespräch mit einem Oracle Mitarbeiter letztes Jahr kam die Idee auf, warum Oracle keinen Select bietet, um den den Stand des Listeners abzufragen. (2664) Globale Suche in APEX Wir verwenden für unsere Webseite Oracle 23ai mit APEX 24.1.x (Stand August 2024). Leider funktioniert die Globale Suche dort nicht mehr und die Anfrage stürzt ab mit Webserver Internal Server Fehler (2685) Oracle Constraints nachträglich anlegen Wie oft habe ich schon nach der Syntax gesucht um nachträglich einen Constraint auf eine Tabelle zu legen. Google ist ja da immer eine gute Hilfe, aber in deutsch gab es bisher wenig.(2363) Oracle ORDS 22.x/23.1.x Installation und Fehlerbehebung / ORDS Troubleshooting Seit einiger Zeit ist die neue Oracle ORDS Version 23.x zum (2443) Funktion Return Boolean in SQL Problem lösen Haben Sie sich auch schon darüber geärgert, dass gerade Oracle keine Boolean Datentypen in SQL erlaubt?(605) DBMS_OUTPUT umgeleitet Ich liebe das Package dbms_output, wenn es nur nicht ...(623) Best Practices für das Datenbank-Audit in Oracle 11g und 12c 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 Einstel(224) Das PL/SQL-Berechtigungskonzept in 12c Oracle hat das Berechtigungskonzept zu PL/SQL in Hinblick auf zwei gegensätzliche Szenarien in 12c ausgebaut:(254) Die wahre Größe einer Tabelle mit LOB Spalten Letztens bin ich über ein vermeintlich trivales Problem gestolpert: Ich wollte die Größe einer Tabelle berechnen. Nur war die vermeintlich nur sehr klein. Wo lag das Problem?(583) Informationssystem für APEX-Applikationen 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 Informatio(303) Unsichtbare Spalten 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.(323) Tipps zur Statistikerstellung in der Datenbank 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 da(343) Zeilenbegrenzung in 12c - Pagination leicht gemacht 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(344) Netzwerk Verschlüsselung 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. D(345) Instanzstart Mittels RMAN ohne Parameterdatei Haben Sie schon einmal versucht Ihre Oracle Instanz zu starten und dabei feststellen müssen, dass Oracle keine Parameterdatei mehr findet? Gleichgültig, ob Sie eine binäre Datei, also ein SPFILE, oder(346) SQL*PLUS Hilfe Erweitern 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 gep(347) Autoincrement Spalten in 12c (Identity) Lange haben wir darauf gewartet, endlich ist sie da! Oracle 12c! Das "c" steht für Cloud.(423) Abhängige Objekte einer Tabelle anzeigen bzw. neu erstellen An einer Tabelle hängen viele schöne Objekte, die man aber auf den ersten Blick gar nicht sieht.(424) RMAN Recover Szenarien inkl. Wechsel der Inkarnation Sind Sie als DBA Ihrer Oracle Datenbank auch für das Backup und Recovery zuständig? Dann standen Sie vielleicht schon einmal vor dem Problem, Ihre Datenbank aufgrund von Benutzer- oder Dateifehlern zu(443) Parallelisierung von DML - Operatoren mit DBMS_Parallel_Execute ab 11.2 Die Parallelisierung von größeren DELETE- und UPDATE-Aktionen bietet diverse Vorteile:(463) Archivierung in ein Remote-Verzeichnis 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 woll(483) Export von Tabellen als CSV-Files mit UTL_File 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 einf(484) Itemcheck in APEX Anwendungen über alle Items einer Seite Seit APEX Version 5.1 können ja nun zusätzliche Standard-Prüfungen für die Items durchgeführt werden. Diese sind:(1063) Rebuild von defekten Indizes Es ist wohl eines der best gehütesten Geheimnisse, dass defekte Indizes in der Tabelle dba_objects in der Spalte weiterhin mit dem Status VALID stehen.(1203) Upgrade und Migration einer Non-Container-DB (12.1.0.2) in eine Container-DB (12.2.0.1) In diesem Tipp 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.(1703) Bereinigen der DB-Umgebung mittels ADRCI 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.(1704) Konvertierung von Ref Cursor in dbms_sql Cursor (ab 11g) Wir hatten 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(1705) Oracle ORDS Parameter der Datei defaults.xml Wer mit APEX und ORDS zusammenarbeitet ist immer froh, wenn er eine Übersicht über die aktuellen ORDS Parameter findet.(1823) Oracle Forms 6i mit Win 10 und Oracle 18 XE Manchmal hat man doch Sehnsucht nach der alten Zeit, in unserem Fall nach einer Oracle Forms 6i Version aus dem Jahre 1998.(1863) Oracle APEX Patch für 20.1 (30990551) Oracle APEX 20.1 ist gerade mal 4 Wochen heraus und schon gibt es den ersten Patch, der ein paar praktische Bugfixes mitbringt (u.A. die falsche Timeout Warnung wird behoben)(1883) Postgres Backup einer Datenbank mit tar Wer seine Postgres Datenbank liebt/braucht, sollte regelmäßig ein Backup von ihr machen.(1903) Lange Laufzeiten bei Zugriff auf DBA_FREE_SPACE oder DBA_EXTENTS verbessern Wir hatten jüngst eine (vermeintlich) einfache Query, die aber 5 Min lief. Sie lautete:(1963) Oracle APEX 20.2 Installation Mit dem Datum 21.10.2020 kam die Oracle APEX 20.2 Version nun doch sehr überrraschend frühzeitig heraus (im Vergleich zu den letzten Jahren). Aber gute Nachrichten kann man in den aktuell schweren Zei(1983) Oracle JSON Date Datentyp Problem Wer schon mal mit dem JSON Date Datentyp gearbeitet hat, ist sich dessen Problemen sicherlich bewusst.(2103) Tablespace Map as ASCII Ausgabe Ein Bild sagt ja bekanntlich mehr als (2123) PostgreSQL Listener Adresse ändern und Zugriff regulieren Wenn mann seine ersten Schritte mit PostgreSQL durchführt, ist meist das erste Problem, dass man sich nicht Remote mit der DB verbinden kann. Die Datenbank lauscht standartmäßig auf Clientanfragen ers(2163) Oracle Datenaustausch mit Postgres via REST Wenn man mit zwei Datenbanken parallel arbeiten möchte, stellt sich immer die Frage, wie geht das am Besten?(2183) Oracle Workspace Manager (Package dbms_wm) Der Workspace Manager dient zur Versionierung von Tabellendaten in verschieden Versionen (Workspaces)(1223) Oracle 23ai FREE auf Debian (bookworm) Installation Installation von Oracle 23ai FREE auf Debian(2525) Oracle ORDS 24.x Installation mit TomCat 10.1.x TomCat Version 10 ist nun einige Jahre auf dem Markt, nur leider unterstützt Oracle diese Version weiterhin nicht.(2725) PL/SQL Collection Beispiele In unseren Kursen stöhnen die Teilnehmer häufig über Oracles eigene Arrays, die man auch Collection nennt.(43) Partitionierte Tabellen von Postgres (ab Version 10) Postgres hat seit der Version 10.x die Partitionierung auf eine neue Stufe gehoben. Datensätze werden jetzt ohne den zusätzlichem Einsatz von Triggern auf die richtigen Tabellen-Partitionen verteilt.(44) DBMS_OUTPUT Tipps Eigentlich hat doch schon ein jeder PL/SQL-Entwickler (und natürlich auch jede Entwicklerin ) sich über das Package (23) Oracle SQL Insert Wie fügt man eine Zeile in die Oracle Datenbank ein?(45) Oracle Datenbanken herunterfahren Wie kann man eine Oracle Datenbank herunterfahren?(47) Oracle Version abfragen Wenn Sie wissen möchten, welche Oracle Version sie installiert haben, können Sie folgende Query verwenden, um die Oracle Version abzufragen:(48) Datumskonvertierungen und Datumsformate in Oracle Wer hat nicht schon mal vor dem Problem einer Datumskonvertierung bei Oracle Datenbanken gestanden?(63) SQL Tuning mit SAMPLE und ROWNUM Mit der SAMPLE-Klausel kann die SQL-Ergebnismenge von 0,000001% bis 100% der ursprünglichen reduziert werden. Oracle greift einfach zufällig in die Ergebnismenge und holt (wählt) einen gewissen Prozen(83) Datendateien online verschieben 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(243) Dem Oracle Datenbank-Link auf der Spur In historisch gewachsenen Datenbank-Landschaften mit vielen Datenbanken kommt es häufig vor, dass die einzelnen Datenbanken über Datenbank-Links verbunden sind. Das kann in Umgebungen mit vielen Benut(248) Neuerungen zu Joins in Oracle Version 12c 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 Version(250) Truncate / Drop Schutz für wichtige Objekte In diesem widmen wir uns dem Thema Schutz vor dem unbeabsichtigten Löschen von wichtigen Objekten.(252) Debuggen in 12C mit Hilfe des SQL Developers Der SQL Developer als Oracle-proprietäres Tool erfreut sich mittlerweile großer Beliebtheit. Entwicker, die den SQL Developer auch zum Debuggen nutzen, werden bei 12c-Datenbanken jedoch erst einmal ei(255) Dynamic Actions für Reportspalten 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 S(256) Inkrementelles Backup und Block Change Tracking mit RMAN Inkrementelle Backups sichern nur geänderte Blöcke, diese können differenziell (default) oder kumulativ sein.(257) Prozedur für das Klonen einer Oracle Datenbank 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 (283) Dynamic Actions Vorlagen und Beispiele für APEX Ich habe schon oft versucht Dynamic Actions Vorlagen für APEX im Internet zu finden. Aber es gibt nur sehr wenige und viele sind nicht für den Anwendungsfall passend oder zu kompliziert. Ziel dieses A(643) Bind Variable oder Substitutionsvariable? 1.(703) Oracle XE 18c Installation (Linux) Lange haben wir darauf gewartet, am 19.10.2018 war es dann endlich soweit: Oracle veröffentlichte seine neue XE 18c.(723) Security Scoring 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 (223) Template Substitutions in Apex 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...(244) Statspack ohne Report 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 konf(245) TCP Validnode Checking 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öh(246) Oracle 12c Datenbank Patchstand abfragen Ab Oracle 12c gibt es das neue Utility (247) Wie suche ich in View-Texten? Manchmal umfassen Applikationen nicht nur viel Quelltext, sondern auch sehr viele Views, in denen u. a. auch Funktionen aus diversen Packages verwendet werden. Wenn nun eine bestimmte Funktion geänder(249) Segmenteinstellungen beim Datapump Import 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 Probl(251) Einsatz von After Servererror-Triggern bei dem Troubleshooting von Datenbankfehlern 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:(253) Oracle ORDS (bis 21.1) Installation für APEX Nachdem wir in den letzten Jahren schon viele Male den Ords installiert haben und in diverse Probleme gelaufen sind, wird es Zeit hier mal etwas Licht ins Dunkel zu bekommen... :-)(563) Ermittlung der exakten Datenbank Edition 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 lize(383) Nützliche Parameter von SYS_CONTEXT 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 norm(403) Keyword in Context (KWIC) mit Oracle 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 201(404) Suche Datensatz in einem Schema 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, (863) Gesperrte Schemata in Application Express Ist es Ihnen schon passiert, dass Sie in Application Express ein Schema einem Workspace zuordnen wollten, aber dieses Schema wurde Ihnen nicht angeboten? Und wenn Sie den Schemanamen trotzdem manuell (865) Index oder nicht, das ist hier die Frage Indizes sind ein spannendes Thema, manchmal hat man zu viele, oder zu wenige. Wir wollen uns in diesem Tipp mal anschauen, wie man diese Probleme löst.(866) Undo und Temp - Tablespace verkleinern 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 Tables(867) Interessantes zum Recycle Bin-Konzept 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(883) Verarbeitung eines dynamischen Selects Dynamische Selects zu schreiben ist dank des Ref Cursoren mittlerweile ziemlich einfach geworden. Man muss jedoch wissen, wie viele Spalten man ausliest, und welchen Datentyp sie haben. In der Regel i(884) Index To Rebuilt or not to Rebuilt In unserer täglichen Praxis erleben wir häufig, dass Indizes beim Kunden sehr groß geworden sind. In vielen Fällen wurden in der zum Index gehörenden Tabelle viele Einträge gelöscht. Wenn nicht die Ta(885) Möglichkeiten die Datendatei eines temporären Tablespace zu verschieben bzw. umzubenennen 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.(886) Besonderheiten des Datentyps LONG Das soll sich ändern, wir haben hier nun die wichtigsten Punkte zu Oracle LONG Spalten zusammengefasst:LONG Spalten wurden in Oracle 7.3 eingeführt und sollten die Beschränkung von VARCHAR2 Spalten di(887) Monatskalender in SQL*Plus Monatskalender in SQL*Plus(903) Reguläre Ausdrücke in Oracle Diesmal soll es vor allem um einfache Anwendungsbeispiele für die Funktionen REGEXP_LIKE, REGEXP_SUBSTR und REGEXP_REPLACE gehen.(904) Zeilenbasierte Zugriffskontrolle Hinweis: (923) Mehrspaltige Ausgabe einer Tabelle Tabellenzusammenfassung(924) Filterung der Alert.log mittels SQL 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. fol(926) Einführung in Restore Points Über das FLASHBACK-Konzept und seine Anwendung haben wir Sie bereits in früheren Tipps ausführlich informiert. Hier und jetzt soll Ihnen noch eine weitere Möglichkeit vorgestellt werden, die bislang n(927) Umbenennen Ihrer Constraints 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(928) Compound Trigger zur Vermeidung von Mutating Tables in 11g 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 a(929) Oracle Indexüberwachung Eigentlich bin ich ja ein großer Oracle Fan. Aber manchmal ärgere ich mich auch über Unzulänglichkeiten der Software. Man kann zwar einen Index danach überwachen, ob er verwendet wird, aber nicht, wie(930) Quote Operator Hatten Sie auch schon mal mit (einfachen) Anführungszeichen (… ' …) in Ihrer Datenbank zu kämpfen?? Entweder sie sind durch einen Ladevorgang mit fehlerhaften Daten (ungewollt) entstanden und sollen n(931) APEX 20.2 Backups selbst konfigurieren Das neue Oracle APEX 20.1 hat uns ja wieder mit vielen neuen Funktionen überrascht. Eines davon ist die autoamtische Backup-Funktionalität.(1783) Oracle FLASHBACK Haben Sie nicht auch schon einmal einen SQL-Befehl abgesetzt (z.B. DROP TABLE oder DROP INDEX) und sich anschließend gewünscht, Sie könnten die Zeit wieder zurückdrehen?(1083) Spool-file als HTML-Datei ausgeben In diesem Monatstipp befassen wir uns mit der Erstellung eines Spool-file als HTML Dokument. (943) Access Control Lists mit dbms_network_acl_admin Viele Applikationen verwenden die Möglichkeiten zur Mailversendung aus Oracle heraus, sei es mit (963) Berechnung des Segmentfüllpegels In diesem Tipp des Monats schauen wir uns mal die Speicherbelegung der Tabellen und Indizes an.(983) DBMS_FILE_TRANSFER zum Kopieren von Binär-Dateien 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 ander(984) Pivoting in 11g - Zeilen zu Spalten 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 I(985) REST Beispiele mit apex_web_service Nachdem das Thema REST immer mehr an Schwung gewinnt, wird es Zeit darüber einen Tipp zu schreiben.(1803) Sperren auf Tabellen in einer Oracle Datenbank 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 gleic(1004) Import von Bild-Dateien in die Datenbank 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 Ter(1023) Oracle XE 18c Installation (Windows) Nach 4 Monatiger Verspätung gegenüber der Linux Version war es am 20.2.2019 endlich so weit, das neue Oracle XE Release ist zum (1103) Undokumentierte Funktion zum Abfragen von NULL Werten Haben wir uns nicht alle schon mal darüber geärgert, dass auf (925) Oracle Objekte umbenennen In unserem heutigen Tipp wollen wir uns mit dem Umbenennen von Objekten beschäftigen. Leider geht das nicht bei allen Objekten. Folgende Objekte können nicht direkt umbenannt werden:(1043) Crossplatform Migration Im vorliegenden Beitrag wird Ihnen gezeigt, wie Sie eine Oracle-Datenbank mittels(1163) ACL (Access Control Lists) bei Oracle Vermutlich jeder hat sich schon mal über den Oracle ACL Fehler geärgert:(1183) Mutating Table Problem umgehen mittels zwei Trigger und einer Collection In unseren Schulungen klagen die Teilnehmer häufig über das Mutating Table Problem.(523) CGI Parameter unter APEX auslesen Manchmal ist es sehr nützlich, herauszufinden auf welchem Server man gerade arbeitet. Dann kann man z.B. auf einem Testserver eine andere Seiten-Region ausgeben, als auf dem Produktivserver.(543) Eval Funktion mit Execute Immediate In Unix gibt es eine schöne Funktion mit Namen eval. Mit der kann man dynamische Befehle ausführen. So etwas wäre doch auch unter Oracle ganz praktisch. Es gibt ja auch schon drei dynamische Konzepte:(603) Interessante APEX Parameter, die über die Kommandozeile gesetzt werden können Wenn Sie sich mal im Internal Workspace ausgetobt haben und dabei einige Parameter so verstellt worden sind, dass man sich nicht mehr anmelden kann, hilft Ihnen evtl. der folgende Tipp.(604) ORDS Standalone Installation unter Windows Im heutigen Tipp beschäftigen wir uns mit der Installation von ORDS 18.4 unter Windows 10.(1123) Automatischer Start einer Oracle Datenbank unter LINUX/UNIX Da das Thema eines automatischen Starts in den Produktiv-Datenbanken immer noch nicht so ausführlich von Oracle (bis gar nicht) behandelt wird, während es in der Express Edition (die auch noch kostenl(1143) Oracle APEX Export auf Kommandozeile Haben Sie sich auch schon mal gefragt, wie man seine schönen APEX Applikationen sichert?(485) Result Cache 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 Funktionsaufru(486) Geändertes Verhalten bei Datendateifehlern 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ürzt ist. (487) Löschen von doppelten Datensätzen 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 Meth(489) Vergleich von Tabellen in 10G und 11G II Der Vergleich und die Synchronisation von Tabellen waren schon einmal Gegenstand eines Monatstipps. Damals beschränkte sich der Vergleich jedoch auf bis zu 4 Spalten. Die hier vorgestellten Packages f(503) Verzeichnisse Auslesen in PL/SQL 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:(504) Frühjahrsputz in der Datenbank Wir beginnen mit unserem Frühjahrsputz dieses Mal sehr früh :-) und räumen die alten Trace-Dateien der Datenbank auf.(505) Characterset Migration Standen Sie auch schon mal vor dem Problem, auf einer bestehenden Datenbank den Zeichensatz wechseln zu müssen?(506) Dynamische Ausführung von Befehlen Seit Jahren stellt sich mir immer wieder das gleiche Problem:(507) Function Based Indices - Spezialfälle Die häufigsten Einsatzfälle eines Function Based Index dürften sein:(508) Tracing mit DBMS_Monitor TRACING(509) Neue Klausel in der Create Table Anweisung 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.(510) Tipps zu der Initialisierungsdatei MÖGLICHE PARAMETER-WERTE DER ORACLE-DATENBANK(511) Oracle Text I Seit der Version 7 bietet Oracle die Möglichkeit der Volltextsuche. Seit Version 9i ist Oracle Text jedoch fester Bestandteil der Datenbank, auch in der Express Edition.(512) Das Wichtigste rund um Benutzer-Profile Haben Sie sich als Datenbank-Administrator schon einmal eine der folgenden Fragen gestellt?(513) Oracle 18c (Version 18.3) Installation Kurzanleitung Im folgenden Tipp wollen wir uns die Installation der Oracle Enterprise Version 18.3 (Oracle 18c) ansehen. Wir gehen davon aus, dass der Benutzer Oracle bereits mit allen nötigen Gruppen angelegt wurd(663) APEX Datenbank Initialisierungsparameterempfehlungen Bei manchen (äh fast allen) Applikationen gibt es die geliebten ReadMe (RTFM) Dateien. Jeder von uns liest diese Dateien natürlich ordnungsgemäß komplett von vorne bis hinten durch. :-)(683) Oracle Live SQL Viele wollen SQL lernen, sind aber abgeschreckt vor dem Aufwand, sich etwas zu installieren. Eigentlich ist das gar nicht schlimm, siehe auch unser Tipp zur Installation von Oracle XE 18c. Wer es aber(743) Schema Export mit EXPDP erzeugt keine Benutzer ? Wenn Sie mal wieder eine Migration vorhaben und möchten das mittels Oracle Export und Import (expdp / impdp) durchführen haben sie die Alternativen, einen Full Export oder einen Schema Export durchzuf(763) Unnötige Benutzer in Oracle XE 18c löschen Wenn Sie sich in der Oracle XE 18c Express Edition Datenbank auch über die vielen (unnötigen) Benutzer ärgern, hilft Ihnen evtl. der nachfolgende Oracle Tipp.(764) Oracle APEX 19.2 installieren für Oracle XE 18c Wenn Sie die APEX Version 19.2 (Stand November 2020) in die kostenlose Oracle XE Datenbank Version 18c installieren möchten, gehen Sie bitte wie folgt vor:(783) Statspack optimiert Wer auch sich den AWR / ADDM nicht leisten möchte, kann ja bei Oracle auch weiterhin zum kostenlosen Monitoring Tool STATSPACK greifen.(803) Package UTL_MAIL Vorbereitungen(823) Online Table Redefinition Folgende Operationen zum Reorganisieren von Tabellen sind möglich:(843) Sessions Transaktionen und Sperren Zusammenspiel zwischen Sessions, Transaktionen und Sperren(844) Export von allen APEX Komponenten Zu einem guten APEX-Projekt gehört auch ein gutes Backup-Konzept. Sie möchten ja keine Ihrer wichtigen Projektänderungen verlieren oder?(123) Schutz vor DROP oder TRUNCATE Kommandos Heute widmen wir uns dem wichtigen Thema "Schutz vor dem unbeabsichtigten Löschen von wichtigen Datenbank-Objekten".(143) Neue Online Operationen Neue Online Operationen (203) Blobs in Apex In Oracle Application Express (APEX) kann man BLOBs über „Formulare“ in die Datenbank abspeichern oder über „Reporte“ aus der Datenbank herausladen und Bilder anzeigen lassen.(204) Überwachung der Alert-Datei unter Linux Hier nun die Ergänzung für die Überwachung der Alert-Datei unter Linux-Systemen.(205) Automatische Triggerwiedereinschaltung Häufig möchte man einen Trigger kurz einmal ausschalten, eine Aktion ausführen und ihn dann wieder einschalten.(103) Rechte direkt oder via Rolle Wenn Sie in PL/SQL Prozeduren, Funktionen oder Packages schreiben möchten und auf Objekte von anderen Schematas zugreifen, dann müssen Sie die dazugehörigen Rechte direkt bekommen haben und nicht über(104) Überwachung der Alert-Datei unter Windows Eine der zentralen Aufgaben eines Datenbankadministrators sollte in der Überwachung der Alert-Datei bestehen.(206) 20 CREATE TABLE Beispiele für Oracle (Version 10.2 bis 21c) In unserem heutigen Tipp widmen wir uns dem wichtigsten Konzept einer Datenbank überhaupt: Der Tabelle!(183) Oracle und JSON Das JSON-Format (Java-Script 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 (208) Die Zukunft ist parallel Sie wollen Performance aus Ihren Skripten, komplexen Kommandos und Statements herausholen? Ressourcen richtig nutzen mit Parallelisierung! Verschiedene einfache Beispiele zur Parallelisierung unter Wi(209) Die Neuerungen APEX 5.1 Es war ein schönes Weihnachtsgeschenk der Oracle APEX-Entwickler: Die heiß ersehnte (207) Die WITH-Klausel Die (163) Dynamisch Netzwerkdateien in SQL auslesen Wie oft möchte man den einen oder anderen Netzwerkparameter aus den Oracle Netzwerk-Dateien tnsnames.ora, listener.ora oder sqlnet.ora von einem Unix-Server auslesen? Was also tun?(7) Tooltipps in APEX5.x Tooltipps sind eine schöne Gestaltungsmöglichkeit, um Texte an verschiedenen Stellen in einer Webseite einzubauen.(22) Deklaration von PL/SQL Datentypen DECLARE(1323) Umbennen von Oracle intervall partitionierten Tabellen (Nach Datum) Wenn man eine range intervall partitionierte Tabelle anlegt, vergibt Oracle nicht sehr besonders sprechende Namen.(2143) Linux Kernel upgraden Die meisten Linux Distributionen werden von Haus aus mit einer älteren Kernel Version ausgeliefert.(2144) Oracle APEX Friendly URL ab 20.1 Das Feature war lange überfällig und wurde nun ab APEX 20.1 endlich implementiert: Friendly URL.(2203) APEX 21.1 für Oracle XE 18c installieren Auch 2021 gibt es natürlich ein neues APEX Release, das nur durch den tragischen Tod eines der Mitbegründer von APEX überschattet wird: (2223) Freier Diskspace unter Windows mittels External Table ermitteln Wer seine Datenbank gerne überwachen möchte, stößt früher oder später auf das Problem den freien Speicherplatz im Betriebssystem zu ermitteln.(1923) Oracle APEX 20.2 installieren in einer Oracle XE 18c Datenbank Alle hatten noch mit einer Oracle Express Edition 20c im Jahre 2020 gerechnet, nur nachdem es kein OnPremise Release von Oracle im Jahre 2020 gegeben hat, wurde natürlich auch kein neues Express Editi(2023) Oracle Dokumentationsübersicht von Version 11.2 bis Oracle 21c Haben Sie auch schon einmal verzweifelt nach der richtigen Oracle Dokumentation Ihrer Oracle Datenbank gesucht.(2043) Oracle Rest Benutzer im TomCat Wer schon mal REST Benutzer mit dem ORDS angelegt hat, ist evtl nicht so begeistert von der etwas umständlichen Vorgehensweise:(1543) Visual Studio Code für Oracle SQL und PL/SQL In den letzten Jahren wird von vielen Entwicklern verstärkt das Tool Visual Studio Code bei der Entwicklung verwendet.(1243) Übersicht der wichtigsten SQL-Befehle Der Oracle (1263) Oracle ORDS (bis 21.4.3.x) Fehler und Lösungsvorschläge Das heutige Thema beschäftigt mit häufigen ORDS Problemen und Fehlern. Da ich schon mehrere Stunden/Tage auf der Suche nach Fehlern mit der Oracle ORDS Schnittstelle verbracht habe, möchte ich versuch(1523) Übersicht der wichtigsten DML Befehle Data Manipulation Language(1283) Übersicht der wichtigsten DDL-Befehle Data Manipulation Language (DML)(1303) Praktische Aliase unter Oracle / APEX und Tomcat / Apache Wer häufiger mit Oracle und APEX + TomCat und Apache zutun hat, freud sich bestimmt über etwas Arbeitserleichterung(1610) Konfigurieren und Nutzen des Oracle Connection Managers Immer wieder taucht folgendes Problem in der Praxis auf:(1943) TomCat Logfiles mittels External Table lesen In unserem heutigen Tipp widmen wir uns dem Thema: Auslesen von Logfiles mittels External Tables.(1625) Übersicht der wichtigsten DDL-Befehle (Teil 2) Constraints(1443) APEX Region Display Selector Status auswerten In einem meiner letzten APEX Kurse kam die Frage auf, wie kann man ermitteln, welche der Regionen duch den Region Display Selector ausgewählt wurde. Das ist zum Glück sehr leicht:(1510) LISTAGG Alternative mit CLOB Datentyp (und damit 128TB Maximallänge) Wer kennt es nicht, immer wenn man mal listagg benötigt, reciht der Speicherplatz nicht, weil listagg maximal 32767 Bytes zurückgeben kann.(2063) Oracle APEX Variablen im Oracle Trigger auslesen Wenn man in seiner Oracle Datenbank Trigger zu Audit-Zwecken verwendet, ist man erstaunt, das als Apex Benutzer nicht der Anmeldebenutzer sondern ANONYMOUS oder APEX_PUBLIC_USER erscheint.(1843) Oracle ORDS Check Skript für gängigste Webserver 404 Fehler Nachdem ich schon mehere Tage mit der Suche nach Fehlern im Oracle ORDS mit APEX verbracht habe, war es mal Zeit ein Prüf-Skript zu schreiben.(1664) APEX 23.2 Installation mit minimaler Downtime Lange haben wir darauf gewartet, nun ist es endlich verfügbar. Seit November 2023 kann man Oracle APEX 23.2 herunterladen. Im folgenden Tipp beschreiben wir kurz, wie es installiert wird.(1763) Partitionierte Tabellen Beispiele in Postgres Postgres hat ja nun seit der Version 10 auch Partitionierung bei Tabellen im Einsatz und das natürlich wie immer kostenlos.(1463) Trigger Beispiele in Postgres Bei Postgres wird im Gegensatz zu Oracle die Aufgabe in zwei Teile zerlegt:(1483) Oracle Fehler in Win 10 Benachrichtigungen Nach 4 Monatiger Verspätung gegenüber der Linux Version war es am 20.2.2019 endlich so weit, das neue Oracle XE Release ist zum (1723) Hackerangriffe in APEX Wenn man seine APEX Anwendung am ersten Tag im Internet frei verfügbar macht, wird man sich gleich über den großen Traffic auf dem Server freuen.(1743) Oracle APEX Kalender Region mit Jahresauswahl Wollten Sie auch schon mal in einer APEX Kalender Region auch das Jahr und den Monat auswählen,(2083) Postgres utl_file zum Lesen und Schreiben von Dateien In Vorbereitung für unseren neuen zweitägigen Kurs Oracle auf Postgres Migration, den wir ab Juli 2021 anbieten werden, ist mir aufgefallen, dass es weltweit wenige Beispiele zu Postgres utl_file Impl(2243) Installation von Oracle 21c Seit August 2021 ist nun Oracle 21c verfügbar. Im folgenden möchten wir kurz die Installation erläutern.(2283) Flashback Funktionen in Postgres Leider hat Postgres keine eingebaute Flashback Funktion. Für Flashback Database könnte man sich als Alternative ein Komplettbackup der DB erstellen (z.B. mittels pg_basebackup)(2263) Oracle APEX 21.2 in Oracle 21c Pluggable Database installieren Ich habe mich ja lange Zeit geweigert, die Pluggable Database einzusetzen und wenn es nach mir ginge ....(2303) JSON Daten extrahieren In unserem heutigen Beitrag wollen wir uns mit dem Thema beschäftigen, wie man aus einem JSON String wieder die Daten extrahieren kann.(2323) JSON Umwandlung in realtionales Format mit JSON_TABLE Beispiele In vielen unserer Kurse ist JSON ein Thema (z.B. im APEX oder ORDS oder PL/SQL II Kurs). Da die Syntax gewöhnungsbedürftig ist, haben wir mal ein paar Beispiele generiert um die syntax besser zu verst(2343) ORDS 22.x Installation in Verbindung mit Oracle APEX Seit Mai 2022 ist eine neue ORDS Version veröffentlicht worden, die eine andere Installation benötigt.(2383)