Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Anda dapat memigrasikan data ke target database Oracle menggunakan AWS DMS, baik dari database Oracle lain atau dari salah satu database lain yang didukung. Anda dapat menggunakan Lapisan Soket Aman (SSL) untuk mengenkripsi koneksi antara titik akhir Oracle dan instans replikasi. Untuk informasi lebih lanjut tentang menggunakan SSL dengan endpoint Oracle, lihat. Menggunakan SSL dengan AWS Database Migration Service AWS DMS juga mendukung penggunaan enkripsi data transparan Oracle (TDE) untuk mengenkripsi data saat istirahat di database target karena Oracle TDE tidak memerlukan kunci enkripsi atau kata sandi untuk menulis ke database.
Untuk informasi tentang versi Oracle yang AWS DMS mendukung sebagai target, lihatTarget untuk AWS DMS.
Ketika Anda menggunakan Oracle sebagai target, kami berasumsi bahwa data tersebut akan dimigrasi ke dalam skema atau pengguna yang digunakan sebagai koneksi target. Jika Anda ingin melakukan migrasi data ke skema yang berbeda, lakukan dengan menggunakan transformasi skema. Contohnya, anggaplah titik akhir target Anda terhubung ke pengguna RDSMASTER
dan Anda ingin melakukan migrasi dari pengguna PERFDATA1
ke PERFDATA2
. Dalam situasi ini buatlah transformasi seperti contoh berikut.
{
"rule-type": "transformation",
"rule-id": "2",
"rule-name": "2",
"rule-action": "rename",
"rule-target": "schema",
"object-locator": {
"schema-name": "PERFDATA1"
},
"value": "PERFDATA2"
}
Saat menggunakan Oracle sebagai target, AWS DMS memigrasikan semua tabel dan indeks ke tabel default dan indeks ruang tabel di target. Jika Anda ingin melakukan migrasi tabel dan indeks ke tabel dan tablespace indeks yang berbeda, lakukan dengan menggunakan tranformasi tablespace. Contohnya, anggaplah Anda memiliki seperangkat tabel di skema INVENTORY
yang ditetapkan untuk beberapa tablespace dalam sumber Oracle. Untuk migrasi, Anda ingin menetapkan semua tabel ini untuk satu tablespace INVENTORYSPACE
di dalam target. Dalam situasi ini, buat transformasi seperti berikut.
{
"rule-type": "transformation",
"rule-id": "3",
"rule-name": "3",
"rule-action": "rename",
"rule-target": "table-tablespace",
"object-locator": {
"schema-name": "INVENTORY",
"table-name": "%",
"table-tablespace-name": "%"
},
"value": "INVENTORYSPACE"
}
Untuk informasi lebih lanjut tentang transformasi, lihat Menentukan pemilihan tabel dan aturan transformasi menggunakan JSON.
Jika Oracle berperan sebagai sumber dan target, Anda dapat mempertahankan tabel atau penugasan tablespace indeks yang ada dengan mengatur atribut koneksi tambahan sumber Oracle, enableHomogenousTablespace=true
. Untuk informasi selengkapnya, silakan lihat Pengaturan titik akhir saat menggunakan Oracle sebagai sumber AWS DMS
Untuk detail tambahan tentang bekerja dengan database Oracle sebagai target AWS DMS, lihat bagian berikut:
Topik
- Keterbatasan pada Oracle sebagai target untuk AWS Database Migration Service
- Hak akun pengguna diperlukan untuk menggunakan Oracle sebagai target
- Mengkonfigurasi database Oracle sebagai target untuk AWS Database Migration Service
- Pengaturan titik akhir saat menggunakan Oracle sebagai target untuk AWS DMS
- Target tipe data untuk Oracle
Keterbatasan pada Oracle sebagai target untuk AWS Database Migration Service
Keterbatasan saat menggunakan Oracle sebagai target untuk migrasi data meliputi hal berikut:
-
AWS DMS tidak membuat skema pada database Oracle target. Anda harus membuat skema yang Anda inginkan di target basis data Oracle. Nama skema harus sudah ada untuk target Oracle. Tabel dari skema sumber diimpor ke pengguna atau skema, yang AWS DMS digunakan untuk terhubung ke instance target. Untuk memigrasikan beberapa skema, Anda dapat membuat beberapa tugas replikasi. Anda juga dapat memigrasikan data ke skema yang berbeda pada target. Untuk melakukan ini, Anda perlu menggunakan aturan transformasi skema pada pemetaan AWS DMS tabel.
-
AWS DMS tidak mendukung
Use direct path full load
opsi untuk tabel dengan INDEXTYPE CONTEXT. Sebagai solusi, Anda dapat menggunakan beban array. -
Dengan pilihan penerapan batch yang dioptimalkan, memuat ke tabel net changes akan melalui jalur langsung yang tidak mendukung tipe XML. Sebagai solusi, Anda dapat menggunakan mode penerapan transaksional.
-
String kosong yang dimigrasi dari basis data sumber dapat diperlakukan berbeda oleh target Oracle (contoh: dikonversi ke string satu ruang). Hal ini dapat mengakibatkan AWS DMS validasi melaporkan ketidakcocokan.
-
Anda dapat mengekspresikan jumlah kolom per tabel yang didukung dalam mode penerapan yang dioptimalkan oleh Batch, menggunakan rumus berikut:
2 *
columns_in_original_table
+columns_in_primary_key
<= 999Misalnya, jika tabel asli memiliki 25 kolom dan Kunci Primernya terdiri dari 5 kolom, maka jumlah kolom adalah 55. Jika tabel melebihi jumlah kolom yang didukung, maka semua perubahan diterapkan dalam one-by-one mode.
-
AWS DMS tidak mendukung Autonomous DB di Oracle Cloud Infrastructure (OCI).
-
Dalam mode penerapan transaksional, target Oracle dapat memproses pernyataan DHTML hingga 32 KB. Meskipun batas ini cukup untuk banyak kasus penggunaan, pernyataan DHTML melebihi 32 KB akan gagal dengan kesalahan: “ORA-01460: konversi yang tidak diterapkan atau tidak masuk akal diminta.” Untuk mengatasi masalah ini, Anda harus mengaktifkan fitur penerapan batch dengan menyetel pengaturan
BatchApplyEnabled
tugas ketrue
. Batch apply mengurangi ukuran pernyataan keseluruhan, memungkinkan Anda untuk melewati batasan 32 KB. Untuk informasi selengkapnya, lihat Menargetkan pengaturan tugas metadata.
Hak akun pengguna diperlukan untuk menggunakan Oracle sebagai target
Untuk menggunakan target Oracle dalam AWS Database Migration Service tugas, berikan hak istimewa berikut dalam database Oracle. Anda memberikan itu pada akun pengguna yang telah ditentukan dalam definisi basis data Oracle untuk AWS DMS.
-
SELECT ANY TRANSACTION
-
SELECT on V$NLS_PARAMETERS
-
SELECT on V$TIMEZONE_NAMES
-
SELECT on ALL_INDEXES
-
SELECT on ALL_OBJECTS
-
SELECT on DBA_OBJECTS
-
SELECT on ALL_TABLES
-
SELECT on ALL_USERS
-
SELECT on ALL_CATALOG
-
SELECT on ALL_CONSTRAINTS
-
SELECT on ALL_CONS_COLUMNS
-
SELECT on ALL_TAB_COLS
-
SELECT on ALL_IND_COLUMNS
-
DROP ANY TABLE
-
SELECT ANY TABLE
-
INSERT ANY TABLE
-
UPDATE ANY TABLE
-
CREATE ANY VIEW
-
DROP ANY VIEW
-
CREATE ANY PROCEDURE
-
ALTER ANY PROCEDURE
-
DROP ANY PROCEDURE
-
CREATE ANY SEQUENCE
-
ALTER ANY SEQUENCE
-
DROP ANY SEQUENCE
-
HAPUS TABEL APA PUN
Untuk persyaratan berikut, berikan tambahan hak istimewa tambahan:
-
Untuk menggunakan daftar tabel tertentu, berikan SELECT pada setiap tabel yang direplikasi dan ALTER pada setiap tabel yang direplikasi.
-
Untuk mengizinkan pengguna membuat tabel di tablespace default, berikan hak GRANT UNLIMITED TABLESPACE.
-
Untuk masuk, berikan hak CREATE SESSION.
-
Jika Anda menggunakan jalur langsung (yang merupakan default untuk beban penuh),
GRANT LOCK ANY TABLE to
.dms_user
; -
Jika skema berbeda saat menggunakan mode persiapan tabel “DROP and CREATE”,.
GRANT CREATE ANY INDEX to
dms_user
; -
Untuk beberapa skenario beban penuh, Anda dapat memilih pilihan “DROP and CREATE table” atau “TRUNCATE before loading” ketika skema target tabel berbeda dari target pengguna DMS. Dalam kasus ini, berikan hak DROP ANY TABLE.
-
Untuk menyimpan perubahan dalam tabel perubahan atau tabel audit yang skema table targetnya berbeda dengan pengguna DMS, berikan CREATE ANY TABLE dan CREATE ANY INDEX.
Hak istimewa baca yang diperlukan untuk AWS Database Migration Service basis data target
Akun AWS DMS pengguna harus diberikan izin baca untuk tabel DBA berikut:
-
SELECT on DBA_USERS
-
SELECT on DBA_TAB_PRIVS
-
SELECT on DBA_OBJECTS
-
SELECT on DBA_SYNONYMS
-
SELECT on DBA_SEQUENCES
-
SELECT on DBA_TYPES
-
SELECT on DBA_INDEXES
-
SELECT on DBA_TABLES
-
SELECT on DBA_TRIGGERS
-
PILIH pada SYS.DBA_REGISTRY
Jika salah satu hak yang diperlukan tidak dapat diberikan kepada V$xxx, maka berikan hak tersebut pada V_$xxx.
Penilaian Premigrasi
Untuk menggunakan penilaian premi yang tercantum Penilaian Oracle dengan Oracle sebagai Target, Anda harus menambahkan izin berikut ke pengguna dms_user
database pada database target:
GRANT SELECT ON V_$INSTANCE TO dms_user;
GRANT EXECUTE ON SYS.DBMS_XMLGEN TO dms_user;
Mengkonfigurasi database Oracle sebagai target untuk AWS Database Migration Service
Sebelum menggunakan database Oracle sebagai target migrasi data, Anda harus memberikan akun pengguna Oracle. AWS DMS Akun pengguna harus memiliki hak baca/tulis pada basis data Oracle, sebagaimana disebutkan dalam Hak akun pengguna diperlukan untuk menggunakan Oracle sebagai target.
Pengaturan titik akhir saat menggunakan Oracle sebagai target untuk AWS DMS
Anda dapat menggunakan pengaturan endpoint untuk mengkonfigurasi database target Oracle Anda mirip dengan menggunakan atribut koneksi tambahan. Anda menentukan pengaturan saat Anda membuat titik akhir target 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 target.
Nama | Penjelasan |
---|---|
|
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: |
|
Ketika diatur ke Nilai default: Nilai valid: Contoh: |
|
Ketika diatur ke Sebuah kekurangan pada penentuan pengaturan beban paralel ini adalah bahwa tabel target tidak dapat memiliki batasan atau indeks. Untuk informasi lebih lanjut tentang keterbatasan ini, lihat Mengaktifkan Pembatasan Setelah Beban Jalur Langsung Paralel Nilai default: Nilai valid: Contoh: |
|
Ketika diatur ke Nilai default: Nilai valid: Contoh: |
|
Menentukan apakah panjang kolom karakter dalam bytes atau character. Untuk menunjukkan bahwa panjang kolom karakter dalam character, atur atribut ini menjadi Nilai default: Tidak diatur ke Nilai valid: Contoh: |
|
AWS DMS menambahkan ruang ekstra untuk mereplikasi string kosong saat bermigrasi ke target Oracle. Secara umum, Oracle tidak memiliki notasi untuk string kosong. Saat Anda memasukkan string kosong pada varchar2, Anda memuat string kosong sebagai NULL. Jika Anda ingin menyisipkan data sebagai NULL di Oracle, atur atribut ini ke FALSE. Nilai default: Nilai valid: Contoh: |
Target tipe data untuk Oracle
Database Oracle target yang digunakan dengan AWS DMS mendukung sebagian besar tipe data Oracle. Tabel berikut menunjukkan tipe data target Oracle yang didukung saat menggunakan AWS DMS dan pemetaan default dari tipe AWS DMS data. Untuk informasi lebih lanjut tentang cara melihat tipe data yang dipetakan dari sumber, lihat di bagian sumber yang Anda gunakan.
AWS DMS tipe data |
Tipe data Oracle |
---|---|
BOOLEAN |
NUMBER (1) |
BYTES |
RAW (length) |
DATE |
DATETIME |
TIME |
TIMESTAMP (0) |
DATETIME |
TIMESTAMP (scale) |
INT1 |
NUMBER (3) |
INT2 |
NUMBER (5) |
INT4 |
NUMBER (10) |
INT8 |
NUMBER (19) |
NUMERIC |
NUMBER (p,s) |
REAL4 |
FLOAT |
REAL8 |
FLOAT |
STRING |
Dengan indikasi tanggal: DATE Dengan indikasi waktu: TIMESTAMP Dengan indikasi timestamp: TIMESTAMP Dengan indikasi timestamp_with_timezone: TIMESTAMP WITH TIMEZONE Dengan indikasi timestamp_with_local_timezone: TIMESTAMP WITH LOCAL TIMEZONE. Dengan indikasi interval_year_to_month: INTERVAL YEAR TO MONTH Dengan indikasi interval_day_to_second: INTERVAL DAY TO SECOND Jika panjang > 4000: CLOB Dalam semua kasus lain: VARCHAR2 (panjang) |
UINT1 |
NUMBER (3) |
UINT2 |
NUMBER (5) |
UINT4 |
NUMBER (10) |
UINT8 |
NUMBER (19) |
WSTRING |
Jika panjang > 2000: NCLOB Dalam semua kasus lain: NVARCHAR2 (panjang) |
BLOB |
BLOB Untuk menggunakan tipe data ini AWS DMS, Anda harus mengaktifkan penggunaan BLOBs untuk tugas tertentu. Tipe data BLOB hanya didukung dalam tabel yang memiliki kunci primer |
CLOB |
CLOB Untuk menggunakan tipe data ini AWS DMS, Anda harus mengaktifkan penggunaan CLOBs untuk tugas tertentu. Selama perubahan pengambilan data (CDC), tipe data CLOB didukung hanya dalam tabel yang memiliki kunci primer. STRING Tipe VARCHAR2 data Oracle pada sumber dengan ukuran yang dinyatakan lebih besar dari 4000 byte memetakan melalui AWS DMS CLOB ke STRING pada target Oracle. |
NCLOB |
NCLOB Untuk menggunakan tipe data ini AWS DMS, Anda harus mengaktifkan penggunaan NCLOBs untuk tugas tertentu. Selama CDC berjalan, tipe data NCLOB hanya didukung di dalam tabel yang mencakup kunci primer. WSTRING Tipe VARCHAR2 data Oracle pada sumber dengan ukuran yang dinyatakan lebih besar dari 4000 byte memetakan melalui AWS DMS NCLOB ke WSTRING pada target Oracle. |
XMLTYPE |
Tipe data target XMLTYPE hanya relevan dalam tugas Oracle-to-Oracle replikasi. Ketika Oracle digunakan sebagai sumber basis data, tipe data sumber direplikasi apa adanya pada target Oracle. Contohnya sebuah tipe data XMLTYPE pada sumber dibuat sebagai tipe data XMLTYPE pada target. |