Freigeben über


Sicherheit, Zugriff und Betrieb für Oracle-Migrationen

Dieser Artikel ist Teil drei einer siebenteiligen Reihe, die Anleitungen zur Migration von Oracle zu Azure Synapse Analytics enthält. In diesem Artikel werden schwerpunktmäßig bewährte Methoden für Sicherheit, Zugriff und Vorgänge behandelt.

Sicherheitshinweise

Die Oracle-Umgebung bietet mehrere Methoden für den Zugriff und die Authentifizierung, die Sie möglicherweise mit minimalem Risiko und minimalen Auswirkungen auf die Benutzer zu Azure Synapse migrieren müssen. Der Artikel geht davon aus, dass Sie die vorhandenen Verbindungsmethoden und die Benutzer-, Rollen- und Berechtigungsstrukturen unverändert migrieren möchten. Wenn dies nicht der Fall ist, verwenden Sie das Azure-Portal, um ein neues Sicherheitsregime zu erstellen und zu verwalten.

Weitere Informationen zu den Sicherheitsoptionen von Azure Synapse finden Sie unter Azure Synapse Analytics-Sicherheit.

Verbindung und Authentifizierung

Die Authentifizierung ist der Prozess der Überprüfung der Identität eines Benutzers, Geräts oder einer anderen Entität in einem Computersystem, im Allgemeinen als Voraussetzung für die Gewährung des Zugriffs auf Ressourcen in einem System.

Tipp

Die Authentifizierung in Oracle und Azure Synapse kann „in der Datenbank“ oder über externe Methoden erfolgen.

Oracle-Autorisierungsoptionen

Das Oracle-System bietet diese Authentifizierungsmethoden für Datenbankbenutzer:

  • Datenbankauthentifizierung: Bei der Datenbankauthentifizierung verwaltet die Oracle-Datenbank das Benutzerkonto und authentifiziert den Benutzer. Damit die Oracle-Datenbank die Authentifizierung durchführen kann, generiert sie ein Passwort für neue Benutzer und speichert Passwörter in verschlüsseltem Format. Benutzer können ihr Kennwort jederzeit ändern. Oracle empfiehlt die Kennwortverwaltung durch Kontosperrung, Kennwortalterung und -ablauf, Kennwortverlauf und Überprüfung der Kennwortkomplexität. Die Datenbankauthentifizierung ist in älteren Oracle-Installationen üblich.

  • Externe Authentifizierung: Bei der externen Authentifizierung verwaltet die Oracle-Datenbank das Benutzerkonto, und ein externer Dienst führt die Kennwortverwaltung und die Benutzerauthentifizierung durch. Der externe Dienst kann ein Betriebssystem oder ein Netzwerkdienst wie Oracle Net sein. Die Datenbank verlässt sich auf das zugrunde liegende Betriebssystem oder den Netzwerkauthentifizierungsdienst, um den Zugriff auf Datenbankkonten einzuschränken. Bei dieser Art der Anmeldung wird kein Datenbankkennwort verwendet. Es gibt zwei externe Authentifizierungsoptionen:

    • Die Betriebssystemauthentifizierung: Standardmäßig benötigt Oracle eine sichere Verbindung für Anmeldungen, die das Betriebssystem authentifiziert, um zu verhindern, dass sich ein Remotebenutzer über eine Netzwerkverbindung als Betriebssystembenutzer ausgibt. Diese Anforderung schließt die Verwendung von Oracle Net und einer Shared-Server-Konfiguration aus.

    • Netzwerkauthentifizierung: Es stehen mehrere Netzwerkauthentifizierungsmechanismen zur Verfügung, z. B. Smartcards, Fingerabdrücke, Kerberos und das Betriebssystem. Viele Netzwerkauthentifizierungsdienste wie Kerberos unterstützen Single Sign-On, sodass Benutzer sich weniger Passwörter merken müssen.

  • Globale Authentifizierung und Autorisierung: Mit globaler Authentifizierung und Autorisierung können Sie die Verwaltung benutzerbezogener Informationen, einschließlich Autorisierungen, in einem LDAP-basierten Verzeichnisdienst zentralisieren. Benutzer werden in der Datenbank als globale Benutzer identifiziert, was bedeutet, dass sie durch TLS/SSL authentifiziert werden und die Benutzerverwaltung außerhalb der Datenbank erfolgt. Der zentralisierte Verzeichnisdienst führt die Benutzerverwaltung durch. Dieser Ansatz bietet eine starke Authentifizierung mit TLS/SSL, Kerberos oder Windows-nativer Authentifizierung und ermöglicht eine zentralisierte Verwaltung von Benutzern und Berechtigungen im gesamten Unternehmen. Die Verwaltung ist einfacher, da nicht für jeden Benutzer in jeder Datenbank im Unternehmen ein Schema erstellt werden muss. Single Sign-On wird ebenfalls unterstützt, sodass sich Benutzer nur einmal anmelden müssen, um auf mehrere Datenbanken und Dienste zuzugreifen.

    Wichtig

    Azure wird ab November 2024 ältere TLS-Versionen (TLS 1.0 und 1.1) einstellen. Verwenden Sie TLS 1.2 oder höher. Nach dem 31. März 2025 können Sie die minimale TLS-Version für Azure Synapse Analytics-Clientverbindungen nicht mehr unter TLS 1.2 festlegen. Danach schlagen Anmeldeversuche über Verbindungen mit einer TSL-Version unter 1.2 fehl. Weitere Informationen finden Sie unter Ankündigung: Die Azure-Unterstützung für TLS 1.0 und TLS 1.1 endet.

  • Proxy-Authentifizierung und -Autorisierung: Sie können Proxy-Clients auf sichere Weise einen Server der mittleren Ebene zuweisen. Oracle bietet verschiedene Optionen für die Proxy-Authentifizierung, wie zum Beispiel:

    • Der Middle-Tier-Server kann sich beim Datenbankserver authentifizieren. Ein Client, in diesem Fall ein Anwendungsbenutzer oder eine andere Anwendung, authentifiziert sich beim Middle-Tier-Server. Client-Identitäten können bis hin zur Datenbank beibehalten werden.

    • Der Client, der in diesem Fall ein Datenbankbenutzer ist, wird nicht vom Middle-Tier-Server authentifiziert. Die Identität des Clients und das Datenbankpasswort werden zur Authentifizierung über den Middle-Tier-Server an den Datenbankserver weitergegeben.

    • Der Client, der in diesem Fall ein globaler Benutzer ist, wird vom Middle-Tier-Server authentifiziert und leitet entweder einen Distinguished Name (DN) oder ein Zertifikat durch die Middle-Tier, um den Benutzernamen des Clients abzurufen.

Autorisierungsoptionen von Azure Synapse

Azure Synapse unterstützt zwei grundlegende Optionen für die Verbindung und Autorisierung:

  • SQL-Authentifizierung: Die SQL-Authentifizierung verwendet eine Datenbankverbindung, die eine Datenbankkennung, eine Benutzer-ID und ein Kennwort sowie weitere optionale Parameter enthält. Diese Authentifizierungsmethode entspricht funktional der Oracle-Datenbankauthentifizierung.

  • Microsoft Entra-Authentifizierung: Mit der Microsoft Entra-Authentifizierung können Sie die Identitäten von Datenbankbenutzer*innen und Microsoft-Diensten zentral an einem Ort verwalten. Die zentralisierte Verwaltung bietet einen zentralen Ort zum Verwalten von Azure Synapse-Benutzern und vereinfacht die Berechtigungsverwaltung. Die Microsoft Entra-Authentifizierung unterstützt Verbindungen mit LDAP- und Kerberos-Diensten. Beispielsweise können Sie die Microsoft Entra-Authentifizierung verwenden, um eine Verbindung mit vorhandenen LDAP-Verzeichnissen herzustellen, wenn diese nach der Migration der Datenbank bestehen bleiben sollen.

Benutzer, Rollen und Berechtigungen

Sowohl Oracle als auch Azure Synapse implementieren die Datenbankzugriffssteuerung über eine Kombination aus Benutzern, Rollen und Berechtigungen. Sie können standardmäßige SQL-Anweisungen CREATE USER verwenden und CREATE ROLE/GROUP Benutzer und Rollen definieren. GRANT- und REVOKE-Anweisungen weisen Benutzern und/oder Rollen Berechtigungen zu oder entziehen sie.

Tipp

Planung ist für ein erfolgreiches Migrationsprojekt unerlässlich. Beginnen Sie mit Entscheidungen auf hoher Ebene.

Vom Konzept her sind Oracle- und Azure Synapse-Datenbanken ähnlich, und bis zu einem gewissen Grad ist es möglich, die Migration vorhandener Benutzer-IDs, Gruppen und Berechtigungen zu automatisieren. Extrahieren Sie die älteren Benutzer- und Gruppeninformationen aus den Katalogtabellen des Oracle-Systems, und generieren Sie dann übereinstimmende Äquivalente CREATE USER- und CREATE ROLE-Anweisungen. Führen Sie diese Anweisungen in Azure Synapse aus, um dieselbe Benutzer-/Rollenhierarchie neu zu erstellen.

Tipp

Automatisieren Sie nach Möglichkeit Migrationsprozesse, um die verstrichene Zeit und die Fehlermöglichkeiten zu reduzieren.

Verwenden Sie nach der Datenextraktion Oracle-Systemkatalogtabellen, um äquivalente GRANT-Anweisungen zu generieren, um Berechtigungen zuzuweisen, falls eine Entsprechung vorhanden ist.

Chart, dass zeigt, wie die Migration von Privilegien von einem existierenden System automatisiert wird.

Benutzer und Rollen

Die Informationen über die aktuellen Benutzer und Gruppen in einem Oracle-System werden in den Systemkatalogsichten, wie ALL_USERS und DBA_USERS gespeichert. Sie können diese Sichten ganz normal über Oracle SQL*Plus oder Oracle SQL Developer abfragen. Die folgenden Abfragen sind grundlegende Beispiele:

--List of users
select * from dba_users order by username;

--List of roles
select * from dba_roles order by role;

--List of users and their associated roles
select * from user_role_privs order by username, granted_role;

Oracle SQL Developer verfügt über integrierte Optionen zum Anzeigen von Benutzer- und Rolleninformationen im Berichtsbereich, wie im folgenden Screenshot gezeigt.

Der Screenshot, der den Bereich Berichte für Benutzerrollen in Oracle SQL Developer zeigt.

Sie können die SELECT-Beispielanweisung ändern, um eine Ergebnismenge zu erzeugen, die aus einer Reihe von CREATE USER- und CREATE GROUP-Anweisungen besteht. Fügen Sie dazu den entsprechenden Text als Literal in die SELECT-Anweisung ein.

Es gibt keine Möglichkeit, vorhandene Oracle-Kennwörter abzurufen, daher müssen Sie ein Schema zum Zuweisen neuer Anfangskennwörter in Azure Synapse implementieren.

Tipp

Die Migration eines Data Warehouse erfordert mehr als nur Tabellen, Ansichten und SQL-Anweisungen.

Berechtigungen

In einem Oracle-System enthält die DBA_ROLE_PRIVS Systemansicht die Zugriffsrechte für Benutzer und Rollen. Wenn Sie SELECT-Zugriff haben, können Sie diese Ansicht abfragen, um die aktuellen Zugriffsrechtelisten zu erhalten, die im System definiert sind. Der folgende Oracle SQL Developer-Screenshot zeigt eine beispielhafte Zugriffsrechteliste.

Der Screenshot zeigt den Berichtsbereich für Benutzerzugriffsrechte in Oracle SQL Developer.

Sie können auch Abfragen erstellen, um ein Skript zu erstellen, das eine Reihe von CREATE- und GRANT-Anweisungen für Azure Synapse darstellt, basierend auf den vorhandenen Oracle-Berechtigungen. Der folgende Screenshot von Oracle SQL Developer zeigt ein Beispiel für dieses Skript.

Der Screenshot zeigt, wie ein Skript mit CREATE- und GRANT-Anweisungen in Oracle SQL Developer erstellt wird.

Diese Tabelle listet und beschreibt die Datenwörterbuchansichten, die zum Anzeigen von Benutzer-, Rollen- und Berechtigungsinformationen erforderlich sind.

Sicht BESCHREIBUNG
DBA_COL_PRIVS
ALL_COL_PRIVS
USER_COL_PRIVS
Die DBA-Ansicht beschreibt alle Spaltenobjektgewährungen in der Datenbank. Die ALL-Ansicht beschreibt alle Spaltenobjekterteilungen, für die der aktuelle Benutzer oder PUBLIC der Objekteigentümer, Erteilungsgeber oder Erteilungsempfänger ist. Die USER-Ansicht beschreibt Spaltenobjekterteilungen, für die der aktuelle Benutzer der Objekteigentümer, Erteilungsgeber oder Erteilungsempfänger ist.
ALL_COL_PRIVS_MADE
USER_COL_PRIVS_MADE
Die ALL-Ansicht listet Spaltenobjekterteilungen auf, für die der aktuelle Benutzer der Objekteigentümer oder Erteilungsgeber ist. In der USER-Ansicht werden Spaltenobjekt-Grants beschrieben, für die der aktuelle Benutzer der Grantor ist.
ALL_COL_PRIVS_RECD
USER_COL_PRIVS_RECD
Die ALL-Ansicht beschreibt Spaltenobjekterteilungen, für die der aktuelle Benutzer oder PUBLIC der Erteilungsempfänger ist. Die USER-Ansicht beschreibt Spaltenobjekterteilungen, für die der aktuelle Benutzer der Erteilungsempfänger ist.
DBA_TAB_PRIVS
ALL_TAB_PRIVS
USER_TAB_PRIVS
Die DBA-Ansicht listet alle Berechtigungen für alle Objekte in der Datenbank auf. Die ALL-Ansicht listet die Berechtigungen für Objekte auf, bei denen der Benutzer oder PUBLIC der Berechtigte ist. Die USER-Ansicht listet Berechtigungen für alle Objekte auf, bei denen der aktuelle Benutzer der Berechtigte ist.
ALL_TAB_PRIVS_MADE
USER_TAB_PRIVS_MADE
Die ALL-Ansicht listet Objektzuteilungen auf, die vom aktuellen Benutzer oder für die Objekte vorgenommen wurden, die dem aktuellen Benutzer gehören. Die USER-Ansicht listet Berechtigungen für alle Objekte auf, die dem aktuellen Benutzer gehören.
ALL_TAB_PRIVS_RECD
USER_TAB_PRIVS_RECD
Die ALL-Ansicht listet Objekterteilungen auf, für die der Benutzer oder PUBLIC der Erteilungsempfänger ist. Die USER-Ansicht listet Objekterteilungen auf, für die der aktuelle Benutzer der Erteilungsempfänger ist.
DBA_ROLES Diese Ansicht listet alle Rollen auf, die in der Datenbank vorhanden sind.
DBA_ROLE_PRIVS
USER_ROLE_PRIVS
Die DBA-Ansicht listet Rollen auf, die Benutzern und Rollen gewährt wurden. Die USER-Ansicht listet Rollen auf, die dem aktuellen Benutzer gewährt wurden.
DBA_SYS_PRIVS
USER_SYS_PRIVS
Die DBA-Ansicht listet Systemberechtigungen auf, die Benutzern und Rollen gewährt wurden. Die USER-Ansicht listet Systemprivilegien auf, die dem aktuellen Benutzer gewährt wurden.
ROLE_ROLE_PRIVS Diese Ansicht beschreibt Rollen, die anderen Rollen zugewiesen wurden. Informationen werden nur über Rollen bereitgestellt, auf die der Benutzer Zugriff hat.
ROLE_SYS_PRIVS Diese Ansicht enthält Informationen zu den Rollen gewährten Systemprivilegien. Informationen werden nur über Rollen bereitgestellt, auf die der Benutzer Zugriff hat.
ROLE_TAB_PRIVS Diese Ansicht enthält Informationen zu Objektberechtigungen, die Rollen gewährt wurden. Informationen werden nur über Rollen bereitgestellt, auf die der Benutzer Zugriff hat.
SESSION_PRIVS Diese Ansicht listet die Berechtigungen auf, die derzeit für den Benutzer aktiviert sind.
SESSION_ROLES Diese Ansicht listet die Rollen auf, die derzeit für den Benutzer aktiviert sind.

Oracle unterstützt verschiedene Arten von Privilegien:

  • System-Privilegien: Systemprivilegien gestatten dem Berechtigten, standardmäßige Administratoraufgaben in der Datenbank auszuführen. Normalerweise sind diese Privilegien auf vertrauenswürdige Benutzer beschränkt. Viele Systemberechtigungen sind spezifisch für Oracle-Operationen.

  • Objekt-Privilegien: Jedem Objekttyp sind Privilegien zugeordnet.

  • Tabellenprivilegien: Tabellenprivilegien ermöglichen Sicherheit auf der Ebene der Datenbearbeitungssprache (DML) oder der Datendefinitionssprache (DDL). Sie können Tabellenprivilegien direkt ihrem Äquivalent in Azure Synapse zuordnen.

  • Ansicht-Privilegien: Sie können ähnlich wie bei Tabellen DML-Objektprivilegien auf Ansichten anwenden. Sie können Ansichtsprivilegien direkt ihrem Äquivalent in Azure Synapse zuordnen.

  • Prozedur-Privilegien: Prozedur-Privilegien ermöglichen es, Prozeduren, einschließlich eigenständiger Prozeduren und Funktionen, die Berechtigung EXECUTE zu gewähren. Sie können Tabellen-Privilegien direkt ihrem Äquivalent in Azure Synapse zuordnen.

  • Typ-Privilegien: Sie können System-Privilegien für benannte Typen erteilen, z. B. Objekttypen, VARRAYs, und verschachtelte Tabellen. In der Regel sind diese Privilegien spezifisch für Oracle und haben keine Entsprechung in Azure Synapse.

Tipp

Azure Synapse verfügt über gleichwertige Berechtigungen für grundlegende Datenbankvorgänge wie DML und DDL.

In der folgenden Tabelle sind allgemeine Oracle-Administratorrechte aufgeführt, die in Azure Synapse eine direkte Entsprechung haben.

Administrator-Privileg BESCHREIBUNG Synapse-Äquivalent
[Create] Database Der Benutzer kann Datenbanken erstellen. Die Berechtigung zum Arbeiten mit vorhandenen Datenbanken wird über Objektberechtigungen gesteuert. CREATE DATABASE
[Create] External Table Der Benutzer kann externe Tabellen erstellen. Die Berechtigung zum Arbeiten mit vorhandenen Tabellen wird über Objektberechtigungen gesteuert. CREATE TABLE
[Create] Function Der Benutzer kann benutzerdefinierte Funktionen (UDFs) erstellen. Die Berechtigung zum Arbeiten mit vorhandenen UDFs wird über Objektberechtigungen gesteuert. CREATE FUNCTION
[Create] Role Der Benutzer kann Gruppen erstellen. Die Berechtigung zum Arbeiten mit vorhandenen Gruppen wird über Objektberechtigungen gesteuert. CREATE ROLE
[Create] Index Nur zur Verwendung durch das System. Benutzer können keine Indizes erstellen. CREATE INDEX
[Create] Materialized View Der Benutzer kann materialisierte Ansichten erstellen. CREATE VIEW
[Create] Procedure Der Benutzer kann gespeicherte Prozeduren erstellen. Die Berechtigung zum Arbeiten mit vorhandenen gespeicherten Prozeduren wird über Objektberechtigungen gesteuert. CREATE PROCEDURE
[Create] Schema Der Benutzer kann Schemas erstellen. Die Berechtigung zum Arbeiten mit vorhandenen Schemas wird über Objektberechtigungen gesteuert. CREATE SCHEMA
[Create] Table Der Benutzer kann Tabellen erstellen. Die Berechtigung zum Arbeiten mit vorhandenen Tabellen wird über Objektberechtigungen gesteuert. CREATE TABLE
[Create] Temporäre Tabelle Der Benutzer kann temporäre Tabellen erstellen. Die Berechtigung zum Arbeiten mit vorhandenen Tabellen wird über Objektberechtigungen gesteuert. CREATE TABLE
[Create] User Der Benutzer kann Benutzer erstellen. Die Berechtigung zum Arbeiten mit vorhandenen Benutzern wird über Objektberechtigungen gesteuert. CREATE USER
[Create] View Der Benutzer kann Ansichten erstellen. Die Berechtigung zum Arbeiten mit vorhandenen Sichten wird über Objektberechtigungen gesteuert. CREATE VIEW

Sie können die Migration dieser Berechtigungen automatisieren, indem Sie entsprechende Skripts für Azure Synapse aus den Oracle-Katalogtabellen generieren, wie weiter oben in diesem Abschnitt beschrieben.

In der nächsten Tabelle sind allgemeine Oracle-Objekt-Privilegien aufgeführt, die eine direkte Entsprechung in Azure Synapse haben.

Objekt-Privileg BESCHREIBUNG Synapse-Äquivalent
Ändern Der Benutzer kann Objektattribute ändern. Gilt für alle Objekte. ALTER
Löschen Der Benutzer kann Tabellenzeilen löschen. Gilt nur für Tabellen. Delete
Verwerfen Der Benutzer kann Objekte ablegen. Gilt für alle Objekttypen. DROP
Execute Der Benutzer kann benutzerdefinierte Funktionen, benutzerdefinierte Aggregate oder gespeicherte Prozeduren ausführen. Führen Sie
Einfügen Der Benutzer kann Zeilen in eine Tabelle einfügen. Gilt nur für Tabellen. INSERT
List Der Benutzer kann einen Objektnamen anzeigen, entweder in einer Liste oder auf andere Weise. Gilt für alle Objekte. AUFLISTEN
Select Der Benutzer kann Zeilen innerhalb einer Tabelle auswählen (oder abfragen). Gilt für Tabellen und Sichten. SELECT
Truncate Der Benutzer kann alle Zeilen aus einer Tabelle löschen. Gilt nur für Tabellen. TRUNCATE
Aktualisieren Der Benutzer kann Tabellenzeilen ändern. Gilt nur für Tabellen. UPDATE

Weitere Informationen zu Azure Synapse-Berechtigungen finden Sie unter Datenbank-Engine-Berechtigungen.

Migrieren von Benutzern, Rollen und Privilegien

Bisher haben wir einen allgemeinen Ansatz zum Migrieren von Benutzern, Rollen und Berechtigungen zu Azure Synapse mithilfe der SQL-Befehle CREATE USER, CREATE ROLE, und GRANT beschrieben. Sie müssen jedoch nicht alle Oracle-Operationen mit erteilbaren Berechtigungen in die neue Umgebung migrieren. Beispielsweise sind Systemverwaltungsvorgänge nicht auf die neue Umgebung anwendbar oder die entsprechende Funktionalität wird automatisch oder außerhalb der Datenbank verwaltet. Für Benutzer, Rollen und die Teilmenge von Berechtigungen, die eine direkte Entsprechung in der Azure Synapse-Umgebung haben, beschreiben die folgenden Schritte den Migrationsprozess:

  1. Migrieren Sie Schema-, Tabellen- und Ansichtsdefinitionen von Oracle in die Azure Synapse-Umgebung. Dieser Schritt migriert nur die Tabellendefinitionen, nicht die Daten.

  2. Extrahieren Sie die vorhandenen Benutzer-IDs, die Sie migrieren möchten, aus den Oracle-Systemtabellen, generieren Sie ein Skript mit CREATE USER-Anweisungen für Azure Synapse, und führen Sie dieses Skript dann in der Azure Synapse-Umgebung aus. Finden Sie einen Weg, um neue anfängliche Kennwörter zu erstellen, da Kennwörter nicht aus der Oracle-Umgebung extrahiert werden können.

  3. Extrahieren Sie die vorhandenen Rollen aus den Oracle-Systemtabellen, generieren Sie ein Skript mit entsprechenden CREATE ROLE-Anweisungen für Azure Synapse, und führen Sie dieses Skript dann in der Azure Synapse-Umgebung aus.

  4. Extrahieren Sie die Benutzer-/Rollenkombinationen aus den Oracle-Systemtabellen, generieren Sie ein Skript für GRANT Rollen für Benutzer in Azure Synapse, und führen Sie dieses Skript dann in der Azure Synapse-Umgebung aus.

  5. Extrahieren Sie die relevanten Privilege-Informationen aus den Oracle-Systemtabellen, generieren Sie dann ein Skript zu GRANT den entsprechenden Berechtigungen für Benutzer und Rollen in Azure Synapse, und führen Sie dieses Skript in der Azure Synapse-Umgebung aus.

Überlegungen zur Verwendung

In diesem Abschnitt wird erläutert, wie typische Oracle-Betriebsaufgaben in Azure Synapse mit minimalem Risiko und minimalen Auswirkungen auf die Benutzer implementiert werden können.

Wie bei allen Data-Warehouse-Produkten in der Produktion sind fortlaufende Verwaltungsaufgaben erforderlich, um das System effizient am Laufen zu halten und Daten für die Überwachung und Prüfung bereitzustellen. Weitere betriebliche Überlegungen umfassen Ressourcenverwendung, Kapazitätsplanung für zukünftiges Wachstum und Sicherung/Wiederherstellung von Daten.

Tipp

Für den effizienten Betrieb eines Data Warehouse müssen operative Aufgaben ausgeführt werden.

Oracle-Verwaltungsaufgaben fallen normalerweise in zwei Kategorien:

  • Systemverwaltung: Die Systemadministration ist die Verwaltung der Hardware, der Konfigurationseinstellungen, des Systemstatus, des Zugriffs, des Speicherplatzes, der Nutzung, der Upgrades und anderer Aufgaben.

  • Datenbankverwaltung: Datenbankverwaltung ist die Verwaltung von Benutzerdatenbanken und deren Inhalten, das Laden von Daten, Datensicherung, Datenwiederherstellung und der Zugriff auf Daten und Berechtigungen.

Oracle bietet unterschiedliche Methoden und Schnittstellen, mit denen Sie System- und Datenbankverwaltungsaufgaben ausführen können:

  • Oracle Enterprise Manager ist die lokale Verwaltungsplattform von Oracle. Es bietet eine zentrale Oberfläche für die Verwaltung aller Oracle-Bereitstellungen eines Kunden, ob in seinen Rechenzentren oder in der Oracle Cloud. Durch die tiefe Integration mit dem Produkt-Stack von Oracle bietet Oracle Enterprise Manager Verwaltungs- und Automatisierungsunterstützung für Oracle-Anwendungen, -Datenbanken, -Middleware, -Hardware und -entwickelte Systeme.

  • Oracle Instance Manager bietet eine Benutzeroberfläche für die allgemeine Verwaltung von Oracle-Instanzen. Oracle Instance Manager ermöglicht Aufgaben wie Start, Herunterfahren und Protokollanzeige.

  • Oracle Database Configuration Assistant ist eine Benutzeroberfläche, die die Verwaltung und Konfiguration verschiedener Datenbankfunktionen und -Funktionalität ermöglicht.

  • SQL-Befehle, die Verwaltungsaufgaben und Abfragen innerhalb einer SQL-Datenbanksitzung unterstützen. Sie können SQL-Befehle über den Oracle SQL*Plus-Befehlsinterpreter, die Oracle SQL Developer-Benutzeroberfläche oder über SQL-APIs wie ODBC, JDBC und OLE DB Provider ausführen. Sie müssen über ein Datenbankbenutzerkonto verfügen, um SQL-Befehle ausführen zu können, und über die entsprechenden Berechtigungen für die von Ihnen ausgeführten Abfragen und Aufgaben verfügen.

Während die Verwaltungs- und Betriebsaufgaben für verschiedene Data Warehouses konzeptionell ähnlich sind, können sich die einzelnen Implementierungen unterscheiden. Moderne Cloud-basierte Produkte wie Azure Synapse neigen dazu, einen stärker automatisierten und „systemverwalteten“ Ansatz zu integrieren, verglichen mit dem eher manuellen Ansatz in Legacy-Umgebungen wie Oracle.

In den folgenden Abschnitten werden die Optionen von Oracle und Azure Synapse für verschiedene betriebliche Aufgaben verglichen.

Housekeepingaufgaben

In den meisten Legacy-Data Warehouse-Umgebungen nehmen die regelmäßigen Housekeepingaufgaben viel Zeit in Anspruch. Sie können Festplattenspeicherplatz zurückgewinnen, indem Sie alte Versionen von aktualisierten oder gelöschten Zeilen entfernen. Oder Sie können Plattenspeicherplatz zurückgewinnen, indem Sie Daten, Protokolldateien und Indexblöcke aus Effizienzgründen neu organisieren, z. B. durch Ausführung ALTER TABLE... SHRINK SPACE in Oracle.

Tipp

Housekeepingaufgaben sorgen für einen effizienten Betrieb eines Produktionslagers und optimieren die Lagerung und andere Ressourcen.

Das Sammeln von Statistiken ist eine potenziell zeitaufwändige Aufgabe, die nach der Massendatenerfassung erforderlich ist, um dem Abfrageoptimierer aktuelle Daten für seine Abfrageausführungspläne bereitzustellen.

Oracle verfügt über eine integrierte Funktion, die bei der Analyse der Qualität von Statistiken hilft, den Optimizer Statistics Advisor. Es funktioniert durch eine Liste von Oracle-Regeln, die Best Practices für Optimierer-Statistiken darstellen. Der Advisor überprüft jede Regel und generiert bei Bedarf Erkenntnisse, Empfehlungen und Maßnahmen, die Aufforderungen an das DBMS_STATSPaket umfassen, Korrekturmaßnahmen zu ergreifen. Benutzer können die Liste der Regeln in der V$STATS_ADVISOR_RULES Ansicht sehen, wie im folgenden Screenshot dargestellt.

Der Screenshot zeigt, wie eine Liste von Regeln mithilfe des Optimizer Statistics Advisor angezeigt wird.

Eine Oracle-Datenbank enthält viele Protokolltabellen im Data Dictionary, in denen Daten gesammelt werden, entweder automatisch oder nachdem bestimmte Funktionen aktiviert wurden. Da Protokolldaten im Laufe der Zeit an Umfang zunehmen, sollten Sie ältere Informationen löschen, damit sie nicht permanent Speicherplatz belegen. Oracle bietet Optionen zur Automatisierung der Protokollwartung.

Azure Synapse kann automatisch Statistiken erstellen, sodass sie bei Bedarf verfügbar sind. Sie können Indizes und Datenblöcke manuell, nach Zeitplan oder automatisch defragmentieren. Durch die Verwendung nativer integrierter Azure-Funktionen reduzieren Sie den Migrationsaufwand.

Tipp

Automatisieren und überwachen Sie Housekeepingaufgaben in Azure.

Überwachung und Überprüfung

Oracle Enterprise Manager enthält Tools zur Überwachung verschiedener Aspekte eines oder mehrerer Oracle-Systeme, wie z. B. Aktivität, Leistung, Warteschlangen und Ressourcennutzung. Oracle Enterprise Manager verfügt über eine interaktive Benutzeroberfläche, mit der Benutzer einen Drilldown in die Low-Level-Details eines beliebigen Diagramms durchführen können.

Tipp

Oracle Enterprise Manager ist die empfohlene Methode zur Überwachung und Protokollierung in Oracle-Systemen.

Das folgende Diagramm bietet einen Überblick über die Überwachungsumgebung in einem Oracle Data Warehouse.

Das Diagramm zeigt einen Überblick über die Überwachungsumgebung für ein Oracle-Warehouse.

Azure Synapse bietet auch eine umfassende Überwachungsumgebung innerhalb des Azure-Portals, um Einblicke in Ihre Data Warehouse-Workload zu erhalten. Das Azure-Portal ist das empfohlene Tool zum Überwachen Ihres Data Warehouse, da es konfigurierbare Aufbewahrungsfristen, Warnungen, Empfehlungen und anpassbare Diagramme und Dashboards für Metriken und Protokolle bereitstellt.

Tipp

Das Azure-Portal bietet eine Benutzeroberfläche zum Verwalten von Überwachungs- und Überprüfungsaufgaben für alle Azure-Daten und -Prozesse.

Das Azure-Portal kann auch Empfehlungen für Leistungsverbesserungen bereitstellen, wie im folgenden Screenshot gezeigt.

Der Screenshot der Empfehlungen des Azure-Portals für Leistungsverbesserungen.

Das Portal unterstützt die Integration mit anderen Azure-Überwachungsdiensten wie Operations Management Suite (OMS) und Azure Monitor, um ein integriertes Überwachungserlebnis für das Data Warehouse und die gesamte Azure-Analyseplattform bereitzustellen. Weitere Informationen finden Sie unter Optionen für Vorgänge und die Verwaltung in Azure Synapse.

Hochverfügbarkeit (HA) und Notfallwiederherstellung (DR)

Seit ihrer ersten Veröffentlichung im Jahr 1979 hat sich die Oracle-Umgebung dahingehend weiterentwickelt, dass sie zahlreiche Funktionen umfasst, die von Unternehmenskunden benötigt werden, einschließlich Optionen für Hochverfügbarkeit (HA) und Notfallwiederherstellung (DR). Die neueste Ankündigung in diesem Bereich ist die Maximale Verfügbarkeitsarchitektur (MAA), die Referenzarchitekturen für vier Ebenen von Hochverfügbarkeit und Notfallwiederherstellung umfasst:

  • Bronzeebene: eine Hochverfügbarkeit-Architektur mit einer einzigen Instanz
  • Silberebene: Hochverfügbarkeit mit automatischem Failover
  • Goldebene: umfassende Hochverfügbarkeit und Notfallwiederherstellung
  • Platin-Stufe: Nullausfall für Platin-fähige Anwendungen

Azure Synapse verwendet Datenbankmomentaufnahmen, um Hochverfügbarkeit des Data Warehouse bereitzustellen. Ein Data Warehouse-Snapshot erstellt einen Wiederherstellungspunkt, den Sie verwenden können, um ein Data Warehouse in einem früheren Zustand wiederherzustellen. Da es sich bei Azure Synapse um ein verteiltes System handelt, besteht ein Data Warehouse-Snapshot aus vielen Dateien, die in Azure Storage gespeichert sind. Momentaufnahmen erfassen inkrementelle Änderungen an den in Ihrem Data Warehouse gespeicherten Daten.

Tipp

Azure Synapse erstellt automatisch Momentaufnahmen, um eine schnelle Wiederherstellung zu gewährleisten.

Azure Synapse erstellt im Laufe des Tages automatisch Momentaufnahmen und erstellt Wiederherstellungspunkte, die sieben Tage lang verfügbar sind. Sie können diesen Aufbewahrungszeitraum nicht ändern. Azure Synapse unterstützt eine Recovery Point Objective (RPO) von acht Stunden. Sie können das Data Warehouse in der primären Region anhand einer beliebigen Momentaufnahme wiederherstellen, die in den vergangenen sieben Tagen erstellt wurde.

Tipp

Benutzerdefinierte Momentaufnahmen können verwendet werden, um einen Wiederherstellungspunkt vor Schlüsselaktualisierungen zu definieren.

Azure Synapse unterstützt benutzerdefinierte Wiederherstellungspunkte, die aus manuell ausgelösten Momentaufnahmen erstellt werden. Durch das Erstellen von Wiederherstellungspunkten vor und nach großen Data Warehouse-Änderungen stellen Sie sicher, dass die Wiederherstellungspunkte logisch konsistent sind. Die benutzerdefinierten Wiederherstellungspunkte erhöhen den Datenschutz und verkürzen die Wiederherstellungszeit bei Arbeitsunterbrechungen oder Benutzerfehlern.

Zusätzlich zu Momentaufnahmen führt Azure Synapse einmal täglich eine Standard-Geosicherung in einem gekoppelten Rechenzentrum durch. Die RPO für eine Geowiederherstellung beträgt 24 Stunden. Sie können die Geosicherung auf einem Server in jeder Region wiederherstellen, in der Azure Synapse unterstützt wird. Eine Geosicherung stellt sicher, dass ein Data Warehouse wiederhergestellt werden kann, wenn Wiederherstellungspunkte in der primären Region nicht verfügbar sind.

Tipp

Für die Notfallwiederherstellung bietet Microsoft Azure automatische Sicherungen an einem separaten geografischen Standort.

Verwalten von Arbeitsauslastungen

Oracle bietet Dienstprogramme wie Enterprise Manager und Database Resource Manager (DBRM) zum Verwalten von Workloads. Diese Dienstprogramme umfassen Funktionen wie Lastenausgleich über große Cluster hinweg, parallele Abfrageausführung, Leistungsmessung und Priorisierung. Viele dieser Merkmale können automatisiert werden, so dass das System bis zu einem gewissen Grad selbstabstimmend wird.

Tipp

Ein typisches Produktions-Data Warehouse führt gleichzeitig gemischte Workloads mit unterschiedlichen Ressourcennutzungsmerkmalen aus.

Azure Synapse protokolliert automatisch Ressourcennutzungsstatistiken. Zu den Metriken gehören Nutzungsstatistiken für CPU, Arbeitsspeicher, Cache, E/A und temporären Arbeitsbereich für jede Abfrage. Azure Synapse protokolliert auch Verbindungsinformationen, z. B. fehlgeschlagene Verbindungsversuche.

Tipp

Low-Level- und systemweite Metriken werden automatisch in Azure protokolliert.

In Azure Synapse sind Ressourcenklassen vorab festgelegte Ressourcenlimits, die die Computeressourcen und die Parallelität bei der Abfrageausführung regeln. Ressourcenklassen helfen Ihnen bei der Verwaltung Ihrer Arbeitslast, indem sie Grenzwerte für die Anzahl der gleichzeitig ausgeführten Abfragen und für die jeder Abfrage zugewiesenen Rechenressourcen festlegen. Dabei erfolgt ein Ausgleich zwischen Speicher und Parallelität.

Azure Synapse unterstützt diese grundlegenden Workloadverwaltungskonzepte:

  • Workloadklassifizierung: Sie können eine Anforderung einer Workloadgruppe zuweisen, um Wichtigkeitsstufen festzulegen.

  • Workloadpriorität: Sie können die Reihenfolge beeinflussen, in der eine Anforderung Zugriff auf Ressourcen erhält. Standardmäßig werden Abfragen nach dem First-In-First-Out-Prinzip aus der Warteschlange freigegeben, wenn Ressourcen verfügbar werden. Die Workloadpriorität ermöglicht es Abfragen mit höherer Priorität, Ressourcen unabhängig von der Warteschlange sofort zu erhalten.

  • Workloadisolation: Sie können Ressourcen für eine Workloadgruppe reservieren, eine maximale und minimale Nutzung für unterschiedliche Ressourcen zuweisen, die Ressourcen begrenzen, die eine Gruppe von Anforderungen verbrauchen kann, und einen Zeitüberschreitungswert festlegen, um außer Kontrolle geratene Abfragen automatisch zu beenden.

Das Ausführen gemischter Workloads kann bei ausgelasteten Systemen zu Ressourcenproblemen führen. Mit einem erfolgreichen Schema Workloadverwaltung werden Ressourcen effektiv verwaltet, wird eine hochgradig effiziente Ressourcennutzung sichergestellt und die Rendite (ROI) maximiert. Die Workload-Klassifizierung, die Workloadpriorität und die Workloadisolation bieten mehr Kontrolle darüber, wie die Workload Systemressourcen nutzt.

Sie können die von Azure Synapse gesammelten Workload-Metriken für die Kapazitätsplanung verwenden, um beispielsweise die Ressourcen zu bestimmen, die für zusätzliche Benutzer oder eine größere Anwendungsworkload erforderlich sind. Sie können Workload-Metriken auch verwenden, um das Hoch- und Herunterskalieren von Rechenressourcen für eine kostengünstige Unterstützung von Workload-Spitzen zu planen.

Im Workload Management Guide (Handbuch zur Workloadverwaltung) werden die Techniken zur Analyse der Workload, der Verwaltung und Überwachung der Workloadpriorität](../../sql-data-warehouse/sql-data-warehouse-how-to-manage-and-monitor-workload-importance.md) sowie die Schritte zum Konvertieren einer Ressourcenklasse in eine Workload-Gruppe beschrieben. Verwenden Sie das Azure-Portal und T-SQL-Abfragen auf DMVs, um die Workload zu überwachen und sicherzustellen, dass die entsprechenden Ressourcen effizient genutzt werden. Azure Synapse stellt eine Reihe von dynamischen Verwaltungssichten (Dynamic Management Views, DMVs) bereit, um alle Aspekte der Workloadverwaltung zu überwachen. Diese Ansichten sind hilfreich bei der aktiven Problembehandlung und Identifizierung von Leistungsengpässen in Ihrer Workload.

Weitere Informationen zur Workloadverwaltung in Azure Synapse finden Sie unter Workloadverwaltung mit Ressourcenklassen.

Skalieren von Computeressourcen

Die Azure Synapse-Architektur trennt Speicher und Rechenleistung, sodass beide unabhängig skaliert werden können. Dies ermöglicht die Skalierung von Computeressourcen, um Leistungsanforderungen unabhängig vom Datenspeicher zu erfüllen. Sie können Computeressourcen auch anhalten und fortsetzen. Ein weiterer Vorteil dieser Architektur besteht darin, dass die Abrechnung für Rechenleistung und Speicherung getrennt erfolgt. Wenn ein Data Warehouse nicht verwendet wird, können Sie Computekosten sparen, indem Sie Computeressourcen anhalten.

Tipp

Ein großer Vorteil von Azure ist die Möglichkeit, Ressourcen nach Bedarf separat hoch- und herunterzuskalieren, um die Kosten für Workloads mit Auslastungsspitzen zu optimieren.

Sie können Rechenressourcen nach oben oder unten skalieren, indem Sie die Einstellung der Data Warehouse-Einheiten (DWU) für ein Data Warehouse anpassen. Die Lade- und Abfrageleistung steigt linear, wenn Sie mehr DWUs zuweisen.

Wenn Sie die DWUs erhöhen, erhöht sich die Anzahl der Rechenknoten, was mehr Rechenleistung hinzufügt und mehr Parallelverarbeitung unterstützt. Wenn die Anzahl der Rechenknoten zunimmt, nimmt die Anzahl der Verteilungen pro Rechenknoten ab, wodurch mehr Rechenleistung und parallele Verarbeitung für Abfragen bereitgestellt werden. Wenn Sie die DWUs verringern, verringert sich die Anzahl der Rechenknoten, wodurch die Rechenressourcen für Abfragen reduziert werden.

Nächste Schritte

Weitere Informationen zur Visualisierung und Berichterstellung finden Sie im nächsten Artikel dieser Reihe: Visualisierung und Berichterstellung für Oracle-Migrationen.