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 RDS später zu Amazon 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 Zugriffsregeln für die Quelldatenbank aktiviert, damit die Zieldatenbank RDS für Oracle SQL über*Net eine Verbindung zur Quelle herstellen kann.

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

So migrieren Sie Daten mithilfe materialisierter Ansichten
  1. Erstellen Sie ein Benutzerkonto sowohl für Quell- als auch RDS für Oracle-Ziel-Instances, das sich mit demselben Passwort 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 mit Ihrem neu erstellten Benutzer einen Datenbank-Link von der Ziel-Instance RDS für Oracle zur Quell-Instance.

    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 auf der Ziel-DB-Instance RDS für die Oracle-DB-Instance eine materialisierte Ansicht.

    CREATE MATERIALIZED VIEW customer_0 BUILD IMMEDIATE REFRESH FAST AS (SELECT * FROM cust_dba.customer_0@remote_site);
  6. Aktualisieren Sie auf dem Ziel RDS für die Oracle-DB-Instance 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.