Ich bin ein Software-Entwickler. In erster Linie schreibe ich Software auf der Grundlage von Datenbanken (oder helfe meinem Team dabei).
Folgendes kann ich über Oracle sagen: Jedes Mal, wenn ich etwas tun möchte, sind meine früheren Erfahrungen damit nicht hilfreich, um zu verstehen, wie ich meine aktuelle Aufgabe erledigen soll. Ich habe viel Zeit damit verbracht, nach einer sinnvollen Erklärung für eine kryptische Fehlermeldung zu suchen, nur um ein paar Beiträge zu finden, in denen dem Benutzer empfohlen wird, sich an den Oracle-Support zu wenden. Ich habe gerade entdeckt, dass das Datenpumpen-Importtool Fehler (die ziemlich kryptisch waren) ausgibt, wenn man eine NOT NULL
Einschränkung für eine räumliche Spalte in Oracle 10g. Selbst nach dem Entfernen der Einschränkung habe ich ein Problem, bei dem der Import hängen bleibt und nichts tut. Apropos Datenpumpe: Sie funktioniert nur lokal. Die Import/Export-Tools, die von entfernten Rechnern aus funktionieren, sind veraltet. Wenn Sie einen Fehler in Ihrer Prozedur haben, wird Ihnen mitgeteilt, dass die Kompilierung fehlgeschlagen ist, aber das Prozedurobjekt wird trotzdem in einem unbrauchbaren Zustand erstellt. Dann müssen Sie einen Befehl ausführen, um die Fehler zu finden. Das Benutzer- und Berechtigungssystem ist mangelhaft. Ein Benutzer ist in Oracle ein Schema, aber trotz der großen Anzahl von Berechtigungen gibt es keine Berechtigung, die es einem Benutzer erlaubt, auf alle Objekte eines Schemas zuzugreifen, und wenn man einem Benutzer erlaubt, eine Sitzung zu beenden, muss man ihm die ALTER DATABASE
Berechtigung (die dem Benutzer wahrscheinlich weit mehr Macht gibt, als Sie wollen). Für Raumfahrt-Junkies: Es kann die WKTs, die es für SRID 3857 generiert, nicht parsen (es spuckt Zahlen der Form 0.00000e6 aus, wenn die Koordinaten groß genug sind und kann diese numerische Syntax nicht parsen). Ja, viele dieser Beispiele sind spezifisch, aber solche Probleme, bei denen ich nicht einfach das tun kann, was ich will, sind für mich alltäglich, und bei einer einzigen Aufgabe treten mehrere Probleme auf.
Ich habe nur begrenzte Erfahrungen mit SQL Server, aber was ich bisher gemacht habe, war nicht annähernd so schwierig für mich. Ich konnte Dinge viel leichter herausfinden, und ich kann mich nicht daran erinnern, Fehlermeldungen gesehen zu haben, die mir nicht helfen, meine Probleme zu verstehen. Meine Kollegen, die sich intensiver mit SQL Server beschäftigt haben, berichten von ähnlichen Erfahrungen.
Vielleicht liegt es nur an mir, aber die Arbeit mit Oracle scheint ständig ein mühsamer, langwieriger Prozess zu sein, bei dem ich seltsame Fehler finden und versuchen muss, die Tatsache zu umgehen, dass Funktionen, die ich brauche, fehlen und ich sie selbst implementieren muss (z. B. das automatische Inkrementieren von Schlüsseln). Unterm Strich bin ich der Meinung, dass Oracle vielleicht besser funktionieren kann, aber nur, wenn man die Zeit und das Geld hat, Oracle zum Laufen zu bringen und dann herauszufinden, wie man es optimieren kann, und das Geld hat, um seine Entwickler dazu zu bringen, es auch zu lernen. Oracle ist einfach nur schwer zu erlernen und zu benutzen.