Bermigrasi dengan tampilan terwujud Oracle - Layanan Basis Data Relasional Amazon

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 nantinya, jika perlu.

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 basis data sumber agar basis data target RDS for Oracle dapat terhubung ke sumber melalui SQL*Net.

  • Buat tautan basis data dari instans DB RDS for Oracle ke basis data sumber.

Cara memigrasikan data menggunakan tampilan terwujud
  1. Buat akun pengguna pada instans sumber maupun instans target RDS for Oracle yang dapat diautentikasi 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

    Tentukan kata sandi selain perintah yang ditampilkan di sini sebagai praktik terbaik keamanan.

  2. Buat tautan basis data dari instans target RDS for Oracle ke instans sumber menggunakan pengguna yang baru Anda buat.

    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

    Tentukan kata sandi selain perintah yang ditampilkan di sini sebagai praktik terbaik keamanan.

  3. Uji tautan tersebut:

    SELECT * FROM V$INSTANCE@remote_site;
  4. 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;
  5. Pada instans DB RDS for Oracle target, buat tampilan terwujud.

    CREATE MATERIALIZED VIEW customer_0 BUILD IMMEDIATE REFRESH FAST AS (SELECT * FROM cust_dba.customer_0@remote_site);
  6. Pada instans DB RDS for Oracle target, refresh tampilan terwujud.

    EXEC DBMS_MV.REFRESH('CUSTOMER_0', 'f');
  7. Batalkan tampilan terwujud dan sertakan klausa PRESERVE TABLE untuk mempertahankan tabel kontainer tampilan terwujud beserta isinya.

    DROP MATERIALIZED VIEW customer_0 PRESERVE TABLE;

    Tabel yang dipertahankan memiliki nama yang sama dengan tampilan terwujud yang dibatalkan.