Tutorial: Onlinemigration von Oracle zu Azure Database for PostgreSQL mit DMS (Vorschauversion)Tutorial: Migrate Oracle to Azure Database for PostgreSQL online using DMS (Preview)

Mit Azure Database Migration Service können Sie die Datenbanken von lokal oder auf virtuellen Computern gehosteten Oracle-Datenbanken mit minimaler Downtime zu Azure Database for PostgreSQL migrieren.You can use Azure Database Migration Service to migrate the databases from Oracle databases hosted on-premises or on virtual machines to Azure Database for PostgreSQL with minimal downtime. Das heißt, dass Sie die Migration mit minimaler Downtime für die Anwendung ausführen können.In other words, you can complete the migration with minimal downtime to the application. In diesem Tutorial migrieren Sie die HR-Beispieldatenbank von einer lokal oder auf virtuellen Computern gehosteten Oracle 11g-Instanz zu Azure Database for PostgreSQL. Zu diesem Zweck verwenden Sie die Onlinemigrationsaktivität in Azure Database Migration Service.In this tutorial, you migrate the HR sample database from an on-premises or virtual machine instance of Oracle 11g to Azure Database for PostgreSQL by using the online migration activity in Azure Database Migration Service.

In diesem Tutorial lernen Sie Folgendes:In this tutorial, you learn how to:

  • Bewerten des Migrationsaufwands mit dem Tool ora2pgAssess the migration effort using the ora2pg tool.
  • Migrieren des Beispielschemas mit dem Tool ora2pgMigrate the sample schema using the ora2pg tool.
  • Erstellen einer Instanz von Azure Database Migration ServiceCreate an instance of Azure Database Migration Service.
  • Erstellen eines Migrationsprojekts mithilfe von Azure Database Migration ServiceCreate a migration project by using Azure Database Migration Service.
  • Ausführen der MigrationRun the migration.
  • Überwachen der MigrationMonitor the migration.

Hinweis

Die Verwendung von Azure Database Migration Service zum Ausführen einer Onlinemigration erfordert das Erstellen einer Instanz auf der Grundlage des Premium-Tarifs.Using Azure Database Migration Service to perform an online migration requires creating an instance based on the Premium pricing tier.

Wichtig

Für eine optimale Migration empfiehlt Microsoft die Erstellung einer Azure Database Migration Service-Instanz in derselben Azure-Region, in der sich auch die Zieldatenbank befindet.For an optimal migration experience, Microsoft recommends creating an instance of Azure Database Migration Service in the same Azure region as the target database. Die Verschiebung von Daten zwischen Regionen oder Geografien kann den Migrationsvorgang verlangsamen und Fehler verursachen.Moving data across regions or geographies can slow down the migration process and introduce errors.

Tipp

Beim Migrieren von Datenbanken zu Azure mit dem Azure Database Migration Service können Sie eine Migration vom Typ offline oder online durchführen.When you migrate databases to Azure by using Azure Database Migration Service, you can do an offline or an online migration. Bei einer Offlinemigration beginnt der Ausfall der Anwendung, wenn die Migration gestartet wird.With an offline migration, application downtime starts when the migration starts. Bei einer Onlinemigration ist der Ausfall auf die Dauer der Umstellung am Ende der Migration beschränkt.With an online migration, downtime is limited to the time to cut over at the end of migration. Wir raten Ihnen, eine Offlinemigration zu testen, um zu ermitteln, ob die Ausfallzeit akzeptabel ist. Wenn nicht, sollten Sie eine Onlinemigration durchführen.We suggest that you test an offline migration to determine whether the downtime is acceptable; if not, do an online migration.

In diesem Artikel wird beschrieben, wie Sie eine Onlinemigration von Oracle zu Azure Database for PostgreSQL ausführen.This article describes how to perform an online migration from Oracle to Azure Database for PostgreSQL.

VoraussetzungenPrerequisites

Für dieses Tutorial benötigen Sie Folgendes:To complete this tutorial, you need to:

  • Sie müssen Oracle Database 11g Release 2 (Standard Edition, Standard Edition One oder Enterprise Edition) herunterladen und installieren.Download and install Oracle 11g Release 2 (Standard Edition, Standard Edition One, or Enterprise Edition).

  • Laden Sie die HR-Beispieldatenbank hier herunter.Download the sample HR database from here.

  • Laden Sie ora2pg herunter, und installieren Sie das Tool unter Windows oder unter Linux.Download and install ora2pg on either Windows or Linux.

  • Erstellen einer Instanz in Azure Database for PostgreSQL.Create an instance in Azure Database for PostgreSQL.

  • Stellen Sie eine Verbindung mit der Instanz her, und erstellen Sie eine Datenbank gemäß den Anweisungen in diesem Dokument.Connect to the instance and create a database using the instruction in this document.

  • Erstellen Sie ein virtuelles Azure-Netzwerk (VNET) für Azure Database Migration Service, indem Sie das Azure Resource Manager-Bereitstellungsmodell verwenden, das über ExpressRoute oder VPN Site-to-Site-Konnektivität für Ihre lokalen Quellserver bereitstellt.Create an Azure Virtual Network (VNet) for Azure Database Migration Service by using the Azure Resource Manager deployment model, which provides site-to-site connectivity to your on-premises source servers by using either ExpressRoute or VPN. Weitere Informationen zum Erstellen eines VNET finden Sie in der Dokumentation zu Virtual Network und insbesondere in den Schnellstartartikeln mit Schritt-für-Schritt-Anleitungen.For more information about creating a VNet, see the Virtual Network Documentation, and especially the quickstart articles with step-by-step details.

    Hinweis

    Fügen Sie bei Verwendung von ExpressRoute mit Netzwerkpeering zu Microsoft während des VNET-Setups die folgenden Dienstendpunkte zu dem Subnetz hinzu, in dem der Dienst bereitgestellt werden soll:During VNet setup, if you use ExpressRoute with network peering to Microsoft, add the following service endpoints to the subnet in which the service will be provisioned:

    • Zieldatenbankendpunkt (z. B. SQL-Endpunkt, Cosmos DB-Endpunkt usw.)Target database endpoint (for example, SQL endpoint, Cosmos DB endpoint, and so on)
    • SpeicherendpunktStorage endpoint
    • Service Bus-EndpunktService bus endpoint

    Diese Konfiguration ist erforderlich, weil Azure Database Migration Service über keine Internetverbindung verfügt.This configuration is necessary because Azure Database Migration Service lacks internet connectivity.

  • Stellen Sie sicher, dass die für Ihr VNet geltenden Regeln für Netzwerksicherheitsgruppen (NSG) die folgenden Ports für eingehende Kommunikation in Azure Database Migration Service nicht blockieren: 443, 53, 9354, 445, 12000.Ensure that your VNet Network Security Group (NSG) rules don't block the following inbound communication ports to Azure Database Migration Service: 443, 53, 9354, 445, 12000. Ausführlichere Informationen zur NSG-Datenverkehrsfilterung in einem Azure-VNET finden Sie im Artikel Filtern des Netzwerkdatenverkehrs mit Netzwerksicherheitsgruppen.For more detail on Azure VNet NSG traffic filtering, see the article Filter network traffic with network security groups.

  • Konfigurieren Sie Ihre Windows-Firewall für Datenbank-Engine-Zugriff.Configure your Windows Firewall for database engine access.

  • Öffnen Sie Ihre Windows-Firewall, damit Azure Database Migration Service auf den Oracle-Quellserver zugreifen kann (standardmäßig TCP-Port 1521).Open your Windows firewall to allow Azure Database Migration Service to access the source Oracle server, which by default is TCP port 1521.

  • Wenn Sie eine Firewallappliance vor Ihren Quelldatenbanken verwenden, müssen Sie möglicherweise Firewallregeln hinzufügen, um Azure Database Migration Service den Zugriff auf die Quelldatenbanken für die Migration zu ermöglichen.When using a firewall appliance in front of your source database(s), you may need to add firewall rules to allow Azure Database Migration Service to access the source database(s) for migration.

  • Erstellen Sie für Azure Database for PostgreSQL eine Firewallregel auf Serverebene, um Azure Database Migration Service den Zugriff auf die Zieldatenbanken zu ermöglichen.Create a server-level firewall rule for Azure Database for PostgreSQL to allow Azure Database Migration Service access to the target databases. Geben Sie den Subnetzbereich des für Azure Database Migration Service verwendeten VNet an.Provide the subnet range of the VNet used for Azure Database Migration Service.

  • Aktivieren Sie den Zugriff auf die Oracle-Quelldatenbanken.Enable access to the source Oracle databases.

    Hinweis

    Damit ein Benutzer eine Verbindung mit der Oracle-Quelle herstellen kann, muss er über die DBA-Rolle verfügen.The DBA role is required for a user to connect to the Oracle source.

    • Für die inkrementelle Synchronisierung in Azure Database Migration Service sind Archive Redo Logs erforderlich, um Datenänderungen zu erfassen.Archive Redo Logs is required for incremental sync in Azure Database Migration Service to capture data change. Führen Sie zum Konfigurieren der Oracle-Quelle die folgenden Schritte aus:Follow these steps to configure the Oracle source:

      • Melden Sie sich mit SYSDBA Berechtigungen an, indem Sie den folgenden Befehl ausführen:Sign in using SYSDBA privilege by running the following command:

        sqlplus (user)/(password) as sysdba
        
      • Fahren Sie die Datenbankinstanz herunter, indem Sie den folgenden Befehl ausführen.Shut down the database instance by running the following command.

        SHUTDOWN IMMEDIATE;
        

        Warten Sie auf die Bestätigung 'ORACLE instance shut down'.Wait for the confirmation 'ORACLE instance shut down'.

      • Starten Sie die neue Instanz, und stellen Sie die Datenbank bereit (ohne sie jedoch zu öffnen), um die Archivierung zu aktivieren oder zu deaktivieren, indem Sie den folgenden Befehl ausführen:Start the new instance and mount (but don't open) the database to enable or disable archiving bu running the following command:

        STARTUP MOUNT;
        

        Die Datenbank muss bereitgestellt werden. Warten Sie auf Bestätigung, dass die Oracle-Instanz gestartet wurde („Oracle instance started“).The database must be mounted; wait for confirmation 'Oracle instance started'.

      • Ändern Sie den Datenbankarchivierungsmodus, indem Sie den folgenden Befehl ausführen:Change the database archiving mode by running the following command:

        ALTER DATABASE ARCHIVELOG;
        
      • Öffnen Sie die Datenbank für normale Vorgänge, indem Sie den folgenden Befehl ausführen:Open the database for normal operations by running the following command:

        ALTER DATABASE OPEN;
        

        Sie müssen möglicherweise einen Neustart ausführen, damit die ARC-Datei angezeigt wird.You may need to restart for the ARC file to show up.

      • Führen Sie zur Überprüfung den folgenden Befehl aus:To verify, run the following command:

        SELECT log_mode FROM v$database;
        

        Sie sollten die Antwort 'ARCHIVELOG' erhalten.You should receive a response 'ARCHIVELOG'. Wenn die Antwort 'NOARCHIVELOG' lautet, wurde die Anforderung nicht erfüllt.If the response is 'NOARCHIVELOG', then the requirement isn't met.

    • Aktivieren Sie eine zusätzliche Protokollierung für die Replikation mit einer der folgenden Optionen.Enable supplemental logging for replication using one of the following options.

      • Option 1:Option 1. Ändern Sie die zusätzliche Protokollierung auf Datenbankebene, um alle Tabellen mit Primärschlüssel und eindeutigem Index abzudecken.Change the database level supplemental logging to cover all the tables with PK and unique index. Die Erkennungsabfrage gibt 'IMPLICIT' zurück.The detection query will return 'IMPLICIT'.

        ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY, UNIQUE) COLUMNS;
        

        Ändern Sie die zusätzliche Protokollierung auf Tabellenebene.Change the table level supplemental logging. Führen Sie den Befehl nur für Tabellen aus, die eine Datenbearbeitung aufweisen und nicht über Primärschlüssel oder eindeutige Indizes verfügen.Run only for tables that have data manipulation and don't have PKs or unique indexes.

        ALTER TABLE [TABLENAME] ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;
        
      • Option 2:Option 2. Ändern Sie die zusätzliche Protokollierung auf Datenbankebene, um alle Tabellen abzudecken. Die Erkennungsabfrage gibt dann 'YES' zurück.Change the database level supplemental logging to cover all the tables, and the detection query returns 'YES'.

        ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
        

        Ändern Sie die zusätzliche Protokollierung auf Tabellenebene.Change the table level supplemental logging. Folgen Sie der nachstehenden Logik, um für jede Tabelle nur eine Anweisung auszuführen.Follow the logic below to run only one statement for every table.

        Wenn die Tabelle über einen Primärschlüssel verfügt, führen Sie den folgenden Befehl aus:If the table has a primary key:

        ALTER TABLE xxx ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS;
        

        Wenn die Tabelle über einen eindeutigen Index verfügt, führen Sie den folgenden Befehl aus:If the table has a unique index:

        ALTER TABLE xxx ADD SUPPLEMENTAL LOG GROUP (first unique index columns) ALWAYS;
        

        Führen Sie andernfalls den folgenden Befehl aus:Otherwise, run the following command:

        ALTER TABLE xxx ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;
        

      Führen Sie zur Überprüfung den folgenden Befehl aus:To verify, run the following command:

      SELECT supplemental_log_data_min FROM v$database;
      

      Sie sollten die Antwort 'YES' erhalten.You should receive a response 'YES'.

Bewerten des Aufwands für eine Migration von Oracle zu Azure Database for PostgreSQLAssess the effort for an Oracle to Azure Database for PostgreSQL migration

Zum Bewerten des erforderlichen Aufwands für die Migration von Oracle zu Azure Database for PostgreSQL empfehlen wir die Verwendung von ora2pg.We recommend using ora2pg to assess the effort required to migrate from Oracle to Azure Database for PostgreSQL. Verwenden Sie die Anweisung ora2pg -t SHOW_REPORT, um einen Bericht zu erstellen, in dem alle Oracle-Objekte, die geschätzten Migrationskosten (in Entwicklertagen) und bestimmte Datenbankobjekte aufgelistet werden, die im Rahmen der Konvertierung möglicherweise besondere Aufmerksamkeit erfordern.Use the ora2pg -t SHOW_REPORT directive to create a report listing all the Oracle objects, the estimated migration cost (in developer days), and certain database objects that may require special attention as part of the conversion.

Die meisten Kunden wenden sehr viel Zeit dafür auf, den Bewertungsbericht zu überprüfen und den Aufwand für die automatische und manuelle Konvertierung zu berücksichtigen.Most customers will spend a considerable amount time reviewing the assessment report and considering the automatic and manual conversion effort.

Wenn Sie ora2pg zum Erstellen eines Bewertungsberichts konfigurieren und ausführen möchten, lesen Sie die Informationen im Abschnitt Premigration: Assessment (Prämigration: Bewertung) des Artikels Oracle to Azure Database for PostgreSQL Cookbook (Cookbook: Oracle zu Azure Database for PostgreSQL).To configure and run ora2pg to create an assessment report, see the Premigration: Assessment section of the Oracle to Azure Database for PostgreSQL Cookbook. Hier finden Sie ein Beispiel für einen ora2pg-Bewertungsbericht zu Referenzzwecken.A sample ora2pg assessment report is available for reference here.

Exportieren des Oracle-SchemasExport the Oracle schema

Zum Konvertieren des Oracle-Schemas und anderer Oracle-Objekte (wie Typen, Prozeduren, Funktionen usw.) in ein mit Azure Database for PostgreSQL kompatibles Schema empfehlen wir die Verwendung von ora2pg.We recommend that you use ora2pg to convert the Oracle schema and other Oracle objects (types, procedures, functions, etc.) to a schema that is compatible with Azure Database for PostgreSQL. ora2pg enthält viele Anweisungen, mit denen Sie bestimmte Datentypen vorab definieren können.ora2pg includes many directives to help you pre-define certain data types. Beispielsweise können Sie die Anweisung DATA_TYPE verwenden, um NUMBER(*,0) standardmäßig durch bigint statt NUMERIC(38) zu ersetzen.For example, you can use the DATA_TYPE directive to replace all NUMBER(*,0) with bigint rather than NUMERIC(38).

Sie können ora2pg ausführen, um die einzelnen Datenbankobjekte in SQL-Dateien zu exportieren.You can run ora2pg to export each of the database objects in .sql files. Sie können dann die SQL-Dateien vor dem Importieren in Azure Database for PostgreSQL mithilfe von psql überprüfen, oder Sie können das SQL-Skript in PgAdmin ausführen.You can then review the .sql files before importing them to Azure Database for PostgreSQL using psql or you can execute the .SQL script in PgAdmin.

psql -f [FILENAME] -h [AzurePostgreConnection] -p 5432 -U [AzurePostgreUser] -d database 

Beispiel:For example:

psql -f %namespace%\schema\sequences\sequence.sql -h server1-server.postgres.database.azure.com -p 5432 -U username@server1-server -d database

Informationen zum Konfigurieren und Ausführen von ora2pg für die Schemakonvertierung finden Sie im Abschnitt Migration: Schema & Data des Whitepapers Oracle to Azure Database for PostgreSQL Cookbook.To configure and run ora2pg for schema conversion, see the Migration: Schema and data section of the Oracle to Azure Database for PostgreSQL Cookbook.

Einrichten des Schemas in Azure Database for PostgreSQLSet up the schema in Azure Database for PostgreSQL

Sie können Oracle-Tabellenschemas, gespeicherte Prozeduren, Pakete und andere Datenbankobjekte mithilfe von ora2pg konvertieren, um sie mit Postgres kompatibel zu machen, bevor Sie eine Migrationspipeline in Azure Database Migration Service starten.You can choose to convert Oracle table schemas, stored procedures, packages, and other database objects to make them Postgres compatible by using ora2pg before starting a migration pipeline in Azure Database Migration Service. Anleitungen für ora2pg finden unter den folgenden Links:See the links below for how to work with ora2pg:

Azure Database Migration Service kann auch das PostgreSQL-Tabellenschema erstellen.Azure Database Migration Service can also create the PostgreSQL table schema. Der Dienst greift auf das Tabellenschema in der verbundenen Oracle-Quelle zu und erstellt in Azure Database for PostgreSQL ein kompatibles Tabellenschema.The service accesses the table schema in the connected Oracle source and creates a compatible table schema in Azure Database for PostgreSQL. Es empfiehlt sich, das Schemaformat in Azure Database for PostgreSQL zu überprüfen, nachdem Azure Database Migration Service das Schema erstellt und die Daten verschoben hat.Be sure to validate and check the schema format in Azure Database for PostgreSQL after Azure Database Migration Service finishes creating the schema and moving the data.

Wichtig

Azure Database Migration Service erstellt nur das Tabellenschema. Andere Datenbankobjekte wie gespeicherte Prozeduren, Pakete, Indizes und Ähnliches werden nicht erstellt.Azure Database Migration Service only creates the table schema; other database objects such as stored procedures, packages, indexes, etc., are not created.

Löschen Sie außerdem den Fremdschlüssel in der Zieldatenbank, damit der vollständige Ladevorgang ausgeführt wird.Also be sure to drop the foreign key in the target database for the full load to run. Im Abschnitt Migrieren des Beispielschemas des Artikels Tutorial: Migrieren von PostgreSQL zu Azure Database for PostgreSQL (online) mit DMS finden Sie ein Skript, mit dem Sie den Fremdschlüssel löschen können.Refer to the Migrate the sample schema section of the article here for a script that you can use to drop the foreign key. Verwenden Sie Azure Database Migration Service, um den vollständigen Ladevorgang und die Synchronisierung auszuführen.Use Azure Database Migration Service to run for full load and sync.

Vorgehensweise bei bereits vorhandenem PostgreSQL-TabellenschemaWhen the PostgreSQL table schema already exists

Falls Sie mithilfe von Tools wie ora2pg ein PostgreSQL-Schema erstellen, bevor Sie mit der Datenverschiebung mit Azure Database Migration Service beginnen, ordnen Sie in Azure Database Migration Service die Quelltabellen den Zieltabellen zu.If you create a PostgreSQL schema using tools such as ora2pg before starting the data movement with Azure Database Migration Service, map the source tables to the target tables in Azure Database Migration Service.

  1. Wenn Sie ein neues Projekt für die Migration von Oracle zu Azure Database for PostgreSQL erstellen, werden Sie im Schritt „Schemas auswählen“ zum Auswählen von Zieldatenbank und Zielschema aufgefordert.When you create a new Oracle to Azure Database for PostgreSQL migration project, you're prompted to select target database and target schema in Select schemas step. Geben Sie die Zieldatenbank und das Zielschema an.Fill in the target database and target schema.

    Abonnements im Portal anzeigen

  2. Im Bildschirm Migrationseinstellungen wird eine Liste mit Tabellen in der Oracle-Quelle angezeigt.The Migration settings screen presents a list of tables in the Oracle source. Von Azure Database Migration Service wird versucht, Quell- und Zieltabellen anhand des Tabellennamens abzugleichen.Azure Database Migration Service tries to match tables in the source and the target tables based on table name. Sind mehrere übereinstimmende Zieltabellen mit unterschiedlicher Groß-/Kleinschreibung vorhanden, können Sie die zuzuordnende Zieltabelle auswählen.If multiple matching target tables with different casing exist, you can select which target table to map to.

    Abonnements im Portal anzeigen

Hinweis

Falls Sie Quelltabellennamen Tabellen mit abweichenden Namen zuordnen müssen, wenden Sie sich per E-Mail an dmsfeedback@microsoft.com, um ein Automatisierungsskript für diesen Prozess zu erhalten.If you need to map source table names to tables with different names, email dmsfeedback@microsoft.com and we can provide a script to automate the process.

Vorgehensweise bei nicht vorhandenem PostgreSQL-TabellenschemaWhen the PostgreSQL table schema doesn’t exist

Wenn die PostgreSQL-Zieldatenbank keinerlei Tabellenschemainformationen enthält, konvertiert Azure Database Migration Service das Quellschema und bildet es in der Zieldatenbank nach.If the target PostgreSQL database doesn’t contain any table schema information, Azure Database Migration Service converts the source schema and recreates it in the target database. Zur Erinnerung: Azure Database Migration Service erstellt nur das Tabellenschema, aber keine anderen Datenbankobjekte wie gespeicherte Prozeduren, Pakete und Indizes.Remember, Azure Database Migration Service creates only the table schema, not other database objects such as stored procedures, packages, and indexes. Stellen Sie sicher, dass Ihre Zielumgebung ein Schema ohne vorhandene Tabellen enthält, damit Azure Database Migration Service das Schema für Sie erstellen kann.To have Azure Database Migration Service create the schema for you, ensure that your target environment includes a schema with no existing tables. Wenn Azure Database Migration Service eine Tabelle erkennt, geht der Dienst davon aus, dass das Schema von einem externen Tool wie ora2pg erstellt wurde.If Azure Database Migration Service discovers any table, the service assumes that the schema was created by an external tool such as ora2pg.

Wichtig

Azure Database Migration Service erfordert, dass alle Tabellen auf die gleiche Weise erstellt werden – entweder unter Verwendung von Azure Database Migration Service oder mithilfe eines Tools wie ora2pg, aber nicht mit beidem.Azure Database Migration Service requires that all tables be created the same way, by using either Azure Database Migration Service or a tool such as ora2pg, but not both.

Erste Schritte:To get started:

  1. Erstellen Sie auf der Grundlage Ihrer Anwendungsanforderungen ein Schema in der Zieldatenbank.Create a schema in the target database based on your application requirements. Die Namen von PostgreSQL-Tabellenschema und -spalten sind standardmäßig klein geschrieben.By default, PostgreSQL table schema and columns names are lower cased. Das Oracle-Tabellenschema und die dazugehörigen Spalten liegen dagegen standardmäßig vollständig in Großbuchstaben vor.Oracle table schema and columns, on the other hand, are by default in all capital case.

  2. Geben Sie im Schritt „Schemas auswählen“ die Zieldatenbank und das Zielschema an.In Select schemas step, specify the target database and the target schema.

  3. Basierend auf dem in Azure Database for PostgreSQL erstellten Schema verwendet Azure Database Migration Service die folgenden Transformationsregeln:Based on the schema you create in Azure Database for PostgreSQL, Azure Database Migration Service uses the following transformation rules:

    Wenn der Schemaname in der Oracle-Quelle dem Schemanamen in Azure Database for PostgreSQL entspricht, erstellt Azure Database Migration Service das Tabellenschema mit der gleichen Groß-/Kleinschreibung wie im Ziel.If the schema name in the Oracle source and matches that in Azure Database for PostgreSQL, then Azure Database Migration Service creates the table schema using the same case as in the target.

    Beispiel:For example:

    Quelle: Oracle-SchemaSource Oracle schema Ziel: PostgreSQL-Datenbank.SchemaTarget PostgreSQL Database.Schema Von DMS erstellt: Schema.Tabelle.SpalteDMS created schema.table.column
    HRHR targetHR.publictargetHR.public public.countries.country_idpublic.countries.country_id
    HRHR targetHR.trgthrtargetHR.trgthr trgthr.countries.country_idtrgthr.countries.country_id
    HRHR targetHR.TARGETHRtargetHR.TARGETHR "TARGETHR"."COUNTRIES"."COUNTRY_ID""TARGETHR"."COUNTRIES"."COUNTRY_ID"
    HRHR targetHR.HRtargetHR.HR "HR"."COUNTRIES"."COUNTRY_ID""HR"."COUNTRIES"."COUNTRY_ID"
    HRHR targetHR.HrtargetHR.Hr *Gemischte Groß-/Kleinschreibung kann nicht zugeordnet werden.*Unable to map mixed cases

    *Wenden Sie sich an dmsfeedback@microsoft.com, wenn Sie Schema- und Tabellennamen im PostgreSQL-Ziel mit gemischter Groß-/Kleinschreibung erstellen möchten.*To create mixed case schema and table names in target PostgreSQL, contact dmsfeedback@microsoft.com. Sie erhalten von uns ein Skript für die Einrichtung eines Tabellenschemas mit gemischter Groß-/Kleinschreibung in der PostgreSQL-Zieldatenbank.We can provide a script to set up mixed case table schema in the target PostgreSQL database.

Registrieren des Ressourcenanbieters „Microsoft.DataMigration“Register the Microsoft.DataMigration resource provider

  1. Melden Sie sich beim Azure-Portal an, und klicken Sie auf Alle Dienste und anschließend auf Abonnements.Sign in to the Azure portal, select All services, and then select Subscriptions.

    Abonnements im Portal anzeigen

  2. Wählen Sie das Abonnement aus, in dem Sie die Azure Database Migration Service-Instanz erstellen möchten, und klicken Sie auf Ressourcenanbieter.Select the subscription in which you want to create the instance of the Azure Database Migration Service, and then select Resource providers.

    Ressourcenanbieter anzeigen

  3. Suchen Sie nach „Migration“, und wählen Sie rechts neben Microsoft.DataMigration die Option Registrieren aus.Search for migration, and then to the right of Microsoft.DataMigration, select Register.

    Registrieren des Ressourcenanbieters

Erstellen einer DMS-InstanzCreate a DMS instance

  1. Wählen Sie im Azure-Portal die Option + Ressource erstellen, suchen Sie nach Azure Database Migration Service, und wählen Sie dann Azure Database Migration Service aus der Dropdownliste aus.In the Azure portal, select + Create a resource, search for Azure Database Migration Service, and then select Azure Database Migration Service from the drop-down list.

    Azure Marketplace

  2. Wählen Sie auf dem Bildschirm Azure Database Migration Service die Schaltfläche Erstellen aus.On the Azure Database Migration Service screen, select Create.

    Erstellen einer Instanz von Azure Database Migration Service

  3. Geben Sie auf dem Bildschirm Migrationsdienst erstellen einen Namen für den Dienst, das Abonnement und eine neue oder vorhandene Ressourcengruppe an.On the Create Migration Service screen, specify a name for the service, the subscription, and a new or existing resource group.

  4. Wählen Sie ein vorhandenes VNet aus, oder erstellen Sie ein neues VNet.Select an existing VNet or create a new one.

    Das VNet bietet Azure Database Migration Service Zugriff auf die Oracle-Quellinstanz und die Azure Database for PostgreSQL-Zielinstanz.The VNet provides Azure Database Migration Service with access to the source Oracle and the target Azure Database for PostgreSQL instance.

    Weitere Informationen zum Erstellen eines VNet im Azure-Portal finden Sie im Artikel Erstellen eines virtuellen Netzwerks im Azure Portal.For more information about how to create a VNet in the Azure portal, see the article Create a virtual network using the Azure portal.

  5. Wählen Sie einen Tarif.Select a pricing tier.

    Weitere Informationen zu Kosten und Tarifen finden Sie in der Preisübersicht.For more information on costs and pricing tiers, see the pricing page.

    Konfigurieren der Einstellungen einer Azure Database Migration Service-Instanz

  6. Wählen Sie Erstellen, um den Dienst zu erstellen.Select Create to create the service.

Erstellen eines MigrationsprojektsCreate a migration project

Nachdem der Dienst erstellt wurde, suchen Sie diesen im Azure-Portal, öffnen Sie ihn, und erstellen Sie anschließend ein neues Migrationsprojekt.After the service is created, locate it within the Azure portal, open it, and then create a new migration project.

  1. Wählen Sie im Azure-Portal Alle Dienste, suchen Sie nach Azure Database Migration Service, und wählen Sie dann Azure Database Migration Service aus.In the Azure portal, select All services, search for Azure Database Migration Service, and then select Azure Database Migration Services.

    Suchen aller Instanzen von Azure Database Migration Service

  2. Suchen Sie im Bildschirm Azure Database Migration Services nach dem Namen der von Ihnen erstellten Azure Database Migration Service-Instanz, und wählen Sie die Instanz aus.On the Azure Database Migration Services screen, search for the name of the Azure Database Migration Service instance that you created, and then select the instance.

    Suchen Ihrer Instanz von Azure Database Migration Service

  3. Wählen Sie + Neues Migrationsprojekt aus.Select + New Migration Project.

  4. Geben Sie im Bereich Neues Migrationsprojekt einen Projektnamen im Textfeld Typ des Quellservers an, wählen Sie Oracle aus, und wählen Sie dann im Textfeld Typ des Zielservers den Eintrag Azure Database for PostgreSQL aus.On the New migration project screen, specify a name for the project, in the Source server type text box, select Oracle, in the Target server type text box, select Azure Database for PostgreSQL.

  5. Wählen Sie im Abschnitt Aktivitätstyp auswählen die Option Onlinedatenmigration aus.In the Choose type of activity section, select Online data migration.

    Erstellen eines Database Migration Service-Projekts

    Hinweis

    Alternativ können Sie Nur Projekt erstellen auswählen, um das Migrationsprojekt jetzt zu erstellen und die Migration später durchzuführen.Alternately, you can choose Create project only to create the migration project now and execute the migration later.

  6. Wählen Sie Speichern aus, beachten Sie die Anforderungen für die erfolgreiche Verwendung von Azure Database Migration Service zum Durchführen einer Onlinemigration, und wählen Sie dann Aktivität erstellen und ausführen aus.Select Save, note the requirements to successfully use Azure Database Migration Service to perform an online migration, and then select Create and run activity.

Angeben von QuelldetailsSpecify source details

  • Geben Sie im Bereich Quelldetails hinzufügen die Verbindungsdetails für die Oracle-Quellinstanz an.On the Add Source Details screen, specify the connection details for the source Oracle instance.

    Bildschirm „Quelldetails hinzufügen“

Hochladen des Oracle OCI-TreibersUpload Oracle OCI driver

  1. Wählen Sie Speichern aus, melden Sie sich auf dem Bildschirm OCI-Treiber installieren bei Ihrem Oracle-Konto an, und laden Sie dann den Treiber instantclient-basiclite-windows.x64-12.2.0.1.0.zip (37,128,586 bytes) (cksum - 865082268) hier herunter.Select Save, and then on the Install OCI driver screen, sign into your Oracle account and download the driver instantclient-basiclite-windows.x64-12.2.0.1.0.zip (37,128,586 Byte(s)) (SHA1 Checksum: 865082268) from here.

  2. Laden Sie den Treiber in einen freigegebenen Ordner herunter.Download the driver to a shared folder.

    Stellen Sie sicher, dass der Ordner mit dem von Ihnen angegebenen Benutzernamen mit minimalem schreibgeschützten Zugriff freigegeben ist.Make sure the folder is shared with the username that you specified with minimum Read-only access. Azure Database Migration Service greift auf die Freigabe zu und liest daraus, um den OCI-Treiber in Azure hochzuladen. Dabei erfolgt ein Identitätswechsel des von Ihnen angegebenen Benutzernamens.Azure Database Migration Service accesses and reads from the share to upload the OCI driver to Azure by impersonating the username you specify.

    Bei dem angegebenen Benutzernamen muss es sich um ein Windows-Benutzerkonto handeln.The username you specify must be a Windows user account.

    Installation des OCI-Treibers

Angeben von ZieldetailsSpecify target details

  1. Wählen Sie Speichern aus, und geben Sie dann auf dem Bildschirm Zieldetails die Verbindungsdetails für den Azure Database for PostgreSQL-Zielserver an. Dabei handelt es sich um die vorab bereitgestellte Azure Database for PostgreSQL-Instanz, für die das HR-Schema bereitgestellt wurde.Select Save, and then on the Target details screen, specify the connection details for the target Azure Database for PostgreSQL server, which is the pre-provisioned instance of Azure Database for PostgreSQL to which the HR schema was deployed.

    Bildschirm „Zieldetails“

  2. Klicken Sie auf Speichern, und ordnen Sie dann auf dem Bildschirm Den Zieldatenbanken zuordnen die Quell- und die Zieldatenbank für die Migration zu.Select Save, and then on the Map to target databases screen, map the source and the target database for migration.

    Wenn die Zieldatenbank denselben Datenbanknamen wie die Quelldatenbank enthält, wählt Azure Database Migration Service die Zieldatenbank standardmäßig aus.If the target database contains the same database name as the source database, Azure Database Migration Service selects the target database by default.

    Zuordnen zu Zieldatenbanken

  3. Klicken Sie auf Speichern. Geben Sie auf dem Bildschirm Migrationszusammenfassung im Textfeld Aktivitätsname einen Namen für die Migrationsaktivität ein, und überprüfen Sie anschließend die Zusammenfassung, um sicherzustellen, dass die Ziel- und Quelldetails Ihren vorherigen Angaben entsprechen.Select Save, on the Migration summary screen, in the Activity name text box, specify a name for the migration activity, and then review the summary to ensure that the source and target details match what you previously specified.

    Migrationszusammenfassung

Ausführen der MigrationRun the migration

  • Wählen Sie Migration ausführen aus.Select Run migration.

    Das Fenster „Migrationsaktivität“ wird angezeigt, und der Status der Aktivität lautet Initialisierung.The migration activity window appears, and the Status of the activity is initializing.

Überwachen der MigrationMonitor the migration

  1. Klicken Sie auf dem Bildschirm „Migrationsaktivität“ auf Aktualisieren, um die Anzeige zu aktualisieren, bis der Status der Migration Ausgeführt lautet.On the migration activity screen, select Refresh to update the display until the Status of the migration shows as Running.

    Aktivitätsstatus: Wird ausgeführt

  2. Wählen Sie unter Datenbankname eine bestimmte Datenbank aus, um den Migrationsstatus für die Vorgänge Vollständiger Datenladevorgang und Inkrementelle Datensynchronisierung abzurufen.Under Database Name, select a specific database to get to the migration status for Full data load and Incremental data sync operations.

    Unter „Full data load“ (Vollständiger Datenladevorgang) wird der Migrationsstatus des ersten Ladevorgangs und unter „Inkrementelle Datensynchronisierung“ der CDC-Status (Change Data Capture) angezeigt.Full data load will show the initial load migration status while Incremental data sync will show change data capture (CDC) status.

    Aktivitätsstatus: Vollständiger Ladevorgang abgeschlossen

    Aktivitätsstatus: Inkrementelle Datensynchronisierung

Durchführen der MigrationsübernahmePerform migration cutover

Wenn der erste vollständige Ladevorgang abgeschlossen ist, werden die Datenbanken als Zur Übernahme bereit markiert.After the initial Full load is completed, the databases are marked Ready to cutover.

  1. Wenn Sie die Datenmigration abschließen möchten, klicken Sie auf Übernahme starten.When you're ready to complete the database migration, select Start Cutover.

  2. Achten Sie darauf, alle eingehenden Transaktionen für die Quelldatenbank zu beenden. Warten Sie, bis der Zähler Ausstehende Änderungen das Ergebnis 0 zeigt.Make sure to stop all the incoming transactions to the source database; wait until the Pending changes counter shows 0.

    Starten der Übernahme

  3. Aktivieren Sie das Kontrollkästchen Bestätigen, und klicken Sie anschließend auf Anwenden.Select Confirm, and then select Apply.

  4. Wenn der Status der Datenbankmigration als Abgeschlossen angezeigt wird, stellen Sie eine Verbindung zwischen Ihren Anwendungen und der neuen Azure Database for PostgreSQL-Zielinstanz her.When the database migration status shows Completed, connect your applications to the new target Azure Database for PostgreSQL instance.

Hinweis

Da PostgreSQL schema.table.column (schema.tabelle.spalte) standardmäßig in Kleinbuchstaben schreibt, können Sie das weiter oben in diesem Artikel im Abschnitt Einrichten des Schemas in Azure Database for PostgreSQL aufgeführte Skript verwenden, um die Großbuchstaben in Kleinbuchstaben umzuwandeln.Since PostgreSQL by default has schema.table.column in lower case, you can revert from upper case to lower case by using the script in the Set up the schema in Azure Database for PostgreSQL section earlier in this article.

Nächste SchritteNext steps