PostgreSQL Cheat Sheets – Sammlung

Für PostgreSQL finden sich einige sehr nützliche Cheat-Sheets, um im Alltag eine schnelle Referenz zur Hand zu haben.

Die korrekte Übersetzung von Cheat-Sheet lautet „Schummelzettel“.

Allerdings zielt die Verwendung in erster Linie nicht auf das Schummeln ab, sonder es handelt sich vielmehr um eine übersichtliche Zusammenstellung von wichtigsten Details zu einem ganz bestimmten Thema.

Im Idealfall sollte die Länge von einem A4 Blatt nicht überschritten werden, aber es gibt natürlich auch umfassendere Cheat-Sheets.

Zum Thema PostgreSQL haben wir folgende nützliche Cheat-Sheets gefunden:

[Link ] PostgreSQL Cheat Sheet von postgresqltutorial.com – 3 Seiten

In diesem Cheat Sheet werden folgende PostgreSQL Themen behandelt:

  • quering data from table
  • quering from multible tables (verschiedene Joins – left join, right join, outer join, cross join, usw..)
  • SQL operatoren – union, intersect, except, like – not like, in – not in, between and, is null – is not null
  • Table Management – create, drop, alter, truncate, etc…
  • SQL Constraints – primary key, foreign key, unique, check, usw..
  • Data Modification – insert into values, insert into select * from table, update set, delete from, etc…
  • View Management – create view as select, create recursive view, create temporary view, etc…
  • Index Management – create index, create unique index, drop index
  • SQL Aggreate Functions – avg, count, sum, max, min
  • Trigger Management – create trigger when event, etc…

[ Link ] Postgresql Cheat Sheet von alberton.info – 1 Seite

In diesem Cheat-Sheet werden folgende PostgreSQL Themen behandelt:

  • Data Types
  • Internal Functions
  • Usefull Queries
  • Information Shema

[ Link ] PostgreSQL Sting Functions Cheat Sheet von SQLBackupAndFTP.com – 1 Seite

In diesem Cheat-Sheet werden PostgreSQL String Functions behandelt:

  • Conversion
  • Measurement
  • Modification

[Link ] Postgresql terminal commands – cheatography.com – 1 Seite

In diesem Cheat-Sheet werden PostgreSQL terminal commands behandelt:

  • Connecting
  • PSQL
  • Roles and database management
  • Database backup

 

 

 

 

Webservices direkt aus der DB (XMLDB)

Übersicht

Web Services werden heutzutage immer öfter benutzt um Daten unabhängig vom Standort, zwischen zwei Applikationen auszutauschen und Funktionen aufzurufen.

Oracle stellt mit den Native Oracle XML DB Web Services eine Möglichkeit zur Verfügung, die es erlauben SQL und XQuery Abfragen an einen Host zu senden.

Außerdem kann auf PL/SQL Stored Procedures und Functions zugegriffen werden.

Dabei unterstützt Oracle XML DB das Netzwerkprotokoll SOAP 1.1. Durch die HTTP POST Methode werden die SOAP Requests an die Oracle XML DB Web Services übermittelt.

Der Standort der Web Services und WSDL Dokumente können in der Oracle XML DB Datei xdbconfig.xml konfiguriert werden.

Konfiguration

Um die Web Services zu aktivieren, ist es zuallererst notwendig dem Datenbankbenutzer als SYS User die XDB_WEBSERVICES Rolle zuzuweisen.

Durch die Zuweisung der Rolle können die Web Services benutzt werden. Standardmäßig ist die Benutzung via HTTPS freigeschalten.

Dazu können noch weitere Rollen vergeben werden:

XDB_WEBSERVICES_OVER_HTTP – Benutzung via http

XDB_WEBSERVICES_WITH_PUBLIC – Zugriff auf PUBLIC Datenbank-Objekte

Hat ein User die Zugangsberechtigung auf eine Datenbank mittels Web Services so kann er nur auf die ihm zugewiesenen Datenbank-Objekte zugreifen.

Mit XDB_WEBSERVICES_WITH_PUBLIC kann er nun auch auf PUBLIC Objekte zugreifen.

Zugriff

Das Web Service für Datenbank-Abfragen befindet sich auf http://host:port/orawsv.

Bei host:port handelt es sich um den Datenbank-Host und HTTP(S)-Port. Der Pfad enthält eine WSDL-File, die eingehende und ausgehende Dokumente in XML spezifiziert.

Um auf Stored Procedures und Functions zugreifen zu können, muss http://host:port/orawsv/dbschema/package/fn_or_proc angewählt werden. Host:port enthält wieder den Datenbank-Host und  HTTP(S)-Port. Fn_or_proc gibt dabei die Procedure bzw. Function an.

Mit dbschema wird das Datenbank-Schema angegeben.

Sollte eine Procedure oder Function außerhalb eines Packages sein, so kann package ausgelassen werden.

Das war die Sommer-Party 2018 mit Tretboot-Challenge

Circa siebzig Kunden, Partner, Freunde und Kollegen feierten am 30. August mit uns bei coolen Grooves und köstlichem Grill-Buffet auf unserer Sommer-Party.

Aus der Sommer-Party wurde zur späteren Stunde durch leichten Regen leider eine Sommer-Abschieds-Party.

Die Location an der Alten Donau bot aber auch Indoor genügend Platz für alle Party-Gäste und so nahm die Feier trotz Regen keinen Abbruch.

Auch heuer wurde wieder unsere DBConcepts-Tretboot Challenge ausgetragen, wo 14 tapfere Teams um den Sieg kämpften.

Der Wettergott zeigte sich gnädig mit allen Athleten, sodass erst pünktlich nach dem letzten Team die ersten Regentropfen fielen.

Da es bei der Tretboot-Challenge nur zwei Regeln gibt, blieb für jedes Team genügend Spielraum um die eigene Taktik zu optimieren. Daher sahen wir heuer zum Ersten Mal auch einen waghalsigen Les-Mans Start und viele abenteuerliche Anlegemanöver.

Der Kampfgeist wurde auf jeden Fall bei allen Teilnehmern geweckt und die Pedale bis zum Wadlbrennen getreten.

Schließlich wurden zwei Teams mit der exakt gleichen Siegerzeit von 1:46 gemessen!

Wir gratulieren den beiden Siegerteams „Cyclist“ und “ France“ und auch allen anderen Wettkämpfern, die keine Herausforderung scheuen und den Wettkampf auf sich genommen haben.

Unglaublich wie knapp die Abstände der einzelnen Teams waren. Letztlich lag es meistens nur am Ab- und Anlegemanöver wo wertvolle Sekunden verloren gingen.

Die Rangliste der Challenge finden Sie weiter unten in diesem Blog Beitrag.

Wir freuen uns, dass so viele Kunden, Partner, Freunde und Kollegen trotz Schlechtwetter den Weg zu uns gefunden haben und schönen und lustigen Abend mit uns verbracht haben!

Aus dem Feedback der Teilnehmer können darauf schließen, dass auch nächstes Jahr eine Sommer-Party stattfinden soll 😉

Ein paar Impressionen zur Sommer-Party 2018:

 

 

Rang Team Name Zeit
1 Cyclist 01:46
1 France 01:46
3 Alex&Alex 01:47
4 Deine Mudda 01:54
5 Kittl & Kittl 01:58
6 TurboKurbler 01:59
7 Titanic 02:02
7 Nix überlegt 02:02
9 Spontan 02:06
10 Vergessen 02:07
11 Borgs 02:17
12 Old Stars 02:24
13 AKH01 02:35

see you next year!

Workaround: Unpivot mit ORA-00942 oder ORA-00904

Ausgangslage

Kürzlich trat ein Problem mit einem UNPIVOT Operator in der Entwicklung einer Statistik-Abfrage auf

Select [...]
 from VIEW1 unpivot(val for year in ([...]);
ORA-00942: table of view does not exist

Die Abfrage wurde im gleichen Schema ausgeführt wo auch der View sein sollte. Folgendes Select funktionierte zum Beispiel problemlos:

select * from VIEW1;

Lösung

Eine Recherche ergab anfangs wenig Lösung. Die üblichen Lösungsvorschläge bezogen sich auf Problem mit Arbeiten in unterschiedlichen Schemas oder über Datenbank-Links. Da die Tabelle aber grundsätzlich als vorhanden erkannt wurde musste der Grund woanders liegen. Im Oracle Support habe ich die Lösung gefunden, im Dokument Doc ID 22339954.8.

Laut diesem Dokument handelt es sich hierbei um einen Bug in potentiell allen Datenbankversionen vor 12.2.0.1. Laut diesem Dokument gibt es keinen Workaround. Das Problem kann ich außerdem in langen Laufzeiten äußern selbst wenn keine Fehler auftreten. Die Probleme treten lt. Dokument auf wenn eine Abfrage eine UNPIVOT Operation auf Views mit mehrfachen verschachtelten Abfrageblöcken und/oder einer großen Anzahl von Tabellen macht.

Wir haben einen Workaround gefunden der in unserem Fall das Problem recht leicht und zufriedenstellend gelöst hat:

with base as (select /*+ materialize */ * from VIEW1)
Select [...]
from base unpivot(val for year in ([...]);

Problem und Lösung mit Klick auf URL in Outlook 2010 unter Win10

Ich hatte nach dem Umstieg auf Windows 10 das Problem, dass ich keine URLs aus Outlook 2010 mehr öffnen konnte. Ich bekam immer folgende Fehlermeldung:

Fehlermeldung Outlook 2010 bei Klick auf URL

Nachdem mir unsere Admins versichert haben, dass es hier keine Gruppenrichtlinie gibt, die das verhindert, musste ich mich auf die Suche nach einer Lösung machen.

Ein bisschen googeln und man findet folgenden Artikel:

https://support.microsoft.com/de-de/help/310049/hyperlinks-are-not-working-in-outlook

Dieser Artikel ist schon sehr lösungsschwanger, aber:

Es gibt zwar einen Button im KB Artikel zu einem Fixit Tool für Windows 10, 8.1 und 8, aber der führt nur zu der allgemeinen Beschreibung, wie man ein FixIt Tool benutzt. Das Fixit Tool für Windows 7 oder früher lässt sich nicht unter Windows 10 ausführen.

Na gut, es gibt ja auch eine Beschreibung, wie das manuell erledigt werden kann, aber:

Methode 1: Zurücksetzen der Internet Explorer-Einstellungen

Problem: Es gibt keinen Internet Explorer in Windows 10!

Methode 2: Exportieren des Registrierungsschlüssels von einem anderen Computer

Tja, keinen im Zugriff. Was jetzt?

Nach längerem Recherchieren kam ich auf folgende Lösung:

  1. Registrierungseditor öffnen (regedit.exe)
  2. Zu folgenden Schlüssel navigieren: HKEY_LOCAL_MACHINE\htmlfile\shell
  3. An dieser Stelle folgende Unterschlüssel erstellen (falls nicht vorhanden – was wahrscheinlich der Fall ist, weil sonst das Problem ja nicht auftreten würde): \open\command
  4. Hier unter „(Standard)“ oder „(Default)“ folgendes eintragen:
    „%systemroot%\system32\rundll32.exe“ „%systemroot%\system32\url.dll“,FileProtocolHandler „%1“

So sollte es im Registrierungseditor schlussendlich aussehen:

Registrierungseditor mit korrekten Key Eintrag

Jetzt Outlook neu starten.
Ich kann natürlich nicht versprechen, dass diese Lösung bei jedem funktioniert, aber bei mir tat es das.

Ich hätte mich gefreut, wenn ich diese Lösung früher gefunden hätte. Es gibt zwar ein paar Artikel, die diese Lösung fast vorschlagen, allerdings unter folgenden Registrierungsschlüssel:

HKEY_LOCAL_MACHINE\htmlfile\shell\opennew\command

Bei mir hat es aber nur unter HKEY_LOCAL_MACHINE\htmlfile\shell\open\command  funktioniert.

 

Auftakt der JavaOne 2015: Geburtstagsfeier ohne große Neuigkeiten

Oracle bot während der Eröffnungs-Keynote der weltweit größten Java-Konferenz eine Zusammenfassung dessen, was von Java 9 zu erwarten sein wird und was danach kommen wird.

Quelle: Auftakt der JavaOne 2015: Geburtstagsfeier ohne große Neuigkeiten | heise Developer

Trolley Rucksäcke

Sinnvolle Verwendung für unsere Trolley -Rucksäcke

Wie durch ein Wunder haben wir jahrelang mehrere Kartons mit Trolley -Rucksäcken aufgehoben und sogar zu unserem neuen Standort übersiedelt.

Weil sie einen Aufdruck mit unserem alten Logo hatten, war jetzt der beste Zeitpunkt für eine neue, sinnvolle Verwendung gekommen.

Wir haben alle 40 Stück zum trainofhope.at am Hauptbahnhof geführt, wo sie an Flüchtlingskinder verteilt werden.

Der eine oder andere wird froh sein, wenn er seinen kleinen Rucksack nicht mehr schleppen muss.

Unverhofft kommt oft: Vor ein paar Wochen haben  wir noch nachgedacht, wozu wir das Zeug überhaupt noch jemals brauchen werden 😉

Oracle Solaris Cluster Cheat Sheet

Der Oracle Solaris Cluster ist eine Hochverfügbarkeitslösung für Oracle SPARC und x86 basierten Oracle Solaris Systemen. In 24×7 Umgebungen kontrolliert die Solaris Cluster Software mit vordefinierten Cluster Agenten die Funktion und den ordnungsgemäßen Betrieb der überwachten Komponenten. Neben dem Support von über 40 Standard Software Produkten wie die Oracle Datenbank oder SAP bietet der Cluster auch die Verwaltung von hochverfügbarer Virtualisierung mittels Solaris Zones oder OracleVM for SPARC (LDOM).

Durch die Verwendung von Betriebssystem-Funktionen und die Integration in den Solaris Kernel garantiert der Solaris Cluster rasche Fehlererkennung und ein beschleunigtes, kontrolliertes Wiederherstellen im Fehlerfall.

Neben einen Web basierten Administrations GUI steht eine funktionelle CLI zur Verwaltung und Konfiguration zur Verfügung.

Dieses Command Line Interface möchten wir mit einem kurzen Cheat Sheet vorstellen.

 

Hello, neue Webseite

Viele Jahre hat uns die alte Typo3 Tante als erste Anlaufstelle im Internet gut gedient, aber jetzt wurde es Zeit Abschied zu nehmen, um die „Jugend“ ranzulassen.

Das alte Web Design ist in die Jahre gekommen und die vielen verschiedenen mobile Devices machten ein Responsive Design zwingend notwendig.

Auch wollten wir endlich unsere Hits und Tipps zu allen möglichen und unmöglichen Themen im Oracle Umfeld bloggen, die uns täglich über unseren Schreibtisch laufen und vielleicht für so manche Oracle Anwender oder Entwickler auch interessant sein könnten.

Hello, neue Webseite – wir freuen uns auf die gemeinsamen Seiten – äh – Zeiten!