Migrieren mit materialisierten Oracle-Ansichten - Amazon Relational Database Service

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Migrieren mit materialisierten Oracle-Ansichten

Um große Datenmengen effizient zu migrieren, können Sie die Oracle-Replikation von materialisierten Ansichten verwenden. Mit der Replikation können Sie die Zieltabellen mit den Quelltabellen synchronisieren. So können Sie bei Bedarf später zu Amazon RDS wechseln.

Bevor Sie mit materialisierten Ansichten migrieren können, müssen Sie sicherstellen, dass Sie die folgenden Anforderungen erfüllen:

  • Konfigurieren Sie den Zugriff von der Zieldatenbank auf die Quelldatenbank. Im folgenden Beispiel wurden in der Quelldatenbank Zugriffsregeln aktiviert, die der Zieldatenbank von RDS für Oracle erlauben, sich über SQL*Net mit der Quelle zu verbinden.

  • Erstellen Sie einen Datenbank-Link von der DB-Instance von RDS für Oracle zur Quelldatenbank.

So migrieren Sie Daten mithilfe materialisierter Ansichten
  1. Erstellen Sie sowohl auf der Quell- als auch auf der RDS for Oracle-Ziel-Instance ein Benutzerkonto, das sich mit demselben Kennwort authentifizieren kann. Im folgenden Beispiel wird ein Benutzer mit dem Namen dblink_user erstellt.

    CREATE USER dblink_user IDENTIFIED BY my-password DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp; GRANT CREATE SESSION TO dblink_user; GRANT SELECT ANY TABLE TO dblink_user; GRANT SELECT ANY DICTIONARY TO dblink_user;
    Anmerkung

    Geben Sie aus Sicherheitsgründen ein anderes Passwort als hier angegeben an.

  2. Erstellen Sie einen Datenbanklink von der Ziel-Instance von RDS für Oracle zur Quell-Instance unter Verwendung des neu erstellten Benutzers.

    CREATE DATABASE LINK remote_site CONNECT TO dblink_user IDENTIFIED BY my-password USING '(description=(address=(protocol=tcp) (host=my-host) (port=my-listener-port)) (connect_data=(sid=my-source-db-sid)))';
    Anmerkung

    Geben Sie aus Sicherheitsgründen ein anderes Passwort als hier angegeben an.

  3. Testen Sie die Verbindung:

    SELECT * FROM V$INSTANCE@remote_site;
  4. Erstellen Sie eine Beispiel-Tabelle mit einem Primärschlüssel und einem Protokoll für materialisierte Ansichten in der Quell-Instance.

    CREATE TABLE customer_0 TABLESPACE users AS (SELECT ROWNUM id, o.* FROM ALL_OBJECTS o, ALL_OBJECTS x WHERE ROWNUM <= 1000000); ALTER TABLE customer_0 ADD CONSTRAINT pk_customer_0 PRIMARY KEY (id) USING INDEX; CREATE MATERIALIZED VIEW LOG ON customer_0;
  5. Erstellen Sie eine materialisierte Ansicht in der Ziel-DB-Instance von RDS für Oracle.

    CREATE MATERIALIZED VIEW customer_0 BUILD IMMEDIATE REFRESH FAST AS (SELECT * FROM cust_dba.customer_0@remote_site);
  6. Aktualisieren Sie auf der Ziel-DB-Instance von RDS für Oracle die materialisierte Ansicht.

    EXEC DBMS_MVIEW.REFRESH('CUSTOMER_0', 'f');
  7. Verwerfen Sie die materialisierte Ansicht und schließen Sie die PRESERVE TABLE-Klausel ein, um die Container-Tabelle der materialisierten Ansicht und deren Inhalt beizubehalten.

    DROP MATERIALIZED VIEW customer_0 PRESERVE TABLE;

    Die beibehaltene Tabelle hat denselben Namen wie die entfernte materialisierte Ansicht.