Wenn Sie ein Microsoft .NET-Netzwerk aufbauen und das Backend eine Oracle-Datenbank ausführt, sollten Sie das Backend auf SQL Server migrieren. Der Kern dieser Frage besteht nicht darin, die Datenbankleistung zu vergleichen, sondern darin, das für Sie beste Tool zu finden. Um diese beiden Fragen unter der .NET-Architektur zu beantworten, gibt es nur eine Antwort: .NET Server. In diesem Artikel untersuchen wir zunächst, warum Sie einen Oracle-Server in Ihrem Netzwerk haben, besprechen dann, wie Sie ihn auf SQL Server migrieren und erläutern schließlich die Vor- und Nachteile dieses Umzugs.
Oracle in Ihrem System
Wenn Sie einen Oracle-Server in Ihrem Netzwerk haben, müssen Sie herausfinden, warum Sie ihn benötigen – wer ihn verwendet, welche Anwendungen ihn verwenden, welche Anwendungen darauf ausgeführt werden usw.
Wer nutzt es?
Zunächst sollten Sie herausfinden, wer den Oracle-Server nutzt. Andernfalls wird es wahrscheinlich zu einem großen Fehler führen, wenn Sie den Server überstürzen, bevor Sie eine Antwort haben. Wenn Sie dies wirklich tun möchten, ist dies natürlich eine schnelle Möglichkeit, den Datenbankbenutzer zu finden. Dennoch raten wir Ihnen davon ab.
Netzwerkadministratoren verfügen möglicherweise über Verfahren zur Überwachung oder Protokollierung der Oracle-Nutzung. Entwickler möchten möglicherweise aktuelle Server zum Entwickeln von Anwendungen verwenden. Manager müssen möglicherweise Analyseberichte basierend auf in der Datenbank gespeicherten Daten erstellen oder das Oracle-Backend verwenden, um Geschäftsentscheidungen zu treffen. Und die Benutzer der Datenbank können auf der ganzen Welt sein. Sie müssen alle diese Möglichkeiten berücksichtigen, wenn Sie bestimmen, welche Benutzer vom Migrationsprozess von Oracle zu SQL Server betroffen sein werden.
Welche Anwendungen werden es verwenden?
Angenommen, Sie fragen nacheinander alle Benutzer, wer Oracle verwendet? Und ihre Antwort lautet ganz klar: Nein. Dann sollten Sie die Protokolldatei überprüfen, um zu verstehen, welche Workstations auf die Datenbank zugreifen. Wenn Sie diese Protokolldateien überprüfen, stellen Sie möglicherweise fest, dass nicht nur die Workstation auf die Datenbank zugreift, sondern auch andere Server auf die Datenbank zugreifen.
Okay, nehmen Sie einen Stift und notieren Sie sich die Server, die auf die Datenbank zugreifen. Finden Sie dann heraus, über welche spezifischen Anwendungen diese Server auf die Datenbank zugreifen. Solche Anwendungen können identifiziert werden, indem die in der Datentabelle gespeicherten Daten mit den auf dem Server ausgeführten Anwendungen verglichen werden.
Welche Anwendungen laufen auf dem Oracle-Server?
Nachdem Sie nun die Benutzer und externen Anwendungen kennen, die auf die Datenbank zugreifen, müssen Sie nun herausfinden, welche Anwendungen auf dem Datenbankserver selbst ausgeführt werden. Bei diesen Anwendungen kann es sich um in Datenbanken gespeicherte Prozeduren (und entsprechende Auslöser, benutzerdefinierte Datentypen, Sicherheitseinstellungen usw.) oder um unabhängige Anwendungen handeln, die nicht in Oracle ausgeführt werden. Besonderes Augenmerk sollten Sie auf die dem Server hinzugefügten Oracle-Entwicklungstools richten.
Migration auf SQL Server
Sie sollten niemals in Versuchung geraten, Ihren Oracle-Server sofort vom Stromnetz zu trennen und SQL Server zu installieren. Sie müssen es sich zweimal überlegen, bevor Sie kritische Server migrieren. Warum wird dieser Prozess speziell als Migration bezeichnet? Und das liegt nicht daran, dass Migration nicht immer plötzlich geschieht. Wenn Sie einige einfache und vernünftige Schritte unternehmen, kann der Migrationsprozess ohne Hindernisse durchgeführt werden.
Um Anwendungen zunativen Anwendungen und externen Anwendungen zu migrieren,
führen Sie die folgenden Schritte aus:
1. Installieren Sie einen neuen SQL Server im Netzwerk.
2. Erstellen Sie die von der Anwendung verwendeten „Geräte“ und Datentabellen.
3. Verhindern Sie, dass die Anwendung auf die Datenbank zugreift, und schalten Sie die Anwendung offline.
4. Kopieren Sie die aktuellen Daten von Oracle nach SQL Server.
5. Verweisen Sie alle Anwendungen auf die neue Datenbank.
6. Ermöglichen Sie Anwendungen den Zugriff auf neue Daten in Datentabellen und Geräten.
Beider Überlegung, SQL
zwischen SQL Server und Oracle zu migrieren, gibt es ein schwerwiegendes Problem: Sie sprechen zwei verschiedene SQL-Dialekte, SQL-PL/SQL (Oracle) und Transact-SQL (Microsoft).
Wenn Sie eine SQL-Sprache verwenden können, können Sie in den meisten Fällen wahrscheinlich auch die andere SQL-Sprache verwenden. Unter Berücksichtigung von SQL-Funktionen, Operatoren, Anweisungen usw. habe ich speziell eine SQL-Programmiererreferenz zusammengestellt. Diese Informationen zeigen die von verschiedenen DBMS unterstützten Funktionen. Wenn sich diese amerikanischen Anbieter von SQL-Produkten ehrlich an den amerikanischen Standard SQL (ANSI-SQL) halten, warum sollte es dann so ein großes Problem geben?
Darüber hinaus können auch die folgenden Probleme auftreten:
Duale Tabelle von Oracle – auf SQL Server können Anweisungen wie „select 'x';“ auftreten. Unter Oracle muss diese Anweisung in select 'x' from dual; konvertiert werden. dual ist eine von Oracle generierte Systemtabelle. Zusätzlich zu diesem SQL-Syntaxproblem können Sie diese Tabelle nicht auf Ihren SQL Server kopieren, da es sich um eine Oracle-Systemtabelle handelt.
Trunkierung – Beide DBMS unterstützen die Funktionen FLOOR und ROUND, Oracle verfügt jedoch auch über eine zusätzliche TRUNC-Funktion. Wenn Ihr Oracle-System die TRUNC-Funktion verwendet, müssen Sie die beteiligten Teile erneut bearbeiten. Möglicherweise müssen Sie darüber nachdenken, sie in die FLOOE- oder ROUND-Funktion zu ändern.
Concatenation-SQL Server 7 unterstützt die ANSI-Verbindungsmethode || nicht, SQL Server 2000 jedoch. Beide Datenbanken verwenden nun das Pluszeichen (+) zur Darstellung von Zusammenhängen, besser ist es jedoch, dieses Symbol für arithmetische Operationen zu verwenden!
Es hängt von den spezifischen Versionen der beiden Server ab, die Sie verwenden. Probleme bei der Migration der SQL-Sprache treten fast immer plötzlich und unerwartet auf.
Der Business Case für den Verzicht auf Oracle
Diese Datenbankmigration ist kein einfaches emotionales Spiel, und die Entscheidung für Microsoft-Produkte gegenüber Oracle wird durch den Business Case unterstützt. Oracle hat beträchtliche Ressourcen aufgewendet, um Microsoft in Gerichts- und Propagandaschlachten zu besiegen. Aus wirtschaftlicher Sicht ist Oracle jedoch nicht kosteneffizienter. Darüber hinaus verfügt Oracle nur über ein Kernprodukt, das immer noch weniger zuversichtlich ist als Microsoft. Zusätzlich zum komplizierten Verkaufsprozess sollten Sie sich lieber ein eindrucksvolleres Unternehmen suchen, das Sie unterstützt. Das Unternehmen sollte gesund und wohlhabend sein und seine Produkte sollten allgemein beliebt sein. Es sollte sicherstellen, dass das Unternehmen mindestens ein paar Jahre lang sehr stark ist, bevor es auf stärkere Konkurrenten trifft.
Was können Sie durch die Migration auf SQL Server gewinnen?
Erstens erhalten Sie ein System, das in hohem Maße mit Ihrer Netzwerkarchitektur übereinstimmt. Für die Verwaltung Ihres UNIX-Systems benötigen Sie keine engagierte Person. Auf DBMS zugeschnittene Verwaltungstools funktionieren optimal mit diesen Netzwerk-Betriebssystem-Tools.
Zweitens implementiert das System integrierte Unterstützung für .NET-Anwendungen. Für die .NET-Architektur ist die Verwendung von SQL Server nicht erforderlich, dieser Server ist jedoch die Standarddatenbank. ODBC-Treiber für Oracle sind sicherlich gut, aber sie stellen immer eine mögliche Fehlerquelle dar.
Drittens sind die Kosten für die Verwendung von Oracle im .NET-Netzwerk höher als für die Verwendung von SQL Server. Beim Kauf weiterer Win2K-Serverlizenzen sowie VS.NET- und Office-Lizenzen erhalten Sie möglicherweise Rabatte.
Selbst wenn Sie ein SQL Server-System separat kaufen, kann es schließlich günstiger sein als Oracle. Heutzutage kann sich das Feilschen um eine Oracle-Lizenz anfühlen, als würde man Zähne ziehen. Ich erinnere mich, dass ich einen Vertriebsmitarbeiter nach dem Preis fragte und er tatsächlich sagte: „Können Sie es sich leisten?“
Zusammenfassung
Wenn Sie ein .NET-Netzwerk aufbauen, ist es sinnvoll, SQL Server als DBMS zu verwenden, da es die Kernkomponente von Microsoft .NET ist die Server-Anwendungssuite. Die Migration von einer Plattform auf eine andere ist ein wichtiger Prozess, der sorgfältig überlegt und geplant werden muss. Bevor Sie die Plattform wechseln, sollten Sie über eine einheitliche, effektive, einfach zu verwaltende und zuverlässige .NET-Grundlage verfügen.