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 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:
-
Buat pengguna Oracle dengan izin yang sesuai AWS DMS untuk mengakses database sumber Oracle Anda.
-
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.
-
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.
Topik
- Menggunakan Oracle LogMiner atau AWS DMS Binary Reader untuk CDC
- Alur kerja untuk mengonfigurasi database sumber Oracle yang dikelola sendiri atau AWS dikelola untuk AWS DMSMengkonfigurasi database sumber Oracle
- Bekerja dengan database Oracle yang dikelola sendiri sebagai sumber AWS DMS
- Bekerja dengan database Oracle yang AWS dikelola sebagai sumber untuk AWS DMS
- Keterbatasan dalam menggunakan Oracle sebagai sumber AWS DMS
- Dukungan SSL untuk titik akhir Oracle
- Metode enkripsi yang didukung untuk menggunakan Oracle sebagai sumber AWS DMS
- Metode kompresi yang didukung untuk menggunakan Oracle sebagai sumber AWS DMS
- Mereplikasi tabel bersarang menggunakan Oracle sebagai sumber AWS DMS
- Menyimpan REDO di Oracle ASM saat menggunakan Oracle sebagai sumber AWS DMS
- Pengaturan titik akhir saat menggunakan Oracle sebagai sumber AWS DMS
- Jenis data sumber untuk Oracle
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 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 hosting 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.
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 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 TOdb_user
; GRANT SELECT ON V_$ARCHIVED_LOG TOdb_user
; GRANT SELECT ON V_$LOG TOdb_user
; GRANT SELECT ON V_$LOGFILE TOdb_user
; GRANT SELECT ON V_$LOGMNR_LOGS TOdb_user
; GRANT SELECT ON V_$LOGMNR_CONTENTS TOdb_user
; GRANT SELECT ON V_$DATABASE TOdb_user
; GRANT SELECT ON V_$THREAD TOdb_user
; GRANT SELECT ON V_$PARAMETER TOdb_user
; GRANT SELECT ON V_$NLS_PARAMETERS TOdb_user
; GRANT SELECT ON V_$TIMEZONE_NAMES TOdb_user
; GRANT SELECT ON V_$TRANSACTION TOdb_user
; GRANT SELECT ON V_$CONTAINERS TOdb_user
; GRANT SELECT ON ALL_INDEXES TOdb_user
; GRANT SELECT ON ALL_OBJECTS TOdb_user
; GRANT SELECT ON ALL_TABLES TOdb_user
; GRANT SELECT ON ALL_USERS TOdb_user
; GRANT SELECT ON ALL_CATALOG TOdb_user
; GRANT SELECT ON ALL_CONSTRAINTS TOdb_user
; GRANT SELECT ON ALL_CONS_COLUMNS TOdb_user
; GRANT SELECT ON ALL_TAB_COLS TOdb_user
; GRANT SELECT ON ALL_IND_COLUMNS TOdb_user
; GRANT SELECT ON ALL_ENCRYPTED_COLUMNS TOdb_user
; GRANT SELECT ON ALL_LOG_GROUPS TOdb_user
; GRANT SELECT ON ALL_TAB_PARTITIONS TOdb_user
; GRANT SELECT ON SYS.DBA_REGISTRY TOdb_user
; GRANT SELECT ON SYS.OBJ$ TOdb_user
; GRANT SELECT ON DBA_TABLESPACES TOdb_user
; GRANT SELECT ON DBA_OBJECTS TOdb_user
; -– Required if the Oracle version is earlier than 11.2.0.3. GRANT SELECT ON SYS.ENC$ TOdb_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 AWS DMS. GRANT SELECT ON GV_$TRANSACTION TOdb_user
; -– Required if the source database is Oracle RAC in AWS DMS versions 3.4.6 and higher. GRANT SELECT ON V_$DATAGUARD_STATS TOdb_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. GRANT SELECT ON V$DATABASE_INCARNATION TOdb_user
;
Berikan hak istimewa tambahan berikut untuk setiap tabel yang direplikasi ketika Anda menggunakan daftar tabel tertentu.
GRANT SELECT on
any-replicated-table
todb_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 todms_user
; GRANT SELECT on v_$version todms_user
; GRANT SELECT on gv_$ASM_DISKGROUP todms_user
; GRANT SELECT on gv_$database todms_user
; GRANT SELECT on dba_db_links todms_user
; GRANT SELECT on gv_$log_History todms_user
; GRANT SELECT on gv_$log todms_user
; GRANT SELECT ON DBA_TYPES TOdb_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.
-
Buat link database bernama,
AWSDMS_DBLINK
pada database utama.
akan 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.DMS_USER
CREATE PUBLIC DATABASE LINK AWSDMS_DBLINK CONNECT TO
DMS_USER
IDENTIFIED BYDMS_USER_PASSWORD
USING '(DESCRIPTION= (ADDRESS=(PROTOCOL=TCP)(HOST=PRIMARY_HOST_NAME_OR_IP
)(PORT=PORT
)) (CONNECT_DATA=(SERVICE_NAME=SID
)) )'; -
Verifikasi koneksi ke link database menggunakan
dibuat, seperti yang ditunjukkan pada contoh berikut.DMS_USER
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
-
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
atauIMPLICIT
, supplemental logging diaktifkan untuk basis data.Jika tidak, aktifkan supplemental logging untuk basis data dengan menjalankan perintah berikut.
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
-
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 GROUPLogGroupName
(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 kolomA
dan kolomB
. Namun, untuk transformasisubstring(A,10)
jangan tambahkan supplemental logging di kolomA
. -
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 primerID
dan filter oleh kolomNAME
, 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
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
-
Berikan hak istimewa tambahan yang diperlukan untuk mengakses berkas log standby.
GRANT SELECT ON v_$standby_log TO
db_user
; -
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.
-
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 database 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:
-
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
’; -
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
-
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 DIRECTORYdms_archived_log_20210302
AS ‘DB_RECOVERY_FILE_DEST>/SID>/archivelog/2021_03_02
’; ... -
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 di 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
-
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.
-
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.
-
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.
-
Siapkan penebangan tambahan. Untuk informasi selengkapnya, lihat Menyiapkan pencatatan tambahan.
-
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
dan db_user
, Oracle mengasumsikan nilai adalah semua huruf besar kecuali jika Anda menentukan nilai dengan pengidentifikasi kepekaan kapital. Misalnya, anggaplah Anda membuat nilai any-replicated-table
tanpa menggunakan tanda petik, seperti dalam db_user
CREATE USER
atau myuser
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 todb_user
; GRANT SELECT on DBA_TABLESPACES todb_user
; GRANT SELECT ONany-replicated-table
todb_user
; GRANT EXECUTE on rdsadmin.rdsadmin_util todb_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 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.
-
Buat link database bernama,
AWSDMS_DBLINK
pada database utama.
akan 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.DMS_USER
CREATE PUBLIC DATABASE LINK AWSDMS_DBLINK CONNECT TO
DMS_USER
IDENTIFIED BYDMS_USER_PASSWORD
USING '(DESCRIPTION= (ADDRESS=(PROTOCOL=TCP)(HOST=PRIMARY_HOST_NAME_OR_IP
)(PORT=PORT
)) (CONNECT_DATA=(SERVICE_NAME=SID
)) )'; -
Verifikasi koneksi ke link database menggunakan
dibuat, seperti yang ditunjukkan pada contoh berikut.DMS_USER
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
-
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.
-
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
-
Jalankan perintah berikut untuk mengaktifkan supplemental logging pada tingkat basis data.
exec rdsadmin.rdsadmin_util.alter_supplemental_logging('ADD');
-
Jalankan perintah berikut untuk mengaktifkan supplemental logging kunci primer.
exec rdsadmin.rdsadmin_util.alter_supplemental_logging('ADD','PRIMARY KEY');
-
(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
-
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;
-
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 TOdb_user
; -
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
-
Masuk ke RDS untuk instance utama Oracle sebagai pengguna utama.
-
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;
-
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.
-
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 TOdb_user
; GRANT READ ON DIRECTORY ONLINELOG_DIR_A TOdb_user
; GRANT READ ON DIRECTORY ONLINELOG_DIR_B TOdb_user
; -
Lakukan penukaran log arsip pada instans utama. Dengan melakukannya, perubahan pada
ALL_DIRECTORIES
dapat dipastikan juga dipindahkan ke Oracle Standby. -
Jalankan kueri
ALL_DIRECTORIES
pada Oracle Standby untuk mengonfirmasi bahwa perubahan telah diterapkan. -
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
-
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:
-
Untuk basis data sumber Oracle yang dikelola sendiri, lihat Mengatur supplemental logging.
-
Untuk database sumber Oracle yang AWS dikelola, lihat. Mengkonfigurasi sumber AWS Oracle yang dikelola untuk AWS DMS
-
-
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
Alih-alih mereplikasicolumn
data_type
DEFAULTdefault_value
ke target, DMS menetapkan kolom baru untukdefault_value
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 tambahan
enableHomogenousPartitionOps=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
,,DROP
EXCHANGE
, 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
danTRUNCATE
, 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 perintahUPDATE
yang tidak didukung.UPDATE TEST_TABLE SET KEY=KEY+1;
Di sini,
TEST_TABLE
adalah nama tabel danKEY
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 terorganisir indeks dengan segmen overflow.
-
AWS DMS tidak mendukung
Drop Partition
operasi untuk tabel yang dipartisi dengan referensi denganenableHomogenousPartitionOps
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 padaXMLTYPE
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.
-
INSERT
Prosedur 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.
Topik
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
-
Mengatur variabel sistem
ORACLE_HOME
ke lokasi direktoridbhome_1
Anda dengan menjalankan perintah berikut.prompt>export ORACLE_HOME=/home/user/app/user/product/12.1.0/dbhome_1
-
Tambahkan
$ORACLE_HOME/lib
ke variabel sistemLD_LIBRARY_PATH
.prompt>export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
-
Buat direktori untuk Oracle wallet di
$ORACLE_HOME/ssl_wallet
.prompt>mkdir $ORACLE_HOME/ssl_wallet
-
Tempatkan file
.pem
sertifikat CA dalam direktorissl_wallet
. Jika Anda menggunakan Amazon RDS, Anda dapat mengunduh file sertifikat CA rootrds-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. -
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
-
Buat direktori yang akan Anda gunakan untuk bekerja dengan sertifikat yang ditandatangani sendiri.
mkdir -p /u01/app/oracle/self_signed_cert
-
Ubah ke direktori yang Anda buat pada langkah sebelumnya.
cd /u01/app/oracle/self_signed_cert
-
Buat kunci root.
openssl genrsa -out self-rootCA.key 2048
-
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
-
-
Buat direktori untuk Oracle wallet di basis data Oracle.
mkdir -p /u01/app/oracle/wallet
-
Membuat Oracle basis data baru.
orapki wallet create -wallet "/u01/app/oracle/wallet" -pwd oracle123 -auto_login_local
-
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
-
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
-
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
-
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
-
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
-
-
Dapatkan tanda tangan sertifikat.
openssl req -noout -text -in certdms.csr | grep -i signature
Kunci tanda tangan untuk posting ini adalah
sha256WithRSAEncryption
. -
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
-
Tambahkan sertifikat ke wallet.
orapki wallet add -wallet /u01/app/oracle/wallet -pwd oracle123 -user_cert -cert certdms.crt
-
Lihat dompetnya. Itu harus memiliki dua entri. Lihat kode berikut.
orapki wallet display -wallet /u01/app/oracle/wallet -pwd oracle123
-
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)
-
Hentikan Oracle listener.
lsnrctl stop
-
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)) ) ) -
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>) ) )
-
Nyalakan kembali Oracle listener.
lsnrctl start
-
Tampilkan status Oracle listener.
lsnrctl status
-
Uji sambungan SSL ke basis data dari localhost menggunakan sqlplus dan entri tnsnames SSL.
sqlplus -L
ORACLE_USER
@SID
_ssl -
Verifikasi bahwa Anda berhasil terhubung menggunakan SSL.
SELECT SYS_CONTEXT('USERENV', 'network_protocol') FROM DUAL; SYS_CONTEXT('USERENV','NETWORK_PROTOCOL') -------------------------------------------------------------------------------- tcps
-
Ubah direktori ke direktori dengan sertifikat yang ditandatangani sendiri.
cd /u01/app/oracle/self_signed_cert
-
Buat dompet Oracle klien baru AWS DMS untuk digunakan.
orapki wallet create -wallet ./ -auto_login_only
-
Tambahkan sertifikat root yang ditandatangani sendiri ke Oracle wallet.
orapki wallet add -wallet ./ -trusted_cert -cert self-rootCA.pem -auto_login_only
-
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
-
Unggah dompet Oracle yang baru saja Anda buat. AWS DMS
Metode enkripsi yang didukung untuk menggunakan Oracle sebagai sumber 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
-
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. -
Dapatkan ID kunci utama menggunakan salah satu opsi enkripsi berikut, tergantung pada mana yang mengembalikan nilai ini.
-
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 untukMKEYID
, Anda dapat melanjutkan dengan Langkah 3. Jika tidak, lanjutkan dengan Langkah 2.2.catatan
Karakter string trailing
'A'
(AAA...
) bukan bagian dari nilai. -
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.
-
-
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. -
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. -
Tentukan nama kunci enkripsi TDE untuk titik akhir sumber Oracle dengan menetapkan atribut sambungan tambahan
securityDbEncryptionName
.securityDbEncryptionName=ORACLE.SECURITY.DB.ENCRYPTION.AWGDC9glSk8Xv+3bVveiVSgAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-
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
,, mv
orapki
, 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:
-
Buat keystore lokal.
ADMINISTER KEY MANAGEMENT create keystore
file system wallet location
identified bywallet password
; -
Gabungkan keystore ASM ke keystore lokal.
ADMINISTER KEY MANAGEMENT merge keystore
ASM wallet location
identified bywallet password
into existing keystorefile system wallet location
identified bywallet 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 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 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_ID
di 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 kolomNESTED_TABLE_ID
nya. -
AWS DMS membuat tabel anak identik dengan sumber bersarang, tetapi dengan kolom tambahan bernama
NESTED_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:
-
Buat
Type
tabel.CREATE OR REPLACE TYPE NESTED_TEST_T AS TABLE OF VARCHAR(50);
-
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;
-
Ratakan tabel
NESTED_PARENT_TEST
menggunakan gabungan dengan tabel anakNAME_KEY
di manaCHILD.NESTED_TABLE_ID
cocok denganPARENT.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 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 (direct NFS) yang berlaku diterapkan, khususnya patch yang menangani bug Oracle 25224242. Untuk informasi tambahan, tinjau Publikasi Oracle berikut mengenai patch terkait klien NFS Langsung, Patch yang Disarankan untuk
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 '{"
JSON.EndpointSetting"
:
"value"
, ...
}'
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: |
|
Atur atribut ini dengan Meskipun AWS DMS mendukung penggunaan Nilai yang valid: Arsipkan Id tujuan Contoh: |
|
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:
Nilai default: SALAH Nilai yang benar: benar/salah Contoh: catatanJika Anda menggunakan opsi ini, Anda masih perlu mengaktifkan supplemental logging tingkat basis data seperti yang dibahas sebelumnya. |
|
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 AWS DMS. Nilai default: salah Nilai yang benar: benar/salah Contoh: |
|
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 Nilai default: 1 Nilai yang benar: Angka Contoh: |
|
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: |
|
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. Nilai default: SALAH Nilai yang benar: benar/salah Contoh ECA: |
|
Tetapkan atribut ini Nilai default: SALAH Nilai yang benar: benar/salah Contoh: |
|
Atur atribut ini Perhatikan bahwa fitur dan peningkatan ini diperkenalkan di AWS DMS versi 3.4.7. Nilai default: SALAH Nilai yang benar: benar/salah Contoh: |
|
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: |
|
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: catatanAnda hanya dapat menggunakan |
|
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: |
|
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: |
|
Ketika diatur ke Jika tugas diatur ke mode LOB terbatas dan opsi ini diatur menjadi Nilai default: salah Nilai yang benar: Boolean Contoh: |
|
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: |
|
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: catatanPilih 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). |
|
Menyediakan jangka waktu dalam hitungan menit untuk memeriksa transaksi terbuka untuk tugas CDC saja. catatanSaat Anda menyetel Nilai default: 0 Nilai yang valid: Sebuah integer dari 0 sampai 240 Contoh: |
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: |
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 Nilai default: 2 Nilai yang valid: Integer dari 2 sampai 8 Contoh: |
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 Nilai default: 1000 Nilai yang valid: Integer dari 1000 sampai 200.000 Contoh: |
|
Ketika diatur ke Nilai default: salah Nilai yang benar: Boolean Contoh: |
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: |
|
Menentukan jumlah detik bahwa sistem menunggu sebelum mengirim ulang kueri. Nilai default: 5 Nilai yang valid: Angka mulai dari 1 Contoh: |
|
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 AWS DMS. Nilai default: "" Nilai valid: String Contoh: |
|
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 Nilai default: SDO2GEOJSON Nilai yang benar: String Contoh: |
|
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: 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, |
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: |
UseBfile |
Atur atribut ini menjadi Y untuk menangkap perubahan data menggunakan utilitas Binary Reader. Atur 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 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: |
|
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 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: |
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: |
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:
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 |
|
NCHAR |
WSTRING |
NVARCHAR2 |
|
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 Menetapkan LOB dukungan untuk basis data 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 Menetapkan LOB dukungan untuk basis data 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 formatGEOJSON
dengan menggunakan fungsiSDO2GEOJSON
, atau atribut sambungan tambahanspatialSdo2GeoJsonFunctionName
. 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, lihatMenetapkan LOB dukungan untuk basis data 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.