Menggunakan basis data Oracle sebagai sumber untuk AWS DMS - AWS Layanan Migrasi Database

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menggunakan basis data Oracle sebagai sumber untuk AWS DMS

Anda dapat memigrasikan data dari satu atau banyak database Oracle menggunakan. AWS DMS Dengan basis data Oracle sebagai sumber, Anda dapat memigrasi data ke salah satu target yang didukung oleh AWS DMS.

AWS DMS mendukung edisi database Oracle berikut:

  • Oracle Enterprise Edition

  • Oracle Standard Edition

  • Oracle Express Edition

  • Oracle Personal Edition

Untuk informasi tentang versi database Oracle yang AWS DMS mendukung sebagai sumber, lihat. Sumber untuk AWS DMS

Anda dapat menggunakan Lapisan Soket Aman (SSL) untuk mengenkripsi koneksi antara titik akhir Oracle Anda dan instans replikasi Anda. Untuk informasi lebih lanjut tentang menggunakan SSL dengan endpoint Oracle, lihat. Dukungan SSL untuk titik akhir Oracle

AWS DMS mendukung penggunaan enkripsi data transparan Oracle (TDE) untuk mengenkripsi data saat istirahat di database sumber. Untuk informasi lebih lanjut tentang menggunakan Oracle TDE dengan titik akhir sumber Oracle, lihat Metode enkripsi yang didukung untuk menggunakan Oracle sebagai sumber untuk AWS DMS.

AWS mendukung penggunaan TLS versi 1.2 dan yang lebih baru dengan endpoint Oracle (dan semua jenis endpoint lainnya), dan merekomendasikan penggunaan TLS versi 1.3 atau yang lebih baru.

Ikuti langkah-langkah ini untuk mengonfigurasi database Oracle sebagai titik akhir AWS DMS sumber:

  1. Buat pengguna Oracle dengan izin yang sesuai AWS DMS untuk mengakses database sumber Oracle Anda.

  2. Buat titik akhir sumber Oracle yang sesuai dengan konfigurasi basis data Oracle yang Anda pilih. Untuk membuat full-load-only tugas, tidak diperlukan konfigurasi lebih lanjut.

  3. Untuk membuat tugas yang menangani pengambilan data perubahan (tugas CDC saja atau beban penuh dan CDC), pilih Oracle LogMiner atau AWS DMS Binary Reader untuk menangkap perubahan data. Memilih LogMiner atau Pembaca Biner menentukan beberapa izin dan opsi konfigurasi selanjutnya. Untuk perbandingan LogMiner dan Pembaca Biner, lihat bagian berikut.

catatan

Untuk informasi selengkapnya tentang tugas beban penuh, tugas CDC saja, dan tugas beban penuh dan CDC, lihat Membuat tugas

Untuk detail tambahan tentang bekerja dengan database sumber Oracle dan AWS DMS, lihat bagian berikut.

Menggunakan Oracle LogMiner atau AWS DMS Binary Reader untuk CDC

Dalam AWS DMS, ada dua metode untuk membaca redo log ketika melakukan change data capture (CDC) untuk Oracle sebagai sumber: Oracle LogMiner dan Binary Reader. AWS DMS LogMiner adalah API Oracle untuk membaca log redo online dan file log redo yang diarsipkan. Binary Reader adalah AWS DMS metode yang membaca dan mem-parsing file log redo mentah secara langsung. Metode ini memiliki beberapa fitur berikut.

Fitur LogMiner Binary Reader
Mudah dikonfigurasi Ya Tidak
Dampak yang lebih rendah pada sistem sumber I/O dan CPU Tidak Ya
Performa CDC yang lebih baik Tidak Ya
Mendukung klaster tabel Oracle Ya Tidak
Mendukung semua jenis Hybrid Columnar Compression (HCC) Oracle Ya

Sebagian

Binary Reader tidak mendukung QUERY LOW untuk tugas-tugas dengan CDC. Semua jenis HCC lainnya didukung sepenuhnya.

Dukungan kolom LOB hanya di Oracle 12c Tidak (LOB Support tidak tersedia dengan LogMiner di Oracle 12c.) Ya
Mendukung pernyataan UPDATE yang hanya memengaruhi kolom LOB Tidak Ya
Mendukung enkripsi data transparan (TDE) Oracle

Sebagian

Saat menggunakan Oracle LogMiner, AWS DMS tidak mendukung enkripsi TDE pada tingkat kolom untuk Amazon RDS for Oracle.

Sebagian

Binary Reader mendukung TDE hanya untuk basis data Oracle yang dikelola sendiri.

Mendukung semua metode kompresi Oracle Ya Tidak
Mendukung transaksi XA Tidak Ya
RAC

Ya

Tidak disarankan, karena alasan kinerja, dan beberapa keterbatasan DMS internal.

Ya

Sangat direkomendasikan

catatan

Secara default, AWS DMS menggunakan Oracle LogMiner for (CDC).

AWS DMS mendukung metode enkripsi data transparan (TDE) saat bekerja dengan database sumber Oracle. Jika kredensyal TDE yang Anda tentukan salah, tugas AWS DMS migrasi tidak akan gagal, yang dapat memengaruhi replikasi tabel terenkripsi yang sedang berlangsung. Untuk informasi selengkapnya tentang menentukan kredensil TDE, lihat. Metode enkripsi yang didukung untuk menggunakan Oracle sebagai sumber untuk AWS DMS

Keuntungan utama menggunakan LogMiner dengan AWS DMS meliputi:

  • LogMiner mendukung sebagian besar opsi Oracle, seperti opsi enkripsi dan opsi kompresi. Binary Reader tidak mendukung semua pilihan Oracle, terutama kompresi dan sebagian besar pilihan untuk enkripsi.

  • LogMiner menawarkan konfigurasi yang lebih sederhana, terutama dibandingkan dengan pengaturan akses langsung Binary Reader atau ketika log redo dikelola menggunakan Oracle Automatic Storage Management (ASM).

  • LogMiner mendukung klaster tabel untuk digunakan oleh AWS DMS. Bindary Reader tidak mendukung klaster tabel.

Keuntungan utama menggunakan Binary Reader dengan AWS DMS meliputi:

  • Untuk migrasi dengan volume perubahan yang tinggi, LogMiner mungkin memiliki beberapa dampak I/O atau CPU pada komputer yang menghosting database sumber Oracle. Binary Reader memiliki kemungkinan yang lebih sedikit untuk memiliki dampak I/O atau CPU karena log ditambang langsung daripada membuat beberapa kueri basis data.

  • Untuk migrasi dengan volume perubahan yang tinggi, kinerja CDC biasanya jauh lebih baik ketika menggunakan Binary Reader dibandingkan dengan menggunakan Oracle. LogMiner

  • Binary Reader mendukung CDC untuk LOB di Oracle versi 12c. LogMinertidak.

Secara umum, gunakan Oracle LogMiner untuk memigrasikan database Oracle Anda kecuali Anda memiliki salah satu situasi berikut:

  • Anda perlu menjalankan beberapa tugas migrasi pada sumber basis data Oracle.

  • Volume perubahan atau volume log redo pada basis data sumber Oracle tinggi, atau Anda memiliki perubahan dan juga menggunakan ASM Oracle.

catatan

Jika Anda mengubah antara menggunakan Oracle LogMiner dan AWS DMS Binary Reader, pastikan untuk memulai ulang tugas CDC.

Konfigurasi untuk CDC pada sumber basis data Oracle

Agar titik akhir sumber Oracle terhubung ke basis data untuk tugas change data capture (CDC), Anda mungkin perlu menentukan atribut koneksi tambahan. Hal yang sama juga berlaku untuk tugas beban penuh dan CDC atau untuk tugas CDC-only. Atribut koneksi tambahan yang Anda tentukan bergantung pada metode yang Anda gunakan untuk mengakses log redo: Oracle LogMiner atau AWS DMS Binary Reader.

Anda menentukan atribut sambungan tambahan saat Anda membuat titik akhir sumber. Jika Anda memiliki beberapa sambungan pengaturan atribut, pisahkan satu sama lain dengan titik koma tanpa spasi putih tambahan (misalnya,oneSetting;thenAnother).

AWS DMS menggunakan secara LogMiner default. Anda tidak harus menentukan atribut sambungan tambahan untuk menggunakannya.

Untuk menggunakan Binary Reader untuk mengakses log redo, tambahkan atribut sambungan tambahan berikut.

useLogMinerReader=N;useBfile=Y;

Gunakan format berikut untuk atribut sambungan tambahan untuk mengakses server yang menggunakan ASM dengan Binary Reader.

useLogMinerReader=N;useBfile=Y;asm_user=asm_username;asm_server=RAC_server_ip_address:port_number/+ASM;

Atur parameter permintaan Password titik akhir sumber untuk kata sandi pengguna Oracle dan kata sandi ASM, yang dipisah dengan koma sebagai berikut.

oracle_user_password,asm_user_password

Apabila sumber Oracle menggunakan ASM, Anda dapat bekerja dengan pilihan performa tinggi pada Binary Reader untuk pemrosesan transaksi dalam skala besar. Pilihan ini mencakup atribut sambungan tambahan untuk menentukan jumlah thread paralel (parallelASMReadThreads) dan jumlah buffer read-ahead (readAheadBlocks). Pengaturan atribut ini secara bersamaan dapat secara signifikan meningkatkan performa tugas CDC. Pengaturan berikut memberikan hasil yang baik untuk sebagian besar konfigurasi ASM.

useLogMinerReader=N;useBfile=Y;asm_user=asm_username;asm_server=RAC_server_ip_address:port_number/+ASM; parallelASMReadThreads=6;readAheadBlocks=150000;

Untuk informasi lebih lanjut tentang nilai-nilai yang didukung atribut sambungan tambahan, lihat Pengaturan titik akhir saat menggunakan Oracle sebagai sumber AWS DMS.

Selain itu, performa tugas CDC dengan sumber Oracle yang menggunakan ASM tergantung pada pengaturan lain yang Anda pilih. Pengaturan ini mencakup atribut sambungan tambahan AWS DMS dan pengaturan SQL untuk mengonfigurasi sumber Oracle. Untuk informasi lebih lanjut tentang atribut sambungan tambahan untuk sumber Oracle yang menggunakan ASM, lihat Pengaturan titik akhir saat menggunakan Oracle sebagai sumber AWS DMS

Anda juga perlu memilih titik awal CDC yang sesuai. Biasanya ketika Anda melakukan hal ini, Anda ingin mengidentifikasi titik pemrosesan transaksi yang menangkap transaksi terbuka paling awal untuk memulai CDC. Jika tidak, tugas CDC dapat melewatkan transaksi terbuka sebelumnya. Untuk basis data sumber Oracle, Anda dapat memilih titik awal CDC berdasarkan system change number (SCN) Oracle untuk mengidentifikasi transaksi terbuka paling awal ini. Untuk informasi selengkapnya, lihat Melakukan replikasi mulai dari titik awal CDC.

Untuk informasi lebih lanjut tentang mengonfigurasi CDC untuk basis data Oracle yang dikelola sendiri sebagai sumber, lihat Hak istimewa akun diperlukan saat menggunakan Oracle LogMiner untuk mengakses log redo, Hak istimewa akun diperlukan saat menggunakan AWS DMS Binary Reader untuk mengakses redo log, dan Hak istimewa akun tambahan yang diperlukan saat menggunakan Binary Reader dengan Oracle ASM.

Untuk informasi selengkapnya tentang mengonfigurasi CDC untuk database Oracle yang AWS dikelola sebagai sumber, lihat dan. Mengkonfigurasi tugas CDC untuk menggunakan Binary Reader dengan RDS untuk sumber Oracle untuk AWS DMS Menggunakan Amazon RDS Oracle Standby (replika baca) sebagai sumber dengan Binary Reader untuk CDC di AWS DMS

Alur kerja untuk mengonfigurasi database sumber Oracle yang dikelola sendiri atau AWS dikelola untuk AWS DMS

Mengkonfigurasi database sumber Oracle

Untuk mengonfigurasi instans basis data sumber yang dikelola sendiri, gunakan langkah-langkah alur kerja berikut, bergantung pada bagaimana Anda melakukan CDC.

Untuk langkah alur kerja ini Jika Anda menggunakan CDC LogMiner, lakukan ini Jika Anda melakukan CDC menggunakan Binary Reader, lakukan ini
Berikan hak istimewa akun Oracle. Lihat Hak istimewa akun pengguna diperlukan pada sumber Oracle yang dikelola sendiri untuk AWS DMS. Lihat Hak istimewa akun pengguna diperlukan pada sumber Oracle yang dikelola sendiri untuk AWS DMS.
Siapkan basis data sumber untuk replikasi menggunakan CDC. Lihat Mempersiapkan database sumber yang dikelola sendiri Oracle untuk CDC menggunakan AWS DMS. Lihat Mempersiapkan database sumber yang dikelola sendiri Oracle untuk CDC menggunakan AWS DMS.
Berikan hak istimewa pengguna Oracle tambahan yang diperlukan untuk CDC. Lihat Hak istimewa akun diperlukan saat menggunakan Oracle LogMiner untuk mengakses log redo. Lihat Hak istimewa akun diperlukan saat menggunakan AWS DMS Binary Reader untuk mengakses redo log.
Untuk instans Oracle dengan ASM, berikan hak istimewa pengguna akun tambahan yang diperlukan untuk mengakses ASM untuk CDC. Tidak ada tindakan tambahan. AWS DMS mendukung Oracle ASM tanpa hak istimewa akun tambahan. Lihat Hak istimewa akun tambahan yang diperlukan saat menggunakan Binary Reader dengan Oracle ASM.
Jika Anda belum melakukannya, konfigurasikan tugas yang akan digunakan LogMiner atau Binary Reader untuk CDC. Lihat Menggunakan Oracle LogMiner atau AWS DMS Binary Reader untuk CDC. Lihat Menggunakan Oracle LogMiner atau AWS DMS Binary Reader untuk CDC.
Konfigurasikan Oracle Standby sebagai sumber untuk CDC. AWS DMS tidak mendukung Oracle Standby sebagai sumber. Lihat Menggunakan Oracle Standby yang dikelola sendiri sebagai sumber dengan Binary Reader untuk CDC pada AWS DMS.

Gunakan langkah-langkah alur kerja berikut untuk mengonfigurasi instance database sumber Oracle yang AWS dikelola.

Untuk langkah alur kerja ini Jika Anda menggunakan CDC LogMiner, lakukan ini Jika Anda melakukan CDC menggunakan Binary Reader, lakukan ini
Berikan hak istimewa akun Oracle. Untuk informasi selengkapnya, lihat Hak istimewa akun pengguna diperlukan pada sumber Oracle AWS yang dikelola untuk AWS DMS. Untuk informasi selengkapnya, lihat Hak istimewa akun pengguna diperlukan pada sumber Oracle AWS yang dikelola untuk AWS DMS.
Siapkan basis data sumber untuk replikasi menggunakan CDC. Untuk informasi selengkapnya, lihat Mengkonfigurasi sumber AWS Oracle yang dikelola untuk AWS DMS. Untuk informasi selengkapnya, lihat Mengkonfigurasi sumber AWS Oracle yang dikelola untuk AWS DMS.
Berikan hak istimewa pengguna Oracle tambahan yang diperlukan untuk CDC. Tidak perlu hak istimewa akun tambahan. Untuk informasi selengkapnya, lihat Mengkonfigurasi tugas CDC untuk menggunakan Binary Reader dengan RDS untuk sumber Oracle untuk AWS DMS.
Jika Anda belum melakukannya, konfigurasikan tugas yang akan digunakan LogMiner atau Binary Reader untuk CDC. Untuk informasi selengkapnya, lihat Menggunakan Oracle LogMiner atau AWS DMS Binary Reader untuk CDC. Untuk informasi selengkapnya, lihat Menggunakan Oracle LogMiner atau AWS DMS Binary Reader untuk CDC.
Konfigurasi Oracle Standby sebagai sumber untuk CDC. AWS DMS tidak mendukung Oracle Standby sebagai sumber. Untuk informasi selengkapnya, lihat Menggunakan Amazon RDS Oracle Standby (replika baca) sebagai sumber dengan Binary Reader untuk CDC di AWS DMS.

Bekerja dengan database Oracle yang dikelola sendiri sebagai sumber untuk AWS DMS

Suatu basis data yang dikelola sendiri adalah basis data yang Anda konfigurasi dan kontrol, baik instans basis data lokal atau basis data pada Amazon EC2. Berikut ini, Anda dapat mengetahui tentang hak istimewa dan konfigurasi yang Anda butuhkan saat menggunakan database Oracle yang dikelola sendiri. AWS DMS

Hak istimewa akun pengguna diperlukan pada sumber Oracle yang dikelola sendiri untuk AWS DMS

Untuk menggunakan database Oracle sebagai sumber AWS DMS, berikan hak istimewa berikut kepada pengguna Oracle yang ditentukan dalam pengaturan koneksi endpoint Oracle.

catatan

Ketika memberikan hak istimewa, gunakan nama objek yang sebenarnya, bukan sinonim dari setiap objek. Misalnya, gunakan V_$OBJECT termasuk garis bawahnya, bukan V$OBJECT tanpa garis bawah.

GRANT CREATE SESSION TO db_user; GRANT SELECT ANY TRANSACTION TO db_user; GRANT SELECT ON V_$ARCHIVED_LOG TO db_user; GRANT SELECT ON V_$LOG TO db_user; GRANT SELECT ON V_$LOGFILE TO db_user; GRANT SELECT ON V_$LOGMNR_LOGS TO db_user; GRANT SELECT ON V_$LOGMNR_CONTENTS TO db_user; GRANT SELECT ON V_$DATABASE TO db_user; GRANT SELECT ON V_$THREAD TO db_user; GRANT SELECT ON V_$PARAMETER TO db_user; GRANT SELECT ON V_$NLS_PARAMETERS TO db_user; GRANT SELECT ON V_$TIMEZONE_NAMES TO db_user; GRANT SELECT ON V_$TRANSACTION TO db_user; GRANT SELECT ON V_$CONTAINERS TO db_user; GRANT SELECT ON ALL_INDEXES TO db_user; GRANT SELECT ON ALL_OBJECTS TO db_user; GRANT SELECT ON ALL_TABLES TO db_user; GRANT SELECT ON ALL_USERS TO db_user; GRANT SELECT ON ALL_CATALOG TO db_user; GRANT SELECT ON ALL_CONSTRAINTS TO db_user; GRANT SELECT ON ALL_CONS_COLUMNS TO db_user; GRANT SELECT ON ALL_TAB_COLS TO db_user; GRANT SELECT ON ALL_IND_COLUMNS TO db_user; GRANT SELECT ON ALL_ENCRYPTED_COLUMNS TO db_user; GRANT SELECT ON ALL_LOG_GROUPS TO db_user; GRANT SELECT ON ALL_TAB_PARTITIONS TO db_user; GRANT SELECT ON SYS.DBA_REGISTRY TO db_user; GRANT SELECT ON SYS.OBJ$ TO db_user; GRANT SELECT ON DBA_TABLESPACES TO db_user; GRANT SELECT ON DBA_OBJECTS TO db_user; -– Required if the Oracle version is earlier than 11.2.0.3. GRANT SELECT ON SYS.ENC$ TO db_user; -– Required if transparent data encryption (TDE) is enabled. For more information on using Oracle TDE with AWS DMS, see Metode enkripsi yang didukung untuk menggunakan Oracle sebagai sumber untuk AWS DMS. GRANT SELECT ON GV_$TRANSACTION TO db_user; -– Required if the source database is Oracle RAC in AWS DMS versions 3.4.6 and higher. GRANT SELECT ON V_$DATAGUARD_STATS TO db_user; -- Required if the source database is Oracle Data Guard and Oracle Standby is used in the latest release of DMS version 3.4.6, version 3.4.7, and higher.

Berikan hak istimewa tambahan berikut untuk setiap tabel yang direplikasi ketika Anda menggunakan daftar tabel tertentu.

GRANT SELECT on any-replicated-table to db_user;

Berikan hak istimewa tambahan berikut untuk memvalidasi kolom LOB dengan fitur validasi.

GRANT EXECUTE ON SYS.DBMS_CRYPTO TO db_user;

Berikan hak istimewa tambahan berikut jika Anda menggunakan pembaca biner alih-alih. LogMiner

GRANT SELECT ON SYS.DBA_DIRECTORIES TO db_user;

Berikan hak istimewa tambahan berikut ini untuk menunjukkan tampilan.

GRANT SELECT on ALL_VIEWS to dms_user;

Untuk menunjukkan tampilan, Anda juga harus menambahkan atribut sambungan tambahan exposeViews=true ke titik akhir sumber Anda.

Berikan hak istimewa berikut tambahan saat menggunakan replikasi tanpa server.

GRANT SELECT on dba_segments to db_user;

Untuk informasi tentang replikasi tanpa server, lihat. Bekerja dengan Tanpa AWS DMS Server

Berikan hak istimewa tambahan berikut saat menggunakan penilaian premi khusus Oracle.

GRANT SELECT on gv_$parameter to dms_user; GRANT SELECT on v_$instance to dms_user; GRANT SELECT on v_$version to dms_user; GRANT SELECT on gv_$ASM_DISKGROUP to dms_user; GRANT SELECT on gv_$database to dms_user; GRANT SELECT on dba_db_links to dms_user; GRANT SELECT on gv_$log_History to dms_user; GRANT SELECT on gv_$log to dms_user; GRANT SELECT ON DBA_TYPES TO db_user; GRANT SELECT ON DBA_USERS to dms_user; GRANT SELECT ON DBA_DIRECTORIES to dms_user;

Untuk informasi tentang penilaian premi khusus Oracle, lihat. Penilaian Oracle

Prasyarat untuk menangani transaksi terbuka untuk Oracle Standby

Saat menggunakan AWS DMS versi 3.4.6 dan yang lebih tinggi, lakukan langkah-langkah berikut untuk menangani transaksi terbuka untuk Oracle Standby.

  1. Buat link database bernama, AWSDMS_DBLINK pada database utama. DMS_USERakan menggunakan link database untuk terhubung ke database utama. Perhatikan bahwa link database dijalankan dari instance standby untuk query transaksi terbuka yang berjalan pada database utama. Lihat contoh berikut ini.

    CREATE PUBLIC DATABASE LINK AWSDMS_DBLINK CONNECT TO DMS_USER IDENTIFIED BY DMS_USER_PASSWORD USING '(DESCRIPTION= (ADDRESS=(PROTOCOL=TCP)(HOST=PRIMARY_HOST_NAME_OR_IP)(PORT=PORT)) (CONNECT_DATA=(SERVICE_NAME=SID)) )';
  2. Verifikasi koneksi ke link database menggunakan DMS_USER dibuat, seperti yang ditunjukkan pada contoh berikut.

    select 1 from dual@AWSDMS_DBLINK

Mempersiapkan database sumber yang dikelola sendiri Oracle untuk CDC menggunakan AWS DMS

Siapkan basis data Oracle yang dikelola sendiri sebagai sumber untuk menjalankan tugas CDC dengan melakukan hal berikut:

Memverifikasi yang AWS DMS mendukung versi basis data sumber

Menjalankan kueri seperti berikut untuk melakukan verifikasi bahwa versi yang digunakan saat ini dari basis data sumber Oracle didukung oleh AWS DMS.

SELECT name, value, description FROM v$parameter WHERE name = 'compatible';

Di sini, name, value, dan description adalah kolom di suatu tempat di basis data yang sedang dijalankan kueri berdasarkan nilai name. Jika kueri ini berjalan tanpa kesalahan, AWS DMS mendukung versi database saat ini dan Anda dapat melanjutkan migrasi. Jika kueri menimbulkan kesalahan, AWS DMS tidak mendukung versi database saat ini. Untuk melanjutkan migrasi, pertama-tama konversikan database Oracle ke versi yang didukung oleh AWS DMS.

Memastikan bahwa mode ARCHELOG aktif

Anda dapat menjalankan Oracle dalam dua mode yang berbeda: mode ARCHIVELOG dan mode NOARCHIVELOG. Untuk menjalankan tugas CDC, jalankan basis data di mode ARCHIVELOG. Untuk mengetahui apakah database dalam ARCHIVELOG mode, jalankan query berikut.

SQL> SELECT log_mode FROM v$database;

Jika NOARCHIVELOG mode dikembalikan, atur database ARCHIVELOG sesuai instruksi Oracle.

Mengatur supplemental logging

Untuk menangkap perubahan yang sedang berlangsung, Anda AWS DMS mengharuskan Anda mengaktifkan logging tambahan minimal pada database sumber Oracle Anda. Selain itu, Anda perlu mengaktifkan supplemental logging pada setiap tabel yang direplikasi pada basis data.

Secara default, AWS DMS menambahkan logging PRIMARY KEY tambahan pada semua tabel yang direplikasi. AWS DMS Untuk memungkinkan menambahkan logging PRIMARY KEY tambahan, berikan hak istimewa berikut untuk setiap tabel yang direplikasi.

ALTER on any-replicated-table;

Anda dapat menonaktifkan logging PRIMARY KEY tambahan default yang ditambahkan dengan AWS DMS menggunakan atribut koneksi tambahan. addSupplementalLogging Untuk informasi selengkapnya, lihat Pengaturan titik akhir saat menggunakan Oracle sebagai sumber AWS DMS.

Pastikan untuk mengaktifkan logging tambahan jika tugas replikasi Anda memperbarui tabel menggunakan WHERE klausa yang tidak mereferensikan kolom kunci utama.

Untuk mengatur supplemental logging secara manual
  1. Menjalankan kueri berikut untuk melakukan verifikasi jika supplemental logging sudah diaktifkan untuk basis data.

    SELECT supplemental_log_data_min FROM v$database;

    Jika hasil yang dikembalikan adalah YES atau IMPLICIT, supplemental logging diaktifkan untuk basis data.

    Jika tidak, aktifkan supplemental logging untuk basis data dengan menjalankan perintah berikut.

    ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
  2. Pastikan bahwa supplemental logging yang diperlukan ditambahkan untuk setiap tabel yang direplikasi.

    Pertimbangkan hal berikut:

    • Jika supplemental logging ALL COLUMNS ditambahkan ke tabel, Anda tidak perlu menambah logging lagi.

    • Jika kunci primer ada, tambahkan supplemental logging untuk kunci primer tersebut. Anda dapat melakukannya baik dengan menggunakan format untuk menambahkan supplemental logging pada kunci primer itu sendiri, atau dengan menambahkan supplemental logging pada kolom kunci primer pada basis data.

      ALTER TABLE Tablename ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS; ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS;
    • Jika tidak ada kunci primer dan tabel memiliki indeks unik tunggal, tambahkan semua kolum indeks unik pada supplemental log.

      ALTER TABLE TableName ADD SUPPLEMENTAL LOG GROUP LogGroupName (UniqueIndexColumn1[, UniqueIndexColumn2] ...) ALWAYS;

      Menggunakan SUPPLEMENTAL LOG DATA (UNIQUE INDEX) COLUMNS tidak menambahkan kolom indeks unik ke log.

    • Jika tidak ada kunci primer dan tabel memiliki beberapa indeks unik, AWS DMS pilih indeks unik pertama dalam daftar naik yang diurutkan menurut abjad. Anda perlu menambahkan supplemental logging pada kolom indeks yang dipilih seperti pada item sebelumnya.

      Menggunakan SUPPLEMENTAL LOG DATA (UNIQUE INDEX) COLUMNS tidak menambahkan kolom indeks unik pada log.

    • Jika tidak ada kunci primer ada dan tidak ada indeks unik, tambahkan supplemental logging pada semua kolom.

      ALTER TABLE TableName ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;

      Dalam beberapa kasus, kunci primer tabel atau indeks unik target berbeda dari kunci primer tabel atau indeks unik sumber. Dalam kasus tersebut, tambahkan supplemental logging secara manual pada kolom tabel sumber yang membentuk kunci primer tabel atau indeks unik target.

      Dan jika Anda mengubah kunci primer tabel target, tambahkan supplemental logging pada kolum indeks unik target, bukan kolom kunci primer atau indeks unik sumber.

Jika filter atau transformasi didefinisikan untuk tabel, Anda mungkin perlu mengaktifkan logging tambahan.

Pertimbangkan hal berikut:

  • Jika supplemental logging ALL COLUMNS ditambahkan pada tabel, Anda tidak perlu menambahkan logging lagi.

  • Jika tabel memiliki indeks unik atau kunci primer, tambahkan tambahan supplemental logging pada setiap kolom yang terlibat dalam filter atau transformasi. Namun, lakukan hal tersebut hanya jika kolom-kolom itu berbeda dari kolom kunci primer atau indeks unik.

  • Jika transformasi hanya mencakup satu kolom, jangan tambahkan kolom ini ke grup supplemental logging. Misalnya, untuk transformasi A+B, tambahkan supplemental logging pada kolom A dan kolom B. Namun, untuk transformasi substring(A,10) jangan tambahkan supplemental logging di kolom A.

  • Untuk mengatur supplemental logging pada kolom kunci primer atau indeks unik kolom dan kolom lain yang disaring atau diubah, Anda dapat mengatur supplemental logging USER_LOG_GROUP. Tambahkan logging ini pada kolom kunci primer atau indeks unik dan kolom tertentu lainnya yang disaring atau diubah.

    Misalnya, untuk mereplikasi tabel bernama TEST.LOGGING dengan kunci primer ID dan filter oleh kolom NAME, Anda dapat menjalankan perintah yang mirip dengan berikut ini untuk membuat grup log supplemental logging.

    ALTER TABLE TEST.LOGGING ADD SUPPLEMENTAL LOG GROUP TEST_LOG_GROUP (ID, NAME) ALWAYS;

Hak istimewa akun diperlukan saat menggunakan Oracle LogMiner untuk mengakses log redo

Untuk mengakses log redo menggunakan Oracle LogMiner, berikan hak istimewa berikut kepada pengguna Oracle yang ditentukan dalam pengaturan koneksi endpoint Oracle.

GRANT EXECUTE on DBMS_LOGMNR to db_user; GRANT SELECT on V_$LOGMNR_LOGS to db_user; GRANT SELECT on V_$LOGMNR_CONTENTS to db_user; GRANT LOGMINING to db_user; -– Required only if the Oracle version is 12c or higher.

Hak istimewa akun diperlukan saat menggunakan AWS DMS Binary Reader untuk mengakses redo log

Untuk mengakses log redo menggunakan AWS DMS Binary Reader, berikan hak istimewa berikut kepada pengguna Oracle yang ditentukan dalam pengaturan koneksi endpoint Oracle.

GRANT SELECT on v_$transportable_platform to db_user; -– Grant this privilege if the redo logs are stored in Oracle Automatic Storage Management (ASM) and AWS DMS accesses them from ASM. GRANT CREATE ANY DIRECTORY to db_user; -– Grant this privilege to allow AWS DMS to use Oracle BFILE read file access in certain cases. This access is required when the replication instance doesn't have file-level access to the redo logs and the redo logs are on non-ASM storage. GRANT EXECUTE on DBMS_FILE_TRANSFER to db_user; -– Grant this privilege to copy the redo log files to a temporary folder using the CopyToTempFolder method. GRANT EXECUTE on DBMS_FILE_GROUP to db_user;

Binary Reader bekerja dengan fitur file Oracle yang mencakup direktori Oracle. Setiap objek direktori Oracle termasuk nama folder yang berisi file log redo untuk memproses. Direktori Oracle ini tidak diwakili pada tingkat sistem file. Sebaliknya, mereka adalah direktori logis yang dibuat pada tingkat basis data Oracle. Anda dapat melihatnya di gambaran ALL_DIRECTORIES Oracle.

Jika Anda AWS DMS ingin membuat direktori Oracle ini, berikan CREATE ANY DIRECTORY hak istimewa yang ditentukan sebelumnya. AWS DMS membuat nama direktori dengan DMS_ awalan. Jika Anda tidak memberikan CREATE ANY DIRECTORY hak istimewa, buatlah direktori yang sesuai secara manual. Dalam beberapa kasus ketika Anda membuat direktori Oracle secara manual, pengguna Oracle yang ditentukan dalam titik akhir sumber Oracle bukanlah pengguna yang membuat direktori ini. Dalam kasus ini, berikan juga hak istimewa kepada READ on DIRECTORY.

Jika titik akhir sumber Oracle ada di Active Dataguard Standby (ADG), lihat Cara menggunakan Binary Reader dengan posting ADG di Blog Database. AWS

catatan

AWS DMS CDC tidak mendukung Active Dataguard Standby yang tidak dikonfigurasi untuk menggunakan layanan transportasi redo otomatis.

Dalam beberapa kasus, Anda mungkin menggunakan Oracle Managed Files (OMF) untuk menyimpan log. Atau titik akhir sumber Anda ada di ADG dan dengan demikian Anda tidak dapat memberikan hak istimewa BUAT DIREKTORI APAPUN. Dalam kasus ini, buat direktori secara manual dengan semua lokasi log yang mungkin sebelum memulai tugas AWS DMS replikasi. Jika AWS DMS tidak menemukan direktori yang telah dibuat sebelumnya yang diharapkan, tugas berhenti. Dan, AWS DMS tidak menghapus entri yang telah dibuat di gambaran ALL_DIRECTORIES, jadi secara manual hapus semuanya.

Hak istimewa akun tambahan yang diperlukan saat menggunakan Binary Reader dengan Oracle ASM

Untuk mengakses log redo pada Automatic Storage Management (ASM) menggunakan Binary Reader, berikan hak istimewa berikut untuk pengguna Oracle yang ditentukan pada pengaturan sambungan titik akhir Oracle.

SELECT ON v_$transportable_platform SYSASM -– To access the ASM account with Oracle 11g Release 2 (version 11.2.0.2) and higher, grant the Oracle endpoint user the SYSASM privilege. For older supported Oracle versions, it's typically sufficient to grant the Oracle endpoint user the SYSDBA privilege.

Anda dapat melakukan validasi akses akun ASM dengan membuka prompt perintah dan meminta salah satu pernyataan berikut, tergantung pada versi Oracle Anda sebagaimana ditentukan sebelumnya.

Jika Anda membutuhkan hak istimewa SYSDBA, gunakan berikut ini.

sqlplus asmuser/asmpassword@+asmserver as sysdba

Jika Anda membutuhkan hak istimewaSYSASM, gunakan berikut ini.

sqlplus asmuser/asmpassword@+asmserver as sysasm

Menggunakan Oracle Standby yang dikelola sendiri sebagai sumber dengan Binary Reader untuk CDC pada AWS DMS

Untuk mengonfigurasi instans Oracle Standby sebagai sumber ketika menggunakan Binary Reader untuk CDC, mulai dengan prasyarat berikut:

  • AWS DMS saat ini hanya mendukung Oracle Active Data Guard Standby.

  • Pastikan bahwa konfigurasi Oracle Data Guard menggunakan:

    • Pengulangan layanan transportasi untuk transfer otomatis data pengulangan.

    • Terapkan layanan untuk secara otomatis menerapkan pengulangan ke basis data standby.

Untuk mengonfirmasi persyaratan tersebut terpenuhi, jalankan kueri berikut.

SQL> select open_mode, database_role from v$database;

Dari output kueri itu, konfirmasikan bahwa database siaga dibuka dalam mode READ ONLY dan redo diterapkan secara otomatis. Sebagai contoh:

OPEN_MODE DATABASE_ROLE -------------------- ---------------- READ ONLY WITH APPLY PHYSICAL STANDBY
Untuk mengonfigurasi instans Oracle Standby sebagai sumber ketika menggunakan Binary Reader untuk CDC
  1. Berikan hak istimewa tambahan yang diperlukan untuk mengakses berkas log standby.

    GRANT SELECT ON v_$standby_log TO db_user;
  2. Buat titik akhir sumber untuk Oracle Standby dengan menggunakan AWS Management Console atau AWS CLI. Saat membuat titik akhir, tentukan atribut sambungan tambahan berikut.

    useLogminerReader=N;useBfile=Y;
    catatan

    Di AWS DMS, Anda dapat menggunakan atribut koneksi tambahan untuk menentukan apakah Anda ingin bermigrasi dari log arsip alih-alih log pengulangan. Untuk informasi selengkapnya, lihat Pengaturan titik akhir saat menggunakan Oracle sebagai sumber AWS DMS.

  3. Konfigurasikan tujuan log yang diarsipkan.

    Pembaca biner DMS untuk sumber Oracle tanpa ASM menggunakan Direktori Oracle untuk mengakses log redo yang diarsipkan. Jika database Anda dikonfigurasi untuk menggunakan Fast Recovery Area (FRA) sebagai tujuan log arsip, lokasi file redo arsip tidak konstan. Setiap hari redo log yang diarsipkan dihasilkan menghasilkan direktori baru yang dibuat di FRA, menggunakan format nama direktori YYYY_MM_DD. Sebagai contoh:

    DB_RECOVERY_FILE_DEST/SID/archivelog/YYYY_MM_DD

    Ketika DMS membutuhkan akses ke file redo yang diarsipkan di direktori FRA yang baru dibuat dan basis data baca-tulis utama digunakan sebagai sumber, DMS membuat direktori Oracle baru atau menggantikan direktori Oracle yang ada, sebagai berikut.

    CREATE OR REPLACE DIRECTORY dmsrep_taskid AS ‘DB_RECOVERY_FILE_DEST/SID/archivelog/YYYY_MM_DD’;

    Ketika database siaga digunakan sebagai sumber, DMS tidak dapat membuat atau mengganti direktori Oracle karena database dalam mode read-only. Namun, Anda dapat memilih untuk melakukan salah satu langkah tambahan ini:

    1. Ubah log_archive_dest_id_1 untuk menggunakan jalur aktual alih-alih FRA dalam konfigurasi sedemikian rupa sehingga Oracle tidak akan membuat subdirektori harian:

      ALTER SYSTEM SET log_archive_dest_1=’LOCATION=full directory path

      Kemudian, buat objek direktori Oracle yang akan digunakan oleh DMS:

      CREATE OR REPLACE DIRECTORY dms_archived_logs AS ‘full directory path’;
    2. Buat tujuan log arsip tambahan dan objek direktori Oracle yang menunjuk ke tujuan itu. Sebagai contoh:

      ALTER SYSTEM SET log_archive_dest_3=’LOCATION=full directory path’; CREATE DIRECTORY dms_archived_log AS ‘full directory path’;

      Kemudian tambahkan atribut koneksi tambahan ke titik akhir sumber tugas:

      archivedLogDestId=3
    3. Secara manual membuat objek direktori Oracle untuk digunakan oleh DMS.

      CREATE DIRECTORY dms_archived_log_20210301 AS ‘DB_RECOVERY_FILE_DEST/SID/archivelog/2021_03_01’; CREATE DIRECTORY dms_archived_log_20210302 AS ‘DB_RECOVERY_FILE_DEST>/SID>/archivelog/2021_03_02’; ...
    4. Buat pekerjaan penjadwal Oracle yang berjalan setiap hari dan membuat direktori yang diperlukan.

Menggunakan database yang dikelola pengguna di Oracle Cloud Infrastructure (OCI) sebagai sumber untuk CDC AWS DMS

Database yang dikelola pengguna adalah database yang Anda konfigurasikan dan kontrol, seperti database Oracle yang dibuat pada mesin virtual (VM), bare metal, atau server Exadata. Atau, database yang Anda konfigurasikan dan kontrol yang berjalan pada infrastruktur khusus, seperti Oracle Cloud Infrastructure (OCI). Informasi berikut menjelaskan hak istimewa dan konfigurasi yang Anda butuhkan saat menggunakan database yang dikelola pengguna Oracle di OCI sebagai sumber untuk pengambilan data perubahan (CDC) di. AWS DMS

Untuk mengonfigurasi database Oracle yang dikelola pengguna yang dihosting OCI sebagai sumber untuk pengambilan data perubahan
  1. Berikan hak istimewa akun pengguna yang diperlukan untuk database sumber Oracle yang dikelola pengguna di OCI. Untuk informasi selengkapnya, lihat Hak istimewa akun untuk titik akhir sumber Oracle yang dikelola sendiri.

  2. Berikan hak istimewa akun yang diperlukan saat menggunakan Binary Reader untuk mengakses log redo. Untuk informasi selengkapnya, lihat Hak istimewa akun yang diperlukan saat menggunakan Pembaca Biner.

  3. Tambahkan hak istimewa akun yang diperlukan saat menggunakan Binary Reader dengan Oracle Automatic Storage Management (ASM). Untuk informasi selengkapnya, lihat Hak istimewa akun tambahan yang diperlukan saat menggunakan Binary Reader dengan Oracle ASM.

  4. Siapkan penebangan tambahan. Untuk informasi selengkapnya, lihat Menyiapkan pencatatan tambahan.

  5. Set-up enkripsi TDE. Untuk informasi selengkapnya, lihat Metode enkripsi saat menggunakan database Oracle sebagai titik akhir sumber.

Keterbatasan berikut berlaku saat mereplikasi data dari database sumber Oracle di Oracle Cloud Infrastructure (OCI).

Batasan
  • DMS tidak mendukung penggunaan Oracle LogMiner untuk mengakses log redo.

  • DMS tidak mendukung Autonomous DB.

Bekerja dengan database Oracle yang AWS dikelola sebagai sumber untuk AWS DMS

Database yang AWS dikelola adalah database yang ada di layanan Amazon seperti Amazon RDS, Amazon Aurora, atau Amazon S3. Berikut ini, Anda dapat menemukan hak istimewa dan konfigurasi yang perlu Anda atur saat menggunakan database Oracle AWS-managed. AWS DMS

Hak istimewa akun pengguna diperlukan pada sumber Oracle AWS yang dikelola untuk AWS DMS

Berikan hak istimewa berikut kepada akun pengguna Oracle yang ditentukan dalam definisi titik akhir sumber Oracle.

penting

Untuk semua nilai parameter seperti db_user dan any-replicated-table, Oracle mengasumsikan nilai adalah semua huruf besar kecuali jika Anda menentukan nilai dengan pengidentifikasi kepekaan kapital. Misalnya, anggaplah Anda membuat nilai db_user tanpa menggunakan tanda petik, seperti dalam CREATE USER myuser atau CREATE USER MYUSER. Dalam hal ini, Oracle mengidentifikasi dan menyimpan nilai dalam huruf besar semua (MYUSER). Jika Anda menggunakan tanda petik, seperti dalam CREATE USER "MyUser" atau CREATE USER 'MyUser', Oracle mengidentifikasi dan menyimpan nilai dengan kepekaan kapital yang Anda tentukan (MyUser).

GRANT CREATE SESSION to db_user; GRANT SELECT ANY TRANSACTION to db_user; GRANT SELECT on DBA_TABLESPACES to db_user; GRANT SELECT ON any-replicated-table to db_user; GRANT EXECUTE on rdsadmin.rdsadmin_util to db_user; -- For Oracle 12c or higher: GRANT LOGMINING to db_user; – Required only if the Oracle version is 12c or higher.

Selain itu, hiberikan izin SELECT dan EXECUTE pada objek SYS menggunakan prosedur Amazon RDS rdsadmin.rdsadmin_util.grant_sys_object seperti yang telah ditunjukkan. Untuk informasi selengkapnya, lihat Memberikan hak istimewa PILIH atau JALANKAN pada objek SYS.

exec rdsadmin.rdsadmin_util.grant_sys_object('ALL_VIEWS', 'db_user', 'SELECT'); exec rdsadmin.rdsadmin_util.grant_sys_object('ALL_TAB_PARTITIONS', 'db_user', 'SELECT'); exec rdsadmin.rdsadmin_util.grant_sys_object('ALL_INDEXES', 'db_user', 'SELECT'); exec rdsadmin.rdsadmin_util.grant_sys_object('ALL_OBJECTS', 'db_user', 'SELECT'); exec rdsadmin.rdsadmin_util.grant_sys_object('ALL_TABLES', 'db_user', 'SELECT'); exec rdsadmin.rdsadmin_util.grant_sys_object('ALL_USERS', 'db_user', 'SELECT'); exec rdsadmin.rdsadmin_util.grant_sys_object('ALL_CATALOG', 'db_user', 'SELECT'); exec rdsadmin.rdsadmin_util.grant_sys_object('ALL_CONSTRAINTS', 'db_user', 'SELECT'); exec rdsadmin.rdsadmin_util.grant_sys_object('ALL_CONS_COLUMNS', 'db_user', 'SELECT'); exec rdsadmin.rdsadmin_util.grant_sys_object('ALL_TAB_COLS', 'db_user', 'SELECT'); exec rdsadmin.rdsadmin_util.grant_sys_object('ALL_IND_COLUMNS', 'db_user', 'SELECT'); exec rdsadmin.rdsadmin_util.grant_sys_object('ALL_LOG_GROUPS', 'db_user', 'SELECT'); exec rdsadmin.rdsadmin_util.grant_sys_object('V_$ARCHIVED_LOG', 'db_user', 'SELECT'); exec rdsadmin.rdsadmin_util.grant_sys_object('V_$LOG', 'db_user', 'SELECT'); exec rdsadmin.rdsadmin_util.grant_sys_object('V_$LOGFILE', 'db_user', 'SELECT'); exec rdsadmin.rdsadmin_util.grant_sys_object('V_$DATABASE', 'db_user', 'SELECT'); exec rdsadmin.rdsadmin_util.grant_sys_object('V_$THREAD', 'db_user', 'SELECT'); exec rdsadmin.rdsadmin_util.grant_sys_object('V_$PARAMETER', 'db_user', 'SELECT'); exec rdsadmin.rdsadmin_util.grant_sys_object('V_$NLS_PARAMETERS', 'db_user', 'SELECT'); exec rdsadmin.rdsadmin_util.grant_sys_object('V_$TIMEZONE_NAMES', 'db_user', 'SELECT'); exec rdsadmin.rdsadmin_util.grant_sys_object('V_$TRANSACTION', 'db_user', 'SELECT'); exec rdsadmin.rdsadmin_util.grant_sys_object('V_$CONTAINERS', 'db_user', 'SELECT'); exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_REGISTRY', 'db_user', 'SELECT'); exec rdsadmin.rdsadmin_util.grant_sys_object('OBJ$', 'db_user', 'SELECT'); exec rdsadmin.rdsadmin_util.grant_sys_object('ALL_ENCRYPTED_COLUMNS', 'db_user', 'SELECT'); exec rdsadmin.rdsadmin_util.grant_sys_object('V_$LOGMNR_LOGS', 'db_user', 'SELECT'); exec rdsadmin.rdsadmin_util.grant_sys_object('V_$LOGMNR_CONTENTS','db_user','SELECT'); exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_LOGMNR', 'db_user', 'EXECUTE'); -- (as of Oracle versions 12.1 and higher) exec rdsadmin.rdsadmin_util.grant_sys_object('REGISTRY$SQLPATCH', 'db_user', 'SELECT'); -- (for Amazon RDS Active Dataguard Standby (ADG)) exec rdsadmin.rdsadmin_util.grant_sys_object('V_$STANDBY_LOG', 'db_user', 'SELECT'); -- (for transparent data encryption (TDE)) exec rdsadmin.rdsadmin_util.grant_sys_object('ENC$', 'db_user', 'SELECT'); -- (for validation with LOB columns) exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_CRYPTO', 'db_user', 'EXECUTE'); -- (for binary reader) exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_DIRECTORIES','db_user','SELECT'); -- Required when the source database is Oracle Data guard, and Oracle Standby is used in the latest release of DMS version 3.4.6, version 3.4.7, and higher. exec rdsadmin.rdsadmin_util.grant_sys_object('V_$DATAGUARD_STATS', 'db_user', 'SELECT');

Untuk informasi selengkapnya tentang penggunaan Amazon RDS Active Dataguard Standby (ADG) dengan AWS DMS , lihat Menggunakan Amazon RDS Oracle Standby (replika baca) sebagai sumber dengan Binary Reader untuk CDC di AWS DMS.

Untuk informasi lebih lanjut tentang menggunakan Oracle TDE dengan AWS DMS, lihat. Metode enkripsi yang didukung untuk menggunakan Oracle sebagai sumber untuk AWS DMS

Prasyarat untuk menangani transaksi terbuka untuk Oracle Standby

Saat menggunakan AWS DMS versi 3.4.6 dan yang lebih tinggi, lakukan langkah-langkah berikut untuk menangani transaksi terbuka untuk Oracle Standby.

  1. Buat link database bernama, AWSDMS_DBLINK pada database utama. DMS_USERakan menggunakan link database untuk terhubung ke database utama. Perhatikan bahwa link database dijalankan dari instance standby untuk query transaksi terbuka yang berjalan pada database utama. Lihat contoh berikut ini.

    CREATE PUBLIC DATABASE LINK AWSDMS_DBLINK CONNECT TO DMS_USER IDENTIFIED BY DMS_USER_PASSWORD USING '(DESCRIPTION= (ADDRESS=(PROTOCOL=TCP)(HOST=PRIMARY_HOST_NAME_OR_IP)(PORT=PORT)) (CONNECT_DATA=(SERVICE_NAME=SID)) )';
  2. Verifikasi koneksi ke link database menggunakan DMS_USER dibuat, seperti yang ditunjukkan pada contoh berikut.

    select 1 from dual@AWSDMS_DBLINK

Mengkonfigurasi sumber AWS Oracle yang dikelola untuk AWS DMS

Sebelum menggunakan database Oracle yang AWS dikelola sebagai sumber AWS DMS, lakukan tugas-tugas berikut untuk database Oracle:

  • Aktifkan backup otomatis Untuk informasi selengkapnya tentang mengaktifkan pencadangan otomatis, lihat Mengaktifkan pencadangan otomatis di Panduan Pengguna Amazon RDS.

  • Siapkan supplemental logging

  • Siapkan pengarsipan. Mengarsipkan log redo untuk instans Amazon RDS for Oracle DB AWS DMS memungkinkan untuk mengambil informasi log menggunakan Oracle atau Binary Reader. LogMiner

Mengatur pengarsipan
  1. Jalankan perintah rdsadmin.rdsadmin_util.set_configuration untuk mengatur pengarsipan.

    Misalnya, untuk mempertahankan log redo diarsipkan selama 24 jam, jalankan perintah berikut.

    exec rdsadmin.rdsadmin_util.set_configuration('archivelog retention hours',24); commit;
    catatan

    Fungsi commit diperlukan agar perubahan dapat berpengaruh.

  2. Pastikan penyimpanan Anda memiliki cukup ruang untuk log redo yang diarsipkan selama periode penyimpanan yang ditentukan. Misalnya, jika periode penyimpanan Anda adalah 24 jam, hitung ukuran total log redo yang diarsipkan yang terakumulasi selama durasi jam umumnya untuk pemrosesan transaksi dan kalikan totalnya dengan 24. Bandingkan total 24 jam yang dihitung ini dengan ruang penyimpanan yang tersedia dan tentukan apakah Anda memiliki cukup ruang penyimpanan untuk menangani pemrosesan transaksi 24 jam penuh.

Mengatur supplemental logging
  1. Jalankan perintah berikut untuk mengaktifkan supplemental logging pada tingkat basis data.

    exec rdsadmin.rdsadmin_util.alter_supplemental_logging('ADD');
  2. Jalankan perintah berikut untuk mengaktifkan supplemental logging kunci primer.

    exec rdsadmin.rdsadmin_util.alter_supplemental_logging('ADD','PRIMARY KEY');
  3. (Opsional) Aktifkan supplemental logging tingkat kunci pada tingkat tabel.

    Basis data sumber Anda menimbulkan sedikit overhead ketika supplemental logging tingkat kunci diaktifkan. Oleh karena itu, jika Anda memigrasikan hanya subset dari tabel Anda, Anda mungkin ingin mengaktifkan tingkat kunci supplemental logging pada tingkat tabel. Untuk mengaktifkan supplemental logging tingkat kunci pada tingkat tabel, jalankan perintah berikut.

    alter table table_name add supplemental log data (PRIMARY KEY) columns;

Mengkonfigurasi tugas CDC untuk menggunakan Binary Reader dengan RDS untuk sumber Oracle untuk AWS DMS

Anda dapat mengonfigurasi AWS DMS untuk mengakses sumber Amazon RDS for Oracle instance redo log menggunakan Binary Reader untuk CDC.

catatan

Untuk menggunakan Oracle LogMiner, hak istimewa akun pengguna minimum yang diperlukan sudah cukup. Untuk informasi selengkapnya, lihat Hak istimewa akun pengguna diperlukan pada sumber Oracle AWS yang dikelola untuk AWS DMS.

Untuk menggunakan AWS DMS Binary Reader, tentukan pengaturan tambahan dan atribut koneksi tambahan untuk titik akhir sumber Oracle, tergantung pada versi Anda AWS DMS .

Dukungan Binary Reader tersedia pada versi Amazon RDS for Oracle berikut ini:

  • Oracle 11.2 - Versi 11.2.0.4V11 dan lebih tinggi

  • Oracle 12.1 - Versi 12.1.0.2.V7 dan lebih tinggi

  • Oracle 12.2 - Semua versi

  • Oracle 18.0 - Semua versi

  • Oracle 19.0 - Semua versi

Mengonfigurasi CDC menggunakan Binary Reader
  1. Masuk ke basis data sumber Amazon RDS for Oracle Anda sebagai pengguna utama dan jalankan prosedur yang tersimpan berikut untuk membuat direktori tingkat server.

    exec rdsadmin.rdsadmin_master_util.create_archivelog_dir; exec rdsadmin.rdsadmin_master_util.create_onlinelog_dir;
  2. Berikan hak istimewa berikut kepada akun pengguna Oracle yang digunakan untuk mengakses titik akhir sumber Oracle.

    GRANT READ ON DIRECTORY ONLINELOG_DIR TO db_user; GRANT READ ON DIRECTORY ARCHIVELOG_DIR TO db_user;
  3. Atur atribut sambungan tambahan berikut pada titik akhir sumber Oracle Amazon RDS:

    • Untuk RDS Oracle versi 11.2 dan 12.1, atur berikut ini.

      useLogminerReader=N;useBfile=Y;accessAlternateDirectly=false;useAlternateFolderForOnline=true; oraclePathPrefix=/rdsdbdata/db/{$DATABASE_NAME}_A/;usePathPrefix=/rdsdbdata/log/;replacePathPrefix=true;
    • Untuk RDS Oracle versi 12.2, 18.0, dan 19.0, atur berikut ini.

      useLogminerReader=N;useBfile=Y;
catatan

Pastikan tidak ada spasi putih yang mengikuti pemisah titik koma (;) untuk beberapa pengaturan atribut, misalnya oneSetting;thenAnother.

Untuk informasi lebih lanjut tentang mengonfigurasi tugas CDC, lihat Konfigurasi untuk CDC pada sumber basis data Oracle.

Menggunakan Amazon RDS Oracle Standby (replika baca) sebagai sumber dengan Binary Reader untuk CDC di AWS DMS

Lakukan verifikasi prasyarat berikut untuk menggunakan Amazon RDS for Oracle Standby sebagai sumber ketika menggunakan Binary Reader untuk CDC di AWS DMS:

  • Gunakan pengguna utama Oracle untuk mengatur Binary Reader.

  • Pastikan bahwa AWS DMS saat ini mendukung hanya menggunakan Oracle Active Data Guard Standby.

Setelah Anda melakukannya, gunakan prosedur berikut untuk menggunakan RDS for Oracle Standby sebagai sumber ketika menggunakan Binary Reader untuk CDC.

Mengonfigurasi RDS for Oracle Standby sebagai sumber saat menggunakan Binary Reader untuk CDC
  1. Masuk ke RDS untuk instance utama Oracle sebagai pengguna utama.

  2. Jalankan prosedur yang tersimpan berikut seperti yang didokumentasikan di panduan pengguna Amazon RDS untuk membuat direktori tingkat server.

    exec rdsadmin.rdsadmin_master_util.create_archivelog_dir; exec rdsadmin.rdsadmin_master_util.create_onlinelog_dir;
  3. Identifikasi direktori yang dibuat pada langkah 2.

    SELECT directory_name, directory_path FROM all_directories WHERE directory_name LIKE ( 'ARCHIVELOG_DIR_%' ) OR directory_name LIKE ( 'ONLINELOG_DIR_%' )

    Misalnya, kode sebelumnya menampilkan daftar direktori seperti berikut ini.

  4. Berikan hak istimewa Read mengenai direktori sebelumnya kepada akun pengguna Oracle yang digunakan untuk mengakses Oracle Standby.

    GRANT READ ON DIRECTORY ARCHIVELOG_DIR_A TO db_user; GRANT READ ON DIRECTORY ARCHIVELOG_DIR_B TO db_user; GRANT READ ON DIRECTORY ONLINELOG_DIR_A TO db_user; GRANT READ ON DIRECTORY ONLINELOG_DIR_B TO db_user;
  5. Lakukan penukaran log arsip pada instans utama. Dengan melakukannya, perubahan pada ALL_DIRECTORIES dapat dipastikan juga dipindahkan ke Oracle Standby.

  6. Jalankan kueri ALL_DIRECTORIES pada Oracle Standby untuk mengonfirmasi bahwa perubahan telah diterapkan.

  7. Buat titik akhir sumber untuk Oracle Standby dengan menggunakan AWS DMS Management Console atau AWS Command Line Interface ().AWS CLI Sembari membuat titik akhir, tentukan atribut sambungan tambahan berikut.

    useLogminerReader=N;useBfile=Y;archivedLogDestId=1;additionalArchivedLogDestId=2
  8. Setelah membuat titik akhir, gunakan koneksi titik akhir Uji pada halaman Buat titik akhir konsol atau AWS CLI test-connection perintah untuk memverifikasi bahwa konektivitas dibuat.

Keterbatasan dalam menggunakan Oracle sebagai sumber AWS DMS

Keterbatasan berikut berlaku saat menggunakan basis data Oracle sebagai sumber untuk AWS DMS:

  • AWS DMS mendukung tipe data Oracle Extended dalam AWS DMS versi 3.5.0 dan lebih tinggi.

  • AWS DMS tidak mendukung nama objek yang panjang (lebih dari 30 byte).

  • AWS DMS tidak mendukung indeks berbasis fungsi.

  • Jika Anda mengelola supplemental logging dan melakukan transformasi pada salah satu kolom, pastikan bahwa supplemental logging diaktifkan untuk semua bidang dan kolom. Untuk informasi selengkapnya tentang pengaturan supplemental logging, lihat topik berikut:

  • AWS DMS tidak mendukung database root kontainer multi-penyewa (CDB$ROOT). DMS mendukung PDB menggunakan Binary Reader.

  • AWS DMS tidak mendukung kendala yang ditangguhkan.

  • Di AWS DMS versi 3.5.1 dan yang lebih tinggi, LOB aman hanya didukung dengan melakukan pencarian LOB.

  • AWS DMS mendukung rename table table-name to new-table-name sintaks untuk semua versi Oracle yang didukung 11 dan lebih tinggi. Sintaks ini tidak didukung untuk sumber basis data Oracle versi 10.

  • AWS DMS tidak mereplikasi hasil pernyataan DDL. ALTER TABLE ADD column data_type DEFAULT default_value Alih-alih mereplikasi default_value ke target, DMS menetapkan kolom baru untuk NULL.

  • Saat menggunakan AWS DMS versi 3.4.7 atau lebih tinggi, untuk mereplikasi perubahan yang dihasilkan dari operasi partisi atau subpartisi, lakukan hal berikut sebelum memulai tugas DMS.

    • Buat struktur tabel yang dipartisi (DDL) secara manual;

    • Pastikan DDL sama pada sumber Oracle dan target Oracle;

    • Mengatur atribut koneksi tambahanenableHomogenousPartitionOps=true.

    Untuk informasi selengkapnya tentang enableHomogenousPartitionOps, lihat Pengaturan titik akhir saat menggunakan Oracle sebagai sumber AWS DMS. Juga, perhatikan bahwa pada tugas FULL+CDC, DMS tidak mereplikasi perubahan data yang ditangkap sebagai bagian dari perubahan cache. Dalam kasus penggunaan itu, buat ulang struktur tabel pada target Oracle dan muat ulang tabel yang dimaksud.

    Sebelum AWS DMS versi 3.4.7:

    DMS tidak mereplikasi perubahan data yang dihasilkan dari operasi partisi atau subpartisi (ADD,, DROPEXCHANGE, dan). TRUNCATE Pembaruan tersebut dapat menyebabkan kesalahan berikut selama replikasi:

    • Untuk operasi ADD, pembaruan dan penghapusan data tambahan mungkin memunculkan peringatan “0 baris terpengaruh”.

    • Untuk operasi DROP dan TRUNCATE, sisipan baru mungkin memunculkan kesalahan “duplikat”.

    • Operasi EXCHANGE mungkin memunculkan peringatan kesalahan “0 baris terpengaruh” dan “duplikat”.

    Untuk mereplikasi perubahan yang dihasilkan dari operasi partisi atau subpartisi, load ulang tabel yang bersangkutan. Setelah menambahkan partisi kosong baru, operasi pada partisi yyang baru ditambahkan direplikasi ke target seperti biasa.

  • AWS DMS versi sebelum 3.4 tidak mendukung perubahan data pada target yang dihasilkan dari menjalankan CREATE TABLE AS pernyataan pada sumber. Namun, tabel baru dibuat pada target.

  • AWS DMS tidak menangkap perubahan yang dibuat oleh DBMS_REDEFINITION paket Oracle, misalnya metadata tabel dan bidang. OBJECT_ID

  • AWS DMS memetakan kolom BLOB dan CLOB NULL kosong ke target.

  • Saat menangkap perubahan dengan Oracle 11 LogMiner, pembaruan pada kolom CLOB dengan panjang string lebih besar dari 1982 hilang, dan target tidak diperbarui.

  • Selama pengambilan data perubahan (CDC), AWS DMS tidak mendukung pembaruan batch ke kolom numerik yang didefinisikan sebagai kunci utama.

  • AWS DMS tidak mendukung UPDATE perintah tertentu. Contoh berikut adalah perintah UPDATE yang tidak didukung.

    UPDATE TEST_TABLE SET KEY=KEY+1;

    Di sini,TEST_TABLE adalah nama tabel dan KEY adalah kolom numerik yang didefinisikan sebagai kunci primer.

  • AWS DMS tidak mendukung mode LOB penuh untuk memuat kolom LONG dan LONG RAW. Sebagai gantinya, Anda dapat menggunakan mode LOB terbatas untuk memigrasikan tipe data ini ke target Oracle. Dalam mode LOB terbatas, AWS DMS potong data apa pun menjadi 64 KB yang Anda atur ke kolom LONG atau LONG RAW yang lebih panjang dari 64 KB.

  • AWS DMS tidak mendukung mode LOB penuh untuk memuat kolom XMLTYPE. Sebagai gantinya, Anda dapat menggunakan mode LOB terbatas untuk memigrasikan kolom XMLTYPE ke target Oracle. Dalam mode LOB terbatas, DMS memotong data yang lebih besar dari variabel 'Ukuran LOB maksimum' yang ditentukan pengguna. Nilai maksimum yang disarankan untuk 'Ukuran LOB maksimum' adalah 100MB.

  • AWS DMS tidak mereplikasi tabel yang namanya mengandung apostrof.

  • AWS DMS mendukung CDC dari pandangan terwujud. Tetapi DMS tidak mendukung CDC dari pandangan lain.

  • AWS DMS tidak mendukung CDC untuk tabel yang terorganisir indeks dengan segmen overflow.

  • AWS DMS tidak mendukung Drop Partition operasi untuk tabel yang dipartisi dengan referensi dengan enableHomogenousPartitionOps set ke. true

  • Bila Anda menggunakan Oracle LogMiner untuk mengakses redo log, AWS DMS memiliki batasan berikut:

    • Hanya untuk Oracle 12, AWS DMS tidak mereplikasi perubahan apa pun pada kolom LOB.

    • Untuk semua versi Oracle, AWS DMS tidak mereplikasi hasil UPDATE operasi pada XMLTYPE dan kolom LOB.

    • AWS DMS tidak mendukung transaksi XA dalam replikasi saat menggunakan Oracle. LogMiner

    • Oracle LogMiner tidak mendukung koneksi ke database pluggable (PDB). Untuk menyambung ke PDB, akses log redo menggunakan Binary Reader.

    • Operasi SHRINK SPACE tidak didukung.

  • Bila Anda menggunakan Binary Reader, AWS DMS memiliki keterbatasan ini:

    • DMS tidak mendukung klaster tabel.

    • DMS mendukung hanya operasi SHRINK SPACE tingkat tabel. Level ini mencakup tabel lengkap, partisi, dan sub-partisi.

    • Level ini tidak mendukung perubahan ke tabel yang terorganisir secara indeks dengan kompresi kunci.

    • Level ini tidak mendukung penerapan log redo online pada perangkat mentah.

    • Binary Reader mendukung TDE hanya untuk database Oracle yang dikelola sendiri karena RDS untuk Oracle tidak mendukung pengambilan kata sandi dompet untuk kunci enkripsi TDE.

  • AWS DMS tidak mendukung koneksi ke sumber Amazon RDS Oracle menggunakan proxy Oracle Automatic Storage Management (ASM).

  • AWS DMS tidak mendukung kolom virtual.

  • AWS DMS tidak mendukung tipe ROWID data atau tampilan terwujud berdasarkan kolom ROWID.

    AWS DMS memiliki sebagian dukungan untuk Oracle Materialized Views. Untuk muatan penuh, DMS dapat melakukan salinan penuh Oracle Materialized View. DMS menyalin Tampilan Materialisasi sebagai tabel dasar ke sistem target dan mengabaikan kolom ROWID apa pun di Tampilan Materialisasi. Untuk replikasi berkelanjutan (CDC), DMS mencoba mereplikasi perubahan pada data Tampilan Materialisasi tetapi hasilnya mungkin tidak ideal. Secara khusus, jika Tampilan Materialisasi benar-benar disegarkan, DMS mereplikasi penghapusan individual untuk semua baris, diikuti oleh sisipan individual untuk semua baris. Itu adalah latihan yang sangat intensif sumber daya dan mungkin berkinerja buruk untuk tampilan terwujud dengan sejumlah besar baris. Untuk replikasi berkelanjutan di mana tampilan terwujud melakukan penyegaran cepat, DMS mencoba memproses dan mereplikasi perubahan data penyegaran cepat. Dalam kedua kasus, DMS melewatkan kolom ROWID apa pun dalam tampilan terwujud.

  • AWS DMS tidak memuat atau menangkap tabel sementara global.

  • Untuk target S3 yang menggunakan replikasi, aktifkan supplemental logging pada setiap kolom sehingga sumber pembaruan baris dapat menangkap setiap nilai kolom. Lihat contoh berikut: alter table yourtablename add supplemental log data (all) columns;.

  • Pembaruan untuk baris dengan kunci unik komposit yang berisi tidak null dapat direplikasi pada target.

  • AWS DMS tidak mendukung penggunaan beberapa kunci enkripsi Oracle TDE pada titik akhir sumber yang sama. Setiap titik akhir hanya dapat memiliki satu atribut untuk enkripsi TDE Nama Kunci "securityDbEncryptionName“, dan satu kata sandi TDE untuk kunci ini.

  • Saat mereplikasi dari Amazon RDS for Oracle, TDE hanya didukung dengan tablespace terenkripsi dan menggunakan Oracle. LogMiner

  • AWS DMS tidak mendukung beberapa operasi penggantian nama tabel secara berurutan.

  • Saat menggunakan Oracle 19.0 sebagai sumber, AWS DMS tidak mendukung fitur berikut:

    • Pengalihan DML-penjaga data

    • Tabel hibrida yang dipartisi

    • Akun Oracle khusus skema

  • AWS DMS tidak mendukung migrasi tabel atau tampilan jenis BIN$ atauDR$.

  • Dimulai dengan Oracle 18.x, AWS DMS tidak mendukung pengambilan data perubahan (CDC) dari Oracle Express Edition (Oracle Database XE).

  • Saat memigrasikan data dari kolom CHAR, DMS memotong spasi tambahan apa pun.

  • AWS DMS tidak mendukung replikasi dari wadah aplikasi.

  • AWS DMS tidak mendukung kinerja Oracle Flashback Database dan restore point, karena operasi ini memengaruhi konsistensi file Oracle Redo Log.

  • INSERTProsedur pemuatan langsung dengan opsi eksekusi paralel tidak didukung dalam kasus berikut:

    • Tabel tidak terkompresi dengan lebih dari 255 kolom

    • Ukuran baris melebihi 8K

    • Tabel Exadata HCC

    • Database berjalan di platform Big Endian

  • Tabel sumber dengan kunci primer atau unik tidak memerlukan semua pencatatan tambahan COLUMN untuk diaktifkan. Ini menciptakan lebih banyak aktivitas redo log dan dapat meningkatkan latensi DMS CDC.

  • AWS DMS tidak memigrasikan data dari kolom tak terlihat di database sumber Anda. Untuk menyertakan kolom ini dalam lingkup migrasi Anda, gunakan ALTER TABLE pernyataan untuk membuat kolom ini terlihat.

Dukungan SSL untuk titik akhir Oracle

AWS DMS Endpoint Oracle mendukung SSL V3 untuk mode dan SSL. none verify-ca Untuk menggunakan SSL dengan titik akhir Oracle, unggah Oracle wallet untuk titik akhir, bukannya file sertifikat .pem.

Menggunakan sertifikat yang ada untuk Oracle SSL

Untuk menggunakan instalasi klien Oracle yang ada untuk membuat file Oracle wallet dari file sertifikat CA, lakukan langkah-langkah berikut.

Untuk menggunakan instalasi klien oracle yang ada untuk Oracle SSL dengan AWS DMS
  1. Mengatur variabel sistem ORACLE_HOME ke lokasi direktori dbhome_1Anda dengan menjalankan perintah berikut.

    prompt>export ORACLE_HOME=/home/user/app/user/product/12.1.0/dbhome_1
  2. Tambahkan $ORACLE_HOME/lib ke variabel sistem LD_LIBRARY_PATH.

    prompt>export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
  3. Buat direktori untuk Oracle wallet di $ORACLE_HOME/ssl_wallet.

    prompt>mkdir $ORACLE_HOME/ssl_wallet
  4. Tempatkan file .pem sertifikat CA dalam direktori ssl_wallet. Jika Anda menggunakan Amazon RDS, Anda dapat mengunduh file sertifikat CA root rds-ca-2015-root.pem yang di-host oleh Amazon RDS. Untuk informasi selengkapnya tentang pengunduhan file ini, lihat Menggunakan SSL/TLS untuk mengenkripsi sambungan ke instans DB dalam Panduan Pengguna Amazon RDS.

  5. Jalankan perintah berikut untuk membuat Oracle wallet.

    prompt>orapki wallet create -wallet $ORACLE_HOME/ssl_wallet -auto_login_only prompt>orapki wallet add -wallet $ORACLE_HOME/ssl_wallet -trusted_cert -cert $ORACLE_HOME/ssl_wallet/ca-cert.pem -auto_login_only

Ketika Anda telah menyelesaikan langkah-langkah sebelumnya, Anda dapat mengimpor file wallet dengan ImportCertificate panggilan API dengan menentukan parameter sertifikat-wallet. Anda kemudian dapat menggunakan sertifikat wallet yang diimpor ketika Anda memilih verify-ca sebagai mode SSL saat membuat atau memodifikasi titik akhir Oracle Anda.

catatan

Dompet Oracle adalah file biner. AWS DMS menerima file-file ini apa adanya.

Menggunakan sertifikat yang ditandatangani sendiri untuk Oracle SSL

Untuk menggunakan sertifikat yang ditandatangani sendiri untuk Oracle SSL, lakukan langkah-langkah berikut, dengan asumsi kata sandi dompet Oracle. oracle123

Untuk menggunakan sertifikat yang ditandatangani sendiri untuk Oracle SSL dengan AWS DMS
  1. Buat direktori yang akan Anda gunakan untuk bekerja dengan sertifikat yang ditandatangani sendiri.

    mkdir -p /u01/app/oracle/self_signed_cert
  2. Ubah ke direktori yang Anda buat pada langkah sebelumnya.

    cd /u01/app/oracle/self_signed_cert
  3. Buat kunci root.

    openssl genrsa -out self-rootCA.key 2048
  4. Tandatangani sendiri sertifikat root menggunakan kunci root yang Anda buat pada langkah sebelumnya.

    openssl req -x509 -new -nodes -key self-rootCA.key -sha256 -days 3650 -out self-rootCA.pem

    Gunakan parameter input seperti berikut ini.

    • Country Name (2 letter code) [XX], misalnya: AU

    • State or Province Name (full name) [], misalnya: NSW

    • Locality Name (e.g., city) [Default City], misalnya: Sydney

    • Organization Name (e.g., company) [Default Company Ltd], misalnya: AmazonWebService

    • Organizational Unit Name (e.g., section) [], misalnya: DBeng

    • Common Name (e.g., your name or your server's hostname) [], misalnya: aws

    • Email Address [], misalnya: abcd.efgh@amazonwebservice.com

  5. Buat direktori untuk Oracle wallet di basis data Oracle.

    mkdir -p /u01/app/oracle/wallet
  6. Membuat Oracle basis data baru.

    orapki wallet create -wallet "/u01/app/oracle/wallet" -pwd oracle123 -auto_login_local
  7. Tambahkan sertifikat root ke Oracle wallet.

    orapki wallet add -wallet "/u01/app/oracle/wallet" -pwd oracle123 -trusted_cert -cert /u01/app/oracle/self_signed_cert/self-rootCA.pem
  8. Daftar isi dari Oracle wallet. Daftar harus mencakup sertifikat root.

    orapki wallet display -wallet /u01/app/oracle/wallet -pwd oracle123

    Misalnya, ini mungkin ditampilkan mirip dengan yang berikut ini.

    Requested Certificates: User Certificates: Trusted Certificates: Subject: CN=aws,OU=DBeng,O= AmazonWebService,L=Sydney,ST=NSW,C=AU
  9. Buat Certificate Signing Request (CSR) menggunakan utilitas ORAPKI.

    orapki wallet add -wallet "/u01/app/oracle/wallet" -pwd oracle123 -dn "CN=aws" -keysize 2048 -sign_alg sha256
  10. Jalankan perintah berikut.

    openssl pkcs12 -in /u01/app/oracle/wallet/ewallet.p12 -nodes -out /u01/app/oracle/wallet/nonoracle_wallet.pem

    Ini memiliki output seperti berikut ini.

    Enter Import Password: MAC verified OK Warning unsupported bag type: secretBag
  11. Masukan 'dms' sebagai nama umum.

    openssl req -new -key /u01/app/oracle/wallet/nonoracle_wallet.pem -out certdms.csr

    Gunakan parameter input seperti berikut ini.

    • Country Name (2 letter code) [XX], misalnya: AU

    • State or Province Name (full name) [], misalnya: NSW

    • Locality Name (e.g., city) [Default City], misalnya: Sydney

    • Organization Name (e.g., company) [Default Company Ltd], misalnya: AmazonWebService

    • Organizational Unit Name (e.g., section) [], misalnya: aws

    • Common Name (e.g., your name or your server's hostname) [], misalnya: aws

    • Email Address [], misalnya: abcd.efgh@amazonwebservice.com

    Pastikan ini tidak sama dengan langkah 4. Anda dapat melakukan ini, misalnya, dengan mengubah Nama Unit Organisasi ke nama yang berbeda seperti yang ditunjukkan.

    Masukkan atribut tambahan berikut untuk dikirim bersama permintaan sertifikat Anda.

    • A challenge password [], misalnya: oracle123

    • An optional company name [], misalnya: aws

  12. Dapatkan tanda tangan sertifikat.

    openssl req -noout -text -in certdms.csr | grep -i signature

    Kunci tanda tangan untuk posting ini adalahsha256WithRSAEncryption.

  13. Jalankan perintah berikut untuk menghasilkan file certificate (.crt).

    openssl x509 -req -in certdms.csr -CA self-rootCA.pem -CAkey self-rootCA.key -CAcreateserial -out certdms.crt -days 365 -sha256

    Ini menampilkan output seperti berikut ini.

    Signature ok subject=/C=AU/ST=NSW/L=Sydney/O=awsweb/OU=DBeng/CN=aws Getting CA Private Key
  14. Tambahkan sertifikat ke wallet.

    orapki wallet add -wallet /u01/app/oracle/wallet -pwd oracle123 -user_cert -cert certdms.crt
  15. Lihat dompetnya. Itu harus memiliki dua entri. Lihat kode berikut.

    orapki wallet display -wallet /u01/app/oracle/wallet -pwd oracle123
  16. Konfigurasikan file sqlnet.ora ($ORACLE_HOME/network/admin/sqlnet.ora).

    WALLET_LOCATION = (SOURCE = (METHOD = FILE) (METHOD_DATA = (DIRECTORY = /u01/app/oracle/wallet/) ) ) SQLNET.AUTHENTICATION_SERVICES = (NONE) SSL_VERSION = 1.0 SSL_CLIENT_AUTHENTICATION = FALSE SSL_CIPHER_SUITES = (SSL_RSA_WITH_AES_256_CBC_SHA)
  17. Hentikan Oracle listener.

    lsnrctl stop
  18. Tambahkan entri untuk SSL di file listener.ora ($ORACLE_HOME/network/admin/listener.ora).

    SSL_CLIENT_AUTHENTICATION = FALSE WALLET_LOCATION = (SOURCE = (METHOD = FILE) (METHOD_DATA = (DIRECTORY = /u01/app/oracle/wallet/) ) ) SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = SID) (ORACLE_HOME = ORACLE_HOME) (SID_NAME = SID) ) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCPS)(HOST = localhost.localdomain)(PORT = 1522)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) )
  19. Konfigurasikan file tnsnames.ora ($ORACLE_HOME/network/admin/tnsnames.ora).

    <SID>= (DESCRIPTION= (ADDRESS_LIST = (ADDRESS=(PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521)) ) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = <SID>) ) ) <SID>_ssl= (DESCRIPTION= (ADDRESS_LIST = (ADDRESS=(PROTOCOL = TCPS)(HOST = localhost.localdomain)(PORT = 1522)) ) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = <SID>) ) )
  20. Nyalakan kembali Oracle listener.

    lsnrctl start
  21. Tampilkan status Oracle listener.

    lsnrctl status
  22. Uji sambungan SSL ke basis data dari localhost menggunakan sqlplus dan entri tnsnames SSL.

    sqlplus -L ORACLE_USER@SID_ssl
  23. Verifikasi bahwa Anda berhasil terhubung menggunakan SSL.

    SELECT SYS_CONTEXT('USERENV', 'network_protocol') FROM DUAL; SYS_CONTEXT('USERENV','NETWORK_PROTOCOL') -------------------------------------------------------------------------------- tcps
  24. Ubah direktori ke direktori dengan sertifikat yang ditandatangani sendiri.

    cd /u01/app/oracle/self_signed_cert
  25. Buat dompet Oracle klien baru AWS DMS untuk digunakan.

    orapki wallet create -wallet ./ -auto_login_only
  26. Tambahkan sertifikat root yang ditandatangani sendiri ke Oracle wallet.

    orapki wallet add -wallet ./ -trusted_cert -cert self-rootCA.pem -auto_login_only
  27. Buat daftar isi dompet Oracle AWS DMS untuk digunakan. Daftar harus mencakup sertifikat root yang ditandatangani sendiri.

    orapki wallet display -wallet ./

    Ini memiliki output seperti berikut ini.

    Trusted Certificates: Subject: CN=aws,OU=DBeng,O=AmazonWebService,L=Sydney,ST=NSW,C=AU
  28. Unggah dompet Oracle yang baru saja Anda buat. AWS DMS

Metode enkripsi yang didukung untuk menggunakan Oracle sebagai sumber untuk AWS DMS

Dalam tabel berikut, Anda dapat menemukan metode enkripsi data transparan (TDE) yang AWS DMS mendukung saat bekerja dengan database sumber Oracle.

Metode akses log redo Tablespace TDE Kolom TDE
Oracle LogMiner Ya Ya
Binary Reader Ya Ya

AWS DMS mendukung Oracle TDE saat menggunakan Binary Reader, pada tingkat kolom dan tingkat tablespace. Untuk menggunakan enkripsi TDE AWS DMS, pertama-tama identifikasi lokasi dompet Oracle tempat kunci enkripsi TDE dan kata sandi TDE disimpan. Kemudian identifikasi kunci enkripsi TDE yang benar dan kata sandi untuk titik akhir sumber Oracle Anda.

Mengidentifikasi dan menentukan kunci enkripsi dan kata sandi untuk enkripsi TDE
  1. Jalankan kueri berikut untuk menemukan enkripsi Oracle wallet pada host basis data Oracle.

    SQL> SELECT WRL_PARAMETER FROM V$ENCRYPTION_WALLET; WRL_PARAMETER -------------------------------------------------------------------------------- /u01/oracle/product/12.2.0/dbhome_1/data/wallet/

    Di sini, /u01/oracle/product/12.2.0/dbhome_1/data/wallet/ adalah lokasi wallet.

  2. Dapatkan ID kunci utama menggunakan salah satu opsi enkripsi berikut, tergantung pada mana yang mengembalikan nilai ini.

    1. Untuk tabel atau enkripsi tingkat kolom, jalankan kueri berikut.

      SQL> SELECT OBJECT_ID FROM ALL_OBJECTS WHERE OWNER='DMS_USER' AND OBJECT_NAME='TEST_TDE_COLUMN' AND OBJECT_TYPE='TABLE'; OBJECT_ID --------------- 81046 SQL> SELECT MKEYID FROM SYS.ENC$ WHERE OBJ#=81046; MKEYID ------------ AWGDC9glSk8Xv+3bVveiVSgAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

      Di sini, AWGDC9glSk8Xv+3bVveiVSg adalah ID kunci utama (MKEYID). Jika Anda mendapatkan nilai untuk MKEYID, Anda dapat melanjutkan dengan Langkah 3. Jika tidak, lanjutkan dengan Langkah 2.2.

      catatan

      Karakter string trailing 'A' (AAA...) bukan bagian dari nilai.

    2. Untuk enkripsi tingkat tablespace, jalankan kueri berikut.

      SQL> SELECT TABLESPACE_NAME, ENCRYPTED FROM dba_tablespaces; TABLESPACE_NAME ENC ------------------------------ --- SYSTEM NO SYSAUX NO UNDOTBS1 NO TEMP NO USERS NO TEST_ENCRYT YES SQL> SELECT name,utl_raw.cast_to_varchar2( utl_encode.base64_encode('01'||substr(mkeyid,1,4))) || utl_raw.cast_to_varchar2( utl_encode.base64_encode(substr(mkeyid,5,length(mkeyid)))) masterkeyid_base64 FROM (SELECT t.name, RAWTOHEX(x.mkid) mkeyid FROM v$tablespace t, x$kcbtek x WHERE t.ts#=x.ts#) WHERE name = 'TEST_ENCRYT'; NAME MASTERKEYID_BASE64 ------------------------------ ---------------------------------- TEST_ENCRYT AWGDC9glSk8Xv+3bVveiVSg=

      Di sini, AWGDC9glSk8Xv+3bVveiVSg adalah ID kunci utama (TEST_ENCRYT). Jika langkah 2.1 dan 2.2 mengembalikan nilai, maka selalu identik.

      Karakter trailing '=' bukan bagian dari nilai.

  3. Dari baris perintah, cantumkan entri wallet enkripsi pada host basis data Oracle sumber.

    $ mkstore -wrl /u01/oracle/product/12.2.0/dbhome_1/data/wallet/ -list Oracle Secret Store entries: ORACLE.SECURITY.DB.ENCRYPTION.AWGDC9glSk8Xv+3bVveiVSgAAAAAAAAAAAAAAAAAAAAAAAAAAAAA ORACLE.SECURITY.DB.ENCRYPTION.AY1mRA8OXU9Qvzo3idU4OH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAA ORACLE.SECURITY.DB.ENCRYPTION.MASTERKEY ORACLE.SECURITY.ID.ENCRYPTION. ORACLE.SECURITY.KB.ENCRYPTION. ORACLE.SECURITY.KM.ENCRYPTION.AY1mRA8OXU9Qvzo3idU4OH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAA

    Temukan entri yang berisi ID kunci utama yang Anda temukan di langkah 2 (AWGDC9glSk8Xv+3bVveiVSg). Entri ini adalah nama kunci enkripsi TDE.

  4. Lihat detail entri yang Anda temukan pada langkah sebelumnya.

    $ mkstore -wrl /u01/oracle/product/12.2.0/dbhome_1/data/wallet/ -viewEntry ORACLE.SECURITY.DB.ENCRYPTION.AWGDC9glSk8Xv+3bVveiVSgAAAAAAAAAAAAAAAAAAAAAAAAAAAAA Oracle Secret Store Tool : Version 12.2.0.1.0 Copyright (c) 2004, 2016, Oracle and/or its affiliates. All rights reserved. Enter wallet password: ORACLE.SECURITY.DB.ENCRYPTION.AWGDC9glSk8Xv+3bVveiVSgAAAAAAAAAAAAAAAAAAAAAAAAAAAAA = AEMAASAASGYs0phWHfNt9J5mEMkkegGFiD4LLfQszDojgDzbfoYDEACv0x3pJC+UGD/PdtE2jLIcBQcAeHgJChQGLA==

    Masukkan kata sandi wallet untuk melihat hasilnya.

    Di sini, nilai di sebelah kanan '=' adalah kata sandi TDE.

  5. Tentukan nama kunci enkripsi TDE untuk titik akhir sumber Oracle dengan menetapkan atribut sambungan tambahan securityDbEncryptionName.

    securityDbEncryptionName=ORACLE.SECURITY.DB.ENCRYPTION.AWGDC9glSk8Xv+3bVveiVSgAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  6. Berikan kata sandi TDE terkait untuk kunci ini pada konsol sebagai bagian dari nilai Kata sandi sumber Oracle. Gunakan urutan berikut untuk memformat nilai kata sandi yang dipisahkan dengan koma, diakhiri dengan nilai kata sandi TDE.

    Oracle_db_password,ASM_Password,AEMAASAASGYs0phWHfNt9J5mEMkkegGFiD4LLfQszDojgDzbfoYDEACv0x3pJC+UGD/PdtE2jLIcBQcAeHgJChQGLA==

    Tentukan nilai kata sandi dalam urutan ini terlepas dari konfigurasi basis data Oracle Anda. Misalnya, jika Anda menggunakan TDE tetapi basis data Oracle Anda tidak menggunakan ASM, tentukan nilai kata sandi dalam urutan yang dipisahkan koma berikut.

    Oracle_db_password,,AEMAASAASGYs0phWHfNt9J5mEMkkegGFiD4LLfQszDojgDzbfoYDEACv0x3pJC+UGD/PdtE2jLIcBQcAeHgJChQGLA==

Jika kredenal TDE yang Anda tentukan salah, tugas AWS DMS migrasi tidak akan gagal. Namun, tugas tersebut juga tidak membaca atau menerapkan perubahan replikasi yang sedang berlangsung ke basis data target. Setelah memulai tugas, pantau Statistik tabel pada laman tugas migrasi konsol untuk memastikan bahwa perubahan telah direplikasi.

Jika DBA mengubah nilai kredensial TDE untuk basis data Oracle sementara tugas berjalan, tugas akan gagal. Pesan keliru berisi nama kunci enkripsi TDE baru. Untuk menentukan nilai baru dan memulai ulang tugas, gunakan prosedur sebelumnya.

penting

Anda tidak dapat memanipulasi dompet TDE yang dibuat di lokasi Oracle Automatic Storage Management (ASM) karena perintah tingkat OS seperticp,, mvorapki, dan mkstore merusak file dompet yang disimpan di lokasi ASM. Pembatasan ini khusus untuk file dompet TDE yang disimpan di lokasi ASM saja, tetapi tidak untuk file dompet TDE yang disimpan dalam direktori OS lokal.

Untuk memanipulasi dompet TDE yang disimpan di ASM dengan perintah tingkat OS, buat keystore lokal dan gabungkan keystore ASM ke keystore lokal sebagai berikut:

  1. Buat keystore lokal.

    ADMINISTER KEY MANAGEMENT create keystore file system wallet location identified by wallet password;
  2. Gabungkan keystore ASM ke keystore lokal.

    ADMINISTER KEY MANAGEMENT merge keystore ASM wallet location identified by wallet password into existing keystore file system wallet location identified by wallet password with backup;

Kemudian, untuk membuat daftar entri dompet enkripsi dan kata sandi TDE, jalankan langkah 3 dan 4 terhadap keystore lokal.

Metode kompresi yang didukung untuk menggunakan Oracle sebagai sumber untuk AWS DMS

Dalam tabel berikut, Anda dapat menemukan metode kompresi mana yang AWS DMS mendukung saat bekerja dengan database sumber Oracle. Seperti yang ditunjukkan tabel, dukungan kompresi bergantung pada versi database Oracle Anda dan apakah DMS dikonfigurasi untuk menggunakan Oracle LogMiner untuk mengakses log redo.

Versi Basic OLTP

HCC (dari Oracle 11g R2 atau versi lebih baru)

Lainnya
Oracle 10 Tidak N/A N/A Tidak
Oracle 11 atau yang lebih baru - Oracle LogMiner Ya Ya Ya Ya - Metode kompresi apa pun yang didukung oleh Oracle LogMiner.
Oracle 11 atau versi yang lebih baru — Binary Reader Ya Ya Ya — Untuk informasi lebih lanjut, lihat catatan berikut. Ya
catatan

Ketika titik akhir sumber Oracle dikonfigurasi untuk menggunakan Binary Reader, tingkat Query Low metode kompresi HCC didukung untuk tugas beban penuh saja.

Mereplikasi tabel bersarang menggunakan Oracle sebagai sumber untuk AWS DMS

AWS DMS mendukung replikasi tabel Oracle yang berisi kolom yang merupakan tabel bersarang atau tipe yang ditentukan. Untuk mengaktifkan fungsionalitas ini, tambahkan pengaturan atribut sambungan tambahan berikut ke titik akhir sumber Oracle.

allowSelectNestedTables=true;

AWS DMS membuat tabel target dari tabel bersarang Oracle sebagai tabel induk dan anak biasa pada target tanpa kendala unik. Untuk mengakses data yang benar pada target, gabungkan tabel induk dan anak. Untuk melakukannya, pertama-tama secara manual buatlah indeks nonunik pada kolom NESTED_TABLE_ID dalam tabel anak target. Anda kemudian dapat menggunakan kolom NESTED_TABLE_IDdi klausul join ON bersama-sama dengan kolom induk yang sesuai dengan nama tabel anak. Selain itu, membuat indeks seperti itu meningkatkan kinerja ketika data tabel anak target diperbarui atau dihapus oleh AWS DMS. Sebagai contoh, lihat Contoh gabungan untuk tabel induk dan anak pada target.

Kami sarankan Anda mengonfigurasi tugas agar berhenti setelah beban penuh selesai. Kemudian, buat indeks nonunik ini untuk semua tabel anak yang telah direplikasi pada target dan lanjutkan tugas.

Jika tabel bersarang yang diambil ditambahkan ke tabel induk yang ada (ditangkap atau tidak ditangkap), tangani AWS DMS dengan benar. Namun, indeks nonunik untuk tabel target yang sesuai tidak dibuat. Dalam hal ini, jika tabel anak target menjadi sangat besar, performa mungkin akan terpengaruh. Dalam kasus seperti itu, kami merekomendasikan agar Anda menghentikan tugas, membuat indeks, kemudian melanjutkan tugas.

Setelah tabel bersarang direplikasi ke target, jalankan DBA untuk menggabungkan tabel induk dengan tabel anaknya yang sesuai untuk meratakan data.

Prasyarat untuk mereplikasi tabel bersarang Oracle sebagai sumber

Pastikan bahwa Anda mereplikasi tabel induk untuk semua tabel bersarang yang telah direplikasi. Sertakan tabel induk (tabel yang berisi kolom tabel bersarang) dan tabel turunan (yaitu, bersarang) dalam AWS DMS pemetaan tabel.

Jenis tabel bersarang yang didukung Oracle sebagai sumber

AWS DMS mendukung jenis tabel bersarang Oracle berikut sebagai sumber:

  • Tipe data

  • Objek yang ditetapkan pengguna

Keterbatasan dukungan AWS DMS untuk tabel bersarang Oracle sebagai sumber

AWS DMS memiliki batasan berikut dalam mendukung tabel bersarang Oracle sebagai sumber:

  • AWS DMS hanya mendukung satu tingkat sarang meja.

  • AWS DMS pemetaan tabel tidak memeriksa apakah tabel induk dan anak atau tabel dipilih untuk replikasi. Artinya, adalah memungkinan untuk memilih tabel induk tanpa anak atau tabel anak tanpa induk.

Bagaimana AWS DMS mereplikasi tabel bersarang Oracle sebagai sumber

AWS DMS mereplikasi tabel induk dan bersarang ke target sebagai berikut:

  • AWS DMS membuat tabel induk identik dengan sumbernya. DMS kemudian mendefinisikan kolom bersarang di induk sebagai RAW(16) dan termasuk acuan ke tabel bersarang induk di kolom NESTED_TABLE_IDnya.

  • AWS DMS membuat tabel anak identik dengan sumber bersarang, tetapi dengan kolom tambahan bernamaNESTED_TABLE_ID. Kolom ini memiliki jenis dan nilai yang sama dengan kolom bersarang induk yang sesuai dan memiliki arti yang sama.

Contoh gabungan untuk tabel induk dan anak pada target

Untuk meratakan tabel induk, jalankan gabungan antara tabel induk dan anak, seperti yang ditunjukkan dalam contoh berikut:

  1. Buat Type tabel.

    CREATE OR REPLACE TYPE NESTED_TEST_T AS TABLE OF VARCHAR(50);
  2. Buat tabel induk dengan kolom jenis NESTED_TEST_T sebagaimana didefinisikan sebelumnya.

    CREATE TABLE NESTED_PARENT_TEST (ID NUMBER(10,0) PRIMARY KEY, NAME NESTED_TEST_T) NESTED TABLE NAME STORE AS NAME_KEY;
  3. Ratakan tabel NESTED_PARENT_TEST menggunakan gabungan dengan tabel anak NAME_KEY di mana CHILD.NESTED_TABLE_ID cocok dengan PARENT.NAME.

    SELECT … FROM NESTED_PARENT_TEST PARENT, NAME_KEY CHILD WHERE CHILD.NESTED_ TABLE_ID = PARENT.NAME;

Menyimpan REDO di Oracle ASM saat menggunakan Oracle sebagai sumber untuk AWS DMS

Untuk sumber Oracle dengan generasi REDO tinggi, menyimpan REDO di Oracle ASM dapat menguntungkan kinerja, terutama dalam konfigurasi RAC karena Anda dapat mengonfigurasi DMS untuk mendistribusikan pembacaan ASM REDO di semua node ASM.

Untuk memanfaatkan konfigurasi ini, gunakan atribut asmServer koneksi. Misalnya, string koneksi berikut mendistribusikan pembacaan DMS REDO di 3 node ASM:

asmServer=(DESCRIPTION=(CONNECT_TIMEOUT=8)(ENABLE=BROKEN)(LOAD_BALANCE=ON)(FAILOVER=ON) (ADDRESS_LIST= (ADDRESS=(PROTOCOL=tcp)(HOST=asm_node1_ip_address)(PORT=asm_node1_port_number)) (ADDRESS=(PROTOCOL=tcp)(HOST=asm_node2_ip_address)(PORT=asm_node2_port_number)) (ADDRESS=(PROTOCOL=tcp)(HOST=asm_node3_ip_address)(PORT=asm_node3_port_number))) (CONNECT_DATA=(SERVICE_NAME=+ASM)))

Saat menggunakan NFS untuk menyimpan Oracle REDO, penting untuk memastikan bahwa patch klien DNFS (NFS langsung) yang berlaku diterapkan, khususnya patch apa pun yang menangani bug Oracle 25224242. Untuk informasi tambahan, tinjau Publikasi Oracle berikut mengenai patch terkait klien NFS Langsung, Patch yang Direkomendasikan untuk Klien NFS Langsung.

Selain itu, untuk meningkatkan kinerja baca NFS, kami sarankan Anda meningkatkan nilai rsize dan wsize masuk fstab untuk volume NFS, seperti yang ditunjukkan pada contoh berikut.

NAS_name_here:/ora_DATA1_archive /u09/oradata/DATA1 nfs rw,bg,hard,nointr,tcp,nfsvers=3,_netdev, timeo=600,rsize=262144,wsize=262144

Juga, sesuaikan tcp-max-xfer-size nilainya sebagai berikut:

vserver nfs modify -vserver vserver -tcp-max-xfer-size 262144

Pengaturan titik akhir saat menggunakan Oracle sebagai sumber AWS DMS

Anda dapat menggunakan pengaturan endpoint untuk mengkonfigurasi database sumber Oracle Anda mirip dengan menggunakan atribut koneksi tambahan. Anda menentukan pengaturan saat Anda membuat titik akhir sumber menggunakan AWS DMS konsol, atau dengan menggunakan create-endpoint perintah di AWS CLI, dengan sintaks --oracle-settings '{"EndpointSetting": "value", ...}' JSON.

Tabel berikut menunjukkan pengaturan endpoint yang dapat Anda gunakan dengan Oracle sebagai sumber.

Nama Penjelasan
AccessAlternateDirectly

Atur atribut ini menjadi salah untuk menggunakan Binary Reader untuk menangkap perubahan data untuk Amazon RDS for Oracle sebagai sumber. Ini memberitahu instans DMS untuk tidak mengakses log redo melalui penggantian prefiks jalur tertentu menggunakan akses file langsung. Untuk informasi selengkapnya, lihat Mengkonfigurasi tugas CDC untuk menggunakan Binary Reader dengan RDS untuk sumber Oracle untuk AWS DMS.

Nilai default: benar

Nilai yang benar: benar/salah

Contoh: --oracle-settings '{"AccessAlternateDirectly": false}'

AdditionalArchivedLogDestId

Atur atribut ini dengan ArchivedLogDestId pada pengaturan primer-standby. Atribut ini berguna dalam peralihan ketika basis data Oracle Data Guard digunakan sebagai sumber. Dalam hal ini, AWS DMS perlu mengetahui tujuan mana untuk mendapatkan log redo arsip untuk membaca perubahan. Ini karena primer sebelumnya saat ini adalah instans Standby setelah peralihan.

Meskipun AWS DMS mendukung penggunaan RESETLOGS opsi Oracle untuk membuka database, jangan pernah gunakan RESETLOGS kecuali diperlukan. Untuk informasi tambahan tentang RESETLOGS, lihat Konsep Perbaikan Data RMAN dalam Panduan Pengguna Backup dan Pemulihan Basis Data Oracle®.

Nilai yang valid: Arsipkan Id tujuan

Contoh: --oracle-settings '{"AdditionalArchivedLogDestId": 2}'

AddSupplementalLogging

Atur atribut ini untuk mengatur supplemental logging tingkat tabel untuk basis data Oracle. Atribut ini memungkinkan salah satu dari berikut ini pada semua tabel yang dipilih untuk tugas migrasi, tergantung pada metadata tabel:

  • KOLOM KUNCI UTAMA Pencatatan tambahan

  • KOLOM KUNCI UNIK logging tambahan

  • SEMUA KOLOM logging tambahan

Nilai default: SALAH

Nilai yang benar: benar/salah

Contoh: --oracle-settings '{"AddSupplementalLogging": false}'

catatan

Jika Anda menggunakan opsi ini, Anda masih perlu mengaktifkan supplemental logging tingkat basis data seperti yang dibahas sebelumnya.

AllowSelectNestedTables

Atur atribut ini menjadi benar untuk mengaktifkan replikasi tabel Oracle yang berisi kolom yang merupakan tabel bersarang atau jenis yang telah didefinisikan. Untuk informasi selengkapnya, lihat Mereplikasi tabel bersarang menggunakan Oracle sebagai sumber untuk AWS DMS.

Nilai default: salah

Nilai yang benar: benar/salah

Contoh: --oracle-settings '{"AllowSelectNestedTables": true}'

ArchivedLogDestId

Menentukan ID tujuan untuk log redo diarsipkan. Nilai ini harus sama dengan angka di kolom dest_id dari tampilan v$archived_log. Jika Anda bekerja dengan tujuan redo log tambahan, kami sarankan Anda menggunakan AdditionalArchivedLogDestId atribut untuk menentukan ID tujuan tambahan. Melakukan hal ini meningkatkan performa dengan memastikan bahwa log yang benar diakses dari awal.

Nilai default: 1

Nilai yang benar: Angka

Contoh: --oracle-settings '{"ArchivedLogDestId": 1}'

ArchivedLogsOnly

Saat bidang ini disetel ke Y, AWS DMS hanya mengakses log redo yang diarsipkan. Jika log redo yang diarsipkan disimpan di Oracle ASM saja, akun AWS DMS pengguna harus diberikan hak ASM.

Nilai default: N

Nilai yang benar: Y/N

Contoh: --oracle-settings '{"ArchivedLogsOnly": Y}'

asmUsePLSQLArray(Hanya ECA)

Gunakan atribut koneksi tambahan (ECA) ini saat menangkap perubahan sumber dengan. BinaryReader Pengaturan ini memungkinkan DMS untuk menyangga 50 pembacaan pada tingkat ASM per utas baca tunggal sambil mengontrol jumlah utas menggunakan atribut. parallelASMReadThread Ketika Anda mengatur atribut ini, pembaca AWS DMS biner menggunakan blok PL/SQL anonim untuk menangkap data redo dan mengirimkannya kembali ke contoh replikasi sebagai buffer besar. Ini mengurangi jumlah perjalanan pulang pergi ke sumbernya. Ini dapat secara signifikan meningkatkan kinerja pengambilan sumber, tetapi menghasilkan konsumsi memori PGA yang lebih tinggi pada Instans ASM. Masalah stabilitas mungkin muncul jika target memori tidak cukup. Anda dapat menggunakan rumus berikut untuk memperkirakan total penggunaan memori PGA instance ASM dengan satu tugas DMS: number_of_redo_threads * parallelASMReadThreads * 7 MB

Nilai default: SALAH

Nilai yang benar: benar/salah

Contoh ECA: asmUsePLSQLArray=true;

ConvertTimestampWithZoneToUTC

Tetapkan atribut ini true untuk mengonversi nilai stempel waktu dari kolom 'TIMESTAMP WITH TIME ZONE' dan 'TIMESTAMP WITH LOCAL TIME ZONE' ke UTC. Secara default nilai atribut ini adalah 'false' dan data akan direplikasi menggunakan zona waktu database sumber.

Nilai default: SALAH

Nilai yang benar: benar/salah

Contoh: --oracle-settings '{"ConvertTimestampWithZoneToUTC": true}'

EnableHomogenousPartitionOps

Atur atribut ini true untuk mengaktifkan replikasi Oracle Partition dan SubPartition DDL Operations untuk migrasi Oracle Homogenous.

Perhatikan bahwa fitur dan peningkatan ini diperkenalkan di AWS DMS versi 3.4.7.

Nilai default: SALAH

Nilai yang benar: benar/salah

Contoh: --oracle-settings '{"EnableHomogenousPartitionOps": true}'

EnableHomogenousTablespace

Mengatur atribut ini untuk mengaktifkan replikasi tablespace homogen dan membuat tabel atau indeks yang ada di bawah tablespace yang sama pada target.

Nilai default: salah

Nilai yang benar: benar/salah

Contoh: --oracle-settings '{"EnableHomogenousTablespace": true}'

EscapeCharacter

Atur atribut ini ke karakter escape. Karakter escape ini memungkinkan Anda untuk membuat karakter wildcard tunggal berperilaku sebagai karakter normal dalam ekspresi pemetaan tabel. Untuk informasi selengkapnya, lihat Wildcard dalam pemetaan tabel.

Nilai default: Null

Nilai yang valid: Karakter apa pun selain karakter wildcard

Contoh: --oracle-settings '{"EscapeCharacter": "#"}'

catatan

Anda hanya dapat menggunakan escapeCharacter untuk nama tabel. Itu tidak luput karakter dari nama skema atau nama kolom.

ExposeViews

Gunakan atribut ini untuk menarik data sekali dari tampilan; Anda tidak dapat menggunakannya untuk replikasi yang sedang berlangsung. Ketika Anda mengekstraksi data dari tampilan, tampilan ditampilkan sebagai tabel pada skema target.

Nilai default: salah

Nilai yang benar: benar/salah

Contoh: --oracle-settings '{"ExposeViews": true}'

ExtraArchivedLogDestIds

Menentukan ID dari satu tujuan lagi untuk satu atau lebih log redo diarsipkan. ID ini adalah nilai kolom dest_id dalam tampilan v$archived_log. Gunakan pengaturan ini dengan atribut koneksi ArchivedLogDestId tambahan dalam primary-to-single pengaturan atau primary-to-multiple-standby penyiapan.

Pengaturan ini berguna dalam peralihan ketika Anda menggunakan database Oracle Data Guard sebagai sumber. Dalam hal ini, AWS DMS perlu informasi tentang tujuan apa untuk mendapatkan log redo arsip dari untuk membaca perubahan. AWS DMS membutuhkan ini karena setelah peralihan primer sebelumnya adalah instance siaga.

Nilai yang valid: Arsipkan Id tujuan

Contoh: --oracle-settings '{"ExtraArchivedLogDestIds": 1}'

FailTasksOnLobTruncation

Ketika diatur ke true, atribut ini menyebabkan tugas gagal jika ukuran sebenarnya dari kolom LOB lebih besar dari LobMaxSize yang ditentukan.

Jika tugas diatur ke mode LOB terbatas dan opsi ini diatur menjadi true, tugas gagal dan bukannya momotong data LOB.

Nilai default: salah

Nilai yang benar: Boolean

Contoh: --oracle-settings '{"FailTasksOnLobTruncation": true}'

filterTransactionsOfUser(Hanya ECA)

Gunakan atribut koneksi tambahan (ECA) ini untuk memungkinkan DMS mengabaikan transaksi dari pengguna tertentu saat mereplikasi data dari Oracle saat menggunakan. LogMiner Anda dapat meneruskan nilai nama pengguna yang dipisahkan koma, tetapi harus dalam semua huruf KAPITAL.

Contoh ECA: filterTransactionsOfUser=USERNAME;

NumberDataTypeScale

Menentukan skala angka. Anda dapat memilih menaikkan skala hingga 38, atau Anda dapat memilih -1 untuk FLOAT, atau -2 untuk VARCHAR. Secara default, jenis data ANGKA dikonversi ke presisi 38, skala 10.

Nilai default: 10

Values valid: -2 hingga 38 (-2 untuk VARCHAR, -1 untuk FLOAT)

Contoh: --oracle-settings '{"NumberDataTypeScale": 12}'

catatan

Pilih kombinasi skala presisi, -1 (FLOAT) atau -2 (VARCHAR). DMS mendukung kombinasi skala presisi yang didukung oleh Oracle. Jika presisi 39 atau lebih, pilih -2 (VARCHAR). NumberDataTypeScale Pengaturan untuk database Oracle digunakan untuk tipe data NUMBER saja (tanpa presisi eksplisit dan definisi skala).

OpenTransactionWindow

Menyediakan jangka waktu dalam hitungan menit untuk memeriksa transaksi terbuka untuk tugas CDC saja.

catatan

Saat Anda menyetel OpenTransactionWindow ke 1 atau lebih tinggi, DMS menggunakan SCN_TO_TIMESTAMP untuk mengonversi nilai SCN ke nilai stempel waktu. Karena keterbatasan Oracle Database, jika Anda menentukan SCN yang terlalu tua sebagai titik awal CDC, SCN_TO_TIMESTAMP akan gagal dengan kesalahan, dan Anda tidak dapat memulai tugas khusus CDC. ORA-08181

Nilai default: 0

Nilai yang valid: Sebuah integer dari 0 sampai 240

Contoh: openTransactionWindow=15;

OraclePathPrefix Atur atribut string ini ke nilai yang diperlukan untuk menggunakan Binary Reader untuk menangkap perubahan data untuk Amazon RDS for Oracle sebagai sumber. Nilai ini menentukan root default Oracle yang digunakan untuk mengakses log redo. Untuk informasi selengkapnya, lihat Mengkonfigurasi tugas CDC untuk menggunakan Binary Reader dengan RDS untuk sumber Oracle untuk AWS DMS.

Nilai default: tidak ada.

Nilai yang valid: /rdsdbdata/db/ORCL_A/

Contoh: --oracle-settings '{"OraclePathPrefix": "/rdsdbdata/db/ORCL_A/"}'

ParallelASMReadThreads

Atur atribut ini untuk mengubah jumlah thread yang dikonfigurasi DMS untuk melakukan change data capture (CDC) menggunakan Oracle Automatic Storage Management (ASM). Anda dapat menentukan nilai integer antara 2 (default) dan 8 (maksimum). Gunakan atribut ini bersama-sama dengan ReadAheadBlocks atribut. Untuk informasi selengkapnya, lihat Mengkonfigurasi tugas CDC untuk menggunakan Binary Reader dengan RDS untuk sumber Oracle untuk AWS DMS.

Nilai default: 2

Nilai yang valid: Integer dari 2 sampai 8

Contoh: --oracle-settings '{"ParallelASMReadThreads": 6;}'

ReadAheadBlocks

Atur atribut ini untuk mengubah jumlah blok baca-depan yang dikonfigurasi DMS untuk melakukan CDC menggunakan Oracle Automatic Storage Management (ASM) dan penyimpanan NAS non-ASM. Anda dapat menentukan nilai integer antara 1000 (default) dan 200.000 (maksimum). Gunakan atribut ini bersama dengan atribut ParallelASMReadThreads. Untuk informasi selengkapnya, lihat Mengkonfigurasi tugas CDC untuk menggunakan Binary Reader dengan RDS untuk sumber Oracle untuk AWS DMS.

Nilai default: 1000

Nilai yang valid: Integer dari 1000 sampai 200.000

Contoh: --oracle-settings '{"ReadAheadBlocks": 150000}'

ReadTableSpaceName

Ketika diatur ke true, atribut ini mendukung replikasi tablespace.

Nilai default: salah

Nilai yang benar: Boolean

Contoh: --oracle-settings '{"ReadTableSpaceName": true}'

ReplacePathPrefix Atur atribut ini menjadi true untuk menggunakan Binary Reader untuk menangkap perubahan data untuk Amazon RDS for Oracle sebagai sumber. Pengaturan ini memberitahu instans DMS untuk menggantikan root Oracle default dengan pengaturan UsePathPrefix yang ditentukan untuk mengakses log redo. Untuk informasi selengkapnya, lihat Mengkonfigurasi tugas CDC untuk menggunakan Binary Reader dengan RDS untuk sumber Oracle untuk AWS DMS.

Nilai default: salah

Nilai yang benar: benar/salah

Contoh: --oracle-settings '{"ReplacePathPrefix": true}'

RetryInterval

Menentukan jumlah detik bahwa sistem menunggu sebelum mengirim ulang kueri.

Nilai default: 5

Nilai yang valid: Angka mulai dari 1

Contoh: --oracle-settings '{"RetryInterval": 6}'

SecurityDbEncryptionName

Menentukan nama kunci yang digunakan untuk enkripsi data transparan (TDE) dari kolom dan tablespace dalam basis data sumber Oracle. Untuk informasi lebih lanjut tentang pengaturan atribut ini dan kata sandi terkait pada titik akhir sumber Oracle, lihat Metode enkripsi yang didukung untuk menggunakan Oracle sebagai sumber untuk AWS DMS.

Nilai default: ""

Nilai valid: String

Contoh: --oracle-settings '{"SecurityDbEncryptionName": "ORACLE.SECURITY.DB.ENCRYPTION.Adg8m2dhkU/0v/m5QUaaNJEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}'

SpatialSdo2GeoJsonFunctionName

Untuk Oracle versi 12.1 atau sumber versi sebelumnya yang bermigrasi ke target PostgreSQL, gunakan atribut ini untuk mengonversi SDO_GEOMETRY ke format GEOJSON.

Secara default, AWS DMS memanggil fungsi SDO2GEOJSON kustom yang harus ada dan dapat diakses oleh AWS DMS pengguna. Atau Anda dapat membuat fungsi kustom Anda sendiri yang meniru operasi SDOGEOJSON dan atur SpatialSdo2GeoJsonFunctionNameuntuk memanggilnya sebagai gantinya.

Nilai default: SDO2GEOJSON

Nilai yang benar: String

Contoh: --oracle-settings '{"SpatialSdo2GeoJsonFunctionName": "myCustomSDO2GEOJSONFunction"}'

StandbyDelayTime

Gunakan atribut ini untuk menentukan waktu dalam menit untuk penundaan sinkronisasi standby. Jika sumber merupakan basis data standby Active Data Guard, gunakan atribut ini untuk menentukan jeda waktu antara basis data primer dan standby.

Di AWS DMS, Anda dapat membuat tugas Oracle CDC yang menggunakan instance siaga Active Data Guard sebagai sumber untuk mereplikasi perubahan yang sedang berlangsung. Melakukan hal ini menghilangkan kebutuhan untuk terhubung ke basis data aktif yang mungkin sedang dalam produksi.

Nilai default: 0

Nilai yang benar: Angka

Contoh: --oracle-settings '{"StandbyDelayTime": 1}'

Catatan: Saat menggunakan DMS 3.4.6, 3.4.7 dan yang lebih tinggi, penggunaan pengaturan koneksi ini adalah opsional. Dalam versi terbaru dari DMS 3.4.6 dan versi 3.4.7, dms_user harus memiliki select izin padaV_$DATAGUARD_STATS, memungkinkan DMS untuk menghitung waktu tunda siaga.

UseAlternateFolderForOnline Atur atribut ini menjadi benar untuk menggunakan Binary Reader untuk menangkap perubahan data untuk Amazon RDS for Oracle sebagai sumber. Ini memberitahu instans DMS untuk menggunakan pengganti prefiks tertentu untuk mengakses semua log redo online. Untuk informasi selengkapnya, lihat Mengkonfigurasi tugas CDC untuk menggunakan Binary Reader dengan RDS untuk sumber Oracle untuk AWS DMS.

Nilai default: salah

Nilai yang benar: benar/salah

Contoh: --oracle-settings '{"UseAlternateFolderForOnline": true}'

UseBfile

Atur atribut ini menjadi Y untuk menangkap perubahan data menggunakan utilitas Binary Reader. Atur UseLogminerReader menjadi N untuk mengatur atribut ini menjadi Y. Untuk menggunakan Binary Reader dengan Amazon RDS for Oracle sebagai sumber, Anda tetapkan atribut tambahan. Untuk informasi lebih lanjut tentang pengaturan ini dan menggunakan Oracle Automatic Storage Management (ASM), lihat Menggunakan Oracle LogMiner atau AWS DMS Binary Reader untuk CDC.

Catatan: Saat menetapkan nilai ini sebagai Extra Connection Attribute (ECA), nilai yang valid adalah 'Y' dan 'N'. Saat menyetel nilai ini sebagai pengaturan titik akhir, nilai yang valid adalah true danfalse.

Nilai default: N

Nilai yang valid: Y/N (saat menyetel nilai ini sebagai ECA); benar/salah (saat menyetel nilai ini sebagai pengaturan titik akhir).

Contoh: --oracle-settings '{"UseBfile": Y}'

UseLogminerReader

Atur atribut ini ke Y untuk menangkap data perubahan menggunakan LogMiner utilitas (default). Atur opsi ini menjadi N jika Anda ingin AWS DMS untuk mengakses log redo sebagai file biner. Ketika Anda mengatur opsi ini menjadi N, tambahkan juga pengaturan UsebFile=y. Untuk informasi lebih lanjut tentang pengaturan ini dan penggunaan Oracle Automatic Storage Management (ASM), lihat Menggunakan Oracle LogMiner atau AWS DMS Binary Reader untuk CDC.

Catatan: Saat menetapkan nilai ini sebagai Extra Connection Attribute (ECA), nilai yang valid adalah 'Y' dan 'N'. Saat menyetel nilai ini sebagai pengaturan titik akhir, nilai yang valid adalah true danfalse.

Nilai default: Y

Nilai yang valid: Y/N (saat menyetel nilai ini sebagai ECA); benar/salah (saat menyetel nilai ini sebagai pengaturan titik akhir).

Contoh: --oracle-settings '{"UseLogminerReader": Y}'

UsePathPrefix Atur atribut string ini ke nilai yang diperlukan untuk menggunakan Binary Reader untuk menangkap perubahan data untuk Amazon RDS for Oracle sebagai sumber. Nilai ini menentukan prefiks jalur yang digunakan untuk menggantikan root Oracle default untuk mengakses log redo. Untuk informasi selengkapnya, lihat Mengkonfigurasi tugas CDC untuk menggunakan Binary Reader dengan RDS untuk sumber Oracle untuk AWS DMS.

Nilai default: tidak ada.

Nilai yang valid: /rdsdbdata/log/

Contoh: --oracle-settings '{"UsePathPrefix": "/rdsdbdata/log/"}'

Jenis data sumber untuk Oracle

Endpoint Oracle untuk AWS DMS mendukung sebagian besar tipe data Oracle. Tabel berikut menunjukkan tipe data sumber Oracle yang didukung saat menggunakan AWS DMS dan pemetaan default ke tipe AWS DMS data.

catatan

Dengan pengecualian tipe data LONG dan LONG RAW, ketika mereplikasi dari sumber Oracle ke target Oracle (replikasi homogen), semua tipe data sumber dan target akan identik. Tetapi tipe data LONG akan dipetakan ke CLOB dan tipe data LONG RAW akan dipetakan ke BLOB.

Untuk informasi tentang cara melihat jenis data yang dipetakan dalam target, lihat bagian titik akhir target yang Anda gunakan.

Untuk informasi tambahan tentang tipe AWS DMS data, lihatTipe data untuk AWS Database Migration Service.

Tipe data Oracle

AWS DMS tipe data

BINARY_FLOAT

REAL4

BINARY_DOUBLE

REAL8

BINARY

BYTES

FLOAT (P)

Jika presisi kurang dari atau sama dengan 24, gunakan REAL4.

Jika presisi lebih besar dari 24, gunakan REAL8.

ANGKA (P,S)

Ketika skala lebih besar dari 0, gunakan NUMERIK.

Ketika skala adalah 0:

  • Dan presisi kurang dari atau sama dengan 2, gunakan INT1.

  • Dan presisi lebih besar dari 2 dan kurang dari atau sama dengan 4, gunakan INT2.

  • Dan presisi lebih besar dari 4 dan kurang dari atau sama dengan 9, gunakan INT4.

  • Dan presisi lebih besar dari 9, menggunakan NUMERIC.

  • Dan presisi lebih dari atau sama dengan skala, gunakan NUMERIC.

Ketika skala kurang dari 0, gunakan REAL8.

DATE

DATETIME

INTERVAL_YEAR TO MONTH

STRING (dengan indikasi interval year_to_month)

INTERVAL_DAY TO SECOND

STRING (dengan indikasi interval day_to_second)

TIMESTAMP

DATETIME

TIMESTAMP WITH TIME ZONE

STRING (dengan indikasi timestamp_with_timezone)

TIMESTAMP WITH LOCAL TIME ZONE

STRING (dengan indikasi timestamp_with_local_ zona waktu)

CHAR

STRING

VARCHAR2

STRING

NCHAR

WSTRING

NVARCHAR2

WSTRING

RAW

BYTES

REAL

REAL8

BLOB

BLOB

Untuk menggunakan tipe data ini AWS DMS, Anda harus mengaktifkan penggunaan tipe data BLOB untuk tugas tertentu. AWS DMS mendukung tipe data BLOB hanya dalam tabel yang menyertakan kunci utama.

CLOB

CLOB

Untuk menggunakan tipe data ini AWS DMS, Anda harus mengaktifkan penggunaan tipe data CLOB untuk tugas tertentu. Selama CDC, AWS DMS mendukung tipe data CLOB hanya dalam tabel yang menyertakan kunci utama.

NCLOB

NCLOB

Untuk menggunakan tipe data ini AWS DMS, Anda harus mengaktifkan penggunaan tipe data NCLOB untuk tugas tertentu. Selama CDC, AWS DMS mendukung tipe data NCLOB hanya dalam tabel yang menyertakan kunci utama.

LONG

CLOB

Tipe data LONG tidak didukung dalam mode penerapan yang dioptimalkan secara batch (mode TurboStream CDC).

Untuk menggunakan tipe data ini AWS DMS, aktifkan penggunaan LOB untuk tugas tertentu.

Selama CDC atau beban penuh, AWS DMS mendukung tipe data LOB hanya dalam tabel yang memiliki kunci utama.

Juga, AWS DMS tidak mendukung mode LOB penuh untuk memuat kolom LONG. Sebagai gantinya, Anda dapat menggunakan mode LOB terbatas untuk memigrasikan kolom LONG ke target Oracle. Dalam mode LOB terbatas, AWS DMS potong data apa pun menjadi 64 KB yang Anda atur ke kolom LONG yang lebih panjang dari 64 KB. Untuk informasi selengkapnya tentang dukungan LOB di AWS DMS, lihat Mengatur dukungan LOB untuk database sumber dalam suatu tugas AWS DMS

LONG RAW

BLOB

Tipe data LONG RAW tidak didukung dalam mode penerapan yang dioptimalkan secara batch (mode TurboStream CDC).

Untuk menggunakan tipe data ini AWS DMS, aktifkan penggunaan LOB untuk tugas tertentu.

Selama CDC atau beban penuh, AWS DMS mendukung tipe data LOB hanya dalam tabel yang memiliki kunci utama.

Juga, AWS DMS tidak mendukung mode LOB penuh untuk memuat kolom LONG RAW. Sebagai gantinya, Anda dapat menggunakan mode LOB terbatas untuk memigrasikan kolom LONG RAW ke target Oracle. Dalam mode LOB terbatas, AWS DMS potong data apa pun menjadi 64 KB yang Anda atur ke kolom LONG RAW yang lebih panjang dari 64 KB. Untuk informasi selengkapnya tentang dukungan LOB di AWS DMS, lihat Mengatur dukungan LOB untuk database sumber dalam suatu tugas AWS DMS

XMLTYPE

CLOB

SDO_GEOMETRY

BLOB (ketika Oracle migrasi ke Oracle)

CLOB (ketika Oracle migrasi ke PostgreSQL)

Tabel Oracle yang digunakan sebagai sumber dengan kolom jenis data berikut tidak didukung dan tidak dapat direplikasi. Mereplikasi kolom dengan jenis data ini menghasilkan kolom nol.

  • BFILE

  • ROWID

  • REF

  • UROWID

  • Jenis data yang ditentukan pengguna

  • ANYDATA

  • VARRAY

catatan

Kolom virtual tidak didukung.

Migrasi jenis data spasial Oracle

Data spasial mengidentifikasi informasi geometri untuk objek atau lokasi di suatu ruang. Dalam basis data Oracle, deskripsi geometris dari objek spasial disimpan dalam sebuah objek jenis SDO_GEOMETRY. Dalam objek ini, deskripsi geometris disimpan dalam satu baris dalam satu kolom dari tabel yang telah ditetapkan pengguna.

AWS DMS mendukung migrasi tipe Oracle SDO_GEOMETRY dari sumber Oracle ke target Oracle atau PostgreSQL.

Saat Anda memigrasikan tipe data spasial Oracle menggunakan AWS DMS, perhatikan pertimbangan ini:

  • Ketika migrasi ke target Oracle, pastikan untuk secara manual mentransfer entri USER_SDO_GEOM_METADATA yang mencakup informasi tentang jenis.

  • Saat bermigrasi dari titik akhir sumber Oracle ke titik akhir target PostgreSQL, buat kolom target. AWS DMS Kolom ini memiliki geometri default dan informasi jenis geografi dengan dimensi 2D dan spatial reference identifier (SRID) sama dengan nol (0). Contohnya GEOMETRY, 2, 0.

  • Untuk Oracle versi 12.1 atau sumber versi sebelumnya yang migrasi ke target PostgreSQL, konversikan objek SDO_GEOMETRY menjadi format GEOJSON dengan menggunakan fungsi SDO2GEOJSON, atau atribut sambungan tambahan spatialSdo2GeoJsonFunctionName. Untuk informasi selengkapnya, lihat Pengaturan titik akhir saat menggunakan Oracle sebagai sumber AWS DMS.

  • AWS DMS mendukung migrasi Kolom Spasial Oracle hanya untuk mode LOB Penuh. AWS DMS tidak mendukung mode LOB Terbatas atau LOB Inline. Untuk informasi selengkapnya tentang mode LOB, lihatMengatur dukungan LOB untuk database sumber dalam suatu tugas AWS DMS.

  • Karena AWS DMS hanya mendukung mode LOB Penuh untuk memigrasikan Kolom Spasial Oracle, tabel kolom memerlukan kunci utama dan kunci unik. Jika tabel tidak memiliki kunci utama dan kunci unik, tabel dilewati dari migrasi.