Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Bermigrasi dengan tampilan terwujud Oracle
Untuk memigrasikan set data berukuran besar secara efisien, Anda dapat menggunakan replikasi tampilan terwujud Oracle. Dengan replikasi, tabel target tetap dapat sinkron dengan tabel sumber. Dengan demikian, Anda dapat beralih ke Amazon RDS nanti, jika diperlukan.
Sebelum Anda dapat bermigrasi menggunakan tampilan terwujud, pastikan Anda memenuhi persyaratan berikut:
-
Konfigurasikan akses dari basis data target ke basis data sumber. Dalam contoh berikut, aturan akses diaktifkan pada database sumber untuk memungkinkan database target Oracle RDS untuk terhubung ke sumber melalui SQL *Net.
-
Buat tautan database dari instance RDS for Oracle DB ke database sumber.
Cara memigrasikan data menggunakan tampilan terwujud
-
Buat akun pengguna di sumber dan RDS untuk instance target Oracle yang dapat mengautentikasi dengan kata sandi yang sama. Contoh berikut membuat pengguna bernama
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;catatan
Tetapkan kata sandi selain penggugah (prompt) yang ditampilkan di sini sebagai praktik terbaik keamanan.
-
Buat tautan database dari instance target RDS untuk Oracle ke instance sumber menggunakan pengguna yang baru dibuat.
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
)))';catatan
Tetapkan kata sandi selain penggugah (prompt) yang ditampilkan di sini sebagai praktik terbaik keamanan.
-
Uji tautan tersebut:
SELECT * FROM V$INSTANCE@remote_site;
-
Buat tabel sampel dengan kunci primer dan log tampilan terwujud pada instans sumber.
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;
-
Pada target RDS instans Oracle DB, buat tampilan terwujud.
CREATE MATERIALIZED VIEW customer_0 BUILD IMMEDIATE REFRESH FAST AS (SELECT * FROM cust_dba.customer_0@remote_site);
-
Pada target RDS instans Oracle DB, segarkan tampilan terwujud.
EXEC DBMS_MVIEW.REFRESH('CUSTOMER_0', 'f');
-
Batalkan tampilan terwujud dan sertakan klausa
PRESERVE TABLE
untuk mempertahankan tabel kontainer tampilan terwujud beserta kontennya.DROP MATERIALIZED VIEW customer_0 PRESERVE TABLE;
Tabel yang dipertahankan memiliki nama yang sama dengan tampilan terwujud yang dibatalkan.