Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Migrazione con le viste materializzate Oracle
Per eseguire la migrazione di set di dati di grandi dimensioni in modo efficiente, è anche possibile utilizzare la replica delle viste materializzate Oracle. Una replica consente di mantenere la sincronizzazione tra le tabelle di destinazione e le tabelle di origine. Pertanto, puoi passare ad Amazon in un RDS secondo momento, se necessario.
Prima di poter migrare utilizzando le viste materializzate, verifica che siano soddisfatti i seguenti requisiti:
-
Configurazione dell'accesso dal database di destinazione al database di origine. Nell'esempio seguente, le regole di accesso sono state abilitate sul database di origine RDS per consentire al database di destinazione Oracle di connettersi all'origine tramite SQL *Net.
-
Creare un collegamento al database dall'istanza database RDS for Oracle al database di origine.
Per eseguire la migrazione dei dati utilizzando viste materializzate
-
Crea un account utente sia sull'istanza di origine che su quella RDS di destinazione Oracle in grado di autenticarsi con la stessa password. L'esempio seguente crea un utente denominato
dblink_user
.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;Nota
Specifica una password diversa dal prompt mostrato qui come best practice per la sicurezza.
-
Crea un collegamento al database dall'istanza di destinazione RDS for Oracle all'istanza di origine utilizzando l'utente appena creato.
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
)))';Nota
Specifica una password diversa dal prompt mostrato qui come best practice per la sicurezza.
-
Testare il collegamento:
SELECT * FROM V$INSTANCE@remote_site;
-
Creare una tabella di esempio con una chiave primaria e un log della vista materializzata nell'istanza di origine.
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;
-
Sulla destinazione RDS per l'istanza DB Oracle, crea una vista materializzata.
CREATE MATERIALIZED VIEW customer_0 BUILD IMMEDIATE REFRESH FAST AS (SELECT * FROM cust_dba.customer_0@remote_site);
-
Sulla destinazione RDS per l'istanza Oracle DB, aggiorna la vista materializzata.
EXEC DBMS_MVIEW.REFRESH('CUSTOMER_0', 'f');
-
Elimina la vista materializzata e includi la clausola
PRESERVE TABLE
per mantenere la tabella container della vista materializzata e il relativo contenuto.DROP MATERIALIZED VIEW customer_0 PRESERVE TABLE;
La tabella conservata ha lo stesso nome della vista materializzata eliminata.