Migration von MongoDB zu Oracle AI Database ohne Ausfallzeiten

Erfahren Sie, wie Sie OCI GoldenGate zu MongoDB zu Oracle AI Database ohne Ausfallzeiten verwenden können.

OCI GoldenGate Big Data unterstützt Migrationen von MongoDB und MongoDB Atlas zu den folgenden Zielen ohne Ausfallzeiten:

Autonomous AI JSON Database und Autonomous AI Database enthalten vorkonfigurierte Oracle API for MongoDB-Verbindungszeichenfolgen, mit denen OCI GoldenGate eine Verbindung zu Oracle AI Database-Zielsystemen herstellt. Weitere Informationen finden Sie unter Oracle AI Database API for MongoDB verwenden.

Wenn Ihr Ziel eine On-Premise-Oracle AI Database ist, können Sie Oracle Rest Data Services verwenden, um die Oracle AI Database API for MongoDB mit Ihrer On-Premise-Oracle AI Database zu aktivieren.

Bevor Sie beginnen

Um diesen Schnellstart erfolgreich abzuschließen, stellen Sie Folgendes sicher:

Migration einrichten und starten

  1. Führen Sie in Ihrer Quelle MongoDB das MongoDB Dump Utility aus.

    1. Führen Sie mongodump mit der Option --oplog aus, um einen Snapshot der MongoDB-Quelldatenbank zu erstellen:

      $ ./bin/mongodump --uri="mongodb://localhost:27021" --oplog -v

      Der Befehl gibt Folgendes zurück:

      <date+timestamp>    getting most recent oplog timestamp
      <date+timestamp>    writing admin.system.version to dump/admin/system.version.bson
      <date+timestamp>    done dumping admin.system.version (1 document)
      <date+timestamp>    dumping up to 4 collections in parallel
      <date+timestamp>    writing testDB.coll1 to dump/testDB/coll1.bson
      <date+timestamp>    writing testDB.coll2 to dump/testDB/coll2.bson
      <date+timestamp>    writing testDB.coll3 to dump/testDB/coll3.bson
      <date+timestamp>    done dumping testDB.coll3 (10000 documents)
      <date+timestamp>    done dumping testDB.coll1 (10000 documents)
      <date+timestamp>    done dumping testDB.coll2 (10000 documents)
      <date+timestamp>    writing captured oplog to
      <date+timestamp>    dumped 7 oplog entries

      Dadurch wird ein Dumpordner generiert, der die Binärarchivdatendatei für alle Datenbanken und Collections im folgenden Verzeichnis enthält:

      dump/database-name/collection-name/collection-name.bson

      Außerdem wird eine oplog.bson direkt unter dem Dumpordner erstellt.

    2. Um den Inhalt der Datei oplog.bson (im Binärformat) zu prüfen, können Sie sie mit dem bsondump-Utility in JSON konvertieren:

      $ ./bin/bsondump --pretty --outFile /path/to/oplog.json dump/oplog.bson

      Der Befehl gibt Folgendes zurück:

      <date+timestamp>    7 objects found
  2. Extrahieren Sie die Zeitstempel des ersten und letzten Vorgangs aus oplong.bson:

    1. OplogLSN.sh-Skript herunterladen

    2. Führen Sie das OplongLSN.sh-Skript in der Quell-MongoDB in demselben Verzeichnis aus, in dem sich mongodump befindet, und übergeben Sie das Verzeichnis als Argument wie folgt an oplog.bson:

      $./oplogLSN.sh /path/to/dump/oplog.bson

      Der Befehl gibt Folgendes zurück:

      <date+timestamp> 1 objects found
      First LSN: 1740663867.1
      Last LSN: 1740663946.211
    3. Oplog-Einträge prüfen Wenn während des Dumps eingehende Vorgänge aufgetreten sind, enthält die Datei oplog.bson Einträge für diese Vorgänge mit jeweils einem Zeitstempel. Sie können OplogLSN.sh verwenden, um den Zeitstempel des ersten und letzten Vorgangs zu erfassen oder ihn zur manuellen Prüfung in eine JSON-Datei zu konvertieren, wie im vorherigen Schritt gezeigt.

  3. Führen Sie das MongoDB Restore Utility aus. Verwenden Sie das Utility mongorestore, um die ausgewählten Collections aus dem Dump in der Ziel-MongoDB-Instanz wiederherzustellen:

    $ ./mongorestore --uri="mongodb://localhost:27021" --nsInclude=testDB.coll1 --nsInclude=testDB.coll2 /path/to/dump -v

    Der Befehl gibt Folgendes zurück:

    <date+timestamp>    using write concern: &{majority <nil> 0s}
    <date+timestamp>    using default 'dump' directory
    <date+timestamp>    preparing collections to restore from
    <date+timestamp>    found collection admin.system.version bson to restore to admin.system.version
    <date+timestamp>    found collection metadata from admin.system.version to restore to admin.system.version
    <date+timestamp>    don't know what to do with file "dump/oplog.json", skipping...
    <date+timestamp>    found collection testDB.coll1 bson to restore to testDB.coll1
    <date+timestamp>    found collection metadata from testDB.coll1 to restore to testDB.coll1
    <date+timestamp>    found collection testDB.coll2 bson to restore to testDB.coll2
    <date+timestamp>    found collection metadata from testDB.coll2 to restore to testDB.coll2
    <date+timestamp>    reading metadata for testDB.coll1 from dump/testDB/coll1.metadata.json
    <date+timestamp>    reading metadata for testDB.coll2 from dump/testDB/coll2.metadata.json
    <date+timestamp>    creating collection testDB.coll1 with no metadata
    <date+timestamp>    creating collection testDB.coll2 with no metadata
    <date+timestamp>    restoring testDB.coll1 from dump/testDB/coll1.bson
    <date+timestamp>    restoring testDB.coll2 from dump/testDB/coll2.bson
    <date+timestamp>    finished restoring testDB.coll1 (10000 documents, 0 failures)
    <date+timestamp>    finished restoring testDB.coll2 (10000 documents, 0 failures)
    <date+timestamp>    no indexes to restore for collection testDB.coll1
    <date+timestamp>    no indexes to restore for collection testDB.coll2
    <date+timestamp>    20000 document(s) restored successfully. 0 document(s) failed to restore.

    Mit dem Befehl werden die Daten-, Metadaten- und Indexdefinitionen für die angegebene Collection in der Zielinstanz MongoDB/ORDS wiederhergestellt. Beispiel: coll1 und coll2 in database testDB, wie in der obigen Ausgabe gezeigt.

  4. Erstellen Sie einen Change Data Capture-(CDC-)Extrakt in Ihrem Big Data-Quell-Deployment für MongoDB, und führen Sie ihn aus. Starten Sie den MongoDB CDC Extract aus dem ersten Vorgangszeitstempel (First LSN), der in Schritt 2b erhalten wurde. Dadurch wird sichergestellt, dass CDC Extract Vorgänge erfasst, die nach dem Start des Dumpprozesses ausgeführt werden.

  5. MongoDB-Replicat erstellen und ausführen.

    1. Verwenden Sie die generierte CDC-Traildatei aus Schritt 4.

    2. Setzen Sie oplongReplayLastLsn auf den Zeitstempel des letzten Vorgangs (letzte LSN), der in Schritt 2b abgerufen wurde, oder den Pfad zu oplog.bson, und die letzte LSN wird automatisch abgerufen. Dadurch wird sichergestellt, dass Replicat im oplong-replay-Modus ausgeführt wird, Kollisionen vermieden werden und eine präzise Initiierung ohne Datenverlust oder -duplikation gewährleistet ist. Nachdem der letzte Zeitstempel verarbeitet wurde, wird das Replicat im normalen Modus fortgesetzt.

Tipps

Hier sind einige Tipps, um sicherzustellen, dass Ihre Migration reibungslos verläuft: